{
  "contracts": {
    "fixtures/cont.sol": {
      "x": {
        "abi": [
          {
            "constant": true,
            "inputs": [
              {
                "name": "_foo",
                "type": "int256"
              },
              {
                "name": "_bar",
                "type": "int256"
              }
            ],
            "name": "f",
            "outputs": [
              {
                "name": "_addition",
                "type": "int256"
              }
            ],
            "payable": false,
            "stateMutability": "pure",
            "type": "function"
          },
          {
            "constant": true,
            "inputs": [
              {
                "name": "_bar",
                "type": "int256"
              }
            ],
            "name": "h",
            "outputs": [
              {
                "name": "_great",
                "type": "bool"
              }
            ],
            "payable": false,
            "stateMutability": "pure",
            "type": "function"
          },
          {
            "constant": false,
            "inputs": [
              {
                "name": "_number",
                "type": "int256"
              }
            ],
            "name": "g",
            "outputs": [
              {
                "name": "_multiplication",
                "type": "int256"
              }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "name": "_name",
                "type": "string"
              }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
          }
        ],
        "devdoc": {
          "methods": {}
        },
        "evm": {
          "assembly": "    /* \"fixtures/cont.sol\":26:513  contract x {... */\n  mstore(0x40, 0x80)\n    /* \"fixtures/cont.sol\":71:131  constructor(string _name)... */\n  callvalue\n    /* \"--CODEGEN--\":8:17   */\n  dup1\n    /* \"--CODEGEN--\":5:7   */\n  iszero\n  tag_1\n  jumpi\n    /* \"--CODEGEN--\":30:31   */\n  0x0\n    /* \"--CODEGEN--\":27:28   */\n  dup1\n    /* \"--CODEGEN--\":20:32   */\n  revert\n    /* \"--CODEGEN--\":5:7   */\ntag_1:\n    /* \"fixtures/cont.sol\":71:131  constructor(string _name)... */\n  pop\n  mload(0x40)\n  sub(codesize, bytecodeSize)\n  dup1\n  bytecodeSize\n  dup4\n  codecopy\n  dup2\n  add\n  0x40\n  mstore\n  dup1\n  mload\n  add\n    /* \"fixtures/cont.sol\":114:126  name = _name */\n  dup1\n  mload\n  tag_4\n  swap1\n    /* \"fixtures/cont.sol\":114:118  name */\n  0x1\n  swap1\n    /* \"fixtures/cont.sol\":114:126  name = _name */\n  0x20\n  dup5\n  add\n  swap1\n  jump\t// in(tag_5)\ntag_4:\n  pop\n    /* \"fixtures/cont.sol\":71:131  constructor(string _name)... */\n  pop\n    /* \"fixtures/cont.sol\":26:513  contract x {... */\n  jump(tag_6)\ntag_5:\n  dup3\n  dup1\n  sload\n  0x1\n  dup2\n  0x1\n  and\n  iszero\n  0x100\n  mul\n  sub\n  and\n  0x2\n  swap1\n  div\n  swap1\n  0x0\n  mstore\n  keccak256(0x0, 0x20)\n  swap1\n  0x1f\n  add\n  0x20\n  swap1\n  div\n  dup2\n  add\n  swap3\n  dup3\n  0x1f\n  lt\n  tag_8\n  jumpi\n  dup1\n  mload\n  not(0xff)\n  and\n  dup4\n  dup1\n  add\n  or\n  dup6\n  sstore\n  jump(tag_10)\ntag_8:\n  dup3\n  dup1\n  add\n  0x1\n  add\n  dup6\n  sstore\n  dup3\n  iszero\n  tag_10\n  jumpi\n  swap2\n  dup3\n  add\ntag_9:\n  dup3\n  dup2\n  gt\n  iszero\n  tag_10\n  jumpi\n  dup3\n  mload\n  dup3\n  sstore\n  swap2\n  0x20\n  add\n  swap2\n  swap1\n  0x1\n  add\n  swap1\n  jump(tag_9)\ntag_10:\n  pop\n  tag_11\n  swap3\n  swap2\n  pop\n  jump\t// in(tag_12)\ntag_11:\n  pop\n  swap1\n  jump\t// out\ntag_12:\n  tag_13\n  swap2\n  swap1\ntag_14:\n  dup1\n  dup3\n  gt\n  iszero\n  tag_11\n  jumpi\n  0x0\n  dup2\n  sstore\n  0x1\n  add\n  jump(tag_14)\ntag_13:\n  swap1\n  jump\t// out\ntag_6:\n  dataSize(sub_0)\n  dup1\n  dataOffset(sub_0)\n  0x0\n  codecopy\n  0x0\n  return\nstop\n\nsub_0: assembly {\n        /* \"fixtures/cont.sol\":26:513  contract x {... */\n      mstore(0x40, 0x80)\n      jumpi(tag_1, lt(calldatasize, 0x4))\n      and(div(calldataload(0x0), 0x100000000000000000000000000000000000000000000000000000000), 0xffffffff)\n      0xafdb4ea\n      dup2\n      eq\n      tag_2\n      jumpi\n      dup1\n      0x1de69c5d\n      eq\n      tag_3\n      jumpi\n      dup1\n      0x7877b803\n      eq\n      tag_4\n      jumpi\n    tag_1:\n      0x0\n      dup1\n      revert\n        /* \"fixtures/cont.sol\":257:361  function f(int _foo, int _bar)... */\n    tag_2:\n      callvalue\n        /* \"--CODEGEN--\":8:17   */\n      dup1\n        /* \"--CODEGEN--\":5:7   */\n      iszero\n      tag_5\n      jumpi\n        /* \"--CODEGEN--\":30:31   */\n      0x0\n        /* \"--CODEGEN--\":27:28   */\n      dup1\n        /* \"--CODEGEN--\":20:32   */\n      revert\n        /* \"--CODEGEN--\":5:7   */\n    tag_5:\n      pop\n        /* \"fixtures/cont.sol\":257:361  function f(int _foo, int _bar)... */\n      tag_6\n      calldataload(0x4)\n      calldataload(0x24)\n      jump(tag_7)\n    tag_6:\n      0x40\n      dup1\n      mload\n      swap2\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"fixtures/cont.sol\":365:511  function h(int _bar)... */\n    tag_3:\n      callvalue\n        /* \"--CODEGEN--\":8:17   */\n      dup1\n        /* \"--CODEGEN--\":5:7   */\n      iszero\n      tag_8\n      jumpi\n        /* \"--CODEGEN--\":30:31   */\n      0x0\n        /* \"--CODEGEN--\":27:28   */\n      dup1\n        /* \"--CODEGEN--\":20:32   */\n      revert\n        /* \"--CODEGEN--\":5:7   */\n    tag_8:\n      pop\n        /* \"fixtures/cont.sol\":365:511  function h(int _bar)... */\n      tag_9\n      calldataload(0x4)\n      jump(tag_10)\n    tag_9:\n      0x40\n      dup1\n      mload\n      swap2\n      iszero\n      iszero\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"fixtures/cont.sol\":135:253  function g(int _number)... */\n    tag_4:\n      callvalue\n        /* \"--CODEGEN--\":8:17   */\n      dup1\n        /* \"--CODEGEN--\":5:7   */\n      iszero\n      tag_11\n      jumpi\n        /* \"--CODEGEN--\":30:31   */\n      0x0\n        /* \"--CODEGEN--\":27:28   */\n      dup1\n        /* \"--CODEGEN--\":20:32   */\n      revert\n        /* \"--CODEGEN--\":5:7   */\n    tag_11:\n      pop\n        /* \"fixtures/cont.sol\":135:253  function g(int _number)... */\n      tag_6\n      calldataload(0x4)\n      jump(tag_13)\n        /* \"fixtures/cont.sol\":257:361  function f(int _foo, int _bar)... */\n    tag_7:\n        /* \"fixtures/cont.sol\":345:356  _foo + _bar */\n      add\n      swap1\n        /* \"fixtures/cont.sol\":257:361  function f(int _foo, int _bar)... */\n      jump\t// out\n        /* \"fixtures/cont.sol\":365:511  function h(int _bar)... */\n    tag_10:\n        /* \"fixtures/cont.sol\":413:424  bool _great */\n      0x0\n        /* \"fixtures/cont.sol\":444:446  25 */\n      0x19\n        /* \"fixtures/cont.sol\":437:441  _bar */\n      dup3\n        /* \"fixtures/cont.sol\":437:446  _bar > 25 */\n      sgt\n        /* \"fixtures/cont.sol\":434:507  if(_bar > 25) {... */\n      iszero\n      tag_16\n      jumpi\n      pop\n        /* \"fixtures/cont.sol\":463:467  true */\n      0x1\n        /* \"fixtures/cont.sol\":456:467  return true */\n      jump(tag_17)\n        /* \"fixtures/cont.sol\":434:507  if(_bar > 25) {... */\n    tag_16:\n      pop\n        /* \"fixtures/cont.sol\":495:500  false */\n      0x0\n        /* \"fixtures/cont.sol\":434:507  if(_bar > 25) {... */\n    tag_17:\n        /* \"fixtures/cont.sol\":365:511  function h(int _bar)... */\n      swap2\n      swap1\n      pop\n      jump\t// out\n        /* \"fixtures/cont.sol\":135:253  function g(int _number)... */\n    tag_13:\n        /* \"fixtures/cont.sol\":179:198  int _multiplication */\n      0x0\n        /* \"fixtures/cont.sol\":208:224  number = _number */\n      dup2\n      swap1\n      sstore\n        /* \"fixtures/cont.sol\":247:248  5 */\n      0x5\n        /* \"fixtures/cont.sol\":237:248  _number * 5 */\n      mul\n      swap1\n        /* \"fixtures/cont.sol\":135:253  function g(int _number)... */\n      jump\t// out\n\n    auxdata: 0xa165627a7a72305820c971638cd2dfd9d71494bc48be2f33478792088221c22c68af8f597223ada59c0029\n}\n",
          "bytecode": {
            "linkReferences": {},
            "object": "608060405234801561001057600080fd5b506040516101ff3803806101ff83398101604052805101805161003a906001906020840190610041565b50506100dc565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061008257805160ff19168380011785556100af565b828001600101855582156100af579182015b828111156100af578251825591602001919060010190610094565b506100bb9291506100bf565b5090565b6100d991905b808211156100bb57600081556001016100c5565b90565b610114806100eb6000396000f30060806040526004361060525763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630afdb4ea811460575780631de69c5d1460815780637877b8031460aa575b600080fd5b348015606257600080fd5b50606f60043560243560bf565b60408051918252519081900360200190f35b348015608c57600080fd5b50609660043560c3565b604080519115158252519081900360200190f35b34801560b557600080fd5b50606f60043560dd565b0190565b6000601982131560d45750600160d8565b5060005b919050565b6000819055600502905600a165627a7a72305820c971638cd2dfd9d71494bc48be2f33478792088221c22c68af8f597223ada59c0029",
            "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1FF CODESIZE SUB DUP1 PUSH2 0x1FF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 MLOAD ADD DUP1 MLOAD PUSH2 0x3A SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0x41 JUMP JUMPDEST POP POP PUSH2 0xDC JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x82 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xAF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xAF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xAF JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x94 JUMP JUMPDEST POP PUSH2 0xBB SWAP3 SWAP2 POP PUSH2 0xBF JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0xD9 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xBB JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xC5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x114 DUP1 PUSH2 0xEB PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x52 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xAFDB4EA DUP2 EQ PUSH1 0x57 JUMPI DUP1 PUSH4 0x1DE69C5D EQ PUSH1 0x81 JUMPI DUP1 PUSH4 0x7877B803 EQ PUSH1 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0x62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6F PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0xBF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0x8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x96 PUSH1 0x4 CALLDATALOAD PUSH1 0xC3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6F PUSH1 0x4 CALLDATALOAD PUSH1 0xDD JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x19 DUP3 SGT ISZERO PUSH1 0xD4 JUMPI POP PUSH1 0x1 PUSH1 0xD8 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE PUSH1 0x5 MUL SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc9 PUSH18 0x638CD2DFD9D71494BC48BE2F334787920882 0x21 0xc2 0x2c PUSH9 0xAF8F597223ADA59C00 0x29 ",
            "sourceMap": "26:487:0:-;;;71:60;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:60:0;;;;;;;;;;;;;;;;;114:12;;;;:4;;:12;;;;;:::i;:::-;;71:60;26:487;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26:487:0;;;-1:-1:-1;26:487:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
          },
          "deployedBytecode": {
            "linkReferences": {},
            "object": "60806040526004361060525763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630afdb4ea811460575780631de69c5d1460815780637877b8031460aa575b600080fd5b348015606257600080fd5b50606f60043560243560bf565b60408051918252519081900360200190f35b348015608c57600080fd5b50609660043560c3565b604080519115158252519081900360200190f35b34801560b557600080fd5b50606f60043560dd565b0190565b6000601982131560d45750600160d8565b5060005b919050565b6000819055600502905600a165627a7a72305820c971638cd2dfd9d71494bc48be2f33478792088221c22c68af8f597223ada59c0029",
            "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x52 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xAFDB4EA DUP2 EQ PUSH1 0x57 JUMPI DUP1 PUSH4 0x1DE69C5D EQ PUSH1 0x81 JUMPI DUP1 PUSH4 0x7877B803 EQ PUSH1 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0x62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6F PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0xBF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0x8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x96 PUSH1 0x4 CALLDATALOAD PUSH1 0xC3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6F PUSH1 0x4 CALLDATALOAD PUSH1 0xDD JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x19 DUP3 SGT ISZERO PUSH1 0xD4 JUMPI POP PUSH1 0x1 PUSH1 0xD8 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE PUSH1 0x5 MUL SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc9 PUSH18 0x638CD2DFD9D71494BC48BE2F334787920882 0x21 0xc2 0x2c PUSH9 0xAF8F597223ADA59C00 0x29 ",
            "sourceMap": "26:487:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;257:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;257:104:0;;;;;;;;;;;;;;;;;;;;;;;365:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;365:146:0;;;;;;;;;;;;;;;;;;;;;;;135:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;135:118:0;;;;;257:104;345:11;;257:104::o;365:146::-;413:11;444:2;437:4;:9;434:73;;;-1:-1:-1;463:4:0;456:11;;434:73;-1:-1:-1;495:5:0;434:73;365:146;;;:::o;135:118::-;179:19;208:16;;;247:1;237:11;;135:118::o"
          },
          "gasEstimates": {
            "creation": {
              "codeDepositCost": "55200",
              "executionCost": "infinite",
              "totalCost": "infinite"
            },
            "external": {
              "f(int256,int256)": "196",
              "g(int256)": "20248",
              "h(int256)": "265"
            }
          },
          "legacyAssembly": {
            ".code": [
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "80"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "40"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "MSTORE"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "CALLVALUE"
              },
              {
                "begin": 8,
                "end": 17,
                "name": "DUP1"
              },
              {
                "begin": 5,
                "end": 7,
                "name": "ISZERO"
              },
              {
                "begin": 5,
                "end": 7,
                "name": "PUSH [tag]",
                "value": "1"
              },
              {
                "begin": 5,
                "end": 7,
                "name": "JUMPI"
              },
              {
                "begin": 30,
                "end": 31,
                "name": "PUSH",
                "value": "0"
              },
              {
                "begin": 27,
                "end": 28,
                "name": "DUP1"
              },
              {
                "begin": 20,
                "end": 32,
                "name": "REVERT"
              },
              {
                "begin": 5,
                "end": 7,
                "name": "tag",
                "value": "1"
              },
              {
                "begin": 5,
                "end": 7,
                "name": "JUMPDEST"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "POP"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "PUSH",
                "value": "40"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "MLOAD"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "PUSHSIZE"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "CODESIZE"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "SUB"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "DUP1"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "PUSHSIZE"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "DUP4"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "CODECOPY"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "DUP2"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "ADD"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "PUSH",
                "value": "40"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "MSTORE"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "DUP1"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "MLOAD"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "ADD"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "DUP1"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "MLOAD"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "PUSH [tag]",
                "value": "4"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "SWAP1"
              },
              {
                "begin": 114,
                "end": 118,
                "name": "PUSH",
                "value": "1"
              },
              {
                "begin": 114,
                "end": 118,
                "name": "SWAP1"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "PUSH",
                "value": "20"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "DUP5"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "ADD"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "SWAP1"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "PUSH [tag]",
                "value": "5"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "JUMP",
                "value": "[in]"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "tag",
                "value": "4"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "JUMPDEST"
              },
              {
                "begin": 114,
                "end": 126,
                "name": "POP"
              },
              {
                "begin": 71,
                "end": 131,
                "name": "POP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "6"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "5"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SLOAD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "AND"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ISZERO"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "100"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "MUL"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SUB"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "AND"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DIV"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "0"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "MSTORE"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "20"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "0"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "KECCAK256"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1F"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "20"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DIV"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1F"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "LT"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "8"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPI"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "MLOAD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "FF"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "NOT"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "AND"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP4"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "OR"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP6"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SSTORE"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "10"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "8"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP6"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SSTORE"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ISZERO"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "10"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPI"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "9"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "GT"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ISZERO"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "10"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPI"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "MLOAD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SSTORE"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "20"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "9"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "10"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": -1,
                "end": -1,
                "name": "POP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "11"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP2"
              },
              {
                "begin": -1,
                "end": -1,
                "name": "POP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "12"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP",
                "value": "[in]"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "11"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "POP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP",
                "value": "[out]"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "12"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "13"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "14"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP3"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "GT"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ISZERO"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "11"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPI"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "0"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP2"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SSTORE"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "ADD"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [tag]",
                "value": "14"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "13"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "SWAP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMP",
                "value": "[out]"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "tag",
                "value": "6"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "JUMPDEST"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH #[$]",
                "value": "0000000000000000000000000000000000000000000000000000000000000000"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "DUP1"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH [$]",
                "value": "0000000000000000000000000000000000000000000000000000000000000000"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "0"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "CODECOPY"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "PUSH",
                "value": "0"
              },
              {
                "begin": 26,
                "end": 513,
                "name": "RETURN"
              }
            ],
            ".data": {
              "0": {
                ".auxdata": "a165627a7a72305820c971638cd2dfd9d71494bc48be2f33478792088221c22c68af8f597223ada59c0029",
                ".code": [
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "80"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "40"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "MSTORE"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "4"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "CALLDATASIZE"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "LT"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH [tag]",
                    "value": "1"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "FFFFFFFF"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "100000000000000000000000000000000000000000000000000000000"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "CALLDATALOAD"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "DIV"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "AND"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "AFDB4EA"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "DUP2"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "EQ"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH [tag]",
                    "value": "2"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "DUP1"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "1DE69C5D"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "EQ"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH [tag]",
                    "value": "3"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "DUP1"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "7877B803"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "EQ"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH [tag]",
                    "value": "4"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "tag",
                    "value": "1"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "DUP1"
                  },
                  {
                    "begin": 26,
                    "end": 513,
                    "name": "REVERT"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "tag",
                    "value": "2"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "CALLVALUE"
                  },
                  {
                    "begin": 8,
                    "end": 17,
                    "name": "DUP1"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "ISZERO"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "PUSH [tag]",
                    "value": "5"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 30,
                    "end": 31,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 27,
                    "end": 28,
                    "name": "DUP1"
                  },
                  {
                    "begin": 20,
                    "end": 32,
                    "name": "REVERT"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "tag",
                    "value": "5"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": -1,
                    "end": -1,
                    "name": "POP"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "PUSH [tag]",
                    "value": "6"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "PUSH",
                    "value": "4"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "CALLDATALOAD"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "PUSH",
                    "value": "24"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "CALLDATALOAD"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "PUSH [tag]",
                    "value": "7"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "JUMP"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "tag",
                    "value": "6"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "PUSH",
                    "value": "40"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "DUP1"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "MLOAD"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "SWAP2"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "DUP3"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "MSTORE"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "MLOAD"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "DUP2"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "SUB"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "PUSH",
                    "value": "20"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "ADD"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "RETURN"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "tag",
                    "value": "3"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "CALLVALUE"
                  },
                  {
                    "begin": 8,
                    "end": 17,
                    "name": "DUP1"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "ISZERO"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "PUSH [tag]",
                    "value": "8"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 30,
                    "end": 31,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 27,
                    "end": 28,
                    "name": "DUP1"
                  },
                  {
                    "begin": 20,
                    "end": 32,
                    "name": "REVERT"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "tag",
                    "value": "8"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": -1,
                    "end": -1,
                    "name": "POP"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "PUSH [tag]",
                    "value": "9"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "PUSH",
                    "value": "4"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "CALLDATALOAD"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "PUSH [tag]",
                    "value": "10"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "JUMP"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "tag",
                    "value": "9"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "PUSH",
                    "value": "40"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "DUP1"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "MLOAD"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SWAP2"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "ISZERO"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "ISZERO"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "DUP3"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "MSTORE"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "MLOAD"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "DUP2"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SUB"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "PUSH",
                    "value": "20"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "ADD"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "RETURN"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "tag",
                    "value": "4"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "CALLVALUE"
                  },
                  {
                    "begin": 8,
                    "end": 17,
                    "name": "DUP1"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "ISZERO"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "PUSH [tag]",
                    "value": "11"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "JUMPI"
                  },
                  {
                    "begin": 30,
                    "end": 31,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 27,
                    "end": 28,
                    "name": "DUP1"
                  },
                  {
                    "begin": 20,
                    "end": 32,
                    "name": "REVERT"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "tag",
                    "value": "11"
                  },
                  {
                    "begin": 5,
                    "end": 7,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": -1,
                    "end": -1,
                    "name": "POP"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "PUSH [tag]",
                    "value": "6"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "PUSH",
                    "value": "4"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "CALLDATALOAD"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "PUSH [tag]",
                    "value": "13"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "JUMP"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "tag",
                    "value": "7"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 345,
                    "end": 356,
                    "name": "ADD"
                  },
                  {
                    "begin": 345,
                    "end": 356,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 257,
                    "end": 361,
                    "name": "JUMP",
                    "value": "[out]"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "tag",
                    "value": "10"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 413,
                    "end": 424,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 444,
                    "end": 446,
                    "name": "PUSH",
                    "value": "19"
                  },
                  {
                    "begin": 437,
                    "end": 441,
                    "name": "DUP3"
                  },
                  {
                    "begin": 437,
                    "end": 446,
                    "name": "SGT"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "ISZERO"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "PUSH [tag]",
                    "value": "16"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "JUMPI"
                  },
                  {
                    "begin": -1,
                    "end": -1,
                    "name": "POP"
                  },
                  {
                    "begin": 463,
                    "end": 467,
                    "name": "PUSH",
                    "value": "1"
                  },
                  {
                    "begin": 456,
                    "end": 467,
                    "name": "PUSH [tag]",
                    "value": "17"
                  },
                  {
                    "begin": 456,
                    "end": 467,
                    "name": "JUMP"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "tag",
                    "value": "16"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": -1,
                    "end": -1,
                    "name": "POP"
                  },
                  {
                    "begin": 495,
                    "end": 500,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "tag",
                    "value": "17"
                  },
                  {
                    "begin": 434,
                    "end": 507,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SWAP2"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "POP"
                  },
                  {
                    "begin": 365,
                    "end": 511,
                    "name": "JUMP",
                    "value": "[out]"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "tag",
                    "value": "13"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "JUMPDEST"
                  },
                  {
                    "begin": 179,
                    "end": 198,
                    "name": "PUSH",
                    "value": "0"
                  },
                  {
                    "begin": 208,
                    "end": 224,
                    "name": "DUP2"
                  },
                  {
                    "begin": 208,
                    "end": 224,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 208,
                    "end": 224,
                    "name": "SSTORE"
                  },
                  {
                    "begin": 247,
                    "end": 248,
                    "name": "PUSH",
                    "value": "5"
                  },
                  {
                    "begin": 237,
                    "end": 248,
                    "name": "MUL"
                  },
                  {
                    "begin": 237,
                    "end": 248,
                    "name": "SWAP1"
                  },
                  {
                    "begin": 135,
                    "end": 253,
                    "name": "JUMP",
                    "value": "[out]"
                  }
                ]
              }
            }
          },
          "methodIdentifiers": {
            "f(int256,int256)": "0afdb4ea",
            "g(int256)": "7877b803",
            "h(int256)": "1de69c5d"
          }
        },
        "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_foo\",\"type\":\"int256\"},{\"name\":\"_bar\",\"type\":\"int256\"}],\"name\":\"f\",\"outputs\":[{\"name\":\"_addition\",\"type\":\"int256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_bar\",\"type\":\"int256\"}],\"name\":\"h\",\"outputs\":[{\"name\":\"_great\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_number\",\"type\":\"int256\"}],\"name\":\"g\",\"outputs\":[{\"name\":\"_multiplication\",\"type\":\"int256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"fixtures/cont.sol\":\"x\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"fixtures/cont.sol\":{\"keccak256\":\"0x672a47a1b70ddcbaf9a71c1a2d0ae3c36c526bd343f06ff17a0490025cac0292\",\"urls\":[\"bzzr://09b1fd3605d0a4c74e15c1069d618c4f107ecb00aefde37202455e91a56c3cb5\"]}},\"version\":1}",
        "userdoc": {
          "methods": {}
        }
      }
    }
  },
  "sources": {
    "fixtures/cont.sol": {
      "ast": {
        "absolutePath": "fixtures/cont.sol",
        "exportedSymbols": {
          "x": [
            64
          ]
        },
        "id": 65,
        "nodeType": "SourceUnit",
        "nodes": [
          {
            "id": 1,
            "literals": [
              "solidity",
              "^",
              "0.4",
              ".24"
            ],
            "nodeType": "PragmaDirective",
            "src": "0:24:0"
          },
          {
            "baseContracts": [],
            "contractDependencies": [],
            "contractKind": "contract",
            "documentation": null,
            "fullyImplemented": true,
            "id": 64,
            "linearizedBaseContracts": [
              64
            ],
            "name": "x",
            "nodeType": "ContractDefinition",
            "nodes": [
              {
                "constant": false,
                "id": 3,
                "name": "number",
                "nodeType": "VariableDeclaration",
                "scope": 64,
                "src": "41:10:0",
                "stateVariable": true,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                },
                "typeName": {
                  "id": 2,
                  "name": "int",
                  "nodeType": "ElementaryTypeName",
                  "src": "41:3:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 5,
                "name": "name",
                "nodeType": "VariableDeclaration",
                "scope": 64,
                "src": "55:11:0",
                "stateVariable": true,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "55:6:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "body": {
                  "id": 14,
                  "nodeType": "Block",
                  "src": "108:23:0",
                  "statements": [
                    {
                      "expression": {
                        "argumentTypes": null,
                        "id": 12,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "argumentTypes": null,
                          "id": 10,
                          "name": "name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5,
                          "src": "114:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "argumentTypes": null,
                          "id": 11,
                          "name": "_name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7,
                          "src": "121:5:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "src": "114:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "id": 13,
                      "nodeType": "ExpressionStatement",
                      "src": "114:12:0"
                    }
                  ]
                },
                "documentation": null,
                "id": 15,
                "implemented": true,
                "isConstructor": true,
                "isDeclaredConst": false,
                "modifiers": [],
                "name": "",
                "nodeType": "FunctionDefinition",
                "parameters": {
                  "id": 8,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 7,
                      "name": "_name",
                      "nodeType": "VariableDeclaration",
                      "scope": 15,
                      "src": "83:12:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 6,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "83:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "82:14:0"
                },
                "payable": false,
                "returnParameters": {
                  "id": 9,
                  "nodeType": "ParameterList",
                  "parameters": [],
                  "src": "108:0:0"
                },
                "scope": 64,
                "src": "71:60:0",
                "stateMutability": "nonpayable",
                "superFunction": null,
                "visibility": "public"
              },
              {
                "body": {
                  "id": 30,
                  "nodeType": "Block",
                  "src": "202:51:0",
                  "statements": [
                    {
                      "expression": {
                        "argumentTypes": null,
                        "id": 24,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "argumentTypes": null,
                          "id": 22,
                          "name": "number",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3,
                          "src": "208:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "argumentTypes": null,
                          "id": 23,
                          "name": "_number",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17,
                          "src": "217:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "src": "208:16:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "id": 25,
                      "nodeType": "ExpressionStatement",
                      "src": "208:16:0"
                    },
                    {
                      "expression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        "id": 28,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 26,
                          "name": "_number",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17,
                          "src": "237:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "*",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "35",
                          "id": 27,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "247:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_5_by_1",
                            "typeString": "int_const 5"
                          },
                          "value": "5"
                        },
                        "src": "237:11:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "functionReturnParameters": 21,
                      "id": 29,
                      "nodeType": "Return",
                      "src": "230:18:0"
                    }
                  ]
                },
                "documentation": null,
                "id": 31,
                "implemented": true,
                "isConstructor": false,
                "isDeclaredConst": false,
                "modifiers": [],
                "name": "g",
                "nodeType": "FunctionDefinition",
                "parameters": {
                  "id": 18,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 17,
                      "name": "_number",
                      "nodeType": "VariableDeclaration",
                      "scope": 31,
                      "src": "146:11:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 16,
                        "name": "int",
                        "nodeType": "ElementaryTypeName",
                        "src": "146:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "145:13:0"
                },
                "payable": false,
                "returnParameters": {
                  "id": 21,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 20,
                      "name": "_multiplication",
                      "nodeType": "VariableDeclaration",
                      "scope": 31,
                      "src": "179:19:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 19,
                        "name": "int",
                        "nodeType": "ElementaryTypeName",
                        "src": "179:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "178:21:0"
                },
                "scope": 64,
                "src": "135:118:0",
                "stateMutability": "nonpayable",
                "superFunction": null,
                "visibility": "public"
              },
              {
                "body": {
                  "id": 44,
                  "nodeType": "Block",
                  "src": "332:29:0",
                  "statements": [
                    {
                      "expression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        "id": 42,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 40,
                          "name": "_foo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 33,
                          "src": "345:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 41,
                          "name": "_bar",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 35,
                          "src": "352:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "src": "345:11:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "functionReturnParameters": 39,
                      "id": 43,
                      "nodeType": "Return",
                      "src": "338:18:0"
                    }
                  ]
                },
                "documentation": null,
                "id": 45,
                "implemented": true,
                "isConstructor": false,
                "isDeclaredConst": true,
                "modifiers": [],
                "name": "f",
                "nodeType": "FunctionDefinition",
                "parameters": {
                  "id": 36,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 33,
                      "name": "_foo",
                      "nodeType": "VariableDeclaration",
                      "scope": 45,
                      "src": "268:8:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 32,
                        "name": "int",
                        "nodeType": "ElementaryTypeName",
                        "src": "268:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 35,
                      "name": "_bar",
                      "nodeType": "VariableDeclaration",
                      "scope": 45,
                      "src": "278:8:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 34,
                        "name": "int",
                        "nodeType": "ElementaryTypeName",
                        "src": "278:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "267:20:0"
                },
                "payable": false,
                "returnParameters": {
                  "id": 39,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 38,
                      "name": "_addition",
                      "nodeType": "VariableDeclaration",
                      "scope": 45,
                      "src": "315:13:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 37,
                        "name": "int",
                        "nodeType": "ElementaryTypeName",
                        "src": "315:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "314:15:0"
                },
                "scope": 64,
                "src": "257:104:0",
                "stateMutability": "pure",
                "superFunction": null,
                "visibility": "public"
              },
              {
                "body": {
                  "id": 62,
                  "nodeType": "Block",
                  "src": "428:83:0",
                  "statements": [
                    {
                      "condition": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        "id": 54,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 52,
                          "name": "_bar",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 47,
                          "src": "437:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "3235",
                          "id": 53,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "444:2:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_25_by_1",
                            "typeString": "int_const 25"
                          },
                          "value": "25"
                        },
                        "src": "437:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 60,
                        "nodeType": "Block",
                        "src": "480:27:0",
                        "statements": [
                          {
                            "expression": {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 58,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "495:5:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            "functionReturnParameters": 51,
                            "id": 59,
                            "nodeType": "Return",
                            "src": "488:12:0"
                          }
                        ]
                      },
                      "id": 61,
                      "nodeType": "IfStatement",
                      "src": "434:73:0",
                      "trueBody": {
                        "id": 57,
                        "nodeType": "Block",
                        "src": "448:26:0",
                        "statements": [
                          {
                            "expression": {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 55,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "463:4:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            },
                            "functionReturnParameters": 51,
                            "id": 56,
                            "nodeType": "Return",
                            "src": "456:11:0"
                          }
                        ]
                      }
                    }
                  ]
                },
                "documentation": null,
                "id": 63,
                "implemented": true,
                "isConstructor": false,
                "isDeclaredConst": true,
                "modifiers": [],
                "name": "h",
                "nodeType": "FunctionDefinition",
                "parameters": {
                  "id": 48,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 47,
                      "name": "_bar",
                      "nodeType": "VariableDeclaration",
                      "scope": 63,
                      "src": "376:8:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 46,
                        "name": "int",
                        "nodeType": "ElementaryTypeName",
                        "src": "376:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "375:10:0"
                },
                "payable": false,
                "returnParameters": {
                  "id": 51,
                  "nodeType": "ParameterList",
                  "parameters": [
                    {
                      "constant": false,
                      "id": 50,
                      "name": "_great",
                      "nodeType": "VariableDeclaration",
                      "scope": 63,
                      "src": "413:11:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 49,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "413:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "src": "412:13:0"
                },
                "scope": 64,
                "src": "365:146:0",
                "stateMutability": "pure",
                "superFunction": null,
                "visibility": "public"
              }
            ],
            "scope": 65,
            "src": "26:487:0"
          }
        ],
        "src": "0:514:0"
      },
      "id": 0,
      "legacyAST": {
        "attributes": {
          "absolutePath": "fixtures/cont.sol",
          "exportedSymbols": {
            "x": [
              64
            ]
          }
        },
        "children": [
          {
            "attributes": {
              "literals": [
                "solidity",
                "^",
                "0.4",
                ".24"
              ]
            },
            "id": 1,
            "name": "PragmaDirective",
            "src": "0:24:0"
          },
          {
            "attributes": {
              "baseContracts": [
                null
              ],
              "contractDependencies": [
                null
              ],
              "contractKind": "contract",
              "documentation": null,
              "fullyImplemented": true,
              "linearizedBaseContracts": [
                64
              ],
              "name": "x",
              "scope": 65
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "number",
                  "scope": 64,
                  "stateVariable": true,
                  "storageLocation": "default",
                  "type": "int256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "int",
                      "type": "int256"
                    },
                    "id": 2,
                    "name": "ElementaryTypeName",
                    "src": "41:3:0"
                  }
                ],
                "id": 3,
                "name": "VariableDeclaration",
                "src": "41:10:0"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "name",
                  "scope": 64,
                  "stateVariable": true,
                  "storageLocation": "default",
                  "type": "string",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "string",
                      "type": "string"
                    },
                    "id": 4,
                    "name": "ElementaryTypeName",
                    "src": "55:6:0"
                  }
                ],
                "id": 5,
                "name": "VariableDeclaration",
                "src": "55:11:0"
              },
              {
                "attributes": {
                  "constant": false,
                  "documentation": null,
                  "implemented": true,
                  "isConstructor": true,
                  "modifiers": [
                    null
                  ],
                  "name": "",
                  "payable": false,
                  "scope": 64,
                  "stateMutability": "nonpayable",
                  "superFunction": null,
                  "visibility": "public"
                },
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_name",
                          "scope": 15,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "string",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "string",
                              "type": "string"
                            },
                            "id": 6,
                            "name": "ElementaryTypeName",
                            "src": "83:6:0"
                          }
                        ],
                        "id": 7,
                        "name": "VariableDeclaration",
                        "src": "83:12:0"
                      }
                    ],
                    "id": 8,
                    "name": "ParameterList",
                    "src": "82:14:0"
                  },
                  {
                    "attributes": {
                      "parameters": [
                        null
                      ]
                    },
                    "children": [],
                    "id": 9,
                    "name": "ParameterList",
                    "src": "108:0:0"
                  },
                  {
                    "children": [
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "=",
                              "type": "string storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5,
                                  "type": "string storage ref",
                                  "value": "name"
                                },
                                "id": 10,
                                "name": "Identifier",
                                "src": "114:4:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7,
                                  "type": "string memory",
                                  "value": "_name"
                                },
                                "id": 11,
                                "name": "Identifier",
                                "src": "121:5:0"
                              }
                            ],
                            "id": 12,
                            "name": "Assignment",
                            "src": "114:12:0"
                          }
                        ],
                        "id": 13,
                        "name": "ExpressionStatement",
                        "src": "114:12:0"
                      }
                    ],
                    "id": 14,
                    "name": "Block",
                    "src": "108:23:0"
                  }
                ],
                "id": 15,
                "name": "FunctionDefinition",
                "src": "71:60:0"
              },
              {
                "attributes": {
                  "constant": false,
                  "documentation": null,
                  "implemented": true,
                  "isConstructor": false,
                  "modifiers": [
                    null
                  ],
                  "name": "g",
                  "payable": false,
                  "scope": 64,
                  "stateMutability": "nonpayable",
                  "superFunction": null,
                  "visibility": "public"
                },
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_number",
                          "scope": 31,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 16,
                            "name": "ElementaryTypeName",
                            "src": "146:3:0"
                          }
                        ],
                        "id": 17,
                        "name": "VariableDeclaration",
                        "src": "146:11:0"
                      }
                    ],
                    "id": 18,
                    "name": "ParameterList",
                    "src": "145:13:0"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_multiplication",
                          "scope": 31,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 19,
                            "name": "ElementaryTypeName",
                            "src": "179:3:0"
                          }
                        ],
                        "id": 20,
                        "name": "VariableDeclaration",
                        "src": "179:19:0"
                      }
                    ],
                    "id": 21,
                    "name": "ParameterList",
                    "src": "178:21:0"
                  },
                  {
                    "children": [
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "=",
                              "type": "int256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3,
                                  "type": "int256",
                                  "value": "number"
                                },
                                "id": 22,
                                "name": "Identifier",
                                "src": "208:6:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 17,
                                  "type": "int256",
                                  "value": "_number"
                                },
                                "id": 23,
                                "name": "Identifier",
                                "src": "217:7:0"
                              }
                            ],
                            "id": 24,
                            "name": "Assignment",
                            "src": "208:16:0"
                          }
                        ],
                        "id": 25,
                        "name": "ExpressionStatement",
                        "src": "208:16:0"
                      },
                      {
                        "attributes": {
                          "functionReturnParameters": 21
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "*",
                              "type": "int256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 17,
                                  "type": "int256",
                                  "value": "_number"
                                },
                                "id": 26,
                                "name": "Identifier",
                                "src": "237:7:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "35",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 5",
                                  "value": "5"
                                },
                                "id": 27,
                                "name": "Literal",
                                "src": "247:1:0"
                              }
                            ],
                            "id": 28,
                            "name": "BinaryOperation",
                            "src": "237:11:0"
                          }
                        ],
                        "id": 29,
                        "name": "Return",
                        "src": "230:18:0"
                      }
                    ],
                    "id": 30,
                    "name": "Block",
                    "src": "202:51:0"
                  }
                ],
                "id": 31,
                "name": "FunctionDefinition",
                "src": "135:118:0"
              },
              {
                "attributes": {
                  "constant": true,
                  "documentation": null,
                  "implemented": true,
                  "isConstructor": false,
                  "modifiers": [
                    null
                  ],
                  "name": "f",
                  "payable": false,
                  "scope": 64,
                  "stateMutability": "pure",
                  "superFunction": null,
                  "visibility": "public"
                },
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_foo",
                          "scope": 45,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 32,
                            "name": "ElementaryTypeName",
                            "src": "268:3:0"
                          }
                        ],
                        "id": 33,
                        "name": "VariableDeclaration",
                        "src": "268:8:0"
                      },
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_bar",
                          "scope": 45,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 34,
                            "name": "ElementaryTypeName",
                            "src": "278:3:0"
                          }
                        ],
                        "id": 35,
                        "name": "VariableDeclaration",
                        "src": "278:8:0"
                      }
                    ],
                    "id": 36,
                    "name": "ParameterList",
                    "src": "267:20:0"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_addition",
                          "scope": 45,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 37,
                            "name": "ElementaryTypeName",
                            "src": "315:3:0"
                          }
                        ],
                        "id": 38,
                        "name": "VariableDeclaration",
                        "src": "315:13:0"
                      }
                    ],
                    "id": 39,
                    "name": "ParameterList",
                    "src": "314:15:0"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "functionReturnParameters": 39
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "+",
                              "type": "int256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 33,
                                  "type": "int256",
                                  "value": "_foo"
                                },
                                "id": 40,
                                "name": "Identifier",
                                "src": "345:4:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 35,
                                  "type": "int256",
                                  "value": "_bar"
                                },
                                "id": 41,
                                "name": "Identifier",
                                "src": "352:4:0"
                              }
                            ],
                            "id": 42,
                            "name": "BinaryOperation",
                            "src": "345:11:0"
                          }
                        ],
                        "id": 43,
                        "name": "Return",
                        "src": "338:18:0"
                      }
                    ],
                    "id": 44,
                    "name": "Block",
                    "src": "332:29:0"
                  }
                ],
                "id": 45,
                "name": "FunctionDefinition",
                "src": "257:104:0"
              },
              {
                "attributes": {
                  "constant": true,
                  "documentation": null,
                  "implemented": true,
                  "isConstructor": false,
                  "modifiers": [
                    null
                  ],
                  "name": "h",
                  "payable": false,
                  "scope": 64,
                  "stateMutability": "pure",
                  "superFunction": null,
                  "visibility": "public"
                },
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_bar",
                          "scope": 63,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 46,
                            "name": "ElementaryTypeName",
                            "src": "376:3:0"
                          }
                        ],
                        "id": 47,
                        "name": "VariableDeclaration",
                        "src": "376:8:0"
                      }
                    ],
                    "id": 48,
                    "name": "ParameterList",
                    "src": "375:10:0"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "_great",
                          "scope": 63,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bool",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bool",
                              "type": "bool"
                            },
                            "id": 49,
                            "name": "ElementaryTypeName",
                            "src": "413:4:0"
                          }
                        ],
                        "id": 50,
                        "name": "VariableDeclaration",
                        "src": "413:11:0"
                      }
                    ],
                    "id": 51,
                    "name": "ParameterList",
                    "src": "412:13:0"
                  },
                  {
                    "children": [
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 47,
                                  "type": "int256",
                                  "value": "_bar"
                                },
                                "id": 52,
                                "name": "Identifier",
                                "src": "437:4:0"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "3235",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 25",
                                  "value": "25"
                                },
                                "id": 53,
                                "name": "Literal",
                                "src": "444:2:0"
                              }
                            ],
                            "id": 54,
                            "name": "BinaryOperation",
                            "src": "437:9:0"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "functionReturnParameters": 51
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "74727565",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "bool",
                                      "type": "bool",
                                      "value": "true"
                                    },
                                    "id": 55,
                                    "name": "Literal",
                                    "src": "463:4:0"
                                  }
                                ],
                                "id": 56,
                                "name": "Return",
                                "src": "456:11:0"
                              }
                            ],
                            "id": 57,
                            "name": "Block",
                            "src": "448:26:0"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "functionReturnParameters": 51
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "66616c7365",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "bool",
                                      "type": "bool",
                                      "value": "false"
                                    },
                                    "id": 58,
                                    "name": "Literal",
                                    "src": "495:5:0"
                                  }
                                ],
                                "id": 59,
                                "name": "Return",
                                "src": "488:12:0"
                              }
                            ],
                            "id": 60,
                            "name": "Block",
                            "src": "480:27:0"
                          }
                        ],
                        "id": 61,
                        "name": "IfStatement",
                        "src": "434:73:0"
                      }
                    ],
                    "id": 62,
                    "name": "Block",
                    "src": "428:83:0"
                  }
                ],
                "id": 63,
                "name": "FunctionDefinition",
                "src": "365:146:0"
              }
            ],
            "id": 64,
            "name": "ContractDefinition",
            "src": "26:487:0"
          }
        ],
        "id": 65,
        "name": "SourceUnit",
        "src": "0:514:0"
      }
    }
  }
}