@sobajaswap/lib
Version:
📖 Solidity libraries that are shared across Sobajaswap contracts
59 lines • 36.5 kB
JSON
{
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "tokenName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "tokenSymbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"evm": {
"bytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506107e4806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063033b9b4f1461003b578063e54f7522146100e3575b600080fd5b61006e6004803603602081101561005157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610116565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a8578181015183820152602001610090565b50505050905090810190601f1680156100d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e600480360360208110156100f957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610129565b606061012182610134565b90505b919050565b60606101218261017e565b606080610161837f95d89b41000000000000000000000000000000000000000000000000000000006101c0565b90508051600014156101215761017683610443565b915050610124565b6060806101ab837f06fdde03000000000000000000000000000000000000000000000000000000006101c0565b90508051600014156101215761017683610450565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000851617815291518151606093600093859373ffffffffffffffffffffffffffffffffffffffff891693919290918291908083835b6020831061028457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610247565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146102e4576040519150601f19603f3d011682016040523d82523d6000602084013e6102e9565b606091505b50915091508115806102fa57508051155b1561031857604051806020016040528060008152509250505061043d565b80516020141561035057600081806020019051602081101561033957600080fd5b505190506103468161045d565b935050505061043d565b6040815111156104285780806020019051602081101561036f57600080fd5b810190808051604051939291908464010000000082111561038f57600080fd5b9083019060208201858111156103a457600080fd5b82516401000000008111828201881017156103be57600080fd5b82525081516020918201929091019080838360005b838110156103eb5781810151838201526020016103d3565b50505050905090810190601f1680156104185780820380516001836020036101000a031916815260200191505b506040525050509250505061043d565b60405180602001604052806000815250925050505b92915050565b60606101218260066105cc565b60606101218260286105cc565b6040805160208082528183019092526060918291906020820181803683370190505090506000805b602081101561051657600085826020811061049c57fe5b1a60f81b90507fff0000000000000000000000000000000000000000000000000000000000000081161561050d57808484815181106104d757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909201915b50600101610485565b5060608167ffffffffffffffff8111801561053057600080fd5b506040519080825280601f01601f19166020018201604052801561055b576020820181803683370190505b50905060005b828110156105c35783818151811061057557fe5b602001015160f81c60f81b82828151811061058c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101610561565b50949350505050565b6060600282061580156105df5750600082115b80156105ec575060288211155b61065757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f41646472657373537472696e675574696c3a20494e56414c49445f4c454e0000604482015290519081900360640190fd5b60608267ffffffffffffffff8111801561067057600080fd5b506040519080825280601f01601f19166020018201604052801561069b576020820181803683370190505b50905073ffffffffffffffffffffffffffffffffffffffff841660005b6002850481101561077c57600860138290030282901c600f600482901c1660f0821682036106e582610786565b8685600202815181106106f457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061072c81610786565b86856002026001018151811061073e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050600190920191506106b89050565b5090949350505050565b6000600a8260ff1610156107a157506030810160f81b610124565b506037810160f81b61012456fea264697066735822122062a4ff8439da01c5ffbc23b8ae8986c2247f960fffd7b71bb46232b4f7f6258064736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E4 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x33B9B4F EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE54F7522 EQ PUSH2 0xE3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA8 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x90 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xD5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x129 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH2 0x134 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH2 0x17E JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH2 0x161 DUP4 PUSH32 0x95D89B4100000000000000000000000000000000000000000000000000000000 PUSH2 0x1C0 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0x121 JUMPI PUSH2 0x176 DUP4 PUSH2 0x443 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x124 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH2 0x1AB DUP4 PUSH32 0x6FDDE0300000000000000000000000000000000000000000000000000000000 PUSH2 0x1C0 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0x121 JUMPI PUSH2 0x176 DUP4 PUSH2 0x450 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD DUP3 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP6 AND OR DUP2 MSTORE SWAP2 MLOAD DUP2 MLOAD PUSH1 0x60 SWAP4 PUSH1 0x0 SWAP4 DUP6 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP10 AND SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP3 SWAP2 SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x284 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2E4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 ISZERO DUP1 PUSH2 0x2FA JUMPI POP DUP1 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x318 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP3 POP POP POP PUSH2 0x43D JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 EQ ISZERO PUSH2 0x350 JUMPI PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x346 DUP2 PUSH2 0x45D JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 DUP2 MLOAD GT ISZERO PUSH2 0x428 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x38F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x3A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH5 0x100000000 DUP2 GT DUP3 DUP3 ADD DUP9 LT OR ISZERO PUSH2 0x3BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3EB JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3D3 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x418 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP SWAP3 POP POP POP PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH1 0x6 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH1 0x28 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 SWAP1 PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP6 DUP3 PUSH1 0x20 DUP2 LT PUSH2 0x49C JUMPI INVALID JUMPDEST BYTE PUSH1 0xF8 SHL SWAP1 POP PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP2 AND ISZERO PUSH2 0x50D JUMPI DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x4D7 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x485 JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x55B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5C3 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x575 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x58C JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x1 ADD PUSH2 0x561 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP3 MOD ISZERO DUP1 ISZERO PUSH2 0x5DF JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST DUP1 ISZERO PUSH2 0x5EC JUMPI POP PUSH1 0x28 DUP3 GT ISZERO JUMPDEST PUSH2 0x657 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373537472696E675574696C3A20494E56414C49445F4C454E0000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x670 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x69B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 JUMPDEST PUSH1 0x2 DUP6 DIV DUP2 LT ISZERO PUSH2 0x77C JUMPI PUSH1 0x8 PUSH1 0x13 DUP3 SWAP1 SUB MUL DUP3 SWAP1 SHR PUSH1 0xF PUSH1 0x4 DUP3 SWAP1 SHR AND PUSH1 0xF0 DUP3 AND DUP3 SUB PUSH2 0x6E5 DUP3 PUSH2 0x786 JUMP JUMPDEST DUP7 DUP6 PUSH1 0x2 MUL DUP2 MLOAD DUP2 LT PUSH2 0x6F4 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x72C DUP2 PUSH2 0x786 JUMP JUMPDEST DUP7 DUP6 PUSH1 0x2 MUL PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x73E JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP POP PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 POP PUSH2 0x6B8 SWAP1 POP JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP3 PUSH1 0xFF AND LT ISZERO PUSH2 0x7A1 JUMPI POP PUSH1 0x30 DUP2 ADD PUSH1 0xF8 SHL PUSH2 0x124 JUMP JUMPDEST POP PUSH1 0x37 DUP2 ADD PUSH1 0xF8 SHL PUSH2 0x124 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0xA4FF84 CODECOPY 0xDA ADD 0xC5 SELFDESTRUCT 0xBC 0x23 0xB8 0xAE DUP10 DUP7 0xC2 0x24 PUSH32 0x960FFFD7B71BB46232B4F7F6258064736F6C634300060C003300000000000000 ",
"sourceMap": "161:300:15:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063033b9b4f1461003b578063e54f7522146100e3575b600080fd5b61006e6004803603602081101561005157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610116565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a8578181015183820152602001610090565b50505050905090810190601f1680156100d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e600480360360208110156100f957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610129565b606061012182610134565b90505b919050565b60606101218261017e565b606080610161837f95d89b41000000000000000000000000000000000000000000000000000000006101c0565b90508051600014156101215761017683610443565b915050610124565b6060806101ab837f06fdde03000000000000000000000000000000000000000000000000000000006101c0565b90508051600014156101215761017683610450565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000851617815291518151606093600093859373ffffffffffffffffffffffffffffffffffffffff891693919290918291908083835b6020831061028457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610247565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146102e4576040519150601f19603f3d011682016040523d82523d6000602084013e6102e9565b606091505b50915091508115806102fa57508051155b1561031857604051806020016040528060008152509250505061043d565b80516020141561035057600081806020019051602081101561033957600080fd5b505190506103468161045d565b935050505061043d565b6040815111156104285780806020019051602081101561036f57600080fd5b810190808051604051939291908464010000000082111561038f57600080fd5b9083019060208201858111156103a457600080fd5b82516401000000008111828201881017156103be57600080fd5b82525081516020918201929091019080838360005b838110156103eb5781810151838201526020016103d3565b50505050905090810190601f1680156104185780820380516001836020036101000a031916815260200191505b506040525050509250505061043d565b60405180602001604052806000815250925050505b92915050565b60606101218260066105cc565b60606101218260286105cc565b6040805160208082528183019092526060918291906020820181803683370190505090506000805b602081101561051657600085826020811061049c57fe5b1a60f81b90507fff0000000000000000000000000000000000000000000000000000000000000081161561050d57808484815181106104d757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909201915b50600101610485565b5060608167ffffffffffffffff8111801561053057600080fd5b506040519080825280601f01601f19166020018201604052801561055b576020820181803683370190505b50905060005b828110156105c35783818151811061057557fe5b602001015160f81c60f81b82828151811061058c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101610561565b50949350505050565b6060600282061580156105df5750600082115b80156105ec575060288211155b61065757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f41646472657373537472696e675574696c3a20494e56414c49445f4c454e0000604482015290519081900360640190fd5b60608267ffffffffffffffff8111801561067057600080fd5b506040519080825280601f01601f19166020018201604052801561069b576020820181803683370190505b50905073ffffffffffffffffffffffffffffffffffffffff841660005b6002850481101561077c57600860138290030282901c600f600482901c1660f0821682036106e582610786565b8685600202815181106106f457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061072c81610786565b86856002026001018151811061073e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050600190920191506106b89050565b5090949350505050565b6000600a8260ff1610156107a157506030810160f81b610124565b506037810160f81b61012456fea264697066735822122062a4ff8439da01c5ffbc23b8ae8986c2247f960fffd7b71bb46232b4f7f6258064736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x33B9B4F EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE54F7522 EQ PUSH2 0xE3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA8 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x90 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xD5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x129 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH2 0x134 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH2 0x17E JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH2 0x161 DUP4 PUSH32 0x95D89B4100000000000000000000000000000000000000000000000000000000 PUSH2 0x1C0 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0x121 JUMPI PUSH2 0x176 DUP4 PUSH2 0x443 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x124 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH2 0x1AB DUP4 PUSH32 0x6FDDE0300000000000000000000000000000000000000000000000000000000 PUSH2 0x1C0 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0x121 JUMPI PUSH2 0x176 DUP4 PUSH2 0x450 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD DUP3 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP6 AND OR DUP2 MSTORE SWAP2 MLOAD DUP2 MLOAD PUSH1 0x60 SWAP4 PUSH1 0x0 SWAP4 DUP6 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP10 AND SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP3 SWAP2 SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x284 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2E4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 ISZERO DUP1 PUSH2 0x2FA JUMPI POP DUP1 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x318 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP3 POP POP POP PUSH2 0x43D JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 EQ ISZERO PUSH2 0x350 JUMPI PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x346 DUP2 PUSH2 0x45D JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 DUP2 MLOAD GT ISZERO PUSH2 0x428 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x38F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x3A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH5 0x100000000 DUP2 GT DUP3 DUP3 ADD DUP9 LT OR ISZERO PUSH2 0x3BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3EB JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3D3 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x418 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP SWAP3 POP POP POP PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH1 0x6 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x60 PUSH2 0x121 DUP3 PUSH1 0x28 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 SWAP1 PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP6 DUP3 PUSH1 0x20 DUP2 LT PUSH2 0x49C JUMPI INVALID JUMPDEST BYTE PUSH1 0xF8 SHL SWAP1 POP PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP2 AND ISZERO PUSH2 0x50D JUMPI DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x4D7 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x485 JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x55B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5C3 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x575 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x58C JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x1 ADD PUSH2 0x561 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP3 MOD ISZERO DUP1 ISZERO PUSH2 0x5DF JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST DUP1 ISZERO PUSH2 0x5EC JUMPI POP PUSH1 0x28 DUP3 GT ISZERO JUMPDEST PUSH2 0x657 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373537472696E675574696C3A20494E56414C49445F4C454E0000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x670 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x69B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 JUMPDEST PUSH1 0x2 DUP6 DIV DUP2 LT ISZERO PUSH2 0x77C JUMPI PUSH1 0x8 PUSH1 0x13 DUP3 SWAP1 SUB MUL DUP3 SWAP1 SHR PUSH1 0xF PUSH1 0x4 DUP3 SWAP1 SHR AND PUSH1 0xF0 DUP3 AND DUP3 SUB PUSH2 0x6E5 DUP3 PUSH2 0x786 JUMP JUMPDEST DUP7 DUP6 PUSH1 0x2 MUL DUP2 MLOAD DUP2 LT PUSH2 0x6F4 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x72C DUP2 PUSH2 0x786 JUMP JUMPDEST DUP7 DUP6 PUSH1 0x2 MUL PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x73E JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP POP PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 POP PUSH2 0x6B8 SWAP1 POP JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP3 PUSH1 0xFF AND LT ISZERO PUSH2 0x7A1 JUMPI POP PUSH1 0x30 DUP2 ADD PUSH1 0xF8 SHL PUSH2 0x124 JUMP JUMPDEST POP PUSH1 0x37 DUP2 ADD PUSH1 0xF8 SHL PUSH2 0x124 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0xA4FF84 CODECOPY 0xDA ADD 0xC5 SELFDESTRUCT 0xBC 0x23 0xB8 0xAE DUP10 DUP7 0xC2 0x24 PUSH32 0x960FFFD7B71BB46232B4F7F6258064736F6C634300060C003300000000000000 ",
"sourceMap": "161:300:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;195:131;;;;;;;;;;;;;;;;-1:-1:-1;195:131:15;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;332:127;;;;;;;;;;;;;;;;-1:-1:-1;332:127:15;;;;:::i;195:131::-;254:13;286:33;313:5;286:26;:33::i;:::-;279:40;;195:131;;;;:::o;332:127::-;389:13;421:31;446:5;421:24;:31::i;2960:382:5:-;3019:13;;3121:43;3146:5;3121:43;:24;:43::i;:::-;3098:66;;3184:6;3178:20;3202:1;3178:25;3174:139;;;3280:22;3296:5;3280:15;:22::i;:::-;3273:29;;;;;3462:363;3519:13;;3617:43;3642:5;3617:43;:24;:43::i;:::-;3596:64;;3680:4;3674:18;3696:1;3674:23;3670:128;;;3767:20;3781:5;3767:13;:20::i;2180:654::-;2346:32;;;;;;;;;;;;;;;;;;;;;;;;2329:50;;;;2268:13;;2294:12;;2268:13;;2329:16;;;;2346:32;;2329:50;;;;2346:32;2329:50;;2346:32;2329:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:86;;;;2468:7;2467:8;:28;;;-1:-1:-1;2479:11:5;;:16;2467:28;2463:68;;;2511:9;;;;;;;;;;;;;;;;;;2463:68;2589:4;:11;2604:2;2589:17;2585:224;;;2622:15;2651:4;2640:27;;;;;;;;;;;;;;;-1:-1:-1;2640:27:5;;-1:-1:-1;2688:24:5;2640:27;2688:15;:24::i;:::-;2681:31;;;;;;;2585:224;2747:2;2733:4;:11;:16;2729:80;;;2783:4;2772:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2772:26:5;;;;;;;;;;-1:-1:-1;2772:26:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2765:33;;;;;;2729:80;2818:9;;;;;;;;;;;;;;;;2180:654;;;;;:::o;1913:142::-;1975:13;2007:41;2039:5;2046:1;2007:31;:41::i;1618:141::-;1678:13;1710:42;1742:5;1749:2;1710:31;:42::i;332:584::-;442:13;;;452:2;442:13;;;;;;;;;390;;;;442;;;;;;;;;;;-1:-1:-1;442:13:5;415:40;;465:17;501:9;496:195;520:2;516:1;:6;496:195;;;543:11;557:1;559;557:4;;;;;;;;;;;-1:-1:-1;579:9:5;;;;575:106;;633:4;608:11;620:9;608:22;;;;;;;;;;;:29;;;;;;;;;;-1:-1:-1;655:11:5;;;;;575:106;-1:-1:-1;524:3:5;;496:195;;;;700:31;744:9;734:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;734:20:5;;700:54;;769:9;764:103;788:9;784:1;:13;764:103;;;842:11;854:1;842:14;;;;;;;;;;;;;;;;818:18;837:1;818:21;;;;;;;;;;;:38;;;;;;;;;;-1:-1:-1;799:3:5;;764:103;;;-1:-1:-1;890:18:5;332:584;-1:-1:-1;;;;332:584:5:o;212:792:0:-;285:13;324:1;318:3;:7;:12;:23;;;;;340:1;334:3;:7;318:23;:36;;;;;352:2;345:3;:9;;318:36;310:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;400:14;427:3;417:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;417:14:0;-1:-1:-1;400:31:0;-1:-1:-1;459:13:0;;;441:15;482:490;512:1;506:3;:7;502:1;:11;482:490;;;674:1;679:2;:6;;;674:12;662:25;;;779:6;784:1;779:6;;;;883:7;;;878:13;;916:8;779:6;916:4;:8::i;:::-;905:1;911;907;:5;905:8;;;;;;;;;;;:19;;;;;;;;;;;953:8;958:2;953:4;:8::i;:::-;938:1;944;940;:5;948:1;940:9;938:12;;;;;;;;;;;:23;;;;;;;;;;-1:-1:-1;;515:3:0;;;;;-1:-1:-1;482:490:0;;-1:-1:-1;482:490:0;;-1:-1:-1;995:1:0;;212:792;-1:-1:-1;;;;212:792:0:o;1206:185::-;1251:8;1279:2;1275:1;:6;;;1271:114;;;-1:-1:-1;1315:4:0;1311:8;;1304:16;;1297:23;;1271:114;-1:-1:-1;1369:4:0;1365:8;;1358:16;;1351:23;"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"tokenName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"tokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/SafeERC20NamerTest.sol\":\"SafeERC20NamerTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"contracts/libraries/AddressStringUtil.sol\":{\"keccak256\":\"0x1edf9591b1858ce9093a4baaf816280d92bd1441e911a82bf509b8d2bb3195ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bb7600744f3ce303df65f763ad7eec56223b9687e19476d992b95ccaf45eaf99\",\"dweb:/ipfs/QmPHDpxSbifD4ThEmM5hZoyfd9K9NMg9k6WZvFhFSFK42w\"]},\"contracts/libraries/SafeERC20Namer.sol\":{\"keccak256\":\"0x268aaae7920551371023765da8968743b9c1bbc9e446730ff76de6cb4ee77420\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e7ef384c12b35ba88ae0462515556e8625ff87480e00cd2c135b6511aa88e7b3\",\"dweb:/ipfs/QmYayZDbGAjEvV5Ma3CUbLiDk8BFppjVuHc2FpwT8MyehV\"]},\"contracts/test/SafeERC20NamerTest.sol\":{\"keccak256\":\"0x7e90fba03e905fa1765fc61c5a82370f9a2e728bd72c64304f1977377bd1d351\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6334a02f957fdd46cb66f5fd540f629b9192a03b8a16fe5acb5cc422a7344676\",\"dweb:/ipfs/Qmd8qgXJy6e9beahdLDz577BxiC2p1QE2qhHWPwScQPAhb\"]}},\"version\":1}",
"bytecode": "608060405234801561001057600080fd5b506107e4806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063033b9b4f1461003b578063e54f7522146100e3575b600080fd5b61006e6004803603602081101561005157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610116565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a8578181015183820152602001610090565b50505050905090810190601f1680156100d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e600480360360208110156100f957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610129565b606061012182610134565b90505b919050565b60606101218261017e565b606080610161837f95d89b41000000000000000000000000000000000000000000000000000000006101c0565b90508051600014156101215761017683610443565b915050610124565b6060806101ab837f06fdde03000000000000000000000000000000000000000000000000000000006101c0565b90508051600014156101215761017683610450565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000851617815291518151606093600093859373ffffffffffffffffffffffffffffffffffffffff891693919290918291908083835b6020831061028457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610247565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146102e4576040519150601f19603f3d011682016040523d82523d6000602084013e6102e9565b606091505b50915091508115806102fa57508051155b1561031857604051806020016040528060008152509250505061043d565b80516020141561035057600081806020019051602081101561033957600080fd5b505190506103468161045d565b935050505061043d565b6040815111156104285780806020019051602081101561036f57600080fd5b810190808051604051939291908464010000000082111561038f57600080fd5b9083019060208201858111156103a457600080fd5b82516401000000008111828201881017156103be57600080fd5b82525081516020918201929091019080838360005b838110156103eb5781810151838201526020016103d3565b50505050905090810190601f1680156104185780820380516001836020036101000a031916815260200191505b506040525050509250505061043d565b60405180602001604052806000815250925050505b92915050565b60606101218260066105cc565b60606101218260286105cc565b6040805160208082528183019092526060918291906020820181803683370190505090506000805b602081101561051657600085826020811061049c57fe5b1a60f81b90507fff0000000000000000000000000000000000000000000000000000000000000081161561050d57808484815181106104d757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909201915b50600101610485565b5060608167ffffffffffffffff8111801561053057600080fd5b506040519080825280601f01601f19166020018201604052801561055b576020820181803683370190505b50905060005b828110156105c35783818151811061057557fe5b602001015160f81c60f81b82828151811061058c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101610561565b50949350505050565b6060600282061580156105df5750600082115b80156105ec575060288211155b61065757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f41646472657373537472696e675574696c3a20494e56414c49445f4c454e0000604482015290519081900360640190fd5b60608267ffffffffffffffff8111801561067057600080fd5b506040519080825280601f01601f19166020018201604052801561069b576020820181803683370190505b50905073ffffffffffffffffffffffffffffffffffffffff841660005b6002850481101561077c57600860138290030282901c600f600482901c1660f0821682036106e582610786565b8685600202815181106106f457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061072c81610786565b86856002026001018151811061073e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050600190920191506106b89050565b5090949350505050565b6000600a8260ff1610156107a157506030810160f81b610124565b506037810160f81b61012456fea264697066735822122062a4ff8439da01c5ffbc23b8ae8986c2247f960fffd7b71bb46232b4f7f6258064736f6c634300060c0033"
}