{
  "contractName": "BasicToken",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "balance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b61040b8061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610135565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017e565b604051808215151515815260200191505060405180910390f35b60008054905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101bb57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020957600080fd5b61025b82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103a290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102f082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103be90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103b357600080fd5b818303905092915050565b60008082840190508381101515156103d557600080fd5b80915050929150505600a165627a7a72305820c6268ed99973d133e52b671bd3c5bc6cbf6e4cb929965836790704c310c409140029",
  "deployedBytecode": "0x606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610135565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017e565b604051808215151515815260200191505060405180910390f35b60008054905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101bb57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020957600080fd5b61025b82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103a290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102f082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103be90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103b357600080fd5b818303905092915050565b60008082840190508381101515156103d557600080fd5b80915050929150505600a165627a7a72305820c6268ed99973d133e52b671bd3c5bc6cbf6e4cb929965836790704c310c409140029",
  "sourceMap": "177:1059:55:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "177:1059:55:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1122:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;541:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:77;355:7;373:12;;366:19;;311:77;:::o;1122:111::-;1182:15;1212:8;:16;1221:6;1212:16;;;;;;;;;;;;;;;;1205:23;;1122:111;;;:::o;541:379::-;604:4;639:1;624:17;;:3;:17;;;;616:26;;;;;;;;666:8;:20;675:10;666:20;;;;;;;;;;;;;;;;656:6;:30;;648:39;;;;;;;;780:32;805:6;780:8;:20;789:10;780:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;757:8;:20;766:10;757:20;;;;;;;;;;;;;;;:55;;;;834:25;852:6;834:8;:13;843:3;834:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;818:8;:13;827:3;818:13;;;;;;;;;;;;;;;:41;;;;886:3;865:33;;874:10;865:33;;;891:6;865:33;;;;;;;;;;;;;;;;;;911:4;904:11;;541:379;;;;:::o;555:111:53:-;613:7;641:1;636;:6;;628:15;;;;;;;;660:1;656;:5;649:12;;555:111;;;;:::o;670:130::-;728:7;743:9;759:1;755;:5;743:17;;779:1;774;:6;;766:15;;;;;;;;794:1;787:8;;670:130;;;;;:::o",
  "source": "pragma solidity ^0.4.11;\n\n\nimport './ERC20Basic.sol';\nimport '../math/SafeMath.sol';\n\n\n/**\n * @title Basic token\n * @dev Basic version of StandardToken, with no allowances.\n */\ncontract BasicToken is ERC20Basic {\n  using SafeMath for uint256;\n  uint256 totalSupply_;\n\n  mapping(address => uint256) balances;\n\n  function totalSupply() public view returns (uint256) { return totalSupply_; }\n  /**\n  * @dev transfer token for a specified address\n  * @param _to The address to transfer to.\n  * @param _value The amount to be transferred.\n  */\n  function transfer(address _to, uint256 _value) public returns (bool) {\n    require(_to != address(0));\n    require(_value <= balances[msg.sender]);\n\n    // SafeMath.sub will throw if there is not enough balance.\n    balances[msg.sender] = balances[msg.sender].sub(_value);\n    balances[_to] = balances[_to].add(_value);\n    Transfer(msg.sender, _to, _value);\n    return true;\n  }\n\n  /**\n  * @dev Gets the balance of the specified address.\n  * @param _owner The address to query the the balance of.\n  * @return An uint256 representing the amount owned by the passed address.\n  */\n  function balanceOf(address _owner) public constant returns (uint256 balance) {\n    return balances[_owner];\n  }\n\n}\n",
  "sourcePath": "@aragon/os/contracts/lib/zeppelin/token/BasicToken.sol",
  "ast": {
    "attributes": {
      "absolutePath": "@aragon/os/contracts/lib/zeppelin/token/BasicToken.sol",
      "exportedSymbols": {
        "BasicToken": [
          12257
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".11"
          ]
        },
        "id": 12163,
        "name": "PragmaDirective",
        "src": "0:24:55"
      },
      {
        "attributes": {
          "SourceUnit": 12333,
          "absolutePath": "@aragon/os/contracts/lib/zeppelin/token/ERC20Basic.sol",
          "file": "./ERC20Basic.sol",
          "scope": 12258,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 12164,
        "name": "ImportDirective",
        "src": "27:26:55"
      },
      {
        "attributes": {
          "SourceUnit": 12067,
          "absolutePath": "@aragon/os/contracts/lib/zeppelin/math/SafeMath.sol",
          "file": "../math/SafeMath.sol",
          "scope": 12258,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 12165,
        "name": "ImportDirective",
        "src": "54:30:55"
      },
      {
        "attributes": {
          "contractDependencies": [
            12332
          ],
          "contractKind": "contract",
          "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            12257,
            12332
          ],
          "name": "BasicToken",
          "scope": 12258
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "ERC20Basic",
                  "referencedDeclaration": 12332,
                  "type": "contract ERC20Basic"
                },
                "id": 12166,
                "name": "UserDefinedTypeName",
                "src": "200:10:55"
              }
            ],
            "id": 12167,
            "name": "InheritanceSpecifier",
            "src": "200:10:55"
          },
          {
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SafeMath",
                  "referencedDeclaration": 12066,
                  "type": "library SafeMath"
                },
                "id": 12168,
                "name": "UserDefinedTypeName",
                "src": "221:8:55"
              },
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 12169,
                "name": "ElementaryTypeName",
                "src": "234:7:55"
              }
            ],
            "id": 12170,
            "name": "UsingForDirective",
            "src": "215:27:55"
          },
          {
            "attributes": {
              "constant": false,
              "name": "totalSupply_",
              "scope": 12257,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 12171,
                "name": "ElementaryTypeName",
                "src": "245:7:55"
              }
            ],
            "id": 12172,
            "name": "VariableDeclaration",
            "src": "245:20:55"
          },
          {
            "attributes": {
              "constant": false,
              "name": "balances",
              "scope": 12257,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => uint256)",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => uint256)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 12173,
                    "name": "ElementaryTypeName",
                    "src": "278:7:55"
                  },
                  {
                    "attributes": {
                      "name": "uint256",
                      "type": "uint256"
                    },
                    "id": 12174,
                    "name": "ElementaryTypeName",
                    "src": "289:7:55"
                  }
                ],
                "id": 12175,
                "name": "Mapping",
                "src": "270:27:55"
              }
            ],
            "id": 12176,
            "name": "VariableDeclaration",
            "src": "270:36:55"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "totalSupply",
              "payable": false,
              "scope": 12257,
              "stateMutability": "view",
              "superFunction": 12307,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 12177,
                "name": "ParameterList",
                "src": "331:2:55"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 12184,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 12178,
                        "name": "ElementaryTypeName",
                        "src": "355:7:55"
                      }
                    ],
                    "id": 12179,
                    "name": "VariableDeclaration",
                    "src": "355:7:55"
                  }
                ],
                "id": 12180,
                "name": "ParameterList",
                "src": "354:9:55"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 12180
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 12172,
                          "type": "uint256",
                          "value": "totalSupply_"
                        },
                        "id": 12181,
                        "name": "Identifier",
                        "src": "373:12:55"
                      }
                    ],
                    "id": 12182,
                    "name": "Return",
                    "src": "366:19:55"
                  }
                ],
                "id": 12183,
                "name": "Block",
                "src": "364:24:55"
              }
            ],
            "id": 12184,
            "name": "FunctionDefinition",
            "src": "311:77:55"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "transfer",
              "payable": false,
              "scope": 12257,
              "stateMutability": "nonpayable",
              "superFunction": 12323,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_to",
                      "scope": 12244,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 12185,
                        "name": "ElementaryTypeName",
                        "src": "559:7:55"
                      }
                    ],
                    "id": 12186,
                    "name": "VariableDeclaration",
                    "src": "559:11:55"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 12244,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 12187,
                        "name": "ElementaryTypeName",
                        "src": "572:7:55"
                      }
                    ],
                    "id": 12188,
                    "name": "VariableDeclaration",
                    "src": "572:14:55"
                  }
                ],
                "id": 12189,
                "name": "ParameterList",
                "src": "558:29:55"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 12244,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 12190,
                        "name": "ElementaryTypeName",
                        "src": "604:4:55"
                      }
                    ],
                    "id": 12191,
                    "name": "VariableDeclaration",
                    "src": "604:4:55"
                  }
                ],
                "id": 12192,
                "name": "ParameterList",
                "src": "603:6:55"
              },
              {
                "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_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12593,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 12193,
                            "name": "Identifier",
                            "src": "616:7:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12186,
                                  "type": "address",
                                  "value": "_to"
                                },
                                "id": 12194,
                                "name": "Identifier",
                                "src": "624:3:55"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 12195,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "631:7:55"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 12196,
                                    "name": "Literal",
                                    "src": "639:1:55"
                                  }
                                ],
                                "id": 12197,
                                "name": "FunctionCall",
                                "src": "631:10:55"
                              }
                            ],
                            "id": 12198,
                            "name": "BinaryOperation",
                            "src": "624:17:55"
                          }
                        ],
                        "id": 12199,
                        "name": "FunctionCall",
                        "src": "616:26:55"
                      }
                    ],
                    "id": 12200,
                    "name": "ExpressionStatement",
                    "src": "616:26:55"
                  },
                  {
                    "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_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12593,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 12201,
                            "name": "Identifier",
                            "src": "648:7:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "<=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12188,
                                  "type": "uint256",
                                  "value": "_value"
                                },
                                "id": 12202,
                                "name": "Identifier",
                                "src": "656:6:55"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12176,
                                      "type": "mapping(address => uint256)",
                                      "value": "balances"
                                    },
                                    "id": 12203,
                                    "name": "Identifier",
                                    "src": "666:8:55"
                                  },
                                  {
                                    "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": 12204,
                                        "name": "Identifier",
                                        "src": "675:3:55"
                                      }
                                    ],
                                    "id": 12205,
                                    "name": "MemberAccess",
                                    "src": "675:10:55"
                                  }
                                ],
                                "id": 12206,
                                "name": "IndexAccess",
                                "src": "666:20:55"
                              }
                            ],
                            "id": 12207,
                            "name": "BinaryOperation",
                            "src": "656:30:55"
                          }
                        ],
                        "id": 12208,
                        "name": "FunctionCall",
                        "src": "648:39:55"
                      }
                    ],
                    "id": 12209,
                    "name": "ExpressionStatement",
                    "src": "648:39:55"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12176,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 12210,
                                "name": "Identifier",
                                "src": "757:8:55"
                              },
                              {
                                "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": 12211,
                                    "name": "Identifier",
                                    "src": "766:3:55"
                                  }
                                ],
                                "id": 12212,
                                "name": "MemberAccess",
                                "src": "766:10:55"
                              }
                            ],
                            "id": 12213,
                            "name": "IndexAccess",
                            "src": "757:20:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sub",
                                  "referencedDeclaration": 12041,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 12176,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 12214,
                                        "name": "Identifier",
                                        "src": "780:8:55"
                                      },
                                      {
                                        "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": 12215,
                                            "name": "Identifier",
                                            "src": "789:3:55"
                                          }
                                        ],
                                        "id": 12216,
                                        "name": "MemberAccess",
                                        "src": "789:10:55"
                                      }
                                    ],
                                    "id": 12217,
                                    "name": "IndexAccess",
                                    "src": "780:20:55"
                                  }
                                ],
                                "id": 12218,
                                "name": "MemberAccess",
                                "src": "780:24:55"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12188,
                                  "type": "uint256",
                                  "value": "_value"
                                },
                                "id": 12219,
                                "name": "Identifier",
                                "src": "805:6:55"
                              }
                            ],
                            "id": 12220,
                            "name": "FunctionCall",
                            "src": "780:32:55"
                          }
                        ],
                        "id": 12221,
                        "name": "Assignment",
                        "src": "757:55:55"
                      }
                    ],
                    "id": 12222,
                    "name": "ExpressionStatement",
                    "src": "757:55:55"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12176,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 12223,
                                "name": "Identifier",
                                "src": "818:8:55"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12186,
                                  "type": "address",
                                  "value": "_to"
                                },
                                "id": 12224,
                                "name": "Identifier",
                                "src": "827:3:55"
                              }
                            ],
                            "id": 12225,
                            "name": "IndexAccess",
                            "src": "818:13:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "add",
                                  "referencedDeclaration": 12065,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 12176,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 12226,
                                        "name": "Identifier",
                                        "src": "834:8:55"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 12186,
                                          "type": "address",
                                          "value": "_to"
                                        },
                                        "id": 12227,
                                        "name": "Identifier",
                                        "src": "843:3:55"
                                      }
                                    ],
                                    "id": 12228,
                                    "name": "IndexAccess",
                                    "src": "834:13:55"
                                  }
                                ],
                                "id": 12229,
                                "name": "MemberAccess",
                                "src": "834:17:55"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12188,
                                  "type": "uint256",
                                  "value": "_value"
                                },
                                "id": 12230,
                                "name": "Identifier",
                                "src": "852:6:55"
                              }
                            ],
                            "id": 12231,
                            "name": "FunctionCall",
                            "src": "834:25:55"
                          }
                        ],
                        "id": 12232,
                        "name": "Assignment",
                        "src": "818:41:55"
                      }
                    ],
                    "id": 12233,
                    "name": "ExpressionStatement",
                    "src": "818:41:55"
                  },
                  {
                    "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_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12331,
                              "type": "function (address,address,uint256)",
                              "value": "Transfer"
                            },
                            "id": 12234,
                            "name": "Identifier",
                            "src": "865:8:55"
                          },
                          {
                            "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": 12235,
                                "name": "Identifier",
                                "src": "874:3:55"
                              }
                            ],
                            "id": 12236,
                            "name": "MemberAccess",
                            "src": "874:10:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12186,
                              "type": "address",
                              "value": "_to"
                            },
                            "id": 12237,
                            "name": "Identifier",
                            "src": "886:3:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12188,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 12238,
                            "name": "Identifier",
                            "src": "891:6:55"
                          }
                        ],
                        "id": 12239,
                        "name": "FunctionCall",
                        "src": "865:33:55"
                      }
                    ],
                    "id": 12240,
                    "name": "ExpressionStatement",
                    "src": "865:33:55"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 12192
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 12241,
                        "name": "Literal",
                        "src": "911:4:55"
                      }
                    ],
                    "id": 12242,
                    "name": "Return",
                    "src": "904:11:55"
                  }
                ],
                "id": 12243,
                "name": "Block",
                "src": "610:310:55"
              }
            ],
            "id": 12244,
            "name": "FunctionDefinition",
            "src": "541:379:55"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "balanceOf",
              "payable": false,
              "scope": 12257,
              "stateMutability": "view",
              "superFunction": 12314,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 12256,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 12245,
                        "name": "ElementaryTypeName",
                        "src": "1141:7:55"
                      }
                    ],
                    "id": 12246,
                    "name": "VariableDeclaration",
                    "src": "1141:14:55"
                  }
                ],
                "id": 12247,
                "name": "ParameterList",
                "src": "1140:16:55"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "balance",
                      "scope": 12256,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 12248,
                        "name": "ElementaryTypeName",
                        "src": "1182:7:55"
                      }
                    ],
                    "id": 12249,
                    "name": "VariableDeclaration",
                    "src": "1182:15:55"
                  }
                ],
                "id": 12250,
                "name": "ParameterList",
                "src": "1181:17:55"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 12250
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12176,
                              "type": "mapping(address => uint256)",
                              "value": "balances"
                            },
                            "id": 12251,
                            "name": "Identifier",
                            "src": "1212:8:55"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12246,
                              "type": "address",
                              "value": "_owner"
                            },
                            "id": 12252,
                            "name": "Identifier",
                            "src": "1221:6:55"
                          }
                        ],
                        "id": 12253,
                        "name": "IndexAccess",
                        "src": "1212:16:55"
                      }
                    ],
                    "id": 12254,
                    "name": "Return",
                    "src": "1205:23:55"
                  }
                ],
                "id": 12255,
                "name": "Block",
                "src": "1199:34:55"
              }
            ],
            "id": 12256,
            "name": "FunctionDefinition",
            "src": "1122:111:55"
          }
        ],
        "id": 12257,
        "name": "ContractDefinition",
        "src": "177:1059:55"
      }
    ],
    "id": 12258,
    "name": "SourceUnit",
    "src": "0:1237:55"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-14T08:41:25.109Z"
}