{
  "contractName": "Reputation",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "reputationOf",
      "outputs": [
        {
          "name": "balance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "int256"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "int256"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x60606040526012600355341561001457600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600160205260408120819055600255610348806100526000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461007c578063313ce567146100a15780638da5cb5b146100b4578063db89c044146100e3578063f2fde38b14610102578063fd9bf3aa14610123575b600080fd5b341561008757600080fd5b61008f610159565b60405190815260200160405180910390f35b34156100ac57600080fd5b61008f61015f565b34156100bf57600080fd5b6100c7610165565b604051600160a060020a03909116815260200160405180910390f35b34156100ee57600080fd5b61008f600160a060020a0360043516610174565b341561010d57600080fd5b610121600160a060020a036004351661018f565b005b341561012e57600080fd5b610145600160a060020a036004351660243561022a565b604051901515815260200160405180910390f35b60025481565b60035481565b600054600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a039081169116146101aa57600080fd5b600160a060020a03811615156101bf57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a0390811691161461024857600080fd5b50600160a060020a03831660009081526001602052604081205483919082011261029757600160a060020a038416600090815260016020526040902080548401905560028054840190556102c3565b50600160a060020a03831660009081526001602052604081208054600280548290039055919055600019025b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8260405190815260200160405180910390a260019150600254600090121561031557600080fd5b50929150505600a165627a7a72305820d13644f68964af663afad2d843ad7a0eccfa58dbe1c8604d3d7a085e2c804e8d0029",
  "deployedBytecode": "0x6060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461007c578063313ce567146100a15780638da5cb5b146100b4578063db89c044146100e3578063f2fde38b14610102578063fd9bf3aa14610123575b600080fd5b341561008757600080fd5b61008f610159565b60405190815260200160405180910390f35b34156100ac57600080fd5b61008f61015f565b34156100bf57600080fd5b6100c7610165565b604051600160a060020a03909116815260200160405180910390f35b34156100ee57600080fd5b61008f600160a060020a0360043516610174565b341561010d57600080fd5b610121600160a060020a036004351661018f565b005b341561012e57600080fd5b610145600160a060020a036004351660243561022a565b604051901515815260200160405180910390f35b60025481565b60035481565b600054600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a039081169116146101aa57600080fd5b600160a060020a03811615156101bf57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a0390811691161461024857600080fd5b50600160a060020a03831660009081526001602052604081205483919082011261029757600160a060020a038416600090815260016020526040902080548401905560028054840190556102c3565b50600160a060020a03831660009081526001602052604081208054600280548290039055919055600019025b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8260405190815260200160405180910390a260019150600254600090121561031557600080fd5b50929150505600a165627a7a72305820d13644f68964af663afad2d843ad7a0eccfa58dbe1c8604d3d7a085e2c804e8d0029",
  "sourceMap": "252:1810:9:-;;;388:2;365:25;;759:95;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;;798:20:9;;501:18:33;798:20:9;;;;;:24;;;832:11;:15;252:1810;;;;;;",
  "deployedSourceMap": "252:1810:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:26;;;;;;;;;;;;;;;;;;;;;;;;;;;365:25;;;;;;;;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;;1012:120:9;;;;;;;;;;;;-1:-1:-1;;;;;1012:120:9;;;834:169:33;;;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;1482:578:9;;;;;;;;;;;;-1:-1:-1;;;;;1482:578:9;;;;;;;;;;;;;;;;;;;;;;333:26;;;;:::o;365:25::-;;;;:::o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;1012:120:9:-;-1:-1:-1;;;;;1109:16:9;1075:15;1109:16;;;-1:-1:-1;1109:16:9;;;;;;;1012:120::o;834:169:33:-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;1482:578:9:-;1566:4;654:5:33;;1566:4:9;;640:10:33;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;;1690:13:9;;1718:1;1690:13;;;-1:-1:-1;1690:13:9;;;;;;1664:7;;1686:28;;;:33;1682:317;;-1:-1:-1;;;;;1761:13:9;;;;;;-1:-1:-1;1761:13:9;;;;;;;1757:28;;1736:50;;-1:-1:-1;1823:11:9;;1819:26;;1800:46;;1682:317;;;-1:-1:-1;;;;;;1901:13:9;;;;;;-1:-1:-1;1901:13:9;;;;;;;-1:-1:-1;1929:28:9;;;;;;;1971:17;;;-1:-1:-1;;1892:23:9;1682:317;-1:-1:-1;;;;;2009:23:9;;;2019:12;2009:23;;;;;;;;;;;;;;2049:4;2042:11;;635;;651:1;631:21;;;623:30;;;;;;1482:578;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\n/**\n * @title Simple static reputation storage\n * @dev The reputation is represented by the owner of the contract\n * which is usually the controller's address\n */\n\ncontract Reputation is Ownable {\n\n    mapping (address => uint256) balances;\n    uint256 public totalSupply;\n    uint public decimals = 18;\n\n    // Event indicating minting of reputation to an address.\n    event Mint(address indexed to, int256 amount);\n\n    /**\n    * @dev enforce a cap to avoid casting problems\n    */\n    modifier capTotalSupply() {\n        _;\n        require(int(totalSupply) >= 0);\n    }\n\n    /**\n    * @dev the constructor initiate a reputation system with no supply at all\n    */\n    function Reputation() public {\n        balances[msg.sender] = 0;\n        totalSupply = 0;\n    }\n\n    /**\n    * @dev return the reputation amount of a given owner\n    * @param _owner an address of the owner which we want to get his reputation\n    */\n    function reputationOf(address _owner) public constant returns (uint256 balance) {\n        return balances[_owner];\n    }\n\n    /**\n    * @dev adding/reducing reputation of a given address, updating the total supply,\n    * and triggering an event of the operation.\n    * @param _to the address which we gives/takes reputation amount\n    * @param _amount the reputation amount to be added/reduced\n    * @return bool which represents a successful of the function\n    */\n    function mint(address _to, int256 _amount) public onlyOwner capTotalSupply returns (bool) {\n        // create new tokens and add them to the given account\n        int amountMinted = _amount;\n\n        if (int(balances[_to]) + _amount >= 0 ) {\n            balances[_to] = uint(int(balances[_to]) + _amount);\n            totalSupply = uint(int(totalSupply) + _amount);\n        } else {\n            amountMinted = (-1)*int(balances[_to]);\n            totalSupply -= balances[_to];\n            balances[_to] = 0;\n        }\n\n        Mint(_to, amountMinted);\n        return true;\n    }\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/controller/Reputation.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/controller/Reputation.sol",
      "exportedSymbols": {
        "Reputation": [
          4544
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 4401,
        "name": "PragmaDirective",
        "src": "0:24:9"
      },
      {
        "attributes": {
          "SourceUnit": 10302,
          "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "scope": 4545,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 4402,
        "name": "ImportDirective",
        "src": "26:59:9"
      },
      {
        "attributes": {
          "contractDependencies": [
            10301
          ],
          "contractKind": "contract",
          "documentation": "@title Simple static reputation storage\n@dev The reputation is represented by the owner of the contract\nwhich is usually the controller's address",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            4544,
            10301
          ],
          "name": "Reputation",
          "scope": 4545
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Ownable",
                  "referencedDeclaration": 10301,
                  "type": "contract Ownable"
                },
                "id": 4403,
                "name": "UserDefinedTypeName",
                "src": "275:7:9"
              }
            ],
            "id": 4404,
            "name": "InheritanceSpecifier",
            "src": "275:7:9"
          },
          {
            "attributes": {
              "constant": false,
              "name": "balances",
              "scope": 4544,
              "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": 4405,
                    "name": "ElementaryTypeName",
                    "src": "299:7:9"
                  },
                  {
                    "attributes": {
                      "name": "uint256",
                      "type": "uint256"
                    },
                    "id": 4406,
                    "name": "ElementaryTypeName",
                    "src": "310:7:9"
                  }
                ],
                "id": 4407,
                "name": "Mapping",
                "src": "290:28:9"
              }
            ],
            "id": 4408,
            "name": "VariableDeclaration",
            "src": "290:37:9"
          },
          {
            "attributes": {
              "constant": false,
              "name": "totalSupply",
              "scope": 4544,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 4409,
                "name": "ElementaryTypeName",
                "src": "333:7:9"
              }
            ],
            "id": 4410,
            "name": "VariableDeclaration",
            "src": "333:26:9"
          },
          {
            "attributes": {
              "constant": false,
              "name": "decimals",
              "scope": 4544,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 4411,
                "name": "ElementaryTypeName",
                "src": "365:4:9"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "3138",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "number",
                  "type": "int_const 18",
                  "value": "18"
                },
                "id": 4412,
                "name": "Literal",
                "src": "388:2:9"
              }
            ],
            "id": 4413,
            "name": "VariableDeclaration",
            "src": "365:25:9"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Mint"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "to",
                      "scope": 4419,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 4414,
                        "name": "ElementaryTypeName",
                        "src": "469:7:9"
                      }
                    ],
                    "id": 4415,
                    "name": "VariableDeclaration",
                    "src": "469:18:9"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "amount",
                      "scope": 4419,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int256",
                          "type": "int256"
                        },
                        "id": 4416,
                        "name": "ElementaryTypeName",
                        "src": "489:6:9"
                      }
                    ],
                    "id": 4417,
                    "name": "VariableDeclaration",
                    "src": "489:13:9"
                  }
                ],
                "id": 4418,
                "name": "ParameterList",
                "src": "468:35:9"
              }
            ],
            "id": 4419,
            "name": "EventDefinition",
            "src": "458:46:9"
          },
          {
            "attributes": {
              "name": "capTotalSupply",
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 4420,
                "name": "ParameterList",
                "src": "599:2:9"
              },
              {
                "children": [
                  {
                    "id": 4421,
                    "name": "PlaceholderStatement",
                    "src": "612:1:9"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 4422,
                            "name": "Identifier",
                            "src": "623:7:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "int256",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(int256)",
                                      "value": "int"
                                    },
                                    "id": 4423,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "631:3:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4410,
                                      "type": "uint256",
                                      "value": "totalSupply"
                                    },
                                    "id": 4424,
                                    "name": "Identifier",
                                    "src": "635:11:9"
                                  }
                                ],
                                "id": 4425,
                                "name": "FunctionCall",
                                "src": "631:16:9"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 4426,
                                "name": "Literal",
                                "src": "651:1:9"
                              }
                            ],
                            "id": 4427,
                            "name": "BinaryOperation",
                            "src": "631:21:9"
                          }
                        ],
                        "id": 4428,
                        "name": "FunctionCall",
                        "src": "623:30:9"
                      }
                    ],
                    "id": 4429,
                    "name": "ExpressionStatement",
                    "src": "623:30:9"
                  }
                ],
                "id": 4430,
                "name": "Block",
                "src": "602:58:9"
              }
            ],
            "id": 4431,
            "name": "ModifierDefinition",
            "src": "576:84:9"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "Reputation",
              "payable": false,
              "scope": 4544,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 4432,
                "name": "ParameterList",
                "src": "778:2:9"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 4433,
                "name": "ParameterList",
                "src": "788:0:9"
              },
              {
                "children": [
                  {
                    "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": 4408,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 4434,
                                "name": "Identifier",
                                "src": "798:8:9"
                              },
                              {
                                "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": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 4435,
                                    "name": "Identifier",
                                    "src": "807:3:9"
                                  }
                                ],
                                "id": 4436,
                                "name": "MemberAccess",
                                "src": "807:10:9"
                              }
                            ],
                            "id": 4437,
                            "name": "IndexAccess",
                            "src": "798:20:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 4438,
                            "name": "Literal",
                            "src": "821:1:9"
                          }
                        ],
                        "id": 4439,
                        "name": "Assignment",
                        "src": "798:24:9"
                      }
                    ],
                    "id": 4440,
                    "name": "ExpressionStatement",
                    "src": "798:24:9"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4410,
                              "type": "uint256",
                              "value": "totalSupply"
                            },
                            "id": 4441,
                            "name": "Identifier",
                            "src": "832:11:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 4442,
                            "name": "Literal",
                            "src": "846:1:9"
                          }
                        ],
                        "id": 4443,
                        "name": "Assignment",
                        "src": "832:15:9"
                      }
                    ],
                    "id": 4444,
                    "name": "ExpressionStatement",
                    "src": "832:15:9"
                  }
                ],
                "id": 4445,
                "name": "Block",
                "src": "788:66:9"
              }
            ],
            "id": 4446,
            "name": "FunctionDefinition",
            "src": "759:95:9"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "reputationOf",
              "payable": false,
              "scope": 4544,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 4458,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 4447,
                        "name": "ElementaryTypeName",
                        "src": "1034:7:9"
                      }
                    ],
                    "id": 4448,
                    "name": "VariableDeclaration",
                    "src": "1034:14:9"
                  }
                ],
                "id": 4449,
                "name": "ParameterList",
                "src": "1033:16:9"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "balance",
                      "scope": 4458,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 4450,
                        "name": "ElementaryTypeName",
                        "src": "1075:7:9"
                      }
                    ],
                    "id": 4451,
                    "name": "VariableDeclaration",
                    "src": "1075:15:9"
                  }
                ],
                "id": 4452,
                "name": "ParameterList",
                "src": "1074:17:9"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 4452
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4408,
                              "type": "mapping(address => uint256)",
                              "value": "balances"
                            },
                            "id": 4453,
                            "name": "Identifier",
                            "src": "1109:8:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4448,
                              "type": "address",
                              "value": "_owner"
                            },
                            "id": 4454,
                            "name": "Identifier",
                            "src": "1118:6:9"
                          }
                        ],
                        "id": 4455,
                        "name": "IndexAccess",
                        "src": "1109:16:9"
                      }
                    ],
                    "id": 4456,
                    "name": "Return",
                    "src": "1102:23:9"
                  }
                ],
                "id": 4457,
                "name": "Block",
                "src": "1092:40:9"
              }
            ],
            "id": 4458,
            "name": "FunctionDefinition",
            "src": "1012:120:9"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "mint",
              "payable": false,
              "scope": 4544,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_to",
                      "scope": 4543,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 4459,
                        "name": "ElementaryTypeName",
                        "src": "1496:7:9"
                      }
                    ],
                    "id": 4460,
                    "name": "VariableDeclaration",
                    "src": "1496:11:9"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_amount",
                      "scope": 4543,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int256",
                          "type": "int256"
                        },
                        "id": 4461,
                        "name": "ElementaryTypeName",
                        "src": "1509:6:9"
                      }
                    ],
                    "id": 4462,
                    "name": "VariableDeclaration",
                    "src": "1509:14:9"
                  }
                ],
                "id": 4463,
                "name": "ParameterList",
                "src": "1495:29:9"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 4543,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 4468,
                        "name": "ElementaryTypeName",
                        "src": "1566:4:9"
                      }
                    ],
                    "id": 4469,
                    "name": "VariableDeclaration",
                    "src": "1566:4:9"
                  }
                ],
                "id": 4470,
                "name": "ParameterList",
                "src": "1565:6:9"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10275,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 4464,
                    "name": "Identifier",
                    "src": "1532:9:9"
                  }
                ],
                "id": 4465,
                "name": "ModifierInvocation",
                "src": "1532:9:9"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 4431,
                      "type": "modifier ()",
                      "value": "capTotalSupply"
                    },
                    "id": 4466,
                    "name": "Identifier",
                    "src": "1542:14:9"
                  }
                ],
                "id": 4467,
                "name": "ModifierInvocation",
                "src": "1542:14:9"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        4472
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "amountMinted",
                          "scope": 4543,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 4471,
                            "name": "ElementaryTypeName",
                            "src": "1645:3:9"
                          }
                        ],
                        "id": 4472,
                        "name": "VariableDeclaration",
                        "src": "1645:16:9"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 4462,
                          "type": "int256",
                          "value": "_amount"
                        },
                        "id": 4473,
                        "name": "Identifier",
                        "src": "1664:7:9"
                      }
                    ],
                    "id": 4474,
                    "name": "VariableDeclarationStatement",
                    "src": "1645:26:9"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": ">=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "+",
                              "type": "int256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "int256",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(int256)",
                                      "value": "int"
                                    },
                                    "id": 4475,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "1686:3:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 4408,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 4476,
                                        "name": "Identifier",
                                        "src": "1690:8:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 4460,
                                          "type": "address",
                                          "value": "_to"
                                        },
                                        "id": 4477,
                                        "name": "Identifier",
                                        "src": "1699:3:9"
                                      }
                                    ],
                                    "id": 4478,
                                    "name": "IndexAccess",
                                    "src": "1690:13:9"
                                  }
                                ],
                                "id": 4479,
                                "name": "FunctionCall",
                                "src": "1686:18:9"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 4462,
                                  "type": "int256",
                                  "value": "_amount"
                                },
                                "id": 4480,
                                "name": "Identifier",
                                "src": "1707:7:9"
                              }
                            ],
                            "id": 4481,
                            "name": "BinaryOperation",
                            "src": "1686:28:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 4482,
                            "name": "Literal",
                            "src": "1718:1:9"
                          }
                        ],
                        "id": 4483,
                        "name": "BinaryOperation",
                        "src": "1686:33:9"
                      },
                      {
                        "children": [
                          {
                            "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": 4408,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 4484,
                                        "name": "Identifier",
                                        "src": "1736:8:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 4460,
                                          "type": "address",
                                          "value": "_to"
                                        },
                                        "id": 4485,
                                        "name": "Identifier",
                                        "src": "1745:3:9"
                                      }
                                    ],
                                    "id": 4486,
                                    "name": "IndexAccess",
                                    "src": "1736:13:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "uint256",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(uint256)",
                                          "value": "uint"
                                        },
                                        "id": 4487,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1752:4:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_int256",
                                            "typeString": "int256"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "+",
                                          "type": "int256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "int256",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "type": "type(int256)",
                                                  "value": "int"
                                                },
                                                "id": 4488,
                                                "name": "ElementaryTypeNameExpression",
                                                "src": "1757:3:9"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 4408,
                                                      "type": "mapping(address => uint256)",
                                                      "value": "balances"
                                                    },
                                                    "id": 4489,
                                                    "name": "Identifier",
                                                    "src": "1761:8:9"
                                                  },
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 4460,
                                                      "type": "address",
                                                      "value": "_to"
                                                    },
                                                    "id": 4490,
                                                    "name": "Identifier",
                                                    "src": "1770:3:9"
                                                  }
                                                ],
                                                "id": 4491,
                                                "name": "IndexAccess",
                                                "src": "1761:13:9"
                                              }
                                            ],
                                            "id": 4492,
                                            "name": "FunctionCall",
                                            "src": "1757:18:9"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 4462,
                                              "type": "int256",
                                              "value": "_amount"
                                            },
                                            "id": 4493,
                                            "name": "Identifier",
                                            "src": "1778:7:9"
                                          }
                                        ],
                                        "id": 4494,
                                        "name": "BinaryOperation",
                                        "src": "1757:28:9"
                                      }
                                    ],
                                    "id": 4495,
                                    "name": "FunctionCall",
                                    "src": "1752:34:9"
                                  }
                                ],
                                "id": 4496,
                                "name": "Assignment",
                                "src": "1736:50:9"
                              }
                            ],
                            "id": 4497,
                            "name": "ExpressionStatement",
                            "src": "1736:50:9"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4410,
                                      "type": "uint256",
                                      "value": "totalSupply"
                                    },
                                    "id": 4498,
                                    "name": "Identifier",
                                    "src": "1800:11:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "uint256",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(uint256)",
                                          "value": "uint"
                                        },
                                        "id": 4499,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1814:4:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_int256",
                                            "typeString": "int256"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "+",
                                          "type": "int256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "int256",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "type": "type(int256)",
                                                  "value": "int"
                                                },
                                                "id": 4500,
                                                "name": "ElementaryTypeNameExpression",
                                                "src": "1819:3:9"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 4410,
                                                  "type": "uint256",
                                                  "value": "totalSupply"
                                                },
                                                "id": 4501,
                                                "name": "Identifier",
                                                "src": "1823:11:9"
                                              }
                                            ],
                                            "id": 4502,
                                            "name": "FunctionCall",
                                            "src": "1819:16:9"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 4462,
                                              "type": "int256",
                                              "value": "_amount"
                                            },
                                            "id": 4503,
                                            "name": "Identifier",
                                            "src": "1838:7:9"
                                          }
                                        ],
                                        "id": 4504,
                                        "name": "BinaryOperation",
                                        "src": "1819:26:9"
                                      }
                                    ],
                                    "id": 4505,
                                    "name": "FunctionCall",
                                    "src": "1814:32:9"
                                  }
                                ],
                                "id": 4506,
                                "name": "Assignment",
                                "src": "1800:46:9"
                              }
                            ],
                            "id": 4507,
                            "name": "ExpressionStatement",
                            "src": "1800:46:9"
                          }
                        ],
                        "id": 4508,
                        "name": "Block",
                        "src": "1722:135:9"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "int256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4472,
                                      "type": "int256",
                                      "value": "amountMinted"
                                    },
                                    "id": 4509,
                                    "name": "Identifier",
                                    "src": "1877:12:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "*",
                                      "type": "int256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "int_const -1"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "operator": "-",
                                              "prefix": true,
                                              "type": "int_const -1"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "hexvalue": "31",
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "subdenomination": null,
                                                  "token": "number",
                                                  "type": "int_const 1",
                                                  "value": "1"
                                                },
                                                "id": 4510,
                                                "name": "Literal",
                                                "src": "1894:1:9"
                                              }
                                            ],
                                            "id": 4511,
                                            "name": "UnaryOperation",
                                            "src": "1893:2:9"
                                          }
                                        ],
                                        "id": 4512,
                                        "name": "TupleExpression",
                                        "src": "1892:4:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "int256",
                                          "type_conversion": true
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "type": "type(int256)",
                                              "value": "int"
                                            },
                                            "id": 4513,
                                            "name": "ElementaryTypeNameExpression",
                                            "src": "1897:3:9"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 4408,
                                                  "type": "mapping(address => uint256)",
                                                  "value": "balances"
                                                },
                                                "id": 4514,
                                                "name": "Identifier",
                                                "src": "1901:8:9"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 4460,
                                                  "type": "address",
                                                  "value": "_to"
                                                },
                                                "id": 4515,
                                                "name": "Identifier",
                                                "src": "1910:3:9"
                                              }
                                            ],
                                            "id": 4516,
                                            "name": "IndexAccess",
                                            "src": "1901:13:9"
                                          }
                                        ],
                                        "id": 4517,
                                        "name": "FunctionCall",
                                        "src": "1897:18:9"
                                      }
                                    ],
                                    "id": 4518,
                                    "name": "BinaryOperation",
                                    "src": "1892:23:9"
                                  }
                                ],
                                "id": 4519,
                                "name": "Assignment",
                                "src": "1877:38:9"
                              }
                            ],
                            "id": 4520,
                            "name": "ExpressionStatement",
                            "src": "1877:38:9"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "-=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4410,
                                      "type": "uint256",
                                      "value": "totalSupply"
                                    },
                                    "id": 4521,
                                    "name": "Identifier",
                                    "src": "1929:11:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 4408,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 4522,
                                        "name": "Identifier",
                                        "src": "1944:8:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 4460,
                                          "type": "address",
                                          "value": "_to"
                                        },
                                        "id": 4523,
                                        "name": "Identifier",
                                        "src": "1953:3:9"
                                      }
                                    ],
                                    "id": 4524,
                                    "name": "IndexAccess",
                                    "src": "1944:13:9"
                                  }
                                ],
                                "id": 4525,
                                "name": "Assignment",
                                "src": "1929:28:9"
                              }
                            ],
                            "id": 4526,
                            "name": "ExpressionStatement",
                            "src": "1929:28:9"
                          },
                          {
                            "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": 4408,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 4527,
                                        "name": "Identifier",
                                        "src": "1971:8:9"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 4460,
                                          "type": "address",
                                          "value": "_to"
                                        },
                                        "id": 4528,
                                        "name": "Identifier",
                                        "src": "1980:3:9"
                                      }
                                    ],
                                    "id": 4529,
                                    "name": "IndexAccess",
                                    "src": "1971:13:9"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 4530,
                                    "name": "Literal",
                                    "src": "1987:1:9"
                                  }
                                ],
                                "id": 4531,
                                "name": "Assignment",
                                "src": "1971:17:9"
                              }
                            ],
                            "id": 4532,
                            "name": "ExpressionStatement",
                            "src": "1971:17:9"
                          }
                        ],
                        "id": 4533,
                        "name": "Block",
                        "src": "1863:136:9"
                      }
                    ],
                    "id": 4534,
                    "name": "IfStatement",
                    "src": "1682:317:9"
                  },
                  {
                    "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_int256",
                                  "typeString": "int256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4419,
                              "type": "function (address,int256)",
                              "value": "Mint"
                            },
                            "id": 4535,
                            "name": "Identifier",
                            "src": "2009:4:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4460,
                              "type": "address",
                              "value": "_to"
                            },
                            "id": 4536,
                            "name": "Identifier",
                            "src": "2014:3:9"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4472,
                              "type": "int256",
                              "value": "amountMinted"
                            },
                            "id": 4537,
                            "name": "Identifier",
                            "src": "2019:12:9"
                          }
                        ],
                        "id": 4538,
                        "name": "FunctionCall",
                        "src": "2009:23:9"
                      }
                    ],
                    "id": 4539,
                    "name": "ExpressionStatement",
                    "src": "2009:23:9"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 4470
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 4540,
                        "name": "Literal",
                        "src": "2049:4:9"
                      }
                    ],
                    "id": 4541,
                    "name": "Return",
                    "src": "2042:11:9"
                  }
                ],
                "id": 4542,
                "name": "Block",
                "src": "1572:488:9"
              }
            ],
            "id": 4543,
            "name": "FunctionDefinition",
            "src": "1482:578:9"
          }
        ],
        "id": 4544,
        "name": "ContractDefinition",
        "src": "252:1810:9"
      }
    ],
    "id": 4545,
    "name": "SourceUnit",
    "src": "0:2063:9"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.364Z"
}