{"abi":[{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"cancun\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/StdAssertions.sol":"StdAssertions"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":218,"contract":"lib/forge-std/src/StdAssertions.sol:StdAssertions","label":"_failed","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":2696,"exportedSymbols":{"StdAssertions":[2695],"Vm":[15818]},"nodeType":"SourceUnit","src":"32:23328:1","nodes":[{"id":76,"nodeType":"PragmaDirective","src":"32:31:1","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":77,"nodeType":"PragmaDirective","src":"64:33:1","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":79,"nodeType":"ImportDirective","src":"99:28:1","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":2696,"sourceUnit":15819,"symbolAliases":[{"foreign":{"id":78,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"107:2:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2695,"nodeType":"ContractDefinition","src":"129:23230:1","nodes":[{"id":96,"nodeType":"VariableDeclaration","src":"167:84:1","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"187:2:1","scope":2695,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"},"typeName":{"id":81,"nodeType":"UserDefinedTypeName","pathNode":{"id":80,"name":"Vm","nameLocations":["167:2:1"],"nodeType":"IdentifierPath","referencedDeclaration":15818,"src":"167:2:1"},"referencedDeclaration":15818,"src":"167:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":90,"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":89,"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":91,"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":88,"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":87,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:1","typeDescriptions":{}}},"id":92,"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":86,"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":85,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:1","typeDescriptions":{}}},"id":93,"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":84,"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":83,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:1","typeDescriptions":{}}},"id":94,"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":82,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"192:2:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":95,"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_$15818","typeString":"contract Vm"}},"visibility":"private"},{"id":100,"nodeType":"EventDefinition","src":"258:18:1","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"264:3:1","parameters":{"id":99,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":100,"src":"268:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":97,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:1"}},{"id":104,"nodeType":"EventDefinition","src":"281:18:1","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"287:4:1","parameters":{"id":103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":104,"src":"292:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":101,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:1"}},{"id":108,"nodeType":"EventDefinition","src":"305:27:1","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"311:11:1","parameters":{"id":107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":108,"src":"323:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":105,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:1"}},{"id":112,"nodeType":"EventDefinition","src":"337:27:1","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"343:11:1","parameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":110,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":112,"src":"355:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:1"}},{"id":116,"nodeType":"EventDefinition","src":"369:22:1","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"375:7:1","parameters":{"id":115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":114,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":116,"src":"383:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":113,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:1"}},{"id":120,"nodeType":"EventDefinition","src":"396:24:1","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"402:8:1","parameters":{"id":119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":120,"src":"411:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":117,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:1"}},{"id":124,"nodeType":"EventDefinition","src":"425:23:1","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"431:9:1","parameters":{"id":123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":124,"src":"441:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":121,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:1"}},{"id":128,"nodeType":"EventDefinition","src":"453:25:1","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"459:10:1","parameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":128,"src":"470:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":125,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:1"}},{"id":134,"nodeType":"EventDefinition","src":"484:49:1","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"490:17:1","parameters":{"id":133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":130,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:1","nodeType":"VariableDeclaration","scope":134,"src":"508:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":129,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":132,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:1","nodeType":"VariableDeclaration","scope":134,"src":"520:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:1"}},{"id":140,"nodeType":"EventDefinition","src":"538:49:1","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"544:17:1","parameters":{"id":139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:1","nodeType":"VariableDeclaration","scope":140,"src":"562:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":135,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":138,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:1","nodeType":"VariableDeclaration","scope":140,"src":"574:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:1"}},{"id":148,"nodeType":"EventDefinition","src":"592:70:1","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"598:21:1","parameters":{"id":147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":142,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:1","nodeType":"VariableDeclaration","scope":148,"src":"620:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":141,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":144,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:1","nodeType":"VariableDeclaration","scope":148,"src":"632:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":143,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":146,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:1","nodeType":"VariableDeclaration","scope":148,"src":"644:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":145,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:1"}},{"id":156,"nodeType":"EventDefinition","src":"667:72:1","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"673:22:1","parameters":{"id":155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":150,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:1","nodeType":"VariableDeclaration","scope":156,"src":"696:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":149,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":152,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:1","nodeType":"VariableDeclaration","scope":156,"src":"708:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":151,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":154,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:1","nodeType":"VariableDeclaration","scope":156,"src":"721:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":153,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:1"}},{"id":162,"nodeType":"EventDefinition","src":"744:44:1","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"750:13:1","parameters":{"id":161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":158,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:1","nodeType":"VariableDeclaration","scope":162,"src":"764:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":157,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":160,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:1","nodeType":"VariableDeclaration","scope":162,"src":"776:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":159,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:1"}},{"id":168,"nodeType":"EventDefinition","src":"793:46:1","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"799:14:1","parameters":{"id":167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":164,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:1","nodeType":"VariableDeclaration","scope":168,"src":"814:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":163,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":166,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:1","nodeType":"VariableDeclaration","scope":168,"src":"826:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":165,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:1"}},{"id":174,"nodeType":"EventDefinition","src":"844:45:1","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"850:15:1","parameters":{"id":173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":170,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:1","nodeType":"VariableDeclaration","scope":174,"src":"866:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":169,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":172,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:1","nodeType":"VariableDeclaration","scope":174,"src":"878:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":171,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:1"}},{"id":180,"nodeType":"EventDefinition","src":"894:47:1","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"900:16:1","parameters":{"id":179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:1","nodeType":"VariableDeclaration","scope":180,"src":"917:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":175,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":178,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:1","nodeType":"VariableDeclaration","scope":180,"src":"929:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":177,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:1"}},{"id":185,"nodeType":"EventDefinition","src":"947:31:1","nodes":[],"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","name":"log_array","nameLocation":"953:9:1","parameters":{"id":184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":183,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:1","nodeType":"VariableDeclaration","scope":185,"src":"963:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":181,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":182,"nodeType":"ArrayTypeName","src":"963:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:1"}},{"id":190,"nodeType":"EventDefinition","src":"983:30:1","nodes":[],"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","name":"log_array","nameLocation":"989:9:1","parameters":{"id":189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":188,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:1","nodeType":"VariableDeclaration","scope":190,"src":"999:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":186,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":187,"nodeType":"ArrayTypeName","src":"999:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:1"}},{"id":195,"nodeType":"EventDefinition","src":"1018:31:1","nodes":[],"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","name":"log_array","nameLocation":"1024:9:1","parameters":{"id":194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":193,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:1","nodeType":"VariableDeclaration","scope":195,"src":"1034:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":191,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":192,"nodeType":"ArrayTypeName","src":"1034:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:1"}},{"id":202,"nodeType":"EventDefinition","src":"1054:49:1","nodes":[],"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","name":"log_named_array","nameLocation":"1060:15:1","parameters":{"id":201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:1","nodeType":"VariableDeclaration","scope":202,"src":"1076:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":196,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":200,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:1","nodeType":"VariableDeclaration","scope":202,"src":"1088:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":198,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":199,"nodeType":"ArrayTypeName","src":"1088:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:1"}},{"id":209,"nodeType":"EventDefinition","src":"1108:48:1","nodes":[],"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","name":"log_named_array","nameLocation":"1114:15:1","parameters":{"id":208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":204,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:1","nodeType":"VariableDeclaration","scope":209,"src":"1130:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":203,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":207,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:1","nodeType":"VariableDeclaration","scope":209,"src":"1142:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":205,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":206,"nodeType":"ArrayTypeName","src":"1142:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:1"}},{"id":216,"nodeType":"EventDefinition","src":"1161:49:1","nodes":[],"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","name":"log_named_array","nameLocation":"1167:15:1","parameters":{"id":215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":211,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:1","nodeType":"VariableDeclaration","scope":216,"src":"1183:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":210,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":214,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:1","nodeType":"VariableDeclaration","scope":216,"src":"1195:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":212,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":213,"nodeType":"ArrayTypeName","src":"1195:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:1"}},{"id":218,"nodeType":"VariableDeclaration","src":"1216:20:1","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1229:7:1","scope":2695,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":217,"name":"bool","nodeType":"ElementaryTypeName","src":"1216:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":247,"nodeType":"FunctionDefinition","src":"1243:204:1","nodes":[],"body":{"id":246,"nodeType":"Block","src":"1288:159:1","nodes":[],"statements":[{"condition":{"id":223,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"1302:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":244,"nodeType":"Block","src":"1356:85:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":231,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1393:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}],"id":230,"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":229,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:1","typeDescriptions":{}}},"id":232,"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":235,"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":234,"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":233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1398:7:1","typeDescriptions":{}}},"id":236,"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":227,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1377:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1380:4:1","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":12658,"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":237,"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":240,"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":239,"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":238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1420:7:1","typeDescriptions":{}}},"id":241,"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":222,"id":243,"nodeType":"Return","src":"1370:60:1"}]},"id":245,"nodeType":"IfStatement","src":"1298:143:1","trueBody":{"id":226,"nodeType":"Block","src":"1311:39:1","statements":[{"expression":{"id":224,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"1332:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":222,"id":225,"nodeType":"Return","src":"1325:14:1"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1252:6:1","parameters":{"id":219,"nodeType":"ParameterList","parameters":[],"src":"1258:2:1"},"returnParameters":{"id":222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":247,"src":"1282:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":220,"name":"bool","nodeType":"ElementaryTypeName","src":"1282:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1281:6:1"},"scope":2695,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":275,"nodeType":"FunctionDefinition","src":"1453:135:1","nodes":[],"body":{"id":274,"nodeType":"Block","src":"1486:102:1","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":255,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1513:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}],"id":254,"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":253,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:1","typeDescriptions":{}}},"id":256,"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":259,"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":258,"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":257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1518:7:1","typeDescriptions":{}}},"id":260,"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":265,"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":264,"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":263,"name":"uint256","nodeType":"ElementaryTypeName","src":"1545:7:1","typeDescriptions":{}}},"id":266,"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":262,"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":261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1537:7:1","typeDescriptions":{}}},"id":267,"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":250,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1496:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1499:5:1","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":15621,"src":"1496:8:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":268,"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":269,"nodeType":"ExpressionStatement","src":"1496:61:1"},{"expression":{"id":272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":270,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"1567:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":271,"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":273,"nodeType":"ExpressionStatement","src":"1567:14:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1462:4:1","parameters":{"id":248,"nodeType":"ParameterList","parameters":[],"src":"1466:2:1"},"returnParameters":{"id":249,"nodeType":"ParameterList","parameters":[],"src":"1486:0:1"},"scope":2695,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":287,"nodeType":"FunctionDefinition","src":"1594:89:1","nodes":[],"body":{"id":286,"nodeType":"Block","src":"1647:36:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":283,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"1671:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":280,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1657:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:10:1","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":14778,"src":"1657:13:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":284,"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":285,"nodeType":"ExpressionStatement","src":"1657:19:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1603:10:1","parameters":{"id":278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":277,"mutability":"mutable","name":"data","nameLocation":"1619:4:1","nodeType":"VariableDeclaration","scope":287,"src":"1614:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":276,"name":"bool","nodeType":"ElementaryTypeName","src":"1614:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1613:11:1"},"returnParameters":{"id":279,"nodeType":"ParameterList","parameters":[],"src":"1647:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":302,"nodeType":"FunctionDefinition","src":"1689:113:1","nodes":[],"body":{"id":301,"nodeType":"Block","src":"1761:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":297,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"1785:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":298,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"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":294,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1771:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1774:10:1","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":14786,"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":299,"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":300,"nodeType":"ExpressionStatement","src":"1771:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1698:10:1","parameters":{"id":292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"data","nameLocation":"1714:4:1","nodeType":"VariableDeclaration","scope":302,"src":"1709:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":288,"name":"bool","nodeType":"ElementaryTypeName","src":"1709:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":291,"mutability":"mutable","name":"err","nameLocation":"1734:3:1","nodeType":"VariableDeclaration","scope":302,"src":"1720:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":290,"name":"string","nodeType":"ElementaryTypeName","src":"1720:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1708:30:1"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"1761:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":314,"nodeType":"FunctionDefinition","src":"1808:91:1","nodes":[],"body":{"id":313,"nodeType":"Block","src":"1862:37:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":310,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"1887:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1872:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1875:11:1","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":14120,"src":"1872:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":311,"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":312,"nodeType":"ExpressionStatement","src":"1872:20:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1817:11:1","parameters":{"id":305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":304,"mutability":"mutable","name":"data","nameLocation":"1834:4:1","nodeType":"VariableDeclaration","scope":314,"src":"1829:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":303,"name":"bool","nodeType":"ElementaryTypeName","src":"1829:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1828:11:1"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"1862:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":329,"nodeType":"FunctionDefinition","src":"1905:115:1","nodes":[],"body":{"id":328,"nodeType":"Block","src":"1978:42:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":324,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":316,"src":"2003:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":325,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":318,"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":321,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"1988:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1991:11:1","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":14128,"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":326,"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":327,"nodeType":"ExpressionStatement","src":"1988:25:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1914:11:1","parameters":{"id":319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":316,"mutability":"mutable","name":"data","nameLocation":"1931:4:1","nodeType":"VariableDeclaration","scope":329,"src":"1926:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":315,"name":"bool","nodeType":"ElementaryTypeName","src":"1926:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":318,"mutability":"mutable","name":"err","nameLocation":"1951:3:1","nodeType":"VariableDeclaration","scope":329,"src":"1937:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":317,"name":"string","nodeType":"ElementaryTypeName","src":"1937:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1925:30:1"},"returnParameters":{"id":320,"nodeType":"ParameterList","parameters":[],"src":"1978:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":344,"nodeType":"FunctionDefinition","src":"2026:104:1","nodes":[],"body":{"id":343,"nodeType":"Block","src":"2089:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":339,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":331,"src":"2111:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":340,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":333,"src":"2117:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":336,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2099:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2102:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13842,"src":"2099:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":341,"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":342,"nodeType":"ExpressionStatement","src":"2099:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2035:8:1","parameters":{"id":334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":331,"mutability":"mutable","name":"left","nameLocation":"2049:4:1","nodeType":"VariableDeclaration","scope":344,"src":"2044:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":330,"name":"bool","nodeType":"ElementaryTypeName","src":"2044:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":333,"mutability":"mutable","name":"right","nameLocation":"2060:5:1","nodeType":"VariableDeclaration","scope":344,"src":"2055:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":332,"name":"bool","nodeType":"ElementaryTypeName","src":"2055:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2043:23:1"},"returnParameters":{"id":335,"nodeType":"ParameterList","parameters":[],"src":"2089:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":362,"nodeType":"FunctionDefinition","src":"2136:128:1","nodes":[],"body":{"id":361,"nodeType":"Block","src":"2218:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":356,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"2240:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":357,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":348,"src":"2246:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":358,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":350,"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":353,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2228:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2231:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13852,"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":359,"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":360,"nodeType":"ExpressionStatement","src":"2228:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2145:8:1","parameters":{"id":351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":346,"mutability":"mutable","name":"left","nameLocation":"2159:4:1","nodeType":"VariableDeclaration","scope":362,"src":"2154:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":345,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":348,"mutability":"mutable","name":"right","nameLocation":"2170:5:1","nodeType":"VariableDeclaration","scope":362,"src":"2165:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":347,"name":"bool","nodeType":"ElementaryTypeName","src":"2165:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":350,"mutability":"mutable","name":"err","nameLocation":"2191:3:1","nodeType":"VariableDeclaration","scope":362,"src":"2177:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":349,"name":"string","nodeType":"ElementaryTypeName","src":"2177:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2153:42:1"},"returnParameters":{"id":352,"nodeType":"ParameterList","parameters":[],"src":"2218:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":377,"nodeType":"FunctionDefinition","src":"2270:110:1","nodes":[],"body":{"id":376,"nodeType":"Block","src":"2339:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":372,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2361:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":373,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"2367:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":369,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2349:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13962,"src":"2349:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":374,"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":375,"nodeType":"ExpressionStatement","src":"2349:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2279:8:1","parameters":{"id":367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":364,"mutability":"mutable","name":"left","nameLocation":"2296:4:1","nodeType":"VariableDeclaration","scope":377,"src":"2288:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":363,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":366,"mutability":"mutable","name":"right","nameLocation":"2310:5:1","nodeType":"VariableDeclaration","scope":377,"src":"2302:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":365,"name":"uint256","nodeType":"ElementaryTypeName","src":"2302:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2287:29:1"},"returnParameters":{"id":368,"nodeType":"ParameterList","parameters":[],"src":"2339:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":395,"nodeType":"FunctionDefinition","src":"2386:134:1","nodes":[],"body":{"id":394,"nodeType":"Block","src":"2474:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":389,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":379,"src":"2496:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":390,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"2502:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":391,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":383,"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":386,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2484:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2487:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14060,"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":392,"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":393,"nodeType":"ExpressionStatement","src":"2484:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2395:8:1","parameters":{"id":384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":379,"mutability":"mutable","name":"left","nameLocation":"2412:4:1","nodeType":"VariableDeclaration","scope":395,"src":"2404:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":378,"name":"uint256","nodeType":"ElementaryTypeName","src":"2404:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":381,"mutability":"mutable","name":"right","nameLocation":"2426:5:1","nodeType":"VariableDeclaration","scope":395,"src":"2418:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":380,"name":"uint256","nodeType":"ElementaryTypeName","src":"2418:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":383,"mutability":"mutable","name":"err","nameLocation":"2447:3:1","nodeType":"VariableDeclaration","scope":395,"src":"2433:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":382,"name":"string","nodeType":"ElementaryTypeName","src":"2433:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:48:1"},"returnParameters":{"id":385,"nodeType":"ParameterList","parameters":[],"src":"2474:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":413,"nodeType":"FunctionDefinition","src":"2526:152:1","nodes":[],"body":{"id":412,"nodeType":"Block","src":"2620:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":407,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":397,"src":"2649:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":408,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":399,"src":"2655:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":409,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"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":404,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2630:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2633:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13800,"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":410,"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":411,"nodeType":"ExpressionStatement","src":"2630:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2535:15:1","parameters":{"id":402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":397,"mutability":"mutable","name":"left","nameLocation":"2559:4:1","nodeType":"VariableDeclaration","scope":413,"src":"2551:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":396,"name":"uint256","nodeType":"ElementaryTypeName","src":"2551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":399,"mutability":"mutable","name":"right","nameLocation":"2573:5:1","nodeType":"VariableDeclaration","scope":413,"src":"2565:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":398,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":401,"mutability":"mutable","name":"decimals","nameLocation":"2588:8:1","nodeType":"VariableDeclaration","scope":413,"src":"2580:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":400,"name":"uint256","nodeType":"ElementaryTypeName","src":"2580:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2550:47:1"},"returnParameters":{"id":403,"nodeType":"ParameterList","parameters":[],"src":"2620:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":434,"nodeType":"FunctionDefinition","src":"2684:176:1","nodes":[],"body":{"id":433,"nodeType":"Block","src":"2797:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":427,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"2826:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":428,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"2832:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":429,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"2839:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":430,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"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":424,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2807:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2810:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13812,"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":431,"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":432,"nodeType":"ExpressionStatement","src":"2807:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2693:15:1","parameters":{"id":422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":415,"mutability":"mutable","name":"left","nameLocation":"2717:4:1","nodeType":"VariableDeclaration","scope":434,"src":"2709:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":414,"name":"uint256","nodeType":"ElementaryTypeName","src":"2709:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":417,"mutability":"mutable","name":"right","nameLocation":"2731:5:1","nodeType":"VariableDeclaration","scope":434,"src":"2723:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":416,"name":"uint256","nodeType":"ElementaryTypeName","src":"2723:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":419,"mutability":"mutable","name":"decimals","nameLocation":"2746:8:1","nodeType":"VariableDeclaration","scope":434,"src":"2738:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":418,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":421,"mutability":"mutable","name":"err","nameLocation":"2770:3:1","nodeType":"VariableDeclaration","scope":434,"src":"2756:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":420,"name":"string","nodeType":"ElementaryTypeName","src":"2756:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2708:66:1"},"returnParameters":{"id":423,"nodeType":"ParameterList","parameters":[],"src":"2797:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":449,"nodeType":"FunctionDefinition","src":"2866:108:1","nodes":[],"body":{"id":448,"nodeType":"Block","src":"2933:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":444,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":436,"src":"2955:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":445,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"2961:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":441,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"2943:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2946:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14068,"src":"2943:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":446,"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":447,"nodeType":"ExpressionStatement","src":"2943:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2875:8:1","parameters":{"id":439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":436,"mutability":"mutable","name":"left","nameLocation":"2891:4:1","nodeType":"VariableDeclaration","scope":449,"src":"2884:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":435,"name":"int256","nodeType":"ElementaryTypeName","src":"2884:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":438,"mutability":"mutable","name":"right","nameLocation":"2904:5:1","nodeType":"VariableDeclaration","scope":449,"src":"2897:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":437,"name":"int256","nodeType":"ElementaryTypeName","src":"2897:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2883:27:1"},"returnParameters":{"id":440,"nodeType":"ParameterList","parameters":[],"src":"2933:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":467,"nodeType":"FunctionDefinition","src":"2980:132:1","nodes":[],"body":{"id":466,"nodeType":"Block","src":"3066:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":461,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"3088:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":462,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"3094:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":463,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":455,"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":458,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3076:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3079:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14078,"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":464,"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":465,"nodeType":"ExpressionStatement","src":"3076:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2989:8:1","parameters":{"id":456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"left","nameLocation":"3005:4:1","nodeType":"VariableDeclaration","scope":467,"src":"2998:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":450,"name":"int256","nodeType":"ElementaryTypeName","src":"2998:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"right","nameLocation":"3018:5:1","nodeType":"VariableDeclaration","scope":467,"src":"3011:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":452,"name":"int256","nodeType":"ElementaryTypeName","src":"3011:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":455,"mutability":"mutable","name":"err","nameLocation":"3039:3:1","nodeType":"VariableDeclaration","scope":467,"src":"3025:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":454,"name":"string","nodeType":"ElementaryTypeName","src":"3025:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2997:46:1"},"returnParameters":{"id":457,"nodeType":"ParameterList","parameters":[],"src":"3066:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":485,"nodeType":"FunctionDefinition","src":"3118:150:1","nodes":[],"body":{"id":484,"nodeType":"Block","src":"3210:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":479,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":469,"src":"3239:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":480,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":471,"src":"3245:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":481,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":473,"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":476,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3220:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3223:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13822,"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":482,"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":483,"nodeType":"ExpressionStatement","src":"3220:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3127:15:1","parameters":{"id":474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":469,"mutability":"mutable","name":"left","nameLocation":"3150:4:1","nodeType":"VariableDeclaration","scope":485,"src":"3143:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":468,"name":"int256","nodeType":"ElementaryTypeName","src":"3143:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":471,"mutability":"mutable","name":"right","nameLocation":"3163:5:1","nodeType":"VariableDeclaration","scope":485,"src":"3156:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":470,"name":"int256","nodeType":"ElementaryTypeName","src":"3156:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":473,"mutability":"mutable","name":"decimals","nameLocation":"3178:8:1","nodeType":"VariableDeclaration","scope":485,"src":"3170:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":472,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3142:45:1"},"returnParameters":{"id":475,"nodeType":"ParameterList","parameters":[],"src":"3210:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":506,"nodeType":"FunctionDefinition","src":"3274:174:1","nodes":[],"body":{"id":505,"nodeType":"Block","src":"3385:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":499,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"3414:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":500,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"3420:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":501,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"3427:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":502,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"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":496,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3395:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3398:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13834,"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":503,"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":504,"nodeType":"ExpressionStatement","src":"3395:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3283:15:1","parameters":{"id":494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"left","nameLocation":"3306:4:1","nodeType":"VariableDeclaration","scope":506,"src":"3299:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":486,"name":"int256","nodeType":"ElementaryTypeName","src":"3299:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":489,"mutability":"mutable","name":"right","nameLocation":"3319:5:1","nodeType":"VariableDeclaration","scope":506,"src":"3312:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":488,"name":"int256","nodeType":"ElementaryTypeName","src":"3312:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":491,"mutability":"mutable","name":"decimals","nameLocation":"3334:8:1","nodeType":"VariableDeclaration","scope":506,"src":"3326:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":490,"name":"uint256","nodeType":"ElementaryTypeName","src":"3326:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":493,"mutability":"mutable","name":"err","nameLocation":"3358:3:1","nodeType":"VariableDeclaration","scope":506,"src":"3344:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":492,"name":"string","nodeType":"ElementaryTypeName","src":"3344:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3298:64:1"},"returnParameters":{"id":495,"nodeType":"ParameterList","parameters":[],"src":"3385:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":521,"nodeType":"FunctionDefinition","src":"3454:110:1","nodes":[],"body":{"id":520,"nodeType":"Block","src":"3523:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":516,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":508,"src":"3545:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":517,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":510,"src":"3551:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":513,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3533:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3536:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14086,"src":"3533:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":518,"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":519,"nodeType":"ExpressionStatement","src":"3533:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3463:8:1","parameters":{"id":511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":508,"mutability":"mutable","name":"left","nameLocation":"3480:4:1","nodeType":"VariableDeclaration","scope":521,"src":"3472:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":507,"name":"address","nodeType":"ElementaryTypeName","src":"3472:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":510,"mutability":"mutable","name":"right","nameLocation":"3494:5:1","nodeType":"VariableDeclaration","scope":521,"src":"3486:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":509,"name":"address","nodeType":"ElementaryTypeName","src":"3486:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3471:29:1"},"returnParameters":{"id":512,"nodeType":"ParameterList","parameters":[],"src":"3523:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":539,"nodeType":"FunctionDefinition","src":"3570:134:1","nodes":[],"body":{"id":538,"nodeType":"Block","src":"3658:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":533,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":523,"src":"3680:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":534,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"3686:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":535,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":527,"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":530,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3668:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3671:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14096,"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":536,"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":537,"nodeType":"ExpressionStatement","src":"3668:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3579:8:1","parameters":{"id":528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":523,"mutability":"mutable","name":"left","nameLocation":"3596:4:1","nodeType":"VariableDeclaration","scope":539,"src":"3588:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":522,"name":"address","nodeType":"ElementaryTypeName","src":"3588:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":525,"mutability":"mutable","name":"right","nameLocation":"3610:5:1","nodeType":"VariableDeclaration","scope":539,"src":"3602:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":524,"name":"address","nodeType":"ElementaryTypeName","src":"3602:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":527,"mutability":"mutable","name":"err","nameLocation":"3631:3:1","nodeType":"VariableDeclaration","scope":539,"src":"3617:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":526,"name":"string","nodeType":"ElementaryTypeName","src":"3617:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3587:48:1"},"returnParameters":{"id":529,"nodeType":"ParameterList","parameters":[],"src":"3658:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":554,"nodeType":"FunctionDefinition","src":"3710:110:1","nodes":[],"body":{"id":553,"nodeType":"Block","src":"3779:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":549,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"3801:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":550,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":543,"src":"3807:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":546,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3789:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3792:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14104,"src":"3789:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":551,"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":552,"nodeType":"ExpressionStatement","src":"3789:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3719:8:1","parameters":{"id":544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":541,"mutability":"mutable","name":"left","nameLocation":"3736:4:1","nodeType":"VariableDeclaration","scope":554,"src":"3728:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3728:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":543,"mutability":"mutable","name":"right","nameLocation":"3750:5:1","nodeType":"VariableDeclaration","scope":554,"src":"3742:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3742:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3727:29:1"},"returnParameters":{"id":545,"nodeType":"ParameterList","parameters":[],"src":"3779:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":572,"nodeType":"FunctionDefinition","src":"3826:134:1","nodes":[],"body":{"id":571,"nodeType":"Block","src":"3914:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":566,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"3936:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":567,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"3942:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":568,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"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":563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3924:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3927:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14114,"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":569,"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":570,"nodeType":"ExpressionStatement","src":"3924:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3835:8:1","parameters":{"id":561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":556,"mutability":"mutable","name":"left","nameLocation":"3852:4:1","nodeType":"VariableDeclaration","scope":572,"src":"3844:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3844:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":558,"mutability":"mutable","name":"right","nameLocation":"3866:5:1","nodeType":"VariableDeclaration","scope":572,"src":"3858:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3858:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"err","nameLocation":"3887:3:1","nodeType":"VariableDeclaration","scope":572,"src":"3873:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":559,"name":"string","nodeType":"ElementaryTypeName","src":"3873:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3843:48:1"},"returnParameters":{"id":562,"nodeType":"ParameterList","parameters":[],"src":"3914:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":585,"nodeType":"FunctionDefinition","src":"3966:109:1","nodes":[],"body":{"id":584,"nodeType":"Block","src":"4037:38:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":580,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":574,"src":"4056:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":581,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":576,"src":"4062:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":579,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":554,"src":"4047:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":582,"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":583,"nodeType":"ExpressionStatement","src":"4047:21:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"3975:10:1","parameters":{"id":577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":574,"mutability":"mutable","name":"left","nameLocation":"3994:4:1","nodeType":"VariableDeclaration","scope":585,"src":"3986:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3986:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":576,"mutability":"mutable","name":"right","nameLocation":"4008:5:1","nodeType":"VariableDeclaration","scope":585,"src":"4000:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4000:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3985:29:1"},"returnParameters":{"id":578,"nodeType":"ParameterList","parameters":[],"src":"4037:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":601,"nodeType":"FunctionDefinition","src":"4081:133:1","nodes":[],"body":{"id":600,"nodeType":"Block","src":"4171:43:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":595,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":587,"src":"4190:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":596,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"4196:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":597,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"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":594,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":572,"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":598,"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":599,"nodeType":"ExpressionStatement","src":"4181:26:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4090:10:1","parameters":{"id":592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":587,"mutability":"mutable","name":"left","nameLocation":"4109:4:1","nodeType":"VariableDeclaration","scope":601,"src":"4101:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4101:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":589,"mutability":"mutable","name":"right","nameLocation":"4123:5:1","nodeType":"VariableDeclaration","scope":601,"src":"4115:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4115:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":591,"mutability":"mutable","name":"err","nameLocation":"4144:3:1","nodeType":"VariableDeclaration","scope":601,"src":"4130:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":590,"name":"string","nodeType":"ElementaryTypeName","src":"4130:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4100:48:1"},"returnParameters":{"id":593,"nodeType":"ParameterList","parameters":[],"src":"4171:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":616,"nodeType":"FunctionDefinition","src":"4220:122:1","nodes":[],"body":{"id":615,"nodeType":"Block","src":"4301:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":611,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"4323:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":612,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"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":608,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"4311:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4314:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13860,"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":613,"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":614,"nodeType":"ExpressionStatement","src":"4311:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4229:8:1","parameters":{"id":606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":603,"mutability":"mutable","name":"left","nameLocation":"4252:4:1","nodeType":"VariableDeclaration","scope":616,"src":"4238:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":602,"name":"string","nodeType":"ElementaryTypeName","src":"4238:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":605,"mutability":"mutable","name":"right","nameLocation":"4272:5:1","nodeType":"VariableDeclaration","scope":616,"src":"4258:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":604,"name":"string","nodeType":"ElementaryTypeName","src":"4258:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4237:41:1"},"returnParameters":{"id":607,"nodeType":"ParameterList","parameters":[],"src":"4301:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":634,"nodeType":"FunctionDefinition","src":"4348:146:1","nodes":[],"body":{"id":633,"nodeType":"Block","src":"4448:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":628,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"4470:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":629,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":620,"src":"4476:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":630,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":622,"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":625,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"4458:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4461:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13870,"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":631,"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":632,"nodeType":"ExpressionStatement","src":"4458:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4357:8:1","parameters":{"id":623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":618,"mutability":"mutable","name":"left","nameLocation":"4380:4:1","nodeType":"VariableDeclaration","scope":634,"src":"4366:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":617,"name":"string","nodeType":"ElementaryTypeName","src":"4366:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":620,"mutability":"mutable","name":"right","nameLocation":"4400:5:1","nodeType":"VariableDeclaration","scope":634,"src":"4386:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":619,"name":"string","nodeType":"ElementaryTypeName","src":"4386:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":622,"mutability":"mutable","name":"err","nameLocation":"4421:3:1","nodeType":"VariableDeclaration","scope":634,"src":"4407:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":621,"name":"string","nodeType":"ElementaryTypeName","src":"4407:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4365:60:1"},"returnParameters":{"id":624,"nodeType":"ParameterList","parameters":[],"src":"4448:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":649,"nodeType":"FunctionDefinition","src":"4500:120:1","nodes":[],"body":{"id":648,"nodeType":"Block","src":"4579:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":644,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":636,"src":"4601:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":645,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":638,"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":641,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"4589:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4592:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13878,"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":646,"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":647,"nodeType":"ExpressionStatement","src":"4589:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4509:8:1","parameters":{"id":639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":636,"mutability":"mutable","name":"left","nameLocation":"4531:4:1","nodeType":"VariableDeclaration","scope":649,"src":"4518:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":635,"name":"bytes","nodeType":"ElementaryTypeName","src":"4518:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":638,"mutability":"mutable","name":"right","nameLocation":"4550:5:1","nodeType":"VariableDeclaration","scope":649,"src":"4537:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":637,"name":"bytes","nodeType":"ElementaryTypeName","src":"4537:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4517:39:1"},"returnParameters":{"id":640,"nodeType":"ParameterList","parameters":[],"src":"4579:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":667,"nodeType":"FunctionDefinition","src":"4626:144:1","nodes":[],"body":{"id":666,"nodeType":"Block","src":"4724:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":661,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":651,"src":"4746:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":662,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":653,"src":"4752:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":663,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":655,"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":658,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"4734:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4737:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13888,"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":664,"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":665,"nodeType":"ExpressionStatement","src":"4734:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4635:8:1","parameters":{"id":656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":651,"mutability":"mutable","name":"left","nameLocation":"4657:4:1","nodeType":"VariableDeclaration","scope":667,"src":"4644:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":650,"name":"bytes","nodeType":"ElementaryTypeName","src":"4644:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":653,"mutability":"mutable","name":"right","nameLocation":"4676:5:1","nodeType":"VariableDeclaration","scope":667,"src":"4663:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":652,"name":"bytes","nodeType":"ElementaryTypeName","src":"4663:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":655,"mutability":"mutable","name":"err","nameLocation":"4697:3:1","nodeType":"VariableDeclaration","scope":667,"src":"4683:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":654,"name":"string","nodeType":"ElementaryTypeName","src":"4683:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4643:58:1"},"returnParameters":{"id":657,"nodeType":"ParameterList","parameters":[],"src":"4724:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":684,"nodeType":"FunctionDefinition","src":"4776:122:1","nodes":[],"body":{"id":683,"nodeType":"Block","src":"4857:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":679,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":670,"src":"4879:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":680,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":673,"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":676,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"4867:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4870:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13898,"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":681,"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":682,"nodeType":"ExpressionStatement","src":"4867:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4785:8:1","parameters":{"id":674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":670,"mutability":"mutable","name":"left","nameLocation":"4808:4:1","nodeType":"VariableDeclaration","scope":684,"src":"4794:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":668,"name":"bool","nodeType":"ElementaryTypeName","src":"4794:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":669,"nodeType":"ArrayTypeName","src":"4794:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":673,"mutability":"mutable","name":"right","nameLocation":"4828:5:1","nodeType":"VariableDeclaration","scope":684,"src":"4814:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":671,"name":"bool","nodeType":"ElementaryTypeName","src":"4814:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":672,"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":675,"nodeType":"ParameterList","parameters":[],"src":"4857:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":704,"nodeType":"FunctionDefinition","src":"4904:146:1","nodes":[],"body":{"id":703,"nodeType":"Block","src":"5004:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":698,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"5026:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":699,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":690,"src":"5032:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":700,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":692,"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":695,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5014:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5017:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13910,"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":701,"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":702,"nodeType":"ExpressionStatement","src":"5014:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4913:8:1","parameters":{"id":693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":687,"mutability":"mutable","name":"left","nameLocation":"4936:4:1","nodeType":"VariableDeclaration","scope":704,"src":"4922:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":685,"name":"bool","nodeType":"ElementaryTypeName","src":"4922:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":686,"nodeType":"ArrayTypeName","src":"4922:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":690,"mutability":"mutable","name":"right","nameLocation":"4956:5:1","nodeType":"VariableDeclaration","scope":704,"src":"4942:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":688,"name":"bool","nodeType":"ElementaryTypeName","src":"4942:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":689,"nodeType":"ArrayTypeName","src":"4942:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":692,"mutability":"mutable","name":"err","nameLocation":"4977:3:1","nodeType":"VariableDeclaration","scope":704,"src":"4963:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":691,"name":"string","nodeType":"ElementaryTypeName","src":"4963:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4921:60:1"},"returnParameters":{"id":694,"nodeType":"ParameterList","parameters":[],"src":"5004:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":721,"nodeType":"FunctionDefinition","src":"5056:128:1","nodes":[],"body":{"id":720,"nodeType":"Block","src":"5143:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":716,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":707,"src":"5165:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":717,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"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":713,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5153:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5156:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13920,"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":718,"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":719,"nodeType":"ExpressionStatement","src":"5153:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5065:8:1","parameters":{"id":711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":707,"mutability":"mutable","name":"left","nameLocation":"5091:4:1","nodeType":"VariableDeclaration","scope":721,"src":"5074:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":705,"name":"uint256","nodeType":"ElementaryTypeName","src":"5074:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":706,"nodeType":"ArrayTypeName","src":"5074:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":710,"mutability":"mutable","name":"right","nameLocation":"5114:5:1","nodeType":"VariableDeclaration","scope":721,"src":"5097:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":708,"name":"uint256","nodeType":"ElementaryTypeName","src":"5097:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":709,"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":712,"nodeType":"ParameterList","parameters":[],"src":"5143:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":741,"nodeType":"FunctionDefinition","src":"5190:152:1","nodes":[],"body":{"id":740,"nodeType":"Block","src":"5296:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":735,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":724,"src":"5318:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":736,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":727,"src":"5324:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":737,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"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":732,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5306:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5309:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13932,"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":738,"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":739,"nodeType":"ExpressionStatement","src":"5306:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5199:8:1","parameters":{"id":730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":724,"mutability":"mutable","name":"left","nameLocation":"5225:4:1","nodeType":"VariableDeclaration","scope":741,"src":"5208:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":722,"name":"uint256","nodeType":"ElementaryTypeName","src":"5208:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":723,"nodeType":"ArrayTypeName","src":"5208:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":727,"mutability":"mutable","name":"right","nameLocation":"5248:5:1","nodeType":"VariableDeclaration","scope":741,"src":"5231:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":725,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":726,"nodeType":"ArrayTypeName","src":"5231:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":729,"mutability":"mutable","name":"err","nameLocation":"5269:3:1","nodeType":"VariableDeclaration","scope":741,"src":"5255:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":728,"name":"string","nodeType":"ElementaryTypeName","src":"5255:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5207:66:1"},"returnParameters":{"id":731,"nodeType":"ParameterList","parameters":[],"src":"5296:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":758,"nodeType":"FunctionDefinition","src":"5348:126:1","nodes":[],"body":{"id":757,"nodeType":"Block","src":"5433:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":753,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":744,"src":"5455:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":754,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"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":750,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5443:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5446:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13942,"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":755,"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":756,"nodeType":"ExpressionStatement","src":"5443:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5357:8:1","parameters":{"id":748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":744,"mutability":"mutable","name":"left","nameLocation":"5382:4:1","nodeType":"VariableDeclaration","scope":758,"src":"5366:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":742,"name":"int256","nodeType":"ElementaryTypeName","src":"5366:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":743,"nodeType":"ArrayTypeName","src":"5366:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":747,"mutability":"mutable","name":"right","nameLocation":"5404:5:1","nodeType":"VariableDeclaration","scope":758,"src":"5388:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":745,"name":"int256","nodeType":"ElementaryTypeName","src":"5388:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":746,"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":749,"nodeType":"ParameterList","parameters":[],"src":"5433:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":778,"nodeType":"FunctionDefinition","src":"5480:150:1","nodes":[],"body":{"id":777,"nodeType":"Block","src":"5584:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":772,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":761,"src":"5606:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":773,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":764,"src":"5612:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":774,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"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":769,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5594:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5597:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13954,"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":775,"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":776,"nodeType":"ExpressionStatement","src":"5594:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5489:8:1","parameters":{"id":767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":761,"mutability":"mutable","name":"left","nameLocation":"5514:4:1","nodeType":"VariableDeclaration","scope":778,"src":"5498:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":759,"name":"int256","nodeType":"ElementaryTypeName","src":"5498:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":760,"nodeType":"ArrayTypeName","src":"5498:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":764,"mutability":"mutable","name":"right","nameLocation":"5536:5:1","nodeType":"VariableDeclaration","scope":778,"src":"5520:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":762,"name":"int256","nodeType":"ElementaryTypeName","src":"5520:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":763,"nodeType":"ArrayTypeName","src":"5520:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":766,"mutability":"mutable","name":"err","nameLocation":"5557:3:1","nodeType":"VariableDeclaration","scope":778,"src":"5543:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":765,"name":"string","nodeType":"ElementaryTypeName","src":"5543:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5497:64:1"},"returnParameters":{"id":768,"nodeType":"ParameterList","parameters":[],"src":"5584:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":795,"nodeType":"FunctionDefinition","src":"5636:128:1","nodes":[],"body":{"id":794,"nodeType":"Block","src":"5723:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":790,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":781,"src":"5745:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":791,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"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":787,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5733:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5736:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13972,"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":792,"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":793,"nodeType":"ExpressionStatement","src":"5733:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5645:8:1","parameters":{"id":785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":781,"mutability":"mutable","name":"left","nameLocation":"5671:4:1","nodeType":"VariableDeclaration","scope":795,"src":"5654:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":779,"name":"address","nodeType":"ElementaryTypeName","src":"5654:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":780,"nodeType":"ArrayTypeName","src":"5654:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":784,"mutability":"mutable","name":"right","nameLocation":"5694:5:1","nodeType":"VariableDeclaration","scope":795,"src":"5677:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":782,"name":"address","nodeType":"ElementaryTypeName","src":"5677:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":783,"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":786,"nodeType":"ParameterList","parameters":[],"src":"5723:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":815,"nodeType":"FunctionDefinition","src":"5770:152:1","nodes":[],"body":{"id":814,"nodeType":"Block","src":"5876:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":809,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":798,"src":"5898:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":810,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":801,"src":"5904:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":811,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":803,"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":806,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"5886:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5889:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13984,"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":812,"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":813,"nodeType":"ExpressionStatement","src":"5886:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5779:8:1","parameters":{"id":804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":798,"mutability":"mutable","name":"left","nameLocation":"5805:4:1","nodeType":"VariableDeclaration","scope":815,"src":"5788:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":796,"name":"address","nodeType":"ElementaryTypeName","src":"5788:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":797,"nodeType":"ArrayTypeName","src":"5788:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":801,"mutability":"mutable","name":"right","nameLocation":"5828:5:1","nodeType":"VariableDeclaration","scope":815,"src":"5811:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":799,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":800,"nodeType":"ArrayTypeName","src":"5811:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":803,"mutability":"mutable","name":"err","nameLocation":"5849:3:1","nodeType":"VariableDeclaration","scope":815,"src":"5835:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":802,"name":"string","nodeType":"ElementaryTypeName","src":"5835:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5787:66:1"},"returnParameters":{"id":805,"nodeType":"ParameterList","parameters":[],"src":"5876:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":832,"nodeType":"FunctionDefinition","src":"5928:128:1","nodes":[],"body":{"id":831,"nodeType":"Block","src":"6015:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":827,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":818,"src":"6037:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":828,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"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":824,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"6025:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6028:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13994,"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":829,"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":830,"nodeType":"ExpressionStatement","src":"6025:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5937:8:1","parameters":{"id":822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":818,"mutability":"mutable","name":"left","nameLocation":"5963:4:1","nodeType":"VariableDeclaration","scope":832,"src":"5946:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5946:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":817,"nodeType":"ArrayTypeName","src":"5946:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":821,"mutability":"mutable","name":"right","nameLocation":"5986:5:1","nodeType":"VariableDeclaration","scope":832,"src":"5969:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5969:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":820,"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":823,"nodeType":"ParameterList","parameters":[],"src":"6015:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":852,"nodeType":"FunctionDefinition","src":"6062:152:1","nodes":[],"body":{"id":851,"nodeType":"Block","src":"6168:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":846,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"6190:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":847,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"6196:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":848,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":840,"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":843,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"6178:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6181:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14006,"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":849,"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":850,"nodeType":"ExpressionStatement","src":"6178:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6071:8:1","parameters":{"id":841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":835,"mutability":"mutable","name":"left","nameLocation":"6097:4:1","nodeType":"VariableDeclaration","scope":852,"src":"6080:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6080:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":834,"nodeType":"ArrayTypeName","src":"6080:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":838,"mutability":"mutable","name":"right","nameLocation":"6120:5:1","nodeType":"VariableDeclaration","scope":852,"src":"6103:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6103:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":837,"nodeType":"ArrayTypeName","src":"6103:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":840,"mutability":"mutable","name":"err","nameLocation":"6141:3:1","nodeType":"VariableDeclaration","scope":852,"src":"6127:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":839,"name":"string","nodeType":"ElementaryTypeName","src":"6127:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6079:66:1"},"returnParameters":{"id":842,"nodeType":"ParameterList","parameters":[],"src":"6168:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":869,"nodeType":"FunctionDefinition","src":"6220:126:1","nodes":[],"body":{"id":868,"nodeType":"Block","src":"6305:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":864,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":855,"src":"6327:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":865,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"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":861,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"6315:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6318:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14016,"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":866,"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":867,"nodeType":"ExpressionStatement","src":"6315:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6229:8:1","parameters":{"id":859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":855,"mutability":"mutable","name":"left","nameLocation":"6254:4:1","nodeType":"VariableDeclaration","scope":869,"src":"6238:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":853,"name":"string","nodeType":"ElementaryTypeName","src":"6238:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":854,"nodeType":"ArrayTypeName","src":"6238:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":858,"mutability":"mutable","name":"right","nameLocation":"6276:5:1","nodeType":"VariableDeclaration","scope":869,"src":"6260:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":856,"name":"string","nodeType":"ElementaryTypeName","src":"6260:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":857,"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":860,"nodeType":"ParameterList","parameters":[],"src":"6305:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":889,"nodeType":"FunctionDefinition","src":"6352:150:1","nodes":[],"body":{"id":888,"nodeType":"Block","src":"6456:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":883,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"6478:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":884,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"6484:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":885,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"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":880,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"6466:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6469:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14028,"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":886,"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":887,"nodeType":"ExpressionStatement","src":"6466:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6361:8:1","parameters":{"id":878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":872,"mutability":"mutable","name":"left","nameLocation":"6386:4:1","nodeType":"VariableDeclaration","scope":889,"src":"6370:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":870,"name":"string","nodeType":"ElementaryTypeName","src":"6370:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":871,"nodeType":"ArrayTypeName","src":"6370:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":875,"mutability":"mutable","name":"right","nameLocation":"6408:5:1","nodeType":"VariableDeclaration","scope":889,"src":"6392:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":873,"name":"string","nodeType":"ElementaryTypeName","src":"6392:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":874,"nodeType":"ArrayTypeName","src":"6392:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":877,"mutability":"mutable","name":"err","nameLocation":"6429:3:1","nodeType":"VariableDeclaration","scope":889,"src":"6415:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":876,"name":"string","nodeType":"ElementaryTypeName","src":"6415:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6369:64:1"},"returnParameters":{"id":879,"nodeType":"ParameterList","parameters":[],"src":"6456:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":906,"nodeType":"FunctionDefinition","src":"6508:124:1","nodes":[],"body":{"id":905,"nodeType":"Block","src":"6591:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":901,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":892,"src":"6613:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":902,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":895,"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":898,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"6601:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6604:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14038,"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":903,"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":904,"nodeType":"ExpressionStatement","src":"6601:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6517:8:1","parameters":{"id":896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":892,"mutability":"mutable","name":"left","nameLocation":"6541:4:1","nodeType":"VariableDeclaration","scope":906,"src":"6526:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":890,"name":"bytes","nodeType":"ElementaryTypeName","src":"6526:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":891,"nodeType":"ArrayTypeName","src":"6526:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":895,"mutability":"mutable","name":"right","nameLocation":"6562:5:1","nodeType":"VariableDeclaration","scope":906,"src":"6547:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":893,"name":"bytes","nodeType":"ElementaryTypeName","src":"6547:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":894,"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":897,"nodeType":"ParameterList","parameters":[],"src":"6591:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":926,"nodeType":"FunctionDefinition","src":"6638:148:1","nodes":[],"body":{"id":925,"nodeType":"Block","src":"6740:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":920,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6762:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":921,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":912,"src":"6768:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":922,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"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":917,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"6750:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6753:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14050,"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":923,"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":924,"nodeType":"ExpressionStatement","src":"6750:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6647:8:1","parameters":{"id":915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":909,"mutability":"mutable","name":"left","nameLocation":"6671:4:1","nodeType":"VariableDeclaration","scope":926,"src":"6656:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":907,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":908,"nodeType":"ArrayTypeName","src":"6656:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":912,"mutability":"mutable","name":"right","nameLocation":"6692:5:1","nodeType":"VariableDeclaration","scope":926,"src":"6677:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":910,"name":"bytes","nodeType":"ElementaryTypeName","src":"6677:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":911,"nodeType":"ArrayTypeName","src":"6677:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":914,"mutability":"mutable","name":"err","nameLocation":"6713:3:1","nodeType":"VariableDeclaration","scope":926,"src":"6699:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":913,"name":"string","nodeType":"ElementaryTypeName","src":"6699:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6655:62:1"},"returnParameters":{"id":916,"nodeType":"ParameterList","parameters":[],"src":"6740:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":939,"nodeType":"FunctionDefinition","src":"6813:111:1","nodes":[],"body":{"id":938,"nodeType":"Block","src":"6886:38:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":934,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"6905:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":935,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"6911:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":933,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":377,"src":"6896:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":936,"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":937,"nodeType":"ExpressionStatement","src":"6896:21:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"6822:12:1","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"left","nameLocation":"6843:4:1","nodeType":"VariableDeclaration","scope":939,"src":"6835:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"6835:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"right","nameLocation":"6857:5:1","nodeType":"VariableDeclaration","scope":939,"src":"6849:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6849:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6834:29:1"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"6886:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":954,"nodeType":"FunctionDefinition","src":"6930:110:1","nodes":[],"body":{"id":953,"nodeType":"Block","src":"6996:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":949,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":941,"src":"7021:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":950,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"7027:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7006:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7009:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"7006:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":951,"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":952,"nodeType":"ExpressionStatement","src":"7006:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"6939:11:1","parameters":{"id":944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":941,"mutability":"mutable","name":"left","nameLocation":"6956:4:1","nodeType":"VariableDeclaration","scope":954,"src":"6951:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":940,"name":"bool","nodeType":"ElementaryTypeName","src":"6951:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":943,"mutability":"mutable","name":"right","nameLocation":"6967:5:1","nodeType":"VariableDeclaration","scope":954,"src":"6962:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":942,"name":"bool","nodeType":"ElementaryTypeName","src":"6962:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6950:23:1"},"returnParameters":{"id":945,"nodeType":"ParameterList","parameters":[],"src":"6996:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":972,"nodeType":"FunctionDefinition","src":"7046:134:1","nodes":[],"body":{"id":971,"nodeType":"Block","src":"7131:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":966,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"7156:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":967,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":958,"src":"7162:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":968,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"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":963,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7141:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7144:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14510,"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":969,"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":970,"nodeType":"ExpressionStatement","src":"7141:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7055:11:1","parameters":{"id":961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":956,"mutability":"mutable","name":"left","nameLocation":"7072:4:1","nodeType":"VariableDeclaration","scope":972,"src":"7067:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":955,"name":"bool","nodeType":"ElementaryTypeName","src":"7067:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":958,"mutability":"mutable","name":"right","nameLocation":"7083:5:1","nodeType":"VariableDeclaration","scope":972,"src":"7078:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":957,"name":"bool","nodeType":"ElementaryTypeName","src":"7078:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":960,"mutability":"mutable","name":"err","nameLocation":"7104:3:1","nodeType":"VariableDeclaration","scope":972,"src":"7090:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":959,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:42:1"},"returnParameters":{"id":962,"nodeType":"ParameterList","parameters":[],"src":"7131:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":987,"nodeType":"FunctionDefinition","src":"7186:116:1","nodes":[],"body":{"id":986,"nodeType":"Block","src":"7258:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":982,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":974,"src":"7283:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":983,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"7289:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7268:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7271:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14620,"src":"7268:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":984,"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":985,"nodeType":"ExpressionStatement","src":"7268:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7195:11:1","parameters":{"id":977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":974,"mutability":"mutable","name":"left","nameLocation":"7215:4:1","nodeType":"VariableDeclaration","scope":987,"src":"7207:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":973,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":976,"mutability":"mutable","name":"right","nameLocation":"7229:5:1","nodeType":"VariableDeclaration","scope":987,"src":"7221:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7221:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:29:1"},"returnParameters":{"id":978,"nodeType":"ParameterList","parameters":[],"src":"7258:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1005,"nodeType":"FunctionDefinition","src":"7308:140:1","nodes":[],"body":{"id":1004,"nodeType":"Block","src":"7399:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":999,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":989,"src":"7424:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1000,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":991,"src":"7430:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1001,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"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":996,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7409:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7412:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14718,"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":1002,"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":1003,"nodeType":"ExpressionStatement","src":"7409:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7317:11:1","parameters":{"id":994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":989,"mutability":"mutable","name":"left","nameLocation":"7337:4:1","nodeType":"VariableDeclaration","scope":1005,"src":"7329:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":988,"name":"uint256","nodeType":"ElementaryTypeName","src":"7329:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":991,"mutability":"mutable","name":"right","nameLocation":"7351:5:1","nodeType":"VariableDeclaration","scope":1005,"src":"7343:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":990,"name":"uint256","nodeType":"ElementaryTypeName","src":"7343:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":993,"mutability":"mutable","name":"err","nameLocation":"7372:3:1","nodeType":"VariableDeclaration","scope":1005,"src":"7358:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":992,"name":"string","nodeType":"ElementaryTypeName","src":"7358:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7328:48:1"},"returnParameters":{"id":995,"nodeType":"ParameterList","parameters":[],"src":"7399:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1023,"nodeType":"FunctionDefinition","src":"7454:158:1","nodes":[],"body":{"id":1022,"nodeType":"Block","src":"7551:61:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1017,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1007,"src":"7583:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1018,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1009,"src":"7589:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1019,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1011,"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":1014,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7561:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7564:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14458,"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":1020,"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":1021,"nodeType":"ExpressionStatement","src":"7561:44:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7463:18:1","parameters":{"id":1012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1007,"mutability":"mutable","name":"left","nameLocation":"7490:4:1","nodeType":"VariableDeclaration","scope":1023,"src":"7482:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1006,"name":"uint256","nodeType":"ElementaryTypeName","src":"7482:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1009,"mutability":"mutable","name":"right","nameLocation":"7504:5:1","nodeType":"VariableDeclaration","scope":1023,"src":"7496:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1008,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1011,"mutability":"mutable","name":"decimals","nameLocation":"7519:8:1","nodeType":"VariableDeclaration","scope":1023,"src":"7511:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1010,"name":"uint256","nodeType":"ElementaryTypeName","src":"7511:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7481:47:1"},"returnParameters":{"id":1013,"nodeType":"ParameterList","parameters":[],"src":"7551:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1044,"nodeType":"FunctionDefinition","src":"7618:210:1","nodes":[],"body":{"id":1043,"nodeType":"Block","src":"7762:66:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1037,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1025,"src":"7794:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1038,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"7800:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1039,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1029,"src":"7807:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1040,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1031,"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":1034,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7772:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7775:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14470,"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":1041,"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":1042,"nodeType":"ExpressionStatement","src":"7772:49:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7627:18:1","parameters":{"id":1032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1025,"mutability":"mutable","name":"left","nameLocation":"7654:4:1","nodeType":"VariableDeclaration","scope":1044,"src":"7646:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1024,"name":"uint256","nodeType":"ElementaryTypeName","src":"7646:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1027,"mutability":"mutable","name":"right","nameLocation":"7668:5:1","nodeType":"VariableDeclaration","scope":1044,"src":"7660:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1026,"name":"uint256","nodeType":"ElementaryTypeName","src":"7660:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1029,"mutability":"mutable","name":"decimals","nameLocation":"7683:8:1","nodeType":"VariableDeclaration","scope":1044,"src":"7675:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1028,"name":"uint256","nodeType":"ElementaryTypeName","src":"7675:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1031,"mutability":"mutable","name":"err","nameLocation":"7707:3:1","nodeType":"VariableDeclaration","scope":1044,"src":"7693:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1030,"name":"string","nodeType":"ElementaryTypeName","src":"7693:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7645:66:1"},"returnParameters":{"id":1033,"nodeType":"ParameterList","parameters":[],"src":"7762:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1059,"nodeType":"FunctionDefinition","src":"7834:114:1","nodes":[],"body":{"id":1058,"nodeType":"Block","src":"7904:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1054,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"7929:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1055,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1048,"src":"7935:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1051,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7914:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14726,"src":"7914:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1056,"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":1057,"nodeType":"ExpressionStatement","src":"7914:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7843:11:1","parameters":{"id":1049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1046,"mutability":"mutable","name":"left","nameLocation":"7862:4:1","nodeType":"VariableDeclaration","scope":1059,"src":"7855:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1045,"name":"int256","nodeType":"ElementaryTypeName","src":"7855:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1048,"mutability":"mutable","name":"right","nameLocation":"7875:5:1","nodeType":"VariableDeclaration","scope":1059,"src":"7868:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1047,"name":"int256","nodeType":"ElementaryTypeName","src":"7868:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7854:27:1"},"returnParameters":{"id":1050,"nodeType":"ParameterList","parameters":[],"src":"7904:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1077,"nodeType":"FunctionDefinition","src":"7954:138:1","nodes":[],"body":{"id":1076,"nodeType":"Block","src":"8043:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1071,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"8068:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1072,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1063,"src":"8074:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1073,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"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":1068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8053:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8056:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14736,"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":1074,"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":1075,"nodeType":"ExpressionStatement","src":"8053:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7963:11:1","parameters":{"id":1066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1061,"mutability":"mutable","name":"left","nameLocation":"7982:4:1","nodeType":"VariableDeclaration","scope":1077,"src":"7975:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1060,"name":"int256","nodeType":"ElementaryTypeName","src":"7975:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1063,"mutability":"mutable","name":"right","nameLocation":"7995:5:1","nodeType":"VariableDeclaration","scope":1077,"src":"7988:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1062,"name":"int256","nodeType":"ElementaryTypeName","src":"7988:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1065,"mutability":"mutable","name":"err","nameLocation":"8016:3:1","nodeType":"VariableDeclaration","scope":1077,"src":"8002:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1064,"name":"string","nodeType":"ElementaryTypeName","src":"8002:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7974:46:1"},"returnParameters":{"id":1067,"nodeType":"ParameterList","parameters":[],"src":"8043:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1095,"nodeType":"FunctionDefinition","src":"8098:156:1","nodes":[],"body":{"id":1094,"nodeType":"Block","src":"8193:61:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1089,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1079,"src":"8225:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1090,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"8231:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1091,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1083,"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":1086,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8203:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8206:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14480,"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":1092,"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":1093,"nodeType":"ExpressionStatement","src":"8203:44:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8107:18:1","parameters":{"id":1084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1079,"mutability":"mutable","name":"left","nameLocation":"8133:4:1","nodeType":"VariableDeclaration","scope":1095,"src":"8126:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1078,"name":"int256","nodeType":"ElementaryTypeName","src":"8126:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1081,"mutability":"mutable","name":"right","nameLocation":"8146:5:1","nodeType":"VariableDeclaration","scope":1095,"src":"8139:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1080,"name":"int256","nodeType":"ElementaryTypeName","src":"8139:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1083,"mutability":"mutable","name":"decimals","nameLocation":"8161:8:1","nodeType":"VariableDeclaration","scope":1095,"src":"8153:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1082,"name":"uint256","nodeType":"ElementaryTypeName","src":"8153:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8125:45:1"},"returnParameters":{"id":1085,"nodeType":"ParameterList","parameters":[],"src":"8193:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1116,"nodeType":"FunctionDefinition","src":"8260:180:1","nodes":[],"body":{"id":1115,"nodeType":"Block","src":"8374:66:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1109,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1097,"src":"8406:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1110,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"8412:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1111,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1101,"src":"8419:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1112,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"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":1106,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8384:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8387:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14492,"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":1113,"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":1114,"nodeType":"ExpressionStatement","src":"8384:49:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8269:18:1","parameters":{"id":1104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1097,"mutability":"mutable","name":"left","nameLocation":"8295:4:1","nodeType":"VariableDeclaration","scope":1116,"src":"8288:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1096,"name":"int256","nodeType":"ElementaryTypeName","src":"8288:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1099,"mutability":"mutable","name":"right","nameLocation":"8308:5:1","nodeType":"VariableDeclaration","scope":1116,"src":"8301:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1098,"name":"int256","nodeType":"ElementaryTypeName","src":"8301:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1101,"mutability":"mutable","name":"decimals","nameLocation":"8323:8:1","nodeType":"VariableDeclaration","scope":1116,"src":"8315:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1100,"name":"uint256","nodeType":"ElementaryTypeName","src":"8315:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1103,"mutability":"mutable","name":"err","nameLocation":"8347:3:1","nodeType":"VariableDeclaration","scope":1116,"src":"8333:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1102,"name":"string","nodeType":"ElementaryTypeName","src":"8333:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:64:1"},"returnParameters":{"id":1105,"nodeType":"ParameterList","parameters":[],"src":"8374:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1131,"nodeType":"FunctionDefinition","src":"8446:116:1","nodes":[],"body":{"id":1130,"nodeType":"Block","src":"8518:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1126,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"8543:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1127,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1120,"src":"8549:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1123,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8528:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8531:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14744,"src":"8528:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1128,"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":1129,"nodeType":"ExpressionStatement","src":"8528:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8455:11:1","parameters":{"id":1121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1118,"mutability":"mutable","name":"left","nameLocation":"8475:4:1","nodeType":"VariableDeclaration","scope":1131,"src":"8467:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1117,"name":"address","nodeType":"ElementaryTypeName","src":"8467:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1120,"mutability":"mutable","name":"right","nameLocation":"8489:5:1","nodeType":"VariableDeclaration","scope":1131,"src":"8481:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1119,"name":"address","nodeType":"ElementaryTypeName","src":"8481:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8466:29:1"},"returnParameters":{"id":1122,"nodeType":"ParameterList","parameters":[],"src":"8518:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1149,"nodeType":"FunctionDefinition","src":"8568:140:1","nodes":[],"body":{"id":1148,"nodeType":"Block","src":"8659:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1143,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1133,"src":"8684:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1144,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"8690:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1145,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1137,"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":1140,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8669:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8672:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14754,"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":1146,"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":1147,"nodeType":"ExpressionStatement","src":"8669:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8577:11:1","parameters":{"id":1138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1133,"mutability":"mutable","name":"left","nameLocation":"8597:4:1","nodeType":"VariableDeclaration","scope":1149,"src":"8589:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1132,"name":"address","nodeType":"ElementaryTypeName","src":"8589:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1135,"mutability":"mutable","name":"right","nameLocation":"8611:5:1","nodeType":"VariableDeclaration","scope":1149,"src":"8603:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1134,"name":"address","nodeType":"ElementaryTypeName","src":"8603:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1137,"mutability":"mutable","name":"err","nameLocation":"8632:3:1","nodeType":"VariableDeclaration","scope":1149,"src":"8618:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1136,"name":"string","nodeType":"ElementaryTypeName","src":"8618:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8588:48:1"},"returnParameters":{"id":1139,"nodeType":"ParameterList","parameters":[],"src":"8659:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1164,"nodeType":"FunctionDefinition","src":"8714:116:1","nodes":[],"body":{"id":1163,"nodeType":"Block","src":"8786:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1159,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1151,"src":"8811:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1160,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1153,"src":"8817:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1156,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8796:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8799:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14762,"src":"8796:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1161,"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":1162,"nodeType":"ExpressionStatement","src":"8796:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8723:11:1","parameters":{"id":1154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1151,"mutability":"mutable","name":"left","nameLocation":"8743:4:1","nodeType":"VariableDeclaration","scope":1164,"src":"8735:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8735:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1153,"mutability":"mutable","name":"right","nameLocation":"8757:5:1","nodeType":"VariableDeclaration","scope":1164,"src":"8749:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8749:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8734:29:1"},"returnParameters":{"id":1155,"nodeType":"ParameterList","parameters":[],"src":"8786:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1182,"nodeType":"FunctionDefinition","src":"8836:140:1","nodes":[],"body":{"id":1181,"nodeType":"Block","src":"8927:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1176,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1166,"src":"8952:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1177,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1168,"src":"8958:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1178,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1170,"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":1173,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"8937:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8940:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14772,"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":1179,"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":1180,"nodeType":"ExpressionStatement","src":"8937:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:1","parameters":{"id":1171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1166,"mutability":"mutable","name":"left","nameLocation":"8865:4:1","nodeType":"VariableDeclaration","scope":1182,"src":"8857:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8857:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1168,"mutability":"mutable","name":"right","nameLocation":"8879:5:1","nodeType":"VariableDeclaration","scope":1182,"src":"8871:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8871:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1170,"mutability":"mutable","name":"err","nameLocation":"8900:3:1","nodeType":"VariableDeclaration","scope":1182,"src":"8886:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1169,"name":"string","nodeType":"ElementaryTypeName","src":"8886:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8856:48:1"},"returnParameters":{"id":1172,"nodeType":"ParameterList","parameters":[],"src":"8927:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1195,"nodeType":"FunctionDefinition","src":"8982:115:1","nodes":[],"body":{"id":1194,"nodeType":"Block","src":"9056:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1190,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"9078:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1191,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"9084:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1189,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[954,972,987,1005,1059,1077,1131,1149,1164,1182,1226,1244,1259,1277,1294,1314,1331,1351,1368,1388,1405,1425,1442,1462,1479,1499,1516,1536],"referencedDeclaration":1164,"src":"9066:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1192,"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":1193,"nodeType":"ExpressionStatement","src":"9066:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"8991:13:1","parameters":{"id":1187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1184,"mutability":"mutable","name":"left","nameLocation":"9013:4:1","nodeType":"VariableDeclaration","scope":1195,"src":"9005:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9005:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1186,"mutability":"mutable","name":"right","nameLocation":"9027:5:1","nodeType":"VariableDeclaration","scope":1195,"src":"9019:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9019:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9004:29:1"},"returnParameters":{"id":1188,"nodeType":"ParameterList","parameters":[],"src":"9056:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1211,"nodeType":"FunctionDefinition","src":"9103:139:1","nodes":[],"body":{"id":1210,"nodeType":"Block","src":"9196:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1205,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1197,"src":"9218:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1206,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1199,"src":"9224:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1207,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1201,"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":1204,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[954,972,987,1005,1059,1077,1131,1149,1164,1182,1226,1244,1259,1277,1294,1314,1331,1351,1368,1388,1405,1425,1442,1462,1479,1499,1516,1536],"referencedDeclaration":1182,"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":1208,"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":1209,"nodeType":"ExpressionStatement","src":"9206:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"9112:13:1","parameters":{"id":1202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1197,"mutability":"mutable","name":"left","nameLocation":"9134:4:1","nodeType":"VariableDeclaration","scope":1211,"src":"9126:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9126:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1199,"mutability":"mutable","name":"right","nameLocation":"9148:5:1","nodeType":"VariableDeclaration","scope":1211,"src":"9140:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9140:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1201,"mutability":"mutable","name":"err","nameLocation":"9169:3:1","nodeType":"VariableDeclaration","scope":1211,"src":"9155:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1200,"name":"string","nodeType":"ElementaryTypeName","src":"9155:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9125:48:1"},"returnParameters":{"id":1203,"nodeType":"ParameterList","parameters":[],"src":"9196:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1226,"nodeType":"FunctionDefinition","src":"9248:128:1","nodes":[],"body":{"id":1225,"nodeType":"Block","src":"9332:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1221,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1213,"src":"9357:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1222,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1215,"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":1218,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"9342:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9345:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14518,"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":1223,"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":1224,"nodeType":"ExpressionStatement","src":"9342:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9257:11:1","parameters":{"id":1216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1213,"mutability":"mutable","name":"left","nameLocation":"9283:4:1","nodeType":"VariableDeclaration","scope":1226,"src":"9269:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1212,"name":"string","nodeType":"ElementaryTypeName","src":"9269:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1215,"mutability":"mutable","name":"right","nameLocation":"9303:5:1","nodeType":"VariableDeclaration","scope":1226,"src":"9289:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1214,"name":"string","nodeType":"ElementaryTypeName","src":"9289:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9268:41:1"},"returnParameters":{"id":1217,"nodeType":"ParameterList","parameters":[],"src":"9332:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1244,"nodeType":"FunctionDefinition","src":"9382:152:1","nodes":[],"body":{"id":1243,"nodeType":"Block","src":"9485:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1238,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"9510:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1239,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"9516:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1240,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1232,"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":1235,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"9495:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9498:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14528,"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":1241,"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":1242,"nodeType":"ExpressionStatement","src":"9495:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9391:11:1","parameters":{"id":1233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1228,"mutability":"mutable","name":"left","nameLocation":"9417:4:1","nodeType":"VariableDeclaration","scope":1244,"src":"9403:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1227,"name":"string","nodeType":"ElementaryTypeName","src":"9403:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1230,"mutability":"mutable","name":"right","nameLocation":"9437:5:1","nodeType":"VariableDeclaration","scope":1244,"src":"9423:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1229,"name":"string","nodeType":"ElementaryTypeName","src":"9423:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1232,"mutability":"mutable","name":"err","nameLocation":"9458:3:1","nodeType":"VariableDeclaration","scope":1244,"src":"9444:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1231,"name":"string","nodeType":"ElementaryTypeName","src":"9444:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9402:60:1"},"returnParameters":{"id":1234,"nodeType":"ParameterList","parameters":[],"src":"9485:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1259,"nodeType":"FunctionDefinition","src":"9540:126:1","nodes":[],"body":{"id":1258,"nodeType":"Block","src":"9622:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1254,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1246,"src":"9647:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1255,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1248,"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":1251,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"9632:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9635:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14536,"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":1256,"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":1257,"nodeType":"ExpressionStatement","src":"9632:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9549:11:1","parameters":{"id":1249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1246,"mutability":"mutable","name":"left","nameLocation":"9574:4:1","nodeType":"VariableDeclaration","scope":1259,"src":"9561:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1245,"name":"bytes","nodeType":"ElementaryTypeName","src":"9561:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1248,"mutability":"mutable","name":"right","nameLocation":"9593:5:1","nodeType":"VariableDeclaration","scope":1259,"src":"9580:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1247,"name":"bytes","nodeType":"ElementaryTypeName","src":"9580:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9560:39:1"},"returnParameters":{"id":1250,"nodeType":"ParameterList","parameters":[],"src":"9622:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1277,"nodeType":"FunctionDefinition","src":"9672:150:1","nodes":[],"body":{"id":1276,"nodeType":"Block","src":"9773:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1271,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1261,"src":"9798:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1272,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1263,"src":"9804:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1273,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1265,"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":1268,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"9783:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9786:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14546,"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":1274,"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":1275,"nodeType":"ExpressionStatement","src":"9783:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9681:11:1","parameters":{"id":1266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1261,"mutability":"mutable","name":"left","nameLocation":"9706:4:1","nodeType":"VariableDeclaration","scope":1277,"src":"9693:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1260,"name":"bytes","nodeType":"ElementaryTypeName","src":"9693:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1263,"mutability":"mutable","name":"right","nameLocation":"9725:5:1","nodeType":"VariableDeclaration","scope":1277,"src":"9712:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1262,"name":"bytes","nodeType":"ElementaryTypeName","src":"9712:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1265,"mutability":"mutable","name":"err","nameLocation":"9746:3:1","nodeType":"VariableDeclaration","scope":1277,"src":"9732:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1264,"name":"string","nodeType":"ElementaryTypeName","src":"9732:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9692:58:1"},"returnParameters":{"id":1267,"nodeType":"ParameterList","parameters":[],"src":"9773:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1294,"nodeType":"FunctionDefinition","src":"9828:128:1","nodes":[],"body":{"id":1293,"nodeType":"Block","src":"9912:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1289,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1280,"src":"9937:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1290,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"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":1286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"9922:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9925:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14556,"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":1291,"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":1292,"nodeType":"ExpressionStatement","src":"9922:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9837:11:1","parameters":{"id":1284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1280,"mutability":"mutable","name":"left","nameLocation":"9863:4:1","nodeType":"VariableDeclaration","scope":1294,"src":"9849:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1278,"name":"bool","nodeType":"ElementaryTypeName","src":"9849:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1279,"nodeType":"ArrayTypeName","src":"9849:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1283,"mutability":"mutable","name":"right","nameLocation":"9883:5:1","nodeType":"VariableDeclaration","scope":1294,"src":"9869:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1281,"name":"bool","nodeType":"ElementaryTypeName","src":"9869:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1282,"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":1285,"nodeType":"ParameterList","parameters":[],"src":"9912:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1314,"nodeType":"FunctionDefinition","src":"9962:152:1","nodes":[],"body":{"id":1313,"nodeType":"Block","src":"10065:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1308,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"10090:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1309,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1300,"src":"10096:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1310,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1302,"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":1305,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10075:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10078:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14568,"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":1311,"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":1312,"nodeType":"ExpressionStatement","src":"10075:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9971:11:1","parameters":{"id":1303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1297,"mutability":"mutable","name":"left","nameLocation":"9997:4:1","nodeType":"VariableDeclaration","scope":1314,"src":"9983:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1295,"name":"bool","nodeType":"ElementaryTypeName","src":"9983:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1296,"nodeType":"ArrayTypeName","src":"9983:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1300,"mutability":"mutable","name":"right","nameLocation":"10017:5:1","nodeType":"VariableDeclaration","scope":1314,"src":"10003:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1298,"name":"bool","nodeType":"ElementaryTypeName","src":"10003:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1299,"nodeType":"ArrayTypeName","src":"10003:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1302,"mutability":"mutable","name":"err","nameLocation":"10038:3:1","nodeType":"VariableDeclaration","scope":1314,"src":"10024:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1301,"name":"string","nodeType":"ElementaryTypeName","src":"10024:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:60:1"},"returnParameters":{"id":1304,"nodeType":"ParameterList","parameters":[],"src":"10065:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1331,"nodeType":"FunctionDefinition","src":"10120:134:1","nodes":[],"body":{"id":1330,"nodeType":"Block","src":"10210:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1326,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1317,"src":"10235:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1327,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1320,"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":1323,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10220:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10223:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14578,"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":1328,"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":1329,"nodeType":"ExpressionStatement","src":"10220:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10129:11:1","parameters":{"id":1321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1317,"mutability":"mutable","name":"left","nameLocation":"10158:4:1","nodeType":"VariableDeclaration","scope":1331,"src":"10141:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1315,"name":"uint256","nodeType":"ElementaryTypeName","src":"10141:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1316,"nodeType":"ArrayTypeName","src":"10141:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1320,"mutability":"mutable","name":"right","nameLocation":"10181:5:1","nodeType":"VariableDeclaration","scope":1331,"src":"10164:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1318,"name":"uint256","nodeType":"ElementaryTypeName","src":"10164:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1319,"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":1322,"nodeType":"ParameterList","parameters":[],"src":"10210:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1351,"nodeType":"FunctionDefinition","src":"10260:158:1","nodes":[],"body":{"id":1350,"nodeType":"Block","src":"10369:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1345,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1334,"src":"10394:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1346,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1337,"src":"10400:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1347,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"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":1342,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10379:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10382:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14590,"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":1348,"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":1349,"nodeType":"ExpressionStatement","src":"10379:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10269:11:1","parameters":{"id":1340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1334,"mutability":"mutable","name":"left","nameLocation":"10298:4:1","nodeType":"VariableDeclaration","scope":1351,"src":"10281:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1332,"name":"uint256","nodeType":"ElementaryTypeName","src":"10281:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1333,"nodeType":"ArrayTypeName","src":"10281:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1337,"mutability":"mutable","name":"right","nameLocation":"10321:5:1","nodeType":"VariableDeclaration","scope":1351,"src":"10304:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1335,"name":"uint256","nodeType":"ElementaryTypeName","src":"10304:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1336,"nodeType":"ArrayTypeName","src":"10304:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1339,"mutability":"mutable","name":"err","nameLocation":"10342:3:1","nodeType":"VariableDeclaration","scope":1351,"src":"10328:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1338,"name":"string","nodeType":"ElementaryTypeName","src":"10328:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10280:66:1"},"returnParameters":{"id":1341,"nodeType":"ParameterList","parameters":[],"src":"10369:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1368,"nodeType":"FunctionDefinition","src":"10424:132:1","nodes":[],"body":{"id":1367,"nodeType":"Block","src":"10512:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1363,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1354,"src":"10537:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1364,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1357,"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":1360,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10522:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10525:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14600,"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":1365,"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":1366,"nodeType":"ExpressionStatement","src":"10522:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10433:11:1","parameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1354,"mutability":"mutable","name":"left","nameLocation":"10461:4:1","nodeType":"VariableDeclaration","scope":1368,"src":"10445:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1352,"name":"int256","nodeType":"ElementaryTypeName","src":"10445:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1353,"nodeType":"ArrayTypeName","src":"10445:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1357,"mutability":"mutable","name":"right","nameLocation":"10483:5:1","nodeType":"VariableDeclaration","scope":1368,"src":"10467:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1355,"name":"int256","nodeType":"ElementaryTypeName","src":"10467:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1356,"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":1359,"nodeType":"ParameterList","parameters":[],"src":"10512:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1388,"nodeType":"FunctionDefinition","src":"10562:156:1","nodes":[],"body":{"id":1387,"nodeType":"Block","src":"10669:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1382,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1371,"src":"10694:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1383,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1374,"src":"10700:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1384,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1376,"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":1379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10679:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10682:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14612,"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":1385,"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":1386,"nodeType":"ExpressionStatement","src":"10679:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10571:11:1","parameters":{"id":1377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1371,"mutability":"mutable","name":"left","nameLocation":"10599:4:1","nodeType":"VariableDeclaration","scope":1388,"src":"10583:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1369,"name":"int256","nodeType":"ElementaryTypeName","src":"10583:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1370,"nodeType":"ArrayTypeName","src":"10583:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1374,"mutability":"mutable","name":"right","nameLocation":"10621:5:1","nodeType":"VariableDeclaration","scope":1388,"src":"10605:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1372,"name":"int256","nodeType":"ElementaryTypeName","src":"10605:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1373,"nodeType":"ArrayTypeName","src":"10605:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1376,"mutability":"mutable","name":"err","nameLocation":"10642:3:1","nodeType":"VariableDeclaration","scope":1388,"src":"10628:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1375,"name":"string","nodeType":"ElementaryTypeName","src":"10628:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10582:64:1"},"returnParameters":{"id":1378,"nodeType":"ParameterList","parameters":[],"src":"10669:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1405,"nodeType":"FunctionDefinition","src":"10724:134:1","nodes":[],"body":{"id":1404,"nodeType":"Block","src":"10814:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1400,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1391,"src":"10839:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1401,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1394,"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":1397,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10824:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10827:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14630,"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":1402,"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":1403,"nodeType":"ExpressionStatement","src":"10824:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10733:11:1","parameters":{"id":1395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1391,"mutability":"mutable","name":"left","nameLocation":"10762:4:1","nodeType":"VariableDeclaration","scope":1405,"src":"10745:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1389,"name":"address","nodeType":"ElementaryTypeName","src":"10745:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1390,"nodeType":"ArrayTypeName","src":"10745:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1394,"mutability":"mutable","name":"right","nameLocation":"10785:5:1","nodeType":"VariableDeclaration","scope":1405,"src":"10768:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1392,"name":"address","nodeType":"ElementaryTypeName","src":"10768:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1393,"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":1396,"nodeType":"ParameterList","parameters":[],"src":"10814:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1425,"nodeType":"FunctionDefinition","src":"10864:158:1","nodes":[],"body":{"id":1424,"nodeType":"Block","src":"10973:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1419,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1408,"src":"10998:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1420,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"11004:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1421,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"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":1416,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"10983:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10986:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14642,"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":1422,"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":1423,"nodeType":"ExpressionStatement","src":"10983:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10873:11:1","parameters":{"id":1414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1408,"mutability":"mutable","name":"left","nameLocation":"10902:4:1","nodeType":"VariableDeclaration","scope":1425,"src":"10885:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1406,"name":"address","nodeType":"ElementaryTypeName","src":"10885:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1407,"nodeType":"ArrayTypeName","src":"10885:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1411,"mutability":"mutable","name":"right","nameLocation":"10925:5:1","nodeType":"VariableDeclaration","scope":1425,"src":"10908:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1409,"name":"address","nodeType":"ElementaryTypeName","src":"10908:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1410,"nodeType":"ArrayTypeName","src":"10908:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1413,"mutability":"mutable","name":"err","nameLocation":"10946:3:1","nodeType":"VariableDeclaration","scope":1425,"src":"10932:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1412,"name":"string","nodeType":"ElementaryTypeName","src":"10932:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:66:1"},"returnParameters":{"id":1415,"nodeType":"ParameterList","parameters":[],"src":"10973:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1442,"nodeType":"FunctionDefinition","src":"11028:134:1","nodes":[],"body":{"id":1441,"nodeType":"Block","src":"11118:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1437,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1428,"src":"11143:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1438,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1431,"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":1434,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"11128:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11131:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14652,"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":1439,"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":1440,"nodeType":"ExpressionStatement","src":"11128:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11037:11:1","parameters":{"id":1432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1428,"mutability":"mutable","name":"left","nameLocation":"11066:4:1","nodeType":"VariableDeclaration","scope":1442,"src":"11049:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11049:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1427,"nodeType":"ArrayTypeName","src":"11049:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1431,"mutability":"mutable","name":"right","nameLocation":"11089:5:1","nodeType":"VariableDeclaration","scope":1442,"src":"11072:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11072:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1430,"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":1433,"nodeType":"ParameterList","parameters":[],"src":"11118:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1462,"nodeType":"FunctionDefinition","src":"11168:158:1","nodes":[],"body":{"id":1461,"nodeType":"Block","src":"11277:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1456,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1445,"src":"11302:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1457,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1448,"src":"11308:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1458,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1450,"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":1453,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"11287:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11290:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14664,"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":1459,"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":1460,"nodeType":"ExpressionStatement","src":"11287:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11177:11:1","parameters":{"id":1451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1445,"mutability":"mutable","name":"left","nameLocation":"11206:4:1","nodeType":"VariableDeclaration","scope":1462,"src":"11189:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11189:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1444,"nodeType":"ArrayTypeName","src":"11189:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1448,"mutability":"mutable","name":"right","nameLocation":"11229:5:1","nodeType":"VariableDeclaration","scope":1462,"src":"11212:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11212:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1447,"nodeType":"ArrayTypeName","src":"11212:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1450,"mutability":"mutable","name":"err","nameLocation":"11250:3:1","nodeType":"VariableDeclaration","scope":1462,"src":"11236:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1449,"name":"string","nodeType":"ElementaryTypeName","src":"11236:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11188:66:1"},"returnParameters":{"id":1452,"nodeType":"ParameterList","parameters":[],"src":"11277:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1479,"nodeType":"FunctionDefinition","src":"11332:132:1","nodes":[],"body":{"id":1478,"nodeType":"Block","src":"11420:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1474,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1465,"src":"11445:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1475,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1468,"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":1471,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"11430:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11433:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14674,"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":1476,"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":1477,"nodeType":"ExpressionStatement","src":"11430:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11341:11:1","parameters":{"id":1469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1465,"mutability":"mutable","name":"left","nameLocation":"11369:4:1","nodeType":"VariableDeclaration","scope":1479,"src":"11353:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1463,"name":"string","nodeType":"ElementaryTypeName","src":"11353:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1464,"nodeType":"ArrayTypeName","src":"11353:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1468,"mutability":"mutable","name":"right","nameLocation":"11391:5:1","nodeType":"VariableDeclaration","scope":1479,"src":"11375:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1466,"name":"string","nodeType":"ElementaryTypeName","src":"11375:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1467,"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":1470,"nodeType":"ParameterList","parameters":[],"src":"11420:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1499,"nodeType":"FunctionDefinition","src":"11470:156:1","nodes":[],"body":{"id":1498,"nodeType":"Block","src":"11577:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1493,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"11602:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1494,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1485,"src":"11608:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1495,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1487,"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":1490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"11587:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11590:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14686,"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":1496,"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":1497,"nodeType":"ExpressionStatement","src":"11587:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11479:11:1","parameters":{"id":1488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1482,"mutability":"mutable","name":"left","nameLocation":"11507:4:1","nodeType":"VariableDeclaration","scope":1499,"src":"11491:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1480,"name":"string","nodeType":"ElementaryTypeName","src":"11491:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1481,"nodeType":"ArrayTypeName","src":"11491:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1485,"mutability":"mutable","name":"right","nameLocation":"11529:5:1","nodeType":"VariableDeclaration","scope":1499,"src":"11513:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1483,"name":"string","nodeType":"ElementaryTypeName","src":"11513:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1484,"nodeType":"ArrayTypeName","src":"11513:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1487,"mutability":"mutable","name":"err","nameLocation":"11550:3:1","nodeType":"VariableDeclaration","scope":1499,"src":"11536:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1486,"name":"string","nodeType":"ElementaryTypeName","src":"11536:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11490:64:1"},"returnParameters":{"id":1489,"nodeType":"ParameterList","parameters":[],"src":"11577:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1516,"nodeType":"FunctionDefinition","src":"11632:130:1","nodes":[],"body":{"id":1515,"nodeType":"Block","src":"11718:44:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1511,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1502,"src":"11743:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1512,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1505,"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":1508,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"11728:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11731:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14696,"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":1513,"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":1514,"nodeType":"ExpressionStatement","src":"11728:27:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11641:11:1","parameters":{"id":1506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1502,"mutability":"mutable","name":"left","nameLocation":"11668:4:1","nodeType":"VariableDeclaration","scope":1516,"src":"11653:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1500,"name":"bytes","nodeType":"ElementaryTypeName","src":"11653:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1501,"nodeType":"ArrayTypeName","src":"11653:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1505,"mutability":"mutable","name":"right","nameLocation":"11689:5:1","nodeType":"VariableDeclaration","scope":1516,"src":"11674:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1503,"name":"bytes","nodeType":"ElementaryTypeName","src":"11674:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1504,"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":1507,"nodeType":"ParameterList","parameters":[],"src":"11718:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1536,"nodeType":"FunctionDefinition","src":"11768:154:1","nodes":[],"body":{"id":1535,"nodeType":"Block","src":"11873:49:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1530,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1519,"src":"11898:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1531,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1522,"src":"11904:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1532,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"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":1527,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"11883:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11886:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14708,"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":1533,"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":1534,"nodeType":"ExpressionStatement","src":"11883:32:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11777:11:1","parameters":{"id":1525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1519,"mutability":"mutable","name":"left","nameLocation":"11804:4:1","nodeType":"VariableDeclaration","scope":1536,"src":"11789:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1517,"name":"bytes","nodeType":"ElementaryTypeName","src":"11789:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1518,"nodeType":"ArrayTypeName","src":"11789:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1522,"mutability":"mutable","name":"right","nameLocation":"11825:5:1","nodeType":"VariableDeclaration","scope":1536,"src":"11810:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1520,"name":"bytes","nodeType":"ElementaryTypeName","src":"11810:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1521,"nodeType":"ArrayTypeName","src":"11810:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1524,"mutability":"mutable","name":"err","nameLocation":"11846:3:1","nodeType":"VariableDeclaration","scope":1536,"src":"11832:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1523,"name":"string","nodeType":"ElementaryTypeName","src":"11832:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11788:62:1"},"returnParameters":{"id":1526,"nodeType":"ParameterList","parameters":[],"src":"11873:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1551,"nodeType":"FunctionDefinition","src":"11928:110:1","nodes":[],"body":{"id":1550,"nodeType":"Block","src":"11997:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1546,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1538,"src":"12019:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1547,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1540,"src":"12025:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1543,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12007:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12010:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14420,"src":"12007:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1548,"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":1549,"nodeType":"ExpressionStatement","src":"12007:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11937:8:1","parameters":{"id":1541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1538,"mutability":"mutable","name":"left","nameLocation":"11954:4:1","nodeType":"VariableDeclaration","scope":1551,"src":"11946:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1537,"name":"uint256","nodeType":"ElementaryTypeName","src":"11946:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1540,"mutability":"mutable","name":"right","nameLocation":"11968:5:1","nodeType":"VariableDeclaration","scope":1551,"src":"11960:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1539,"name":"uint256","nodeType":"ElementaryTypeName","src":"11960:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:29:1"},"returnParameters":{"id":1542,"nodeType":"ParameterList","parameters":[],"src":"11997:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1569,"nodeType":"FunctionDefinition","src":"12044:134:1","nodes":[],"body":{"id":1568,"nodeType":"Block","src":"12132:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1563,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1553,"src":"12154:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1564,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1555,"src":"12160:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1565,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1557,"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":1560,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12142:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12145:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14430,"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":1566,"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":1567,"nodeType":"ExpressionStatement","src":"12142:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12053:8:1","parameters":{"id":1558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1553,"mutability":"mutable","name":"left","nameLocation":"12070:4:1","nodeType":"VariableDeclaration","scope":1569,"src":"12062:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1552,"name":"uint256","nodeType":"ElementaryTypeName","src":"12062:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1555,"mutability":"mutable","name":"right","nameLocation":"12084:5:1","nodeType":"VariableDeclaration","scope":1569,"src":"12076:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1554,"name":"uint256","nodeType":"ElementaryTypeName","src":"12076:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1557,"mutability":"mutable","name":"err","nameLocation":"12105:3:1","nodeType":"VariableDeclaration","scope":1569,"src":"12091:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1556,"name":"string","nodeType":"ElementaryTypeName","src":"12091:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12061:48:1"},"returnParameters":{"id":1559,"nodeType":"ParameterList","parameters":[],"src":"12132:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1587,"nodeType":"FunctionDefinition","src":"12184:152:1","nodes":[],"body":{"id":1586,"nodeType":"Block","src":"12278:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1581,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1571,"src":"12307:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1582,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1573,"src":"12313:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1583,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"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":1578,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12288:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12291:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14378,"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":1584,"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":1585,"nodeType":"ExpressionStatement","src":"12288:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12193:15:1","parameters":{"id":1576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1571,"mutability":"mutable","name":"left","nameLocation":"12217:4:1","nodeType":"VariableDeclaration","scope":1587,"src":"12209:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1570,"name":"uint256","nodeType":"ElementaryTypeName","src":"12209:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1573,"mutability":"mutable","name":"right","nameLocation":"12231:5:1","nodeType":"VariableDeclaration","scope":1587,"src":"12223:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1572,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1575,"mutability":"mutable","name":"decimals","nameLocation":"12246:8:1","nodeType":"VariableDeclaration","scope":1587,"src":"12238:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1574,"name":"uint256","nodeType":"ElementaryTypeName","src":"12238:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12208:47:1"},"returnParameters":{"id":1577,"nodeType":"ParameterList","parameters":[],"src":"12278:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1608,"nodeType":"FunctionDefinition","src":"12342:176:1","nodes":[],"body":{"id":1607,"nodeType":"Block","src":"12455:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1601,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"12484:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1602,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"12490:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1603,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1593,"src":"12497:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1604,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"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":1598,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12465:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12468:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14390,"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":1605,"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":1606,"nodeType":"ExpressionStatement","src":"12465:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12351:15:1","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1589,"mutability":"mutable","name":"left","nameLocation":"12375:4:1","nodeType":"VariableDeclaration","scope":1608,"src":"12367:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1588,"name":"uint256","nodeType":"ElementaryTypeName","src":"12367:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1591,"mutability":"mutable","name":"right","nameLocation":"12389:5:1","nodeType":"VariableDeclaration","scope":1608,"src":"12381:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1590,"name":"uint256","nodeType":"ElementaryTypeName","src":"12381:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1593,"mutability":"mutable","name":"decimals","nameLocation":"12404:8:1","nodeType":"VariableDeclaration","scope":1608,"src":"12396:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1592,"name":"uint256","nodeType":"ElementaryTypeName","src":"12396:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1595,"mutability":"mutable","name":"err","nameLocation":"12428:3:1","nodeType":"VariableDeclaration","scope":1608,"src":"12414:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1594,"name":"string","nodeType":"ElementaryTypeName","src":"12414:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:66:1"},"returnParameters":{"id":1597,"nodeType":"ParameterList","parameters":[],"src":"12455:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1623,"nodeType":"FunctionDefinition","src":"12524:108:1","nodes":[],"body":{"id":1622,"nodeType":"Block","src":"12591:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1618,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1610,"src":"12613:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1619,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1612,"src":"12619:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1615,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12601:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12604:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14438,"src":"12601:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1620,"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":1621,"nodeType":"ExpressionStatement","src":"12601:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12533:8:1","parameters":{"id":1613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1610,"mutability":"mutable","name":"left","nameLocation":"12549:4:1","nodeType":"VariableDeclaration","scope":1623,"src":"12542:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1609,"name":"int256","nodeType":"ElementaryTypeName","src":"12542:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1612,"mutability":"mutable","name":"right","nameLocation":"12562:5:1","nodeType":"VariableDeclaration","scope":1623,"src":"12555:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1611,"name":"int256","nodeType":"ElementaryTypeName","src":"12555:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12541:27:1"},"returnParameters":{"id":1614,"nodeType":"ParameterList","parameters":[],"src":"12591:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1641,"nodeType":"FunctionDefinition","src":"12638:132:1","nodes":[],"body":{"id":1640,"nodeType":"Block","src":"12724:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1635,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"12746:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1636,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1627,"src":"12752:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1637,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1629,"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":1632,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12734:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12737:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14448,"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":1638,"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":1639,"nodeType":"ExpressionStatement","src":"12734:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12647:8:1","parameters":{"id":1630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1625,"mutability":"mutable","name":"left","nameLocation":"12663:4:1","nodeType":"VariableDeclaration","scope":1641,"src":"12656:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1624,"name":"int256","nodeType":"ElementaryTypeName","src":"12656:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1627,"mutability":"mutable","name":"right","nameLocation":"12676:5:1","nodeType":"VariableDeclaration","scope":1641,"src":"12669:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1626,"name":"int256","nodeType":"ElementaryTypeName","src":"12669:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1629,"mutability":"mutable","name":"err","nameLocation":"12697:3:1","nodeType":"VariableDeclaration","scope":1641,"src":"12683:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1628,"name":"string","nodeType":"ElementaryTypeName","src":"12683:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12655:46:1"},"returnParameters":{"id":1631,"nodeType":"ParameterList","parameters":[],"src":"12724:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1659,"nodeType":"FunctionDefinition","src":"12776:150:1","nodes":[],"body":{"id":1658,"nodeType":"Block","src":"12868:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1653,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1643,"src":"12897:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1654,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1645,"src":"12903:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1655,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1647,"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":1650,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"12878:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12881:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14400,"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":1656,"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":1657,"nodeType":"ExpressionStatement","src":"12878:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12785:15:1","parameters":{"id":1648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1643,"mutability":"mutable","name":"left","nameLocation":"12808:4:1","nodeType":"VariableDeclaration","scope":1659,"src":"12801:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1642,"name":"int256","nodeType":"ElementaryTypeName","src":"12801:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1645,"mutability":"mutable","name":"right","nameLocation":"12821:5:1","nodeType":"VariableDeclaration","scope":1659,"src":"12814:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1644,"name":"int256","nodeType":"ElementaryTypeName","src":"12814:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1647,"mutability":"mutable","name":"decimals","nameLocation":"12836:8:1","nodeType":"VariableDeclaration","scope":1659,"src":"12828:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1646,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12800:45:1"},"returnParameters":{"id":1649,"nodeType":"ParameterList","parameters":[],"src":"12868:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1680,"nodeType":"FunctionDefinition","src":"12932:174:1","nodes":[],"body":{"id":1679,"nodeType":"Block","src":"13043:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1673,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1661,"src":"13072:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1674,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1663,"src":"13078:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1675,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1665,"src":"13085:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1676,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1667,"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":1670,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13053:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14412,"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":1677,"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":1678,"nodeType":"ExpressionStatement","src":"13053:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12941:15:1","parameters":{"id":1668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1661,"mutability":"mutable","name":"left","nameLocation":"12964:4:1","nodeType":"VariableDeclaration","scope":1680,"src":"12957:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1660,"name":"int256","nodeType":"ElementaryTypeName","src":"12957:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1663,"mutability":"mutable","name":"right","nameLocation":"12977:5:1","nodeType":"VariableDeclaration","scope":1680,"src":"12970:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1662,"name":"int256","nodeType":"ElementaryTypeName","src":"12970:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1665,"mutability":"mutable","name":"decimals","nameLocation":"12992:8:1","nodeType":"VariableDeclaration","scope":1680,"src":"12984:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1664,"name":"uint256","nodeType":"ElementaryTypeName","src":"12984:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1667,"mutability":"mutable","name":"err","nameLocation":"13016:3:1","nodeType":"VariableDeclaration","scope":1680,"src":"13002:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1666,"name":"string","nodeType":"ElementaryTypeName","src":"13002:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12956:64:1"},"returnParameters":{"id":1669,"nodeType":"ParameterList","parameters":[],"src":"13043:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1695,"nodeType":"FunctionDefinition","src":"13112:110:1","nodes":[],"body":{"id":1694,"nodeType":"Block","src":"13181:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1690,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1682,"src":"13203:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1691,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1684,"src":"13209:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13191:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13194:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14260,"src":"13191:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1692,"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":1693,"nodeType":"ExpressionStatement","src":"13191:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13121:8:1","parameters":{"id":1685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1682,"mutability":"mutable","name":"left","nameLocation":"13138:4:1","nodeType":"VariableDeclaration","scope":1695,"src":"13130:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1681,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1684,"mutability":"mutable","name":"right","nameLocation":"13152:5:1","nodeType":"VariableDeclaration","scope":1695,"src":"13144:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1683,"name":"uint256","nodeType":"ElementaryTypeName","src":"13144:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13129:29:1"},"returnParameters":{"id":1686,"nodeType":"ParameterList","parameters":[],"src":"13181:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1713,"nodeType":"FunctionDefinition","src":"13228:134:1","nodes":[],"body":{"id":1712,"nodeType":"Block","src":"13316:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1707,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1697,"src":"13338:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1708,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1699,"src":"13344:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1709,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1701,"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":1704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13326:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13329:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14270,"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":1710,"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":1711,"nodeType":"ExpressionStatement","src":"13326:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13237:8:1","parameters":{"id":1702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1697,"mutability":"mutable","name":"left","nameLocation":"13254:4:1","nodeType":"VariableDeclaration","scope":1713,"src":"13246:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1696,"name":"uint256","nodeType":"ElementaryTypeName","src":"13246:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1699,"mutability":"mutable","name":"right","nameLocation":"13268:5:1","nodeType":"VariableDeclaration","scope":1713,"src":"13260:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1698,"name":"uint256","nodeType":"ElementaryTypeName","src":"13260:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1701,"mutability":"mutable","name":"err","nameLocation":"13289:3:1","nodeType":"VariableDeclaration","scope":1713,"src":"13275:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1700,"name":"string","nodeType":"ElementaryTypeName","src":"13275:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13245:48:1"},"returnParameters":{"id":1703,"nodeType":"ParameterList","parameters":[],"src":"13316:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1731,"nodeType":"FunctionDefinition","src":"13368:152:1","nodes":[],"body":{"id":1730,"nodeType":"Block","src":"13462:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1725,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1715,"src":"13491:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1726,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1717,"src":"13497:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1727,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1719,"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":1722,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13472:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13475:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14218,"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":1728,"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":1729,"nodeType":"ExpressionStatement","src":"13472:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13377:15:1","parameters":{"id":1720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1715,"mutability":"mutable","name":"left","nameLocation":"13401:4:1","nodeType":"VariableDeclaration","scope":1731,"src":"13393:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1714,"name":"uint256","nodeType":"ElementaryTypeName","src":"13393:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1717,"mutability":"mutable","name":"right","nameLocation":"13415:5:1","nodeType":"VariableDeclaration","scope":1731,"src":"13407:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1716,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1719,"mutability":"mutable","name":"decimals","nameLocation":"13430:8:1","nodeType":"VariableDeclaration","scope":1731,"src":"13422:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1718,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13392:47:1"},"returnParameters":{"id":1721,"nodeType":"ParameterList","parameters":[],"src":"13462:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1752,"nodeType":"FunctionDefinition","src":"13526:176:1","nodes":[],"body":{"id":1751,"nodeType":"Block","src":"13639:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1745,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1733,"src":"13668:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1746,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1735,"src":"13674:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1747,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1737,"src":"13681:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1748,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1739,"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":1742,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13649:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13652:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14230,"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":1749,"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":1750,"nodeType":"ExpressionStatement","src":"13649:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13535:15:1","parameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1733,"mutability":"mutable","name":"left","nameLocation":"13559:4:1","nodeType":"VariableDeclaration","scope":1752,"src":"13551:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1732,"name":"uint256","nodeType":"ElementaryTypeName","src":"13551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1735,"mutability":"mutable","name":"right","nameLocation":"13573:5:1","nodeType":"VariableDeclaration","scope":1752,"src":"13565:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1734,"name":"uint256","nodeType":"ElementaryTypeName","src":"13565:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1737,"mutability":"mutable","name":"decimals","nameLocation":"13588:8:1","nodeType":"VariableDeclaration","scope":1752,"src":"13580:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1736,"name":"uint256","nodeType":"ElementaryTypeName","src":"13580:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1739,"mutability":"mutable","name":"err","nameLocation":"13612:3:1","nodeType":"VariableDeclaration","scope":1752,"src":"13598:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1738,"name":"string","nodeType":"ElementaryTypeName","src":"13598:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13550:66:1"},"returnParameters":{"id":1741,"nodeType":"ParameterList","parameters":[],"src":"13639:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1767,"nodeType":"FunctionDefinition","src":"13708:108:1","nodes":[],"body":{"id":1766,"nodeType":"Block","src":"13775:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1762,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1754,"src":"13797:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1763,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1756,"src":"13803:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1759,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13785:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13788:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14278,"src":"13785:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1764,"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":1765,"nodeType":"ExpressionStatement","src":"13785:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13717:8:1","parameters":{"id":1757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1754,"mutability":"mutable","name":"left","nameLocation":"13733:4:1","nodeType":"VariableDeclaration","scope":1767,"src":"13726:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1753,"name":"int256","nodeType":"ElementaryTypeName","src":"13726:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1756,"mutability":"mutable","name":"right","nameLocation":"13746:5:1","nodeType":"VariableDeclaration","scope":1767,"src":"13739:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1755,"name":"int256","nodeType":"ElementaryTypeName","src":"13739:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13725:27:1"},"returnParameters":{"id":1758,"nodeType":"ParameterList","parameters":[],"src":"13775:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1785,"nodeType":"FunctionDefinition","src":"13822:132:1","nodes":[],"body":{"id":1784,"nodeType":"Block","src":"13908:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1779,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1769,"src":"13930:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1780,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1771,"src":"13936:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1781,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1773,"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":1776,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"13918:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13921:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14288,"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":1782,"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":1783,"nodeType":"ExpressionStatement","src":"13918:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13831:8:1","parameters":{"id":1774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1769,"mutability":"mutable","name":"left","nameLocation":"13847:4:1","nodeType":"VariableDeclaration","scope":1785,"src":"13840:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1768,"name":"int256","nodeType":"ElementaryTypeName","src":"13840:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1771,"mutability":"mutable","name":"right","nameLocation":"13860:5:1","nodeType":"VariableDeclaration","scope":1785,"src":"13853:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1770,"name":"int256","nodeType":"ElementaryTypeName","src":"13853:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1773,"mutability":"mutable","name":"err","nameLocation":"13881:3:1","nodeType":"VariableDeclaration","scope":1785,"src":"13867:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1772,"name":"string","nodeType":"ElementaryTypeName","src":"13867:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13839:46:1"},"returnParameters":{"id":1775,"nodeType":"ParameterList","parameters":[],"src":"13908:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1803,"nodeType":"FunctionDefinition","src":"13960:150:1","nodes":[],"body":{"id":1802,"nodeType":"Block","src":"14052:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1797,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1787,"src":"14081:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1798,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1789,"src":"14087:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1799,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1791,"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":1794,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14062:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14065:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14240,"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":1800,"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":1801,"nodeType":"ExpressionStatement","src":"14062:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13969:15:1","parameters":{"id":1792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1787,"mutability":"mutable","name":"left","nameLocation":"13992:4:1","nodeType":"VariableDeclaration","scope":1803,"src":"13985:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1786,"name":"int256","nodeType":"ElementaryTypeName","src":"13985:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1789,"mutability":"mutable","name":"right","nameLocation":"14005:5:1","nodeType":"VariableDeclaration","scope":1803,"src":"13998:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1788,"name":"int256","nodeType":"ElementaryTypeName","src":"13998:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1791,"mutability":"mutable","name":"decimals","nameLocation":"14020:8:1","nodeType":"VariableDeclaration","scope":1803,"src":"14012:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1790,"name":"uint256","nodeType":"ElementaryTypeName","src":"14012:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13984:45:1"},"returnParameters":{"id":1793,"nodeType":"ParameterList","parameters":[],"src":"14052:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1824,"nodeType":"FunctionDefinition","src":"14116:174:1","nodes":[],"body":{"id":1823,"nodeType":"Block","src":"14227:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1817,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1805,"src":"14256:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1818,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"14262:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1819,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1809,"src":"14269:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1820,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1811,"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":1814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14237:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14240:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14252,"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":1821,"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":1822,"nodeType":"ExpressionStatement","src":"14237:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14125:15:1","parameters":{"id":1812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1805,"mutability":"mutable","name":"left","nameLocation":"14148:4:1","nodeType":"VariableDeclaration","scope":1824,"src":"14141:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1804,"name":"int256","nodeType":"ElementaryTypeName","src":"14141:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1807,"mutability":"mutable","name":"right","nameLocation":"14161:5:1","nodeType":"VariableDeclaration","scope":1824,"src":"14154:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1806,"name":"int256","nodeType":"ElementaryTypeName","src":"14154:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1809,"mutability":"mutable","name":"decimals","nameLocation":"14176:8:1","nodeType":"VariableDeclaration","scope":1824,"src":"14168:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1808,"name":"uint256","nodeType":"ElementaryTypeName","src":"14168:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1811,"mutability":"mutable","name":"err","nameLocation":"14200:3:1","nodeType":"VariableDeclaration","scope":1824,"src":"14186:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1810,"name":"string","nodeType":"ElementaryTypeName","src":"14186:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14140:64:1"},"returnParameters":{"id":1813,"nodeType":"ParameterList","parameters":[],"src":"14227:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1839,"nodeType":"FunctionDefinition","src":"14296:110:1","nodes":[],"body":{"id":1838,"nodeType":"Block","src":"14365:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1834,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"14387:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1835,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1828,"src":"14393:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14375:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14378:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14340,"src":"14375:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1836,"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":1837,"nodeType":"ExpressionStatement","src":"14375:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14305:8:1","parameters":{"id":1829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1826,"mutability":"mutable","name":"left","nameLocation":"14322:4:1","nodeType":"VariableDeclaration","scope":1839,"src":"14314:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1825,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1828,"mutability":"mutable","name":"right","nameLocation":"14336:5:1","nodeType":"VariableDeclaration","scope":1839,"src":"14328:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1827,"name":"uint256","nodeType":"ElementaryTypeName","src":"14328:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:29:1"},"returnParameters":{"id":1830,"nodeType":"ParameterList","parameters":[],"src":"14365:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1857,"nodeType":"FunctionDefinition","src":"14412:134:1","nodes":[],"body":{"id":1856,"nodeType":"Block","src":"14500:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1851,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1841,"src":"14522:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1852,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"14528:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1853,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"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":1848,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14510:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14513:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14350,"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":1854,"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":1855,"nodeType":"ExpressionStatement","src":"14510:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14421:8:1","parameters":{"id":1846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1841,"mutability":"mutable","name":"left","nameLocation":"14438:4:1","nodeType":"VariableDeclaration","scope":1857,"src":"14430:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1840,"name":"uint256","nodeType":"ElementaryTypeName","src":"14430:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1843,"mutability":"mutable","name":"right","nameLocation":"14452:5:1","nodeType":"VariableDeclaration","scope":1857,"src":"14444:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1842,"name":"uint256","nodeType":"ElementaryTypeName","src":"14444:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1845,"mutability":"mutable","name":"err","nameLocation":"14473:3:1","nodeType":"VariableDeclaration","scope":1857,"src":"14459:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1844,"name":"string","nodeType":"ElementaryTypeName","src":"14459:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14429:48:1"},"returnParameters":{"id":1847,"nodeType":"ParameterList","parameters":[],"src":"14500:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1875,"nodeType":"FunctionDefinition","src":"14552:152:1","nodes":[],"body":{"id":1874,"nodeType":"Block","src":"14646:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1869,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1859,"src":"14675:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1870,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1861,"src":"14681:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1871,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1863,"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":1866,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14656:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14659:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14298,"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":1872,"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":1873,"nodeType":"ExpressionStatement","src":"14656:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14561:15:1","parameters":{"id":1864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1859,"mutability":"mutable","name":"left","nameLocation":"14585:4:1","nodeType":"VariableDeclaration","scope":1875,"src":"14577:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1858,"name":"uint256","nodeType":"ElementaryTypeName","src":"14577:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1861,"mutability":"mutable","name":"right","nameLocation":"14599:5:1","nodeType":"VariableDeclaration","scope":1875,"src":"14591:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1860,"name":"uint256","nodeType":"ElementaryTypeName","src":"14591:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1863,"mutability":"mutable","name":"decimals","nameLocation":"14614:8:1","nodeType":"VariableDeclaration","scope":1875,"src":"14606:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1862,"name":"uint256","nodeType":"ElementaryTypeName","src":"14606:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:47:1"},"returnParameters":{"id":1865,"nodeType":"ParameterList","parameters":[],"src":"14646:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1896,"nodeType":"FunctionDefinition","src":"14710:176:1","nodes":[],"body":{"id":1895,"nodeType":"Block","src":"14823:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1889,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1877,"src":"14852:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1890,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1879,"src":"14858:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1891,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1881,"src":"14865:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1892,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1883,"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":1886,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14833:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14836:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14310,"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":1893,"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":1894,"nodeType":"ExpressionStatement","src":"14833:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14719:15:1","parameters":{"id":1884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1877,"mutability":"mutable","name":"left","nameLocation":"14743:4:1","nodeType":"VariableDeclaration","scope":1896,"src":"14735:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1876,"name":"uint256","nodeType":"ElementaryTypeName","src":"14735:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1879,"mutability":"mutable","name":"right","nameLocation":"14757:5:1","nodeType":"VariableDeclaration","scope":1896,"src":"14749:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1878,"name":"uint256","nodeType":"ElementaryTypeName","src":"14749:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1881,"mutability":"mutable","name":"decimals","nameLocation":"14772:8:1","nodeType":"VariableDeclaration","scope":1896,"src":"14764:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1880,"name":"uint256","nodeType":"ElementaryTypeName","src":"14764:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1883,"mutability":"mutable","name":"err","nameLocation":"14796:3:1","nodeType":"VariableDeclaration","scope":1896,"src":"14782:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"14782:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14734:66:1"},"returnParameters":{"id":1885,"nodeType":"ParameterList","parameters":[],"src":"14823:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1911,"nodeType":"FunctionDefinition","src":"14892:108:1","nodes":[],"body":{"id":1910,"nodeType":"Block","src":"14959:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1906,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1898,"src":"14981:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1907,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1900,"src":"14987:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1903,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"14969:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14972:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14358,"src":"14969:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1908,"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":1909,"nodeType":"ExpressionStatement","src":"14969:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14901:8:1","parameters":{"id":1901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1898,"mutability":"mutable","name":"left","nameLocation":"14917:4:1","nodeType":"VariableDeclaration","scope":1911,"src":"14910:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1897,"name":"int256","nodeType":"ElementaryTypeName","src":"14910:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1900,"mutability":"mutable","name":"right","nameLocation":"14930:5:1","nodeType":"VariableDeclaration","scope":1911,"src":"14923:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1899,"name":"int256","nodeType":"ElementaryTypeName","src":"14923:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14909:27:1"},"returnParameters":{"id":1902,"nodeType":"ParameterList","parameters":[],"src":"14959:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1929,"nodeType":"FunctionDefinition","src":"15006:132:1","nodes":[],"body":{"id":1928,"nodeType":"Block","src":"15092:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1923,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1913,"src":"15114:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1924,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1915,"src":"15120:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1925,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1917,"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":1920,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"15102:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15105:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14368,"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":1926,"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":1927,"nodeType":"ExpressionStatement","src":"15102:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"15015:8:1","parameters":{"id":1918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1913,"mutability":"mutable","name":"left","nameLocation":"15031:4:1","nodeType":"VariableDeclaration","scope":1929,"src":"15024:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1912,"name":"int256","nodeType":"ElementaryTypeName","src":"15024:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1915,"mutability":"mutable","name":"right","nameLocation":"15044:5:1","nodeType":"VariableDeclaration","scope":1929,"src":"15037:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1914,"name":"int256","nodeType":"ElementaryTypeName","src":"15037:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1917,"mutability":"mutable","name":"err","nameLocation":"15065:3:1","nodeType":"VariableDeclaration","scope":1929,"src":"15051:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1916,"name":"string","nodeType":"ElementaryTypeName","src":"15051:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15023:46:1"},"returnParameters":{"id":1919,"nodeType":"ParameterList","parameters":[],"src":"15092:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1947,"nodeType":"FunctionDefinition","src":"15144:150:1","nodes":[],"body":{"id":1946,"nodeType":"Block","src":"15236:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1941,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1931,"src":"15265:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1942,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1933,"src":"15271:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1943,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"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":1938,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"15246:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15249:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14320,"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":1944,"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":1945,"nodeType":"ExpressionStatement","src":"15246:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15153:15:1","parameters":{"id":1936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1931,"mutability":"mutable","name":"left","nameLocation":"15176:4:1","nodeType":"VariableDeclaration","scope":1947,"src":"15169:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1930,"name":"int256","nodeType":"ElementaryTypeName","src":"15169:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1933,"mutability":"mutable","name":"right","nameLocation":"15189:5:1","nodeType":"VariableDeclaration","scope":1947,"src":"15182:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1932,"name":"int256","nodeType":"ElementaryTypeName","src":"15182:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1935,"mutability":"mutable","name":"decimals","nameLocation":"15204:8:1","nodeType":"VariableDeclaration","scope":1947,"src":"15196:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1934,"name":"uint256","nodeType":"ElementaryTypeName","src":"15196:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15168:45:1"},"returnParameters":{"id":1937,"nodeType":"ParameterList","parameters":[],"src":"15236:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1968,"nodeType":"FunctionDefinition","src":"15300:174:1","nodes":[],"body":{"id":1967,"nodeType":"Block","src":"15411:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1961,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1949,"src":"15440:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1962,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1951,"src":"15446:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1963,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1953,"src":"15453:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1964,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1955,"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":1958,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"15421:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15424:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14332,"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":1965,"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":1966,"nodeType":"ExpressionStatement","src":"15421:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15309:15:1","parameters":{"id":1956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1949,"mutability":"mutable","name":"left","nameLocation":"15332:4:1","nodeType":"VariableDeclaration","scope":1968,"src":"15325:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1948,"name":"int256","nodeType":"ElementaryTypeName","src":"15325:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1951,"mutability":"mutable","name":"right","nameLocation":"15345:5:1","nodeType":"VariableDeclaration","scope":1968,"src":"15338:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1950,"name":"int256","nodeType":"ElementaryTypeName","src":"15338:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1953,"mutability":"mutable","name":"decimals","nameLocation":"15360:8:1","nodeType":"VariableDeclaration","scope":1968,"src":"15352:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1952,"name":"uint256","nodeType":"ElementaryTypeName","src":"15352:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1955,"mutability":"mutable","name":"err","nameLocation":"15384:3:1","nodeType":"VariableDeclaration","scope":1968,"src":"15370:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1954,"name":"string","nodeType":"ElementaryTypeName","src":"15370:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15324:64:1"},"returnParameters":{"id":1957,"nodeType":"ParameterList","parameters":[],"src":"15411:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1983,"nodeType":"FunctionDefinition","src":"15480:110:1","nodes":[],"body":{"id":1982,"nodeType":"Block","src":"15549:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1978,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"15571:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1979,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"15577:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1975,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"15559:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15562:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14180,"src":"15559:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1980,"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":1981,"nodeType":"ExpressionStatement","src":"15559:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15489:8:1","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1970,"mutability":"mutable","name":"left","nameLocation":"15506:4:1","nodeType":"VariableDeclaration","scope":1983,"src":"15498:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1969,"name":"uint256","nodeType":"ElementaryTypeName","src":"15498:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"right","nameLocation":"15520:5:1","nodeType":"VariableDeclaration","scope":1983,"src":"15512:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1971,"name":"uint256","nodeType":"ElementaryTypeName","src":"15512:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15497:29:1"},"returnParameters":{"id":1974,"nodeType":"ParameterList","parameters":[],"src":"15549:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2001,"nodeType":"FunctionDefinition","src":"15596:134:1","nodes":[],"body":{"id":2000,"nodeType":"Block","src":"15684:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":1995,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1985,"src":"15706:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1996,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1987,"src":"15712:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1997,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1989,"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":1992,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"15694:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":1994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15697:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14190,"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":1998,"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":1999,"nodeType":"ExpressionStatement","src":"15694:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15605:8:1","parameters":{"id":1990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1985,"mutability":"mutable","name":"left","nameLocation":"15622:4:1","nodeType":"VariableDeclaration","scope":2001,"src":"15614:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1984,"name":"uint256","nodeType":"ElementaryTypeName","src":"15614:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1987,"mutability":"mutable","name":"right","nameLocation":"15636:5:1","nodeType":"VariableDeclaration","scope":2001,"src":"15628:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1986,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1989,"mutability":"mutable","name":"err","nameLocation":"15657:3:1","nodeType":"VariableDeclaration","scope":2001,"src":"15643:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1988,"name":"string","nodeType":"ElementaryTypeName","src":"15643:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15613:48:1"},"returnParameters":{"id":1991,"nodeType":"ParameterList","parameters":[],"src":"15684:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2019,"nodeType":"FunctionDefinition","src":"15736:152:1","nodes":[],"body":{"id":2018,"nodeType":"Block","src":"15830:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2013,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2003,"src":"15859:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2014,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2005,"src":"15865:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2015,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2007,"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":2010,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"15840:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15843:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14138,"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":2016,"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":2017,"nodeType":"ExpressionStatement","src":"15840:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15745:15:1","parameters":{"id":2008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2003,"mutability":"mutable","name":"left","nameLocation":"15769:4:1","nodeType":"VariableDeclaration","scope":2019,"src":"15761:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2002,"name":"uint256","nodeType":"ElementaryTypeName","src":"15761:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2005,"mutability":"mutable","name":"right","nameLocation":"15783:5:1","nodeType":"VariableDeclaration","scope":2019,"src":"15775:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2004,"name":"uint256","nodeType":"ElementaryTypeName","src":"15775:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2007,"mutability":"mutable","name":"decimals","nameLocation":"15798:8:1","nodeType":"VariableDeclaration","scope":2019,"src":"15790:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2006,"name":"uint256","nodeType":"ElementaryTypeName","src":"15790:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15760:47:1"},"returnParameters":{"id":2009,"nodeType":"ParameterList","parameters":[],"src":"15830:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2040,"nodeType":"FunctionDefinition","src":"15894:176:1","nodes":[],"body":{"id":2039,"nodeType":"Block","src":"16007:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2033,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2021,"src":"16036:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2034,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16042:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2035,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2025,"src":"16049:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2036,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2027,"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":2030,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16017:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16020:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14150,"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":2037,"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":2038,"nodeType":"ExpressionStatement","src":"16017:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15903:15:1","parameters":{"id":2028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2021,"mutability":"mutable","name":"left","nameLocation":"15927:4:1","nodeType":"VariableDeclaration","scope":2040,"src":"15919:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2020,"name":"uint256","nodeType":"ElementaryTypeName","src":"15919:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"right","nameLocation":"15941:5:1","nodeType":"VariableDeclaration","scope":2040,"src":"15933:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2022,"name":"uint256","nodeType":"ElementaryTypeName","src":"15933:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2025,"mutability":"mutable","name":"decimals","nameLocation":"15956:8:1","nodeType":"VariableDeclaration","scope":2040,"src":"15948:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2024,"name":"uint256","nodeType":"ElementaryTypeName","src":"15948:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2027,"mutability":"mutable","name":"err","nameLocation":"15980:3:1","nodeType":"VariableDeclaration","scope":2040,"src":"15966:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2026,"name":"string","nodeType":"ElementaryTypeName","src":"15966:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15918:66:1"},"returnParameters":{"id":2029,"nodeType":"ParameterList","parameters":[],"src":"16007:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2055,"nodeType":"FunctionDefinition","src":"16076:108:1","nodes":[],"body":{"id":2054,"nodeType":"Block","src":"16143:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2050,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2042,"src":"16165:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2051,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2044,"src":"16171:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16153:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16156:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14198,"src":"16153:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2052,"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":2053,"nodeType":"ExpressionStatement","src":"16153:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16085:8:1","parameters":{"id":2045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2042,"mutability":"mutable","name":"left","nameLocation":"16101:4:1","nodeType":"VariableDeclaration","scope":2055,"src":"16094:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2041,"name":"int256","nodeType":"ElementaryTypeName","src":"16094:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2044,"mutability":"mutable","name":"right","nameLocation":"16114:5:1","nodeType":"VariableDeclaration","scope":2055,"src":"16107:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2043,"name":"int256","nodeType":"ElementaryTypeName","src":"16107:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16093:27:1"},"returnParameters":{"id":2046,"nodeType":"ParameterList","parameters":[],"src":"16143:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2073,"nodeType":"FunctionDefinition","src":"16190:132:1","nodes":[],"body":{"id":2072,"nodeType":"Block","src":"16276:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2067,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"16298:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2068,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2059,"src":"16304:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2069,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2061,"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":2064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16286:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16289:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14208,"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":2070,"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":2071,"nodeType":"ExpressionStatement","src":"16286:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16199:8:1","parameters":{"id":2062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"left","nameLocation":"16215:4:1","nodeType":"VariableDeclaration","scope":2073,"src":"16208:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2056,"name":"int256","nodeType":"ElementaryTypeName","src":"16208:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2059,"mutability":"mutable","name":"right","nameLocation":"16228:5:1","nodeType":"VariableDeclaration","scope":2073,"src":"16221:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2058,"name":"int256","nodeType":"ElementaryTypeName","src":"16221:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2061,"mutability":"mutable","name":"err","nameLocation":"16249:3:1","nodeType":"VariableDeclaration","scope":2073,"src":"16235:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2060,"name":"string","nodeType":"ElementaryTypeName","src":"16235:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16207:46:1"},"returnParameters":{"id":2063,"nodeType":"ParameterList","parameters":[],"src":"16276:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2091,"nodeType":"FunctionDefinition","src":"16328:150:1","nodes":[],"body":{"id":2090,"nodeType":"Block","src":"16420:58:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2085,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2075,"src":"16449:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2086,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2077,"src":"16455:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2087,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"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":2082,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16430:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16433:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14160,"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":2088,"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":2089,"nodeType":"ExpressionStatement","src":"16430:41:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16337:15:1","parameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2075,"mutability":"mutable","name":"left","nameLocation":"16360:4:1","nodeType":"VariableDeclaration","scope":2091,"src":"16353:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2074,"name":"int256","nodeType":"ElementaryTypeName","src":"16353:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2077,"mutability":"mutable","name":"right","nameLocation":"16373:5:1","nodeType":"VariableDeclaration","scope":2091,"src":"16366:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2076,"name":"int256","nodeType":"ElementaryTypeName","src":"16366:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2079,"mutability":"mutable","name":"decimals","nameLocation":"16388:8:1","nodeType":"VariableDeclaration","scope":2091,"src":"16380:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2078,"name":"uint256","nodeType":"ElementaryTypeName","src":"16380:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16352:45:1"},"returnParameters":{"id":2081,"nodeType":"ParameterList","parameters":[],"src":"16420:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2112,"nodeType":"FunctionDefinition","src":"16484:174:1","nodes":[],"body":{"id":2111,"nodeType":"Block","src":"16595:63:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2105,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2093,"src":"16624:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2106,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2095,"src":"16630:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2107,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2097,"src":"16637:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2108,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2099,"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":2102,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16605:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16608:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14172,"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":2109,"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":2110,"nodeType":"ExpressionStatement","src":"16605:46:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16493:15:1","parameters":{"id":2100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2093,"mutability":"mutable","name":"left","nameLocation":"16516:4:1","nodeType":"VariableDeclaration","scope":2112,"src":"16509:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2092,"name":"int256","nodeType":"ElementaryTypeName","src":"16509:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2095,"mutability":"mutable","name":"right","nameLocation":"16529:5:1","nodeType":"VariableDeclaration","scope":2112,"src":"16522:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2094,"name":"int256","nodeType":"ElementaryTypeName","src":"16522:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2097,"mutability":"mutable","name":"decimals","nameLocation":"16544:8:1","nodeType":"VariableDeclaration","scope":2112,"src":"16536:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2096,"name":"uint256","nodeType":"ElementaryTypeName","src":"16536:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2099,"mutability":"mutable","name":"err","nameLocation":"16568:3:1","nodeType":"VariableDeclaration","scope":2112,"src":"16554:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2098,"name":"string","nodeType":"ElementaryTypeName","src":"16554:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16508:64:1"},"returnParameters":{"id":2101,"nodeType":"ParameterList","parameters":[],"src":"16595:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2130,"nodeType":"FunctionDefinition","src":"16664:156:1","nodes":[],"body":{"id":2129,"nodeType":"Block","src":"16760:60:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2124,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"16791:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2125,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2116,"src":"16797:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2126,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"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":2121,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16770:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16773:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13660,"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":2127,"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":2128,"nodeType":"ExpressionStatement","src":"16770:43:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16673:17:1","parameters":{"id":2119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2114,"mutability":"mutable","name":"left","nameLocation":"16699:4:1","nodeType":"VariableDeclaration","scope":2130,"src":"16691:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2113,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2116,"mutability":"mutable","name":"right","nameLocation":"16713:5:1","nodeType":"VariableDeclaration","scope":2130,"src":"16705:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2115,"name":"uint256","nodeType":"ElementaryTypeName","src":"16705:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2118,"mutability":"mutable","name":"maxDelta","nameLocation":"16728:8:1","nodeType":"VariableDeclaration","scope":2130,"src":"16720:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2117,"name":"uint256","nodeType":"ElementaryTypeName","src":"16720:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16690:47:1"},"returnParameters":{"id":2120,"nodeType":"ParameterList","parameters":[],"src":"16760:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2151,"nodeType":"FunctionDefinition","src":"16826:208:1","nodes":[],"body":{"id":2150,"nodeType":"Block","src":"16969:65:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2144,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2132,"src":"17000:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2145,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2134,"src":"17006:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2146,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2136,"src":"17013:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2147,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"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":2141,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"16979:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16982:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13672,"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":2148,"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":2149,"nodeType":"ExpressionStatement","src":"16979:48:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16835:17:1","parameters":{"id":2139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2132,"mutability":"mutable","name":"left","nameLocation":"16861:4:1","nodeType":"VariableDeclaration","scope":2151,"src":"16853:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2131,"name":"uint256","nodeType":"ElementaryTypeName","src":"16853:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2134,"mutability":"mutable","name":"right","nameLocation":"16875:5:1","nodeType":"VariableDeclaration","scope":2151,"src":"16867:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2133,"name":"uint256","nodeType":"ElementaryTypeName","src":"16867:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2136,"mutability":"mutable","name":"maxDelta","nameLocation":"16890:8:1","nodeType":"VariableDeclaration","scope":2151,"src":"16882:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2135,"name":"uint256","nodeType":"ElementaryTypeName","src":"16882:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2138,"mutability":"mutable","name":"err","nameLocation":"16914:3:1","nodeType":"VariableDeclaration","scope":2151,"src":"16900:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2137,"name":"string","nodeType":"ElementaryTypeName","src":"16900:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16852:66:1"},"returnParameters":{"id":2140,"nodeType":"ParameterList","parameters":[],"src":"16969:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2172,"nodeType":"FunctionDefinition","src":"17040:226:1","nodes":[],"body":{"id":2171,"nodeType":"Block","src":"17189:77:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2165,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2153,"src":"17227:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2166,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2155,"src":"17233:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2167,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2157,"src":"17240:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2168,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"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":2162,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"17199:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17202:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13610,"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":2169,"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":2170,"nodeType":"ExpressionStatement","src":"17199:60:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17049:24:1","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2153,"mutability":"mutable","name":"left","nameLocation":"17082:4:1","nodeType":"VariableDeclaration","scope":2172,"src":"17074:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2152,"name":"uint256","nodeType":"ElementaryTypeName","src":"17074:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2155,"mutability":"mutable","name":"right","nameLocation":"17096:5:1","nodeType":"VariableDeclaration","scope":2172,"src":"17088:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2154,"name":"uint256","nodeType":"ElementaryTypeName","src":"17088:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2157,"mutability":"mutable","name":"maxDelta","nameLocation":"17111:8:1","nodeType":"VariableDeclaration","scope":2172,"src":"17103:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2156,"name":"uint256","nodeType":"ElementaryTypeName","src":"17103:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2159,"mutability":"mutable","name":"decimals","nameLocation":"17129:8:1","nodeType":"VariableDeclaration","scope":2172,"src":"17121:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2158,"name":"uint256","nodeType":"ElementaryTypeName","src":"17121:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17073:65:1"},"returnParameters":{"id":2161,"nodeType":"ParameterList","parameters":[],"src":"17189:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2196,"nodeType":"FunctionDefinition","src":"17272:268:1","nodes":[],"body":{"id":2195,"nodeType":"Block","src":"17458:82:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2188,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2174,"src":"17496:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2189,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2176,"src":"17502:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2190,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2178,"src":"17509:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2191,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2180,"src":"17519:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2192,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2182,"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":2185,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"17468:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17471:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13624,"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":2193,"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":2194,"nodeType":"ExpressionStatement","src":"17468:65:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17281:24:1","parameters":{"id":2183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2174,"mutability":"mutable","name":"left","nameLocation":"17323:4:1","nodeType":"VariableDeclaration","scope":2196,"src":"17315:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2173,"name":"uint256","nodeType":"ElementaryTypeName","src":"17315:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2176,"mutability":"mutable","name":"right","nameLocation":"17345:5:1","nodeType":"VariableDeclaration","scope":2196,"src":"17337:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2175,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2178,"mutability":"mutable","name":"maxDelta","nameLocation":"17368:8:1","nodeType":"VariableDeclaration","scope":2196,"src":"17360:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2177,"name":"uint256","nodeType":"ElementaryTypeName","src":"17360:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2180,"mutability":"mutable","name":"decimals","nameLocation":"17394:8:1","nodeType":"VariableDeclaration","scope":2196,"src":"17386:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2179,"name":"uint256","nodeType":"ElementaryTypeName","src":"17386:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2182,"mutability":"mutable","name":"err","nameLocation":"17426:3:1","nodeType":"VariableDeclaration","scope":2196,"src":"17412:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2181,"name":"string","nodeType":"ElementaryTypeName","src":"17412:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17305:130:1"},"returnParameters":{"id":2184,"nodeType":"ParameterList","parameters":[],"src":"17458:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2214,"nodeType":"FunctionDefinition","src":"17546:154:1","nodes":[],"body":{"id":2213,"nodeType":"Block","src":"17640:60:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2208,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2198,"src":"17671:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2209,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"17677:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2210,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2202,"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":2205,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"17650:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17653:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13682,"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":2211,"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":2212,"nodeType":"ExpressionStatement","src":"17650:43:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17555:17:1","parameters":{"id":2203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2198,"mutability":"mutable","name":"left","nameLocation":"17580:4:1","nodeType":"VariableDeclaration","scope":2214,"src":"17573:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2197,"name":"int256","nodeType":"ElementaryTypeName","src":"17573:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2200,"mutability":"mutable","name":"right","nameLocation":"17593:5:1","nodeType":"VariableDeclaration","scope":2214,"src":"17586:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2199,"name":"int256","nodeType":"ElementaryTypeName","src":"17586:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2202,"mutability":"mutable","name":"maxDelta","nameLocation":"17608:8:1","nodeType":"VariableDeclaration","scope":2214,"src":"17600:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2201,"name":"uint256","nodeType":"ElementaryTypeName","src":"17600:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17572:45:1"},"returnParameters":{"id":2204,"nodeType":"ParameterList","parameters":[],"src":"17640:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2235,"nodeType":"FunctionDefinition","src":"17706:178:1","nodes":[],"body":{"id":2234,"nodeType":"Block","src":"17819:65:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2228,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"17850:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2229,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2218,"src":"17856:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2230,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2220,"src":"17863:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2231,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2222,"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":2225,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"17829:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17832:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13694,"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":2232,"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":2233,"nodeType":"ExpressionStatement","src":"17829:48:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17715:17:1","parameters":{"id":2223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2216,"mutability":"mutable","name":"left","nameLocation":"17740:4:1","nodeType":"VariableDeclaration","scope":2235,"src":"17733:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2215,"name":"int256","nodeType":"ElementaryTypeName","src":"17733:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2218,"mutability":"mutable","name":"right","nameLocation":"17753:5:1","nodeType":"VariableDeclaration","scope":2235,"src":"17746:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2217,"name":"int256","nodeType":"ElementaryTypeName","src":"17746:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2220,"mutability":"mutable","name":"maxDelta","nameLocation":"17768:8:1","nodeType":"VariableDeclaration","scope":2235,"src":"17760:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2219,"name":"uint256","nodeType":"ElementaryTypeName","src":"17760:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2222,"mutability":"mutable","name":"err","nameLocation":"17792:3:1","nodeType":"VariableDeclaration","scope":2235,"src":"17778:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2221,"name":"string","nodeType":"ElementaryTypeName","src":"17778:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17732:64:1"},"returnParameters":{"id":2224,"nodeType":"ParameterList","parameters":[],"src":"17819:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2256,"nodeType":"FunctionDefinition","src":"17890:224:1","nodes":[],"body":{"id":2255,"nodeType":"Block","src":"18037:77:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2249,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2237,"src":"18075:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2250,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2239,"src":"18081:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2251,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2241,"src":"18088:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2252,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2243,"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":2246,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"18047:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18050:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13636,"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":2253,"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":2254,"nodeType":"ExpressionStatement","src":"18047:60:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17899:24:1","parameters":{"id":2244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"left","nameLocation":"17931:4:1","nodeType":"VariableDeclaration","scope":2256,"src":"17924:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2236,"name":"int256","nodeType":"ElementaryTypeName","src":"17924:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2239,"mutability":"mutable","name":"right","nameLocation":"17944:5:1","nodeType":"VariableDeclaration","scope":2256,"src":"17937:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2238,"name":"int256","nodeType":"ElementaryTypeName","src":"17937:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2241,"mutability":"mutable","name":"maxDelta","nameLocation":"17959:8:1","nodeType":"VariableDeclaration","scope":2256,"src":"17951:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2240,"name":"uint256","nodeType":"ElementaryTypeName","src":"17951:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2243,"mutability":"mutable","name":"decimals","nameLocation":"17977:8:1","nodeType":"VariableDeclaration","scope":2256,"src":"17969:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2242,"name":"uint256","nodeType":"ElementaryTypeName","src":"17969:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17923:63:1"},"returnParameters":{"id":2245,"nodeType":"ParameterList","parameters":[],"src":"18037:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2280,"nodeType":"FunctionDefinition","src":"18120:248:1","nodes":[],"body":{"id":2279,"nodeType":"Block","src":"18286:82:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2272,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2258,"src":"18324:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2273,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2260,"src":"18330:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2274,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2262,"src":"18337:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2275,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"18347:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2276,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2266,"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":2269,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"18296:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18299:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13650,"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":2277,"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":2278,"nodeType":"ExpressionStatement","src":"18296:65:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"18129:24:1","parameters":{"id":2267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2258,"mutability":"mutable","name":"left","nameLocation":"18161:4:1","nodeType":"VariableDeclaration","scope":2280,"src":"18154:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2257,"name":"int256","nodeType":"ElementaryTypeName","src":"18154:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2260,"mutability":"mutable","name":"right","nameLocation":"18174:5:1","nodeType":"VariableDeclaration","scope":2280,"src":"18167:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2259,"name":"int256","nodeType":"ElementaryTypeName","src":"18167:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2262,"mutability":"mutable","name":"maxDelta","nameLocation":"18189:8:1","nodeType":"VariableDeclaration","scope":2280,"src":"18181:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2261,"name":"uint256","nodeType":"ElementaryTypeName","src":"18181:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2264,"mutability":"mutable","name":"decimals","nameLocation":"18207:8:1","nodeType":"VariableDeclaration","scope":2280,"src":"18199:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2263,"name":"uint256","nodeType":"ElementaryTypeName","src":"18199:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2266,"mutability":"mutable","name":"err","nameLocation":"18231:3:1","nodeType":"VariableDeclaration","scope":2280,"src":"18217:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2265,"name":"string","nodeType":"ElementaryTypeName","src":"18217:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18153:82:1"},"returnParameters":{"id":2268,"nodeType":"ParameterList","parameters":[],"src":"18286:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2298,"nodeType":"FunctionDefinition","src":"18374:256:1","nodes":[],"body":{"id":2297,"nodeType":"Block","src":"18563:67:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2292,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"18594:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2293,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2284,"src":"18600:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2294,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2286,"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":2289,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"18573:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18576:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13756,"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":2295,"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":2296,"nodeType":"ExpressionStatement","src":"18573:50:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18383:17:1","parameters":{"id":2287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2282,"mutability":"mutable","name":"left","nameLocation":"18418:4:1","nodeType":"VariableDeclaration","scope":2298,"src":"18410:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2281,"name":"uint256","nodeType":"ElementaryTypeName","src":"18410:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2284,"mutability":"mutable","name":"right","nameLocation":"18440:5:1","nodeType":"VariableDeclaration","scope":2298,"src":"18432:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2283,"name":"uint256","nodeType":"ElementaryTypeName","src":"18432:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2286,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18463:15:1","nodeType":"VariableDeclaration","scope":2298,"src":"18455:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2285,"name":"uint256","nodeType":"ElementaryTypeName","src":"18455:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18400:140:1"},"returnParameters":{"id":2288,"nodeType":"ParameterList","parameters":[],"src":"18563:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2319,"nodeType":"FunctionDefinition","src":"18636:288:1","nodes":[],"body":{"id":2318,"nodeType":"Block","src":"18852:72:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2312,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2300,"src":"18883:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2313,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2302,"src":"18889:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2314,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2304,"src":"18896:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2315,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"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":2309,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"18862:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18865:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13768,"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":2316,"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":2317,"nodeType":"ExpressionStatement","src":"18862:55:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18645:17:1","parameters":{"id":2307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2300,"mutability":"mutable","name":"left","nameLocation":"18680:4:1","nodeType":"VariableDeclaration","scope":2319,"src":"18672:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2299,"name":"uint256","nodeType":"ElementaryTypeName","src":"18672:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2302,"mutability":"mutable","name":"right","nameLocation":"18702:5:1","nodeType":"VariableDeclaration","scope":2319,"src":"18694:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2301,"name":"uint256","nodeType":"ElementaryTypeName","src":"18694:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2304,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18725:15:1","nodeType":"VariableDeclaration","scope":2319,"src":"18717:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2303,"name":"uint256","nodeType":"ElementaryTypeName","src":"18717:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2306,"mutability":"mutable","name":"err","nameLocation":"18820:3:1","nodeType":"VariableDeclaration","scope":2319,"src":"18806:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2305,"name":"string","nodeType":"ElementaryTypeName","src":"18806:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18662:167:1"},"returnParameters":{"id":2308,"nodeType":"ParameterList","parameters":[],"src":"18852:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2340,"nodeType":"FunctionDefinition","src":"18930:306:1","nodes":[],"body":{"id":2339,"nodeType":"Block","src":"19152:84:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2333,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2321,"src":"19190:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2334,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2323,"src":"19196:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2335,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2325,"src":"19203:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2336,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"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":2330,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"19162:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19165:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13706,"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":2337,"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":2338,"nodeType":"ExpressionStatement","src":"19162:67:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"18939:24:1","parameters":{"id":2328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2321,"mutability":"mutable","name":"left","nameLocation":"18981:4:1","nodeType":"VariableDeclaration","scope":2340,"src":"18973:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2320,"name":"uint256","nodeType":"ElementaryTypeName","src":"18973:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2323,"mutability":"mutable","name":"right","nameLocation":"19003:5:1","nodeType":"VariableDeclaration","scope":2340,"src":"18995:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2322,"name":"uint256","nodeType":"ElementaryTypeName","src":"18995:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2325,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19026:15:1","nodeType":"VariableDeclaration","scope":2340,"src":"19018:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2324,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2327,"mutability":"mutable","name":"decimals","nameLocation":"19115:8:1","nodeType":"VariableDeclaration","scope":2340,"src":"19107:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2326,"name":"uint256","nodeType":"ElementaryTypeName","src":"19107:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:166:1"},"returnParameters":{"id":2329,"nodeType":"ParameterList","parameters":[],"src":"19152:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2364,"nodeType":"FunctionDefinition","src":"19242:338:1","nodes":[],"body":{"id":2363,"nodeType":"Block","src":"19491:89:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2356,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2342,"src":"19529:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2357,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"19535:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2358,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2346,"src":"19542:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2359,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2348,"src":"19559:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2360,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"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":2353,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"19501:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19504:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13720,"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":2361,"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":2362,"nodeType":"ExpressionStatement","src":"19501:72:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"19251:24:1","parameters":{"id":2351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2342,"mutability":"mutable","name":"left","nameLocation":"19293:4:1","nodeType":"VariableDeclaration","scope":2364,"src":"19285:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2341,"name":"uint256","nodeType":"ElementaryTypeName","src":"19285:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2344,"mutability":"mutable","name":"right","nameLocation":"19315:5:1","nodeType":"VariableDeclaration","scope":2364,"src":"19307:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2343,"name":"uint256","nodeType":"ElementaryTypeName","src":"19307:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2346,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19338:15:1","nodeType":"VariableDeclaration","scope":2364,"src":"19330:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2345,"name":"uint256","nodeType":"ElementaryTypeName","src":"19330:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2348,"mutability":"mutable","name":"decimals","nameLocation":"19427:8:1","nodeType":"VariableDeclaration","scope":2364,"src":"19419:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2347,"name":"uint256","nodeType":"ElementaryTypeName","src":"19419:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2350,"mutability":"mutable","name":"err","nameLocation":"19459:3:1","nodeType":"VariableDeclaration","scope":2364,"src":"19445:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2349,"name":"string","nodeType":"ElementaryTypeName","src":"19445:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19275:193:1"},"returnParameters":{"id":2352,"nodeType":"ParameterList","parameters":[],"src":"19491:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2382,"nodeType":"FunctionDefinition","src":"19586:168:1","nodes":[],"body":{"id":2381,"nodeType":"Block","src":"19687:67:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2376,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2366,"src":"19718:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2377,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2368,"src":"19724:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2378,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"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":2373,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"19697:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19700:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13778,"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":2379,"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":2380,"nodeType":"ExpressionStatement","src":"19697:50:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19595:17:1","parameters":{"id":2371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2366,"mutability":"mutable","name":"left","nameLocation":"19620:4:1","nodeType":"VariableDeclaration","scope":2382,"src":"19613:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2365,"name":"int256","nodeType":"ElementaryTypeName","src":"19613:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2368,"mutability":"mutable","name":"right","nameLocation":"19633:5:1","nodeType":"VariableDeclaration","scope":2382,"src":"19626:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2367,"name":"int256","nodeType":"ElementaryTypeName","src":"19626:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2370,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19648:15:1","nodeType":"VariableDeclaration","scope":2382,"src":"19640:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2369,"name":"uint256","nodeType":"ElementaryTypeName","src":"19640:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19612:52:1"},"returnParameters":{"id":2372,"nodeType":"ParameterList","parameters":[],"src":"19687:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2403,"nodeType":"FunctionDefinition","src":"19760:286:1","nodes":[],"body":{"id":2402,"nodeType":"Block","src":"19974:72:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2396,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2384,"src":"20005:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2397,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2386,"src":"20011:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2398,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2388,"src":"20018:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2399,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"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":2393,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"19984:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19987:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13790,"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":2400,"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":2401,"nodeType":"ExpressionStatement","src":"19984:55:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19769:17:1","parameters":{"id":2391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2384,"mutability":"mutable","name":"left","nameLocation":"19803:4:1","nodeType":"VariableDeclaration","scope":2403,"src":"19796:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2383,"name":"int256","nodeType":"ElementaryTypeName","src":"19796:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2386,"mutability":"mutable","name":"right","nameLocation":"19824:5:1","nodeType":"VariableDeclaration","scope":2403,"src":"19817:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2385,"name":"int256","nodeType":"ElementaryTypeName","src":"19817:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2388,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19847:15:1","nodeType":"VariableDeclaration","scope":2403,"src":"19839:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2387,"name":"uint256","nodeType":"ElementaryTypeName","src":"19839:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2390,"mutability":"mutable","name":"err","nameLocation":"19942:3:1","nodeType":"VariableDeclaration","scope":2403,"src":"19928:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2389,"name":"string","nodeType":"ElementaryTypeName","src":"19928:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19786:165:1"},"returnParameters":{"id":2392,"nodeType":"ParameterList","parameters":[],"src":"19974:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2424,"nodeType":"FunctionDefinition","src":"20052:304:1","nodes":[],"body":{"id":2423,"nodeType":"Block","src":"20272:84:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2417,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2405,"src":"20310:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2418,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2407,"src":"20316:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2419,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2409,"src":"20323:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2420,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2411,"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":2414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"20282:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20285:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13732,"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":2421,"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":2422,"nodeType":"ExpressionStatement","src":"20282:67:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20061:24:1","parameters":{"id":2412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2405,"mutability":"mutable","name":"left","nameLocation":"20102:4:1","nodeType":"VariableDeclaration","scope":2424,"src":"20095:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2404,"name":"int256","nodeType":"ElementaryTypeName","src":"20095:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2407,"mutability":"mutable","name":"right","nameLocation":"20123:5:1","nodeType":"VariableDeclaration","scope":2424,"src":"20116:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2406,"name":"int256","nodeType":"ElementaryTypeName","src":"20116:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2409,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20146:15:1","nodeType":"VariableDeclaration","scope":2424,"src":"20138:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2408,"name":"uint256","nodeType":"ElementaryTypeName","src":"20138:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2411,"mutability":"mutable","name":"decimals","nameLocation":"20235:8:1","nodeType":"VariableDeclaration","scope":2424,"src":"20227:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2410,"name":"uint256","nodeType":"ElementaryTypeName","src":"20227:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20085:164:1"},"returnParameters":{"id":2413,"nodeType":"ParameterList","parameters":[],"src":"20272:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2448,"nodeType":"FunctionDefinition","src":"20362:336:1","nodes":[],"body":{"id":2447,"nodeType":"Block","src":"20609:89:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2440,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2426,"src":"20647:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2441,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2428,"src":"20653:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2442,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2430,"src":"20660:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2443,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2432,"src":"20677:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2444,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2434,"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":2437,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"20619:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":2439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20622:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13746,"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":2445,"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":2446,"nodeType":"ExpressionStatement","src":"20619:72:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20371:24:1","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2426,"mutability":"mutable","name":"left","nameLocation":"20412:4:1","nodeType":"VariableDeclaration","scope":2448,"src":"20405:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2425,"name":"int256","nodeType":"ElementaryTypeName","src":"20405:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2428,"mutability":"mutable","name":"right","nameLocation":"20433:5:1","nodeType":"VariableDeclaration","scope":2448,"src":"20426:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2427,"name":"int256","nodeType":"ElementaryTypeName","src":"20426:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2430,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20456:15:1","nodeType":"VariableDeclaration","scope":2448,"src":"20448:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2429,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2432,"mutability":"mutable","name":"decimals","nameLocation":"20545:8:1","nodeType":"VariableDeclaration","scope":2448,"src":"20537:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2431,"name":"uint256","nodeType":"ElementaryTypeName","src":"20537:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2434,"mutability":"mutable","name":"err","nameLocation":"20577:3:1","nodeType":"VariableDeclaration","scope":2448,"src":"20563:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2433,"name":"string","nodeType":"ElementaryTypeName","src":"20563:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20395:191:1"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"20609:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2466,"nodeType":"FunctionDefinition","src":"20780:145:1","nodes":[],"body":{"id":2465,"nodeType":"Block","src":"20866:59:1","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2458,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2450,"src":"20893:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2457,"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":2459,"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":2461,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2452,"src":"20912:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2460,"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":2462,"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":2456,"id":2464,"nodeType":"Return","src":"20876:42:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"20789:8:1","parameters":{"id":2453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2450,"mutability":"mutable","name":"left","nameLocation":"20811:4:1","nodeType":"VariableDeclaration","scope":2466,"src":"20798:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2449,"name":"bytes","nodeType":"ElementaryTypeName","src":"20798:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2452,"mutability":"mutable","name":"right","nameLocation":"20830:5:1","nodeType":"VariableDeclaration","scope":2466,"src":"20817:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2451,"name":"bytes","nodeType":"ElementaryTypeName","src":"20817:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20797:39:1"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2466,"src":"20860:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2454,"name":"bool","nodeType":"ElementaryTypeName","src":"20860:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20859:6:1"},"scope":2695,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2479,"nodeType":"FunctionDefinition","src":"20931:118:1","nodes":[],"body":{"id":2478,"nodeType":"Block","src":"21011:38:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2474,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2468,"src":"21030:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2475,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"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":2473,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":649,"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":2476,"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":2477,"nodeType":"ExpressionStatement","src":"21021:21:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"20940:9:1","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"left","nameLocation":"20963:4:1","nodeType":"VariableDeclaration","scope":2479,"src":"20950:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2467,"name":"bytes","nodeType":"ElementaryTypeName","src":"20950:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"right","nameLocation":"20982:5:1","nodeType":"VariableDeclaration","scope":2479,"src":"20969:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2469,"name":"bytes","nodeType":"ElementaryTypeName","src":"20969:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20949:39:1"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"21011:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2495,"nodeType":"FunctionDefinition","src":"21055:142:1","nodes":[],"body":{"id":2494,"nodeType":"Block","src":"21154:43:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2489,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2481,"src":"21173:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2490,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2483,"src":"21179:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2491,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2485,"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":2488,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":667,"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":2492,"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":2493,"nodeType":"ExpressionStatement","src":"21164:26:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"21064:9:1","parameters":{"id":2486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"left","nameLocation":"21087:4:1","nodeType":"VariableDeclaration","scope":2495,"src":"21074:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2480,"name":"bytes","nodeType":"ElementaryTypeName","src":"21074:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2483,"mutability":"mutable","name":"right","nameLocation":"21106:5:1","nodeType":"VariableDeclaration","scope":2495,"src":"21093:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2482,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2485,"mutability":"mutable","name":"err","nameLocation":"21127:3:1","nodeType":"VariableDeclaration","scope":2495,"src":"21113:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2484,"name":"string","nodeType":"ElementaryTypeName","src":"21113:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21073:58:1"},"returnParameters":{"id":2487,"nodeType":"ParameterList","parameters":[],"src":"21154:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2508,"nodeType":"FunctionDefinition","src":"21203:124:1","nodes":[],"body":{"id":2507,"nodeType":"Block","src":"21286:41:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2503,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2497,"src":"21308:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2504,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2499,"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":2502,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[954,972,987,1005,1059,1077,1131,1149,1164,1182,1226,1244,1259,1277,1294,1314,1331,1351,1368,1388,1405,1425,1442,1462,1479,1499,1516,1536],"referencedDeclaration":1259,"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":2505,"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":2506,"nodeType":"ExpressionStatement","src":"21296:24:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21212:12:1","parameters":{"id":2500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2497,"mutability":"mutable","name":"left","nameLocation":"21238:4:1","nodeType":"VariableDeclaration","scope":2508,"src":"21225:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2496,"name":"bytes","nodeType":"ElementaryTypeName","src":"21225:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2499,"mutability":"mutable","name":"right","nameLocation":"21257:5:1","nodeType":"VariableDeclaration","scope":2508,"src":"21244:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2498,"name":"bytes","nodeType":"ElementaryTypeName","src":"21244:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21224:39:1"},"returnParameters":{"id":2501,"nodeType":"ParameterList","parameters":[],"src":"21286:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2524,"nodeType":"FunctionDefinition","src":"21333:148:1","nodes":[],"body":{"id":2523,"nodeType":"Block","src":"21435:46:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2518,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2510,"src":"21457:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2519,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2512,"src":"21463:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2520,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"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":2517,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[954,972,987,1005,1059,1077,1131,1149,1164,1182,1226,1244,1259,1277,1294,1314,1331,1351,1368,1388,1405,1425,1442,1462,1479,1499,1516,1536],"referencedDeclaration":1277,"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":2521,"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":2522,"nodeType":"ExpressionStatement","src":"21445:29:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21342:12:1","parameters":{"id":2515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"mutability":"mutable","name":"left","nameLocation":"21368:4:1","nodeType":"VariableDeclaration","scope":2524,"src":"21355:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2509,"name":"bytes","nodeType":"ElementaryTypeName","src":"21355:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2512,"mutability":"mutable","name":"right","nameLocation":"21387:5:1","nodeType":"VariableDeclaration","scope":2524,"src":"21374:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2511,"name":"bytes","nodeType":"ElementaryTypeName","src":"21374:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2514,"mutability":"mutable","name":"err","nameLocation":"21408:3:1","nodeType":"VariableDeclaration","scope":2524,"src":"21394:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2513,"name":"string","nodeType":"ElementaryTypeName","src":"21394:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21354:58:1"},"returnParameters":{"id":2516,"nodeType":"ParameterList","parameters":[],"src":"21435:0:1"},"scope":2695,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2542,"nodeType":"FunctionDefinition","src":"21487:176:1","nodes":[],"body":{"id":2541,"nodeType":"Block","src":"21590:73:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2534,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"21613:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2535,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2528,"src":"21621:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2536,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"21632:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2537,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2530,"src":"21640:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":2538,"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":2533,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2542,2562,2582,2694],"referencedDeclaration":2694,"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":2539,"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":2540,"nodeType":"ExpressionStatement","src":"21600:56:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21496:12:1","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2526,"mutability":"mutable","name":"target","nameLocation":"21517:6:1","nodeType":"VariableDeclaration","scope":2542,"src":"21509:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2525,"name":"address","nodeType":"ElementaryTypeName","src":"21509:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"callDataA","nameLocation":"21538:9:1","nodeType":"VariableDeclaration","scope":2542,"src":"21525:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2527,"name":"bytes","nodeType":"ElementaryTypeName","src":"21525:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"callDataB","nameLocation":"21562:9:1","nodeType":"VariableDeclaration","scope":2542,"src":"21549:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"21549:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21508:64:1"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"21590:0:1"},"scope":2695,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2562,"nodeType":"FunctionDefinition","src":"21669:216:1","nodes":[],"body":{"id":2561,"nodeType":"Block","src":"21810:75:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2554,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2544,"src":"21833:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2555,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2546,"src":"21842:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2556,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2548,"src":"21853:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2557,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2550,"src":"21862:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":2558,"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":2553,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2542,2562,2582,2694],"referencedDeclaration":2694,"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":2559,"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":2560,"nodeType":"ExpressionStatement","src":"21820:58:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21678:12:1","parameters":{"id":2551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2544,"mutability":"mutable","name":"targetA","nameLocation":"21699:7:1","nodeType":"VariableDeclaration","scope":2562,"src":"21691:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2543,"name":"address","nodeType":"ElementaryTypeName","src":"21691:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2546,"mutability":"mutable","name":"callDataA","nameLocation":"21721:9:1","nodeType":"VariableDeclaration","scope":2562,"src":"21708:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2545,"name":"bytes","nodeType":"ElementaryTypeName","src":"21708:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"targetB","nameLocation":"21740:7:1","nodeType":"VariableDeclaration","scope":2562,"src":"21732:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"21732:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2550,"mutability":"mutable","name":"callDataB","nameLocation":"21762:9:1","nodeType":"VariableDeclaration","scope":2562,"src":"21749:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2549,"name":"bytes","nodeType":"ElementaryTypeName","src":"21749:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21690:82:1"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[],"src":"21810:0:1"},"scope":2695,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2582,"nodeType":"FunctionDefinition","src":"21891:231:1","nodes":[],"body":{"id":2581,"nodeType":"Block","src":"22037:85:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":2574,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2564,"src":"22060:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2575,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2566,"src":"22068:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2576,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2564,"src":"22079:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2577,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2568,"src":"22087:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2578,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2570,"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":2573,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2542,2562,2582,2694],"referencedDeclaration":2694,"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":2579,"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":2580,"nodeType":"ExpressionStatement","src":"22047:68:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21900:12:1","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"target","nameLocation":"21921:6:1","nodeType":"VariableDeclaration","scope":2582,"src":"21913:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2563,"name":"address","nodeType":"ElementaryTypeName","src":"21913:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2566,"mutability":"mutable","name":"callDataA","nameLocation":"21942:9:1","nodeType":"VariableDeclaration","scope":2582,"src":"21929:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2565,"name":"bytes","nodeType":"ElementaryTypeName","src":"21929:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2568,"mutability":"mutable","name":"callDataB","nameLocation":"21966:9:1","nodeType":"VariableDeclaration","scope":2582,"src":"21953:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2567,"name":"bytes","nodeType":"ElementaryTypeName","src":"21953:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2570,"mutability":"mutable","name":"strictRevertData","nameLocation":"21982:16:1","nodeType":"VariableDeclaration","scope":2582,"src":"21977:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2569,"name":"bool","nodeType":"ElementaryTypeName","src":"21977:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21912:87:1"},"returnParameters":{"id":2572,"nodeType":"ParameterList","parameters":[],"src":"22037:0:1"},"scope":2695,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2694,"nodeType":"FunctionDefinition","src":"22128:1229:1","nodes":[],"body":{"id":2693,"nodeType":"Block","src":"22318:1039:1","nodes":[],"statements":[{"assignments":[2596,2598],"declarations":[{"constant":false,"id":2596,"mutability":"mutable","name":"successA","nameLocation":"22334:8:1","nodeType":"VariableDeclaration","scope":2693,"src":"22329:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2595,"name":"bool","nodeType":"ElementaryTypeName","src":"22329:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2598,"mutability":"mutable","name":"returnDataA","nameLocation":"22357:11:1","nodeType":"VariableDeclaration","scope":2693,"src":"22344:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2597,"name":"bytes","nodeType":"ElementaryTypeName","src":"22344:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2606,"initialValue":{"arguments":[{"id":2604,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"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":2601,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2584,"src":"22380:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2600,"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":2599,"name":"address","nodeType":"ElementaryTypeName","src":"22372:7:1","typeDescriptions":{}}},"id":2602,"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":2603,"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":2605,"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":[2608,2610],"declarations":[{"constant":false,"id":2608,"mutability":"mutable","name":"successB","nameLocation":"22420:8:1","nodeType":"VariableDeclaration","scope":2693,"src":"22415:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2607,"name":"bool","nodeType":"ElementaryTypeName","src":"22415:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2610,"mutability":"mutable","name":"returnDataB","nameLocation":"22443:11:1","nodeType":"VariableDeclaration","scope":2693,"src":"22430:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2609,"name":"bytes","nodeType":"ElementaryTypeName","src":"22430:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2618,"initialValue":{"arguments":[{"id":2616,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"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":2613,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"22466:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2612,"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":2611,"name":"address","nodeType":"ElementaryTypeName","src":"22458:7:1","typeDescriptions":{}}},"id":2614,"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":2615,"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":2617,"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":2621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2619,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"22505:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2620,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2608,"src":"22517:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22505:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2629,"nodeType":"IfStatement","src":"22501:120:1","trueBody":{"id":2628,"nodeType":"Block","src":"22527:94:1","statements":[{"expression":{"arguments":[{"id":2623,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"src":"22550:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2624,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"22563:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":2625,"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":2622,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":667,"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":2626,"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":2627,"nodeType":"ExpressionStatement","src":"22541:69:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22635:9:1","subExpression":{"id":2630,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"22636:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22648:9:1","subExpression":{"id":2632,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2608,"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":2635,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2592,"src":"22661:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:42:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2644,"nodeType":"IfStatement","src":"22631:142:1","trueBody":{"id":2643,"nodeType":"Block","src":"22679:94:1","statements":[{"expression":{"arguments":[{"id":2638,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"src":"22702:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2639,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"22715:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":2640,"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":2637,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[344,362,377,395,449,467,521,539,554,572,616,634,649,667,684,704,721,741,758,778,795,815,832,852,869,889,906,926],"referencedDeclaration":667,"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":2641,"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":2642,"nodeType":"ExpressionStatement","src":"22693:69:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22787:9:1","subExpression":{"id":2645,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"22788:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2647,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2608,"src":"22800:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22787:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2668,"nodeType":"IfStatement","src":"22783:279:1","trueBody":{"id":2667,"nodeType":"Block","src":"22810:252:1","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":2650,"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":2649,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"22829:3:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2651,"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":2652,"nodeType":"EmitStatement","src":"22824:39:1"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":2654,"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":2655,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"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":2653,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"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":2656,"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":2657,"nodeType":"EmitStatement","src":"22877:60:1"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":2659,"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":2660,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"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":2658,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"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":2661,"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":2662,"nodeType":"EmitStatement","src":"22951:60:1"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":2664,"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":2663,"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":2665,"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":2666,"nodeType":"ExpressionStatement","src":"23025:26:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2669,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"23076:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23088:9:1","subExpression":{"id":2670,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2608,"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":2692,"nodeType":"IfStatement","src":"23072:279:1","trueBody":{"id":2691,"nodeType":"Block","src":"23099:252:1","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":2674,"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":2673,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"23118:3:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2675,"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":2676,"nodeType":"EmitStatement","src":"23113:39:1"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":2678,"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":2679,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"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":2677,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"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":2680,"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":2681,"nodeType":"EmitStatement","src":"23166:60:1"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":2683,"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":2684,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"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":2682,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"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":2685,"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":2686,"nodeType":"EmitStatement","src":"23240:60:1"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":2688,"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":2687,"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":2689,"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":2690,"nodeType":"ExpressionStatement","src":"23314:26:1"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"22137:12:1","parameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2584,"mutability":"mutable","name":"targetA","nameLocation":"22167:7:1","nodeType":"VariableDeclaration","scope":2694,"src":"22159:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2583,"name":"address","nodeType":"ElementaryTypeName","src":"22159:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2586,"mutability":"mutable","name":"callDataA","nameLocation":"22197:9:1","nodeType":"VariableDeclaration","scope":2694,"src":"22184:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2585,"name":"bytes","nodeType":"ElementaryTypeName","src":"22184:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2588,"mutability":"mutable","name":"targetB","nameLocation":"22224:7:1","nodeType":"VariableDeclaration","scope":2694,"src":"22216:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2587,"name":"address","nodeType":"ElementaryTypeName","src":"22216:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2590,"mutability":"mutable","name":"callDataB","nameLocation":"22254:9:1","nodeType":"VariableDeclaration","scope":2694,"src":"22241:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2589,"name":"bytes","nodeType":"ElementaryTypeName","src":"22241:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2592,"mutability":"mutable","name":"strictRevertData","nameLocation":"22278:16:1","nodeType":"VariableDeclaration","scope":2694,"src":"22273:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2591,"name":"bool","nodeType":"ElementaryTypeName","src":"22273:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22149:151:1"},"returnParameters":{"id":2594,"nodeType":"ParameterList","parameters":[],"src":"22318:0:1"},"scope":2695,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[2695],"name":"StdAssertions","nameLocation":"147:13:1","scope":2696,"usedErrors":[],"usedEvents":[100,104,108,112,116,120,124,128,134,140,148,156,162,168,174,180,185,190,195,202,209,216]}],"license":"MIT"},"id":1}