{
  "contractName": "ENS",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "resolver",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "label",
          "type": "bytes32"
        },
        {
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "setSubnodeOwner",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setTTL",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "ttl",
      "outputs": [
        {
          "name": "",
          "type": "uint64"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "resolver",
          "type": "address"
        }
      ],
      "name": "setResolver",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_node",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_label",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "NewOwner",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_resolver",
          "type": "address"
        }
      ],
      "name": "NewResolver",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_ttl",
          "type": "uint64"
        }
      ],
      "name": "NewTTL",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b336000808060010260001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108c0806100796000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630178b8bf1461008857806302571be3146100ef57806306ab59231461015657806314ab9038146101a957806316a25cbd146101e35780631896f70a146102325780635b0fc9c314610278575b600080fd5b341561009357600080fd5b6100ad6004808035600019169060200190919050506102be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100fa57600080fd5b610114600480803560001916906020019091905050610305565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016157600080fd5b6101a76004808035600019169060200190919080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061034c565b005b34156101b457600080fd5b6101e160048080356000191690602001909190803567ffffffffffffffff169060200190919050506104c6565b005b34156101ee57600080fd5b6102086004808035600019169060200190919050506105d7565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561023d57600080fd5b61027660048080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610612565b005b341561028357600080fd5b6102bc60048080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610753565b005b6000806000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000833373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156103c657600080fd5b848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390209150836000191685600019167fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8285604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a382600080846000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b813373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561053e57600080fd5b82600019167f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6883604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a281600080856000191660001916815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050565b6000806000836000191660001916815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b813373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561068a57600080fd5b82600019167f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a281600080856000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b813373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156107cb57600080fd5b82600019167fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26683604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a281600080856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505600a165627a7a723058203bd17b1636d2d519bbc49945b15beab42d32f6ab86f197dde383bb1281b68a5c0029",
  "deployedBytecode": "0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630178b8bf1461008857806302571be3146100ef57806306ab59231461015657806314ab9038146101a957806316a25cbd146101e35780631896f70a146102325780635b0fc9c314610278575b600080fd5b341561009357600080fd5b6100ad6004808035600019169060200190919050506102be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100fa57600080fd5b610114600480803560001916906020019091905050610305565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016157600080fd5b6101a76004808035600019169060200190919080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061034c565b005b34156101b457600080fd5b6101e160048080356000191690602001909190803567ffffffffffffffff169060200190919050506104c6565b005b34156101ee57600080fd5b6102086004808035600019169060200190919050506105d7565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561023d57600080fd5b61027660048080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610612565b005b341561028357600080fd5b6102bc60048080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610753565b005b6000806000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000833373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156103c657600080fd5b848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390209150836000191685600019167fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8285604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a382600080846000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b813373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561053e57600080fd5b82600019167f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6883604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a281600080856000191660001916815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050565b6000806000836000191660001916815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b813373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561068a57600080fd5b82600019167f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a281600080856000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b813373ffffffffffffffffffffffffffffffffffffffff16600080836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156107cb57600080fd5b82600019167fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26683604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a281600080856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505600a165627a7a723058203bd17b1636d2d519bbc49945b15beab42d32f6ab86f197dde383bb1281b68a5c0029",
  "sourceMap": "93:2534:46:-;;;499:61;;;;;;;;543:10;524:7;:10;532:1;524:10;;;;;;;;;;;;;;;;:16;;;:29;;;;;;;;;;;;;;;;;;93:2534;;;;;;",
  "deployedSourceMap": "93:2534:46:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;639:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1024:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2199:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1359:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:105;877:7;903;:13;911:4;903:13;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;896:29;;827:105;;;:::o;639:99::-;686:7;712;:13;720:4;712:13;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;705:26;;639:99;;;:::o;1812:217::-;1908:11;1892:4;403:10;380:33;;:7;:13;388:4;380:13;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;;376:44;;;415:5;;;376:44;1932:4;1938:5;1922:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1908:36;;1969:5;1954:28;;;1963:4;1954:28;;;;1976:5;1954:28;;;;;;;;;;;;;;;;;;;;;;2017:5;1992:7;:16;2000:7;1992:16;;;;;;;;;;;;;;;;;:22;;;:30;;;;;;;;;;;;;;;;;;1812:217;;;;;:::o;2499:126::-;2552:4;403:10;380:33;;:7;:13;388:4;380:13;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;;376:44;;;415:5;;;376:44;2575:4;2568:17;;;;2581:3;2568:17;;;;;;;;;;;;;;;;;;;;;;2615:3;2595:7;:13;2603:4;2595:13;;;;;;;;;;;;;;;;;:17;;;:23;;;;;;;;;;;;;;;;;;2499:126;;;:::o;1024:94::-;1069:6;1094:7;:13;1102:4;1094:13;;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;1087:24;;1024:94;;;:::o;2199:157::-;2263:4;403:10;380:33;;:7;:13;388:4;380:13;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;;376:44;;;415:5;;;376:44;2291:4;2279:27;;;;2297:8;2279:27;;;;;;;;;;;;;;;;;;;;;;2341:8;2316:7;:13;2324:4;2316:13;;;;;;;;;;;;;;;;;:22;;;:33;;;;;;;;;;;;;;;;;;2199:157;;;:::o;1359:139::-;1417:4;403:10;380:33;;:7;:13;388:4;380:13;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;;376:44;;;415:5;;;376:44;1442:4;1433:21;;;;1448:5;1433:21;;;;;;;;;;;;;;;;;;;;;;1486:5;1464:7;:13;1472:4;1464:13;;;;;;;;;;;;;;;;;:19;;;:27;;;;;;;;;;;;;;;;;;1359:139;;;:::o",
  "source": "pragma solidity ^0.4.0;\n\n\nimport './AbstractENS.sol';\n\n/**\n * The ENS registry contract.\n */\ncontract ENS is AbstractENS {\n    struct Record {\n        address owner;\n        address resolver;\n        uint64 ttl;\n    }\n\n    mapping(bytes32=>Record) records;\n\n    // Permits modifications only by the owner of the specified node.\n    modifier only_owner(bytes32 node) {\n        if (records[node].owner != msg.sender) throw;\n        _;\n    }\n\n    /**\n     * Constructs a new ENS registrar.\n     */\n    function ENS() {\n        records[0].owner = msg.sender;\n    }\n\n    /**\n     * Returns the address that owns the specified node.\n     */\n    function owner(bytes32 node) constant returns (address) {\n        return records[node].owner;\n    }\n\n    /**\n     * Returns the address of the resolver for the specified node.\n     */\n    function resolver(bytes32 node) constant returns (address) {\n        return records[node].resolver;\n    }\n\n    /**\n     * Returns the TTL of a node, and any records associated with it.\n     */\n    function ttl(bytes32 node) constant returns (uint64) {\n        return records[node].ttl;\n    }\n\n    /**\n     * Transfers ownership of a node to a new address. May only be called by the current\n     * owner of the node.\n     * @param node The node to transfer ownership of.\n     * @param owner The address of the new owner.\n     */\n    function setOwner(bytes32 node, address owner) only_owner(node) {\n        Transfer(node, owner);\n        records[node].owner = owner;\n    }\n\n    /**\n     * Transfers ownership of a subnode keccak256(node, label) to a new address. May only be\n     * called by the owner of the parent node.\n     * @param node The parent node.\n     * @param label The hash of the label specifying the subnode.\n     * @param owner The address of the new owner.\n     */\n    function setSubnodeOwner(bytes32 node, bytes32 label, address owner) only_owner(node) {\n        var subnode = keccak256(node, label);\n        NewOwner(node, label, owner);\n        records[subnode].owner = owner;\n    }\n\n    /**\n     * Sets the resolver address for the specified node.\n     * @param node The node to update.\n     * @param resolver The address of the resolver.\n     */\n    function setResolver(bytes32 node, address resolver) only_owner(node) {\n        NewResolver(node, resolver);\n        records[node].resolver = resolver;\n    }\n\n    /**\n     * Sets the TTL for the specified node.\n     * @param node The node to update.\n     * @param ttl The TTL in seconds.\n     */\n    function setTTL(bytes32 node, uint64 ttl) only_owner(node) {\n        NewTTL(node, ttl);\n        records[node].ttl = ttl;\n    }\n}\n",
  "sourcePath": "@aragon/os/contracts/lib/ens/ENS.sol",
  "ast": {
    "attributes": {
      "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol",
      "exportedSymbols": {
        "ENS": [
          10238
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".0"
          ]
        },
        "id": 10056,
        "name": "PragmaDirective",
        "src": "0:23:46"
      },
      {
        "attributes": {
          "SourceUnit": 10055,
          "absolutePath": "@aragon/os/contracts/lib/ens/AbstractENS.sol",
          "file": "./AbstractENS.sol",
          "scope": 10239,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 10057,
        "name": "ImportDirective",
        "src": "26:27:46"
      },
      {
        "attributes": {
          "contractDependencies": [
            10054
          ],
          "contractKind": "contract",
          "documentation": "The ENS registry contract.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            10238,
            10054
          ],
          "name": "ENS",
          "scope": 10239
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "AbstractENS",
                  "referencedDeclaration": 10054,
                  "type": "contract AbstractENS"
                },
                "id": 10058,
                "name": "UserDefinedTypeName",
                "src": "109:11:46"
              }
            ],
            "id": 10059,
            "name": "InheritanceSpecifier",
            "src": "109:11:46"
          },
          {
            "attributes": {
              "canonicalName": "ENS.Record",
              "name": "Record",
              "scope": 10238,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "owner",
                  "scope": 10066,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 10060,
                    "name": "ElementaryTypeName",
                    "src": "151:7:46"
                  }
                ],
                "id": 10061,
                "name": "VariableDeclaration",
                "src": "151:13:46"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "resolver",
                  "scope": 10066,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 10062,
                    "name": "ElementaryTypeName",
                    "src": "174:7:46"
                  }
                ],
                "id": 10063,
                "name": "VariableDeclaration",
                "src": "174:16:46"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "ttl",
                  "scope": 10066,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint64",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint64",
                      "type": "uint64"
                    },
                    "id": 10064,
                    "name": "ElementaryTypeName",
                    "src": "200:6:46"
                  }
                ],
                "id": 10065,
                "name": "VariableDeclaration",
                "src": "200:10:46"
              }
            ],
            "id": 10066,
            "name": "StructDefinition",
            "src": "127:90:46"
          },
          {
            "attributes": {
              "constant": false,
              "name": "records",
              "scope": 10238,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct ENS.Record storage ref)",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct ENS.Record storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 10067,
                    "name": "ElementaryTypeName",
                    "src": "231:7:46"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Record",
                      "referencedDeclaration": 10066,
                      "type": "struct ENS.Record storage pointer"
                    },
                    "id": 10068,
                    "name": "UserDefinedTypeName",
                    "src": "240:6:46"
                  }
                ],
                "id": 10069,
                "name": "Mapping",
                "src": "223:24:46"
              }
            ],
            "id": 10070,
            "name": "VariableDeclaration",
            "src": "223:32:46"
          },
          {
            "attributes": {
              "name": "only_owner",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10085,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10071,
                        "name": "ElementaryTypeName",
                        "src": "352:7:46"
                      }
                    ],
                    "id": 10072,
                    "name": "VariableDeclaration",
                    "src": "352:12:46"
                  }
                ],
                "id": 10073,
                "name": "ParameterList",
                "src": "351:14:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "owner",
                              "referencedDeclaration": 10061,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ENS.Record storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10070,
                                      "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                      "value": "records"
                                    },
                                    "id": 10074,
                                    "name": "Identifier",
                                    "src": "380:7:46"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10072,
                                      "type": "bytes32",
                                      "value": "node"
                                    },
                                    "id": 10075,
                                    "name": "Identifier",
                                    "src": "388:4:46"
                                  }
                                ],
                                "id": 10076,
                                "name": "IndexAccess",
                                "src": "380:13:46"
                              }
                            ],
                            "id": 10077,
                            "name": "MemberAccess",
                            "src": "380:19:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12590,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 10078,
                                "name": "Identifier",
                                "src": "403:3:46"
                              }
                            ],
                            "id": 10079,
                            "name": "MemberAccess",
                            "src": "403:10:46"
                          }
                        ],
                        "id": 10080,
                        "name": "BinaryOperation",
                        "src": "380:33:46"
                      },
                      {
                        "children": [],
                        "id": 10081,
                        "name": "Throw",
                        "src": "415:5:46"
                      }
                    ],
                    "id": 10082,
                    "name": "IfStatement",
                    "src": "376:44:46"
                  },
                  {
                    "id": 10083,
                    "name": "PlaceholderStatement",
                    "src": "430:1:46"
                  }
                ],
                "id": 10084,
                "name": "Block",
                "src": "366:72:46"
              }
            ],
            "id": 10085,
            "name": "ModifierDefinition",
            "src": "332:106:46"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "ENS",
              "payable": false,
              "scope": 10238,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10086,
                "name": "ParameterList",
                "src": "511:2:46"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10087,
                "name": "ParameterList",
                "src": "514:0:46"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "owner",
                              "referencedDeclaration": 10061,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ENS.Record storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10070,
                                      "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                      "value": "records"
                                    },
                                    "id": 10088,
                                    "name": "Identifier",
                                    "src": "524:7:46"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 10089,
                                    "name": "Literal",
                                    "src": "532:1:46"
                                  }
                                ],
                                "id": 10090,
                                "name": "IndexAccess",
                                "src": "524:10:46"
                              }
                            ],
                            "id": 10091,
                            "name": "MemberAccess",
                            "src": "524:16:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12590,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 10092,
                                "name": "Identifier",
                                "src": "543:3:46"
                              }
                            ],
                            "id": 10093,
                            "name": "MemberAccess",
                            "src": "543:10:46"
                          }
                        ],
                        "id": 10094,
                        "name": "Assignment",
                        "src": "524:29:46"
                      }
                    ],
                    "id": 10095,
                    "name": "ExpressionStatement",
                    "src": "524:29:46"
                  }
                ],
                "id": 10096,
                "name": "Block",
                "src": "514:46:46"
              }
            ],
            "id": 10097,
            "name": "FunctionDefinition",
            "src": "499:61:46"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "owner",
              "payable": false,
              "scope": 10238,
              "stateMutability": "view",
              "superFunction": 9983,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10110,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10098,
                        "name": "ElementaryTypeName",
                        "src": "654:7:46"
                      }
                    ],
                    "id": 10099,
                    "name": "VariableDeclaration",
                    "src": "654:12:46"
                  }
                ],
                "id": 10100,
                "name": "ParameterList",
                "src": "653:14:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10110,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 10101,
                        "name": "ElementaryTypeName",
                        "src": "686:7:46"
                      }
                    ],
                    "id": 10102,
                    "name": "VariableDeclaration",
                    "src": "686:7:46"
                  }
                ],
                "id": 10103,
                "name": "ParameterList",
                "src": "685:9:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 10103
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "owner",
                          "referencedDeclaration": 10061,
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct ENS.Record storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10070,
                                  "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                  "value": "records"
                                },
                                "id": 10104,
                                "name": "Identifier",
                                "src": "712:7:46"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10099,
                                  "type": "bytes32",
                                  "value": "node"
                                },
                                "id": 10105,
                                "name": "Identifier",
                                "src": "720:4:46"
                              }
                            ],
                            "id": 10106,
                            "name": "IndexAccess",
                            "src": "712:13:46"
                          }
                        ],
                        "id": 10107,
                        "name": "MemberAccess",
                        "src": "712:19:46"
                      }
                    ],
                    "id": 10108,
                    "name": "Return",
                    "src": "705:26:46"
                  }
                ],
                "id": 10109,
                "name": "Block",
                "src": "695:43:46"
              }
            ],
            "id": 10110,
            "name": "FunctionDefinition",
            "src": "639:99:46"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "resolver",
              "payable": false,
              "scope": 10238,
              "stateMutability": "view",
              "superFunction": 9990,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10123,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10111,
                        "name": "ElementaryTypeName",
                        "src": "845:7:46"
                      }
                    ],
                    "id": 10112,
                    "name": "VariableDeclaration",
                    "src": "845:12:46"
                  }
                ],
                "id": 10113,
                "name": "ParameterList",
                "src": "844:14:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10123,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 10114,
                        "name": "ElementaryTypeName",
                        "src": "877:7:46"
                      }
                    ],
                    "id": 10115,
                    "name": "VariableDeclaration",
                    "src": "877:7:46"
                  }
                ],
                "id": 10116,
                "name": "ParameterList",
                "src": "876:9:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 10116
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "resolver",
                          "referencedDeclaration": 10063,
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct ENS.Record storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10070,
                                  "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                  "value": "records"
                                },
                                "id": 10117,
                                "name": "Identifier",
                                "src": "903:7:46"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10112,
                                  "type": "bytes32",
                                  "value": "node"
                                },
                                "id": 10118,
                                "name": "Identifier",
                                "src": "911:4:46"
                              }
                            ],
                            "id": 10119,
                            "name": "IndexAccess",
                            "src": "903:13:46"
                          }
                        ],
                        "id": 10120,
                        "name": "MemberAccess",
                        "src": "903:22:46"
                      }
                    ],
                    "id": 10121,
                    "name": "Return",
                    "src": "896:29:46"
                  }
                ],
                "id": 10122,
                "name": "Block",
                "src": "886:46:46"
              }
            ],
            "id": 10123,
            "name": "FunctionDefinition",
            "src": "827:105:46"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "ttl",
              "payable": false,
              "scope": 10238,
              "stateMutability": "view",
              "superFunction": 9997,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10136,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10124,
                        "name": "ElementaryTypeName",
                        "src": "1037:7:46"
                      }
                    ],
                    "id": 10125,
                    "name": "VariableDeclaration",
                    "src": "1037:12:46"
                  }
                ],
                "id": 10126,
                "name": "ParameterList",
                "src": "1036:14:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10136,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 10127,
                        "name": "ElementaryTypeName",
                        "src": "1069:6:46"
                      }
                    ],
                    "id": 10128,
                    "name": "VariableDeclaration",
                    "src": "1069:6:46"
                  }
                ],
                "id": 10129,
                "name": "ParameterList",
                "src": "1068:8:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 10129
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "ttl",
                          "referencedDeclaration": 10065,
                          "type": "uint64"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct ENS.Record storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10070,
                                  "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                  "value": "records"
                                },
                                "id": 10130,
                                "name": "Identifier",
                                "src": "1094:7:46"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10125,
                                  "type": "bytes32",
                                  "value": "node"
                                },
                                "id": 10131,
                                "name": "Identifier",
                                "src": "1102:4:46"
                              }
                            ],
                            "id": 10132,
                            "name": "IndexAccess",
                            "src": "1094:13:46"
                          }
                        ],
                        "id": 10133,
                        "name": "MemberAccess",
                        "src": "1094:17:46"
                      }
                    ],
                    "id": 10134,
                    "name": "Return",
                    "src": "1087:24:46"
                  }
                ],
                "id": 10135,
                "name": "Block",
                "src": "1077:41:46"
              }
            ],
            "id": 10136,
            "name": "FunctionDefinition",
            "src": "1024:94:46"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "setOwner",
              "payable": false,
              "scope": 10238,
              "stateMutability": "nonpayable",
              "superFunction": 10004,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10159,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10137,
                        "name": "ElementaryTypeName",
                        "src": "1377:7:46"
                      }
                    ],
                    "id": 10138,
                    "name": "VariableDeclaration",
                    "src": "1377:12:46"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "owner",
                      "scope": 10159,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 10139,
                        "name": "ElementaryTypeName",
                        "src": "1391:7:46"
                      }
                    ],
                    "id": 10140,
                    "name": "VariableDeclaration",
                    "src": "1391:13:46"
                  }
                ],
                "id": 10141,
                "name": "ParameterList",
                "src": "1376:29:46"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10145,
                "name": "ParameterList",
                "src": "1423:0:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10085,
                      "type": "modifier (bytes32)",
                      "value": "only_owner"
                    },
                    "id": 10142,
                    "name": "Identifier",
                    "src": "1406:10:46"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10138,
                      "type": "bytes32",
                      "value": "node"
                    },
                    "id": 10143,
                    "name": "Identifier",
                    "src": "1417:4:46"
                  }
                ],
                "id": 10144,
                "name": "ModifierInvocation",
                "src": "1406:16:46"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10041,
                              "type": "function (bytes32,address)",
                              "value": "Transfer"
                            },
                            "id": 10146,
                            "name": "Identifier",
                            "src": "1433:8:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10138,
                              "type": "bytes32",
                              "value": "node"
                            },
                            "id": 10147,
                            "name": "Identifier",
                            "src": "1442:4:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10140,
                              "type": "address",
                              "value": "owner"
                            },
                            "id": 10148,
                            "name": "Identifier",
                            "src": "1448:5:46"
                          }
                        ],
                        "id": 10149,
                        "name": "FunctionCall",
                        "src": "1433:21:46"
                      }
                    ],
                    "id": 10150,
                    "name": "ExpressionStatement",
                    "src": "1433:21:46"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "owner",
                              "referencedDeclaration": 10061,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ENS.Record storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10070,
                                      "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                      "value": "records"
                                    },
                                    "id": 10151,
                                    "name": "Identifier",
                                    "src": "1464:7:46"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10138,
                                      "type": "bytes32",
                                      "value": "node"
                                    },
                                    "id": 10152,
                                    "name": "Identifier",
                                    "src": "1472:4:46"
                                  }
                                ],
                                "id": 10153,
                                "name": "IndexAccess",
                                "src": "1464:13:46"
                              }
                            ],
                            "id": 10154,
                            "name": "MemberAccess",
                            "src": "1464:19:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10140,
                              "type": "address",
                              "value": "owner"
                            },
                            "id": 10155,
                            "name": "Identifier",
                            "src": "1486:5:46"
                          }
                        ],
                        "id": 10156,
                        "name": "Assignment",
                        "src": "1464:27:46"
                      }
                    ],
                    "id": 10157,
                    "name": "ExpressionStatement",
                    "src": "1464:27:46"
                  }
                ],
                "id": 10158,
                "name": "Block",
                "src": "1423:75:46"
              }
            ],
            "id": 10159,
            "name": "FunctionDefinition",
            "src": "1359:139:46"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "setSubnodeOwner",
              "payable": false,
              "scope": 10238,
              "stateMutability": "nonpayable",
              "superFunction": 10013,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10191,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10160,
                        "name": "ElementaryTypeName",
                        "src": "1837:7:46"
                      }
                    ],
                    "id": 10161,
                    "name": "VariableDeclaration",
                    "src": "1837:12:46"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "label",
                      "scope": 10191,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10162,
                        "name": "ElementaryTypeName",
                        "src": "1851:7:46"
                      }
                    ],
                    "id": 10163,
                    "name": "VariableDeclaration",
                    "src": "1851:13:46"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "owner",
                      "scope": 10191,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 10164,
                        "name": "ElementaryTypeName",
                        "src": "1866:7:46"
                      }
                    ],
                    "id": 10165,
                    "name": "VariableDeclaration",
                    "src": "1866:13:46"
                  }
                ],
                "id": 10166,
                "name": "ParameterList",
                "src": "1836:44:46"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10170,
                "name": "ParameterList",
                "src": "1898:0:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10085,
                      "type": "modifier (bytes32)",
                      "value": "only_owner"
                    },
                    "id": 10167,
                    "name": "Identifier",
                    "src": "1881:10:46"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10161,
                      "type": "bytes32",
                      "value": "node"
                    },
                    "id": 10168,
                    "name": "Identifier",
                    "src": "1892:4:46"
                  }
                ],
                "id": 10169,
                "name": "ModifierInvocation",
                "src": "1881:16:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        10171
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "subnode",
                          "scope": 10191,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "typeName": null,
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [],
                        "id": 10171,
                        "name": "VariableDeclaration",
                        "src": "1908:11:46"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12584,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 10172,
                            "name": "Identifier",
                            "src": "1922:9:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10161,
                              "type": "bytes32",
                              "value": "node"
                            },
                            "id": 10173,
                            "name": "Identifier",
                            "src": "1932:4:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10163,
                              "type": "bytes32",
                              "value": "label"
                            },
                            "id": 10174,
                            "name": "Identifier",
                            "src": "1938:5:46"
                          }
                        ],
                        "id": 10175,
                        "name": "FunctionCall",
                        "src": "1922:22:46"
                      }
                    ],
                    "id": 10176,
                    "name": "VariableDeclarationStatement",
                    "src": "1908:36:46"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10035,
                              "type": "function (bytes32,bytes32,address)",
                              "value": "NewOwner"
                            },
                            "id": 10177,
                            "name": "Identifier",
                            "src": "1954:8:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10161,
                              "type": "bytes32",
                              "value": "node"
                            },
                            "id": 10178,
                            "name": "Identifier",
                            "src": "1963:4:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10163,
                              "type": "bytes32",
                              "value": "label"
                            },
                            "id": 10179,
                            "name": "Identifier",
                            "src": "1969:5:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10165,
                              "type": "address",
                              "value": "owner"
                            },
                            "id": 10180,
                            "name": "Identifier",
                            "src": "1976:5:46"
                          }
                        ],
                        "id": 10181,
                        "name": "FunctionCall",
                        "src": "1954:28:46"
                      }
                    ],
                    "id": 10182,
                    "name": "ExpressionStatement",
                    "src": "1954:28:46"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "owner",
                              "referencedDeclaration": 10061,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ENS.Record storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10070,
                                      "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                      "value": "records"
                                    },
                                    "id": 10183,
                                    "name": "Identifier",
                                    "src": "1992:7:46"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10171,
                                      "type": "bytes32",
                                      "value": "subnode"
                                    },
                                    "id": 10184,
                                    "name": "Identifier",
                                    "src": "2000:7:46"
                                  }
                                ],
                                "id": 10185,
                                "name": "IndexAccess",
                                "src": "1992:16:46"
                              }
                            ],
                            "id": 10186,
                            "name": "MemberAccess",
                            "src": "1992:22:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10165,
                              "type": "address",
                              "value": "owner"
                            },
                            "id": 10187,
                            "name": "Identifier",
                            "src": "2017:5:46"
                          }
                        ],
                        "id": 10188,
                        "name": "Assignment",
                        "src": "1992:30:46"
                      }
                    ],
                    "id": 10189,
                    "name": "ExpressionStatement",
                    "src": "1992:30:46"
                  }
                ],
                "id": 10190,
                "name": "Block",
                "src": "1898:131:46"
              }
            ],
            "id": 10191,
            "name": "FunctionDefinition",
            "src": "1812:217:46"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "setResolver",
              "payable": false,
              "scope": 10238,
              "stateMutability": "nonpayable",
              "superFunction": 10020,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10214,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10192,
                        "name": "ElementaryTypeName",
                        "src": "2220:7:46"
                      }
                    ],
                    "id": 10193,
                    "name": "VariableDeclaration",
                    "src": "2220:12:46"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "resolver",
                      "scope": 10214,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 10194,
                        "name": "ElementaryTypeName",
                        "src": "2234:7:46"
                      }
                    ],
                    "id": 10195,
                    "name": "VariableDeclaration",
                    "src": "2234:16:46"
                  }
                ],
                "id": 10196,
                "name": "ParameterList",
                "src": "2219:32:46"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10200,
                "name": "ParameterList",
                "src": "2269:0:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10085,
                      "type": "modifier (bytes32)",
                      "value": "only_owner"
                    },
                    "id": 10197,
                    "name": "Identifier",
                    "src": "2252:10:46"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10193,
                      "type": "bytes32",
                      "value": "node"
                    },
                    "id": 10198,
                    "name": "Identifier",
                    "src": "2263:4:46"
                  }
                ],
                "id": 10199,
                "name": "ModifierInvocation",
                "src": "2252:16:46"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10047,
                              "type": "function (bytes32,address)",
                              "value": "NewResolver"
                            },
                            "id": 10201,
                            "name": "Identifier",
                            "src": "2279:11:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10193,
                              "type": "bytes32",
                              "value": "node"
                            },
                            "id": 10202,
                            "name": "Identifier",
                            "src": "2291:4:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10195,
                              "type": "address",
                              "value": "resolver"
                            },
                            "id": 10203,
                            "name": "Identifier",
                            "src": "2297:8:46"
                          }
                        ],
                        "id": 10204,
                        "name": "FunctionCall",
                        "src": "2279:27:46"
                      }
                    ],
                    "id": 10205,
                    "name": "ExpressionStatement",
                    "src": "2279:27:46"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "resolver",
                              "referencedDeclaration": 10063,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ENS.Record storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10070,
                                      "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                      "value": "records"
                                    },
                                    "id": 10206,
                                    "name": "Identifier",
                                    "src": "2316:7:46"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10193,
                                      "type": "bytes32",
                                      "value": "node"
                                    },
                                    "id": 10207,
                                    "name": "Identifier",
                                    "src": "2324:4:46"
                                  }
                                ],
                                "id": 10208,
                                "name": "IndexAccess",
                                "src": "2316:13:46"
                              }
                            ],
                            "id": 10209,
                            "name": "MemberAccess",
                            "src": "2316:22:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10195,
                              "type": "address",
                              "value": "resolver"
                            },
                            "id": 10210,
                            "name": "Identifier",
                            "src": "2341:8:46"
                          }
                        ],
                        "id": 10211,
                        "name": "Assignment",
                        "src": "2316:33:46"
                      }
                    ],
                    "id": 10212,
                    "name": "ExpressionStatement",
                    "src": "2316:33:46"
                  }
                ],
                "id": 10213,
                "name": "Block",
                "src": "2269:87:46"
              }
            ],
            "id": 10214,
            "name": "FunctionDefinition",
            "src": "2199:157:46"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "setTTL",
              "payable": false,
              "scope": 10238,
              "stateMutability": "nonpayable",
              "superFunction": 10027,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "node",
                      "scope": 10237,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 10215,
                        "name": "ElementaryTypeName",
                        "src": "2515:7:46"
                      }
                    ],
                    "id": 10216,
                    "name": "VariableDeclaration",
                    "src": "2515:12:46"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "ttl",
                      "scope": 10237,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 10217,
                        "name": "ElementaryTypeName",
                        "src": "2529:6:46"
                      }
                    ],
                    "id": 10218,
                    "name": "VariableDeclaration",
                    "src": "2529:10:46"
                  }
                ],
                "id": 10219,
                "name": "ParameterList",
                "src": "2514:26:46"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10223,
                "name": "ParameterList",
                "src": "2558:0:46"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10085,
                      "type": "modifier (bytes32)",
                      "value": "only_owner"
                    },
                    "id": 10220,
                    "name": "Identifier",
                    "src": "2541:10:46"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10216,
                      "type": "bytes32",
                      "value": "node"
                    },
                    "id": 10221,
                    "name": "Identifier",
                    "src": "2552:4:46"
                  }
                ],
                "id": 10222,
                "name": "ModifierInvocation",
                "src": "2541:16:46"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10053,
                              "type": "function (bytes32,uint64)",
                              "value": "NewTTL"
                            },
                            "id": 10224,
                            "name": "Identifier",
                            "src": "2568:6:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10216,
                              "type": "bytes32",
                              "value": "node"
                            },
                            "id": 10225,
                            "name": "Identifier",
                            "src": "2575:4:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10218,
                              "type": "uint64",
                              "value": "ttl"
                            },
                            "id": 10226,
                            "name": "Identifier",
                            "src": "2581:3:46"
                          }
                        ],
                        "id": 10227,
                        "name": "FunctionCall",
                        "src": "2568:17:46"
                      }
                    ],
                    "id": 10228,
                    "name": "ExpressionStatement",
                    "src": "2568:17:46"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint64"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "ttl",
                              "referencedDeclaration": 10065,
                              "type": "uint64"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ENS.Record storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10070,
                                      "type": "mapping(bytes32 => struct ENS.Record storage ref)",
                                      "value": "records"
                                    },
                                    "id": 10229,
                                    "name": "Identifier",
                                    "src": "2595:7:46"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10216,
                                      "type": "bytes32",
                                      "value": "node"
                                    },
                                    "id": 10230,
                                    "name": "Identifier",
                                    "src": "2603:4:46"
                                  }
                                ],
                                "id": 10231,
                                "name": "IndexAccess",
                                "src": "2595:13:46"
                              }
                            ],
                            "id": 10232,
                            "name": "MemberAccess",
                            "src": "2595:17:46"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10218,
                              "type": "uint64",
                              "value": "ttl"
                            },
                            "id": 10233,
                            "name": "Identifier",
                            "src": "2615:3:46"
                          }
                        ],
                        "id": 10234,
                        "name": "Assignment",
                        "src": "2595:23:46"
                      }
                    ],
                    "id": 10235,
                    "name": "ExpressionStatement",
                    "src": "2595:23:46"
                  }
                ],
                "id": 10236,
                "name": "Block",
                "src": "2558:67:46"
              }
            ],
            "id": 10237,
            "name": "FunctionDefinition",
            "src": "2499:126:46"
          }
        ],
        "id": 10238,
        "name": "ContractDefinition",
        "src": "93:2534:46"
      }
    ],
    "id": 10239,
    "name": "SourceUnit",
    "src": "0:2628:46"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-14T08:41:25.098Z"
}