{
  "contractName": "AbsoluteVote",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "reputationSystem",
          "type": "address"
        },
        {
          "name": "precReq",
          "type": "uint256"
        },
        {
          "name": "allowOwner",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_reputationSystem",
          "type": "address"
        },
        {
          "name": "_precReq",
          "type": "uint256"
        },
        {
          "name": "_allowOwner",
          "type": "bool"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "voteInfo",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposals",
      "outputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "avatar",
          "type": "address"
        },
        {
          "name": "numOfChoices",
          "type": "uint256"
        },
        {
          "name": "executable",
          "type": "address"
        },
        {
          "name": "paramsHash",
          "type": "bytes32"
        },
        {
          "name": "totalVotes",
          "type": "uint256"
        },
        {
          "name": "open",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "ownerVote",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelProposal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "name": "_paramsHash",
          "type": "bytes32"
        },
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_executable",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "votesStatus",
      "outputs": [
        {
          "name": "votes",
          "type": "uint256[11]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelVote",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        }
      ],
      "name": "vote",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getNumberOfChoices",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        },
        {
          "name": "_rep",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "voteWithSpecifiedAmounts",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "isVotable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_reputationSystem",
          "type": "address"
        },
        {
          "name": "_precReq",
          "type": "uint256"
        },
        {
          "name": "_allowOwner",
          "type": "bool"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_paramsHash",
          "type": "bytes32"
        }
      ],
      "name": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogCancelProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_decision",
          "type": "uint256"
        }
      ],
      "name": "LogExecuteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_voter",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_vote",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_reputation",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_isOwnerVote",
          "type": "bool"
        }
      ],
      "name": "LogVoteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "LogCancelVoting",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b6110d68061001e6000396000f3006060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c578063119ce91b1461014557806332ed5b121461017f578063339e23d1146101df57806337376ca81461021857806388737b5e1461022e5780638fe23d1a146102595780639525c0cc146102a85780639ef1204c146102c0578063a003651d146102d9578063ac5d8745146102ef578063c08351061461030e578063e751f27114610324578063fed0d7df1461033a575b600080fd5b34156100d157600080fd5b6100dc600435610361565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a0360043516602435604435151561038f565b60405190815260200160405180910390f35b341561015057600080fd5b610167600435600160a060020a03602435166103f9565b60405191825260208201526040908101905180910390f35b341561018a57600080fd5b610195600435610458565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b34156101ea57600080fd5b610204600435602435600160a060020a03604435166104a7565b604051901515815260200160405180910390f35b341561022357600080fd5b61020460043561053e565b341561023957600080fd5b610133600435602435600160a060020a03604435811690606435166105fe565b341561026457600080fd5b61026f6004356107f5565b604051808261016080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b34156102b357600080fd5b6102be600435610842565b005b34156102cb57600080fd5b610204600435602435610872565b34156102e457600080fd5b6101336004356108a9565b34156102fa57600080fd5b6102046004356024356044356064356108be565b341561031957600080fd5b6102046004356108f6565b341561032f57600080fd5b61020460043561090e565b341561034557600080fd5b610133600160a060020a03600435166024356044351515610b5c565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040461100f565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146104d057600080fd5b600085815260016020526040902060080154859060ff1615156104f257600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156105255760009250610535565b6105328685876000610c11565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461056757600080fd5b600083815260016020526040902060080154839060ff16151561058957600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156105bc57600092506105f7565b6105c584610e40565b837fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b560405160405180910390a2600192505b5050919050565b600080610609611026565b600086815260208190526040902054600160a060020a0316151561062c57600080fd5b60008711801561063d5750600a8711155b151561064857600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018a905260808401899052600160a060020a03808916602080870191909152888216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f82cc1e47a0fddd1b4b3576bd36d20b845eac0f69b7057cb0357a3cb4ce29cb65883389604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a25095945050505050565b6107fd611062565b6000828152600160205260408120905b600282015481116105f75760008181526006830160205260409020548382600b811061083557fe5b602002015260010161080d565b600081815260016020526040902060080154819060ff16151561086457600080fd5b61086e8233610edb565b5050565b600082815260016020526040812060080154839060ff16151561089457600080fd5b6108a18433856000610c11565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e057600080fd5b6108ec86338787610c11565b9695505050505050565b60009081526001602052604090206008015460ff1690565b600080600080600061091e611026565b600087815260016020526040902060080154879060ff16151561094057600080fd5b6000888152600160209081526040808320600481015484529183905280832054919850600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109a857600080fd5b6102c65a03f115156109b957600080fd5b505050604051805160048801546000908152602081905260408120600101549197509095509350505b60028601548311610b4c576000838152600687016020526040902054606485870204901115610b41578560e060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260089091015460ff16151560c08201529150610a7a88610e40565b877f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc8460405190815260200160405180910390a28160600151600160a060020a031663310ce4e28984602001518660006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610b1c57600080fd5b6102c65a03f11515610b2d57600080fd5b505050604051805190505060019650610b51565b6001909201916109e2565b600096505b505050505050919050565b60008060648411158015610b705750600084115b1515610b7b57600080fd5b610b8685858561038f565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610c1c61108a565b600087815260016020908152604080832060048101548452918390528083209194508291906060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290850154909350871115610c8657600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cde57600080fd5b6102c65a03f11515610cef57600080fd5b505050604051805192505085821015610d0757600080fd5b5084801515610d135750805b600160a060020a038816600090815260078501602052604090206001015415610d4057610d408989610edb565b6000878152600685016020526040902054610d6290829063ffffffff610fe716565b60008881526006860160205260409020556005840154610d8990829063ffffffff610fe716565b60058501556040805190810160409081528882526020808301849052600160a060020a038b166000908152600788019091522081518155602082015160019091015550600160a060020a03808916908a907f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c012908a9086903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610e338961090e565b9998505050505050505050565b6000818152600160205260408120905b60028201548111610e74576000818152600683016020526040812055600101610e50565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000610ee561100f565b6000848152600160209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150610f5790516006840160008451815260200190815260200160002054610ffd90919063ffffffff16565b6006830160008351815260200190815260200160002081905550610f8a816020015160058401549063ffffffff610ffd16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b600082820183811015610ff657fe5b9392505050565b60008282111561100957fe5b50900390565b604080519081016040526000808252602082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b610160604051908101604052600b815b60008152602001906001900390816110725790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582028cf87124a54c50484c44fb82b3c773cd9020f3460e262e359a8f43651dff8130029",
  "deployedBytecode": "0x6060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c578063119ce91b1461014557806332ed5b121461017f578063339e23d1146101df57806337376ca81461021857806388737b5e1461022e5780638fe23d1a146102595780639525c0cc146102a85780639ef1204c146102c0578063a003651d146102d9578063ac5d8745146102ef578063c08351061461030e578063e751f27114610324578063fed0d7df1461033a575b600080fd5b34156100d157600080fd5b6100dc600435610361565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a0360043516602435604435151561038f565b60405190815260200160405180910390f35b341561015057600080fd5b610167600435600160a060020a03602435166103f9565b60405191825260208201526040908101905180910390f35b341561018a57600080fd5b610195600435610458565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b34156101ea57600080fd5b610204600435602435600160a060020a03604435166104a7565b604051901515815260200160405180910390f35b341561022357600080fd5b61020460043561053e565b341561023957600080fd5b610133600435602435600160a060020a03604435811690606435166105fe565b341561026457600080fd5b61026f6004356107f5565b604051808261016080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b34156102b357600080fd5b6102be600435610842565b005b34156102cb57600080fd5b610204600435602435610872565b34156102e457600080fd5b6101336004356108a9565b34156102fa57600080fd5b6102046004356024356044356064356108be565b341561031957600080fd5b6102046004356108f6565b341561032f57600080fd5b61020460043561090e565b341561034557600080fd5b610133600160a060020a03600435166024356044351515610b5c565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040461100f565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146104d057600080fd5b600085815260016020526040902060080154859060ff1615156104f257600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156105255760009250610535565b6105328685876000610c11565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461056757600080fd5b600083815260016020526040902060080154839060ff16151561058957600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156105bc57600092506105f7565b6105c584610e40565b837fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b560405160405180910390a2600192505b5050919050565b600080610609611026565b600086815260208190526040902054600160a060020a0316151561062c57600080fd5b60008711801561063d5750600a8711155b151561064857600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018a905260808401899052600160a060020a03808916602080870191909152888216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f82cc1e47a0fddd1b4b3576bd36d20b845eac0f69b7057cb0357a3cb4ce29cb65883389604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a25095945050505050565b6107fd611062565b6000828152600160205260408120905b600282015481116105f75760008181526006830160205260409020548382600b811061083557fe5b602002015260010161080d565b600081815260016020526040902060080154819060ff16151561086457600080fd5b61086e8233610edb565b5050565b600082815260016020526040812060080154839060ff16151561089457600080fd5b6108a18433856000610c11565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e057600080fd5b6108ec86338787610c11565b9695505050505050565b60009081526001602052604090206008015460ff1690565b600080600080600061091e611026565b600087815260016020526040902060080154879060ff16151561094057600080fd5b6000888152600160209081526040808320600481015484529183905280832054919850600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109a857600080fd5b6102c65a03f115156109b957600080fd5b505050604051805160048801546000908152602081905260408120600101549197509095509350505b60028601548311610b4c576000838152600687016020526040902054606485870204901115610b41578560e060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260089091015460ff16151560c08201529150610a7a88610e40565b877f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc8460405190815260200160405180910390a28160600151600160a060020a031663310ce4e28984602001518660006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610b1c57600080fd5b6102c65a03f11515610b2d57600080fd5b505050604051805190505060019650610b51565b6001909201916109e2565b600096505b505050505050919050565b60008060648411158015610b705750600084115b1515610b7b57600080fd5b610b8685858561038f565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610c1c61108a565b600087815260016020908152604080832060048101548452918390528083209194508291906060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290850154909350871115610c8657600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cde57600080fd5b6102c65a03f11515610cef57600080fd5b505050604051805192505085821015610d0757600080fd5b5084801515610d135750805b600160a060020a038816600090815260078501602052604090206001015415610d4057610d408989610edb565b6000878152600685016020526040902054610d6290829063ffffffff610fe716565b60008881526006860160205260409020556005840154610d8990829063ffffffff610fe716565b60058501556040805190810160409081528882526020808301849052600160a060020a038b166000908152600788019091522081518155602082015160019091015550600160a060020a03808916908a907f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c012908a9086903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610e338961090e565b9998505050505050505050565b6000818152600160205260408120905b60028201548111610e74576000818152600683016020526040812055600101610e50565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000610ee561100f565b6000848152600160209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150610f5790516006840160008451815260200190815260200160002054610ffd90919063ffffffff16565b6006830160008351815260200190815260200160002081905550610f8a816020015160058401549063ffffffff610ffd16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b600082820183811015610ff657fe5b9392505050565b60008282111561100957fe5b50900390565b604080519081016040526000808252602082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b610160604051908101604052600b815b60008152602001906001900390816110725790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582028cf87124a54c50484c44fb82b3c773cd9020f3460e262e359a8f43651dff8130029",
  "sourceMap": "100:11735:1:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "100:11735:1:-;;;;;;;;;-1:-1:-1;;;100:11735:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1518:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1518:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2894:194;;;;;;;;;;-1:-1:-1;;;;;2894:194:1;;;;;;;;;;;;;;;;;;;;;;;;;;8364:213;;;;;;;;;;;;-1:-1:-1;;;;;8364:213:1;;;;;;;;;;;;;;;;;;;;;;;;;;1610:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1610:43:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5774:319;;;;;;;;;;;;;;-1:-1:-1;;;;;5774:319:1;;;;;;;;;;;;;;;;;;;;;;4650:333;;;;;;;;;;;;;;3591:897;;;;;;;;;;;;;;-1:-1:-1;;;;;3591:897:1;;;;;;;;;;8819:271;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;6496:129:1;;;;;;;;;;;;;;;;5238:160;;;;;;;;;;;;;;;;7886:138;;;;;;;;;;;;;;6099:194;;;;;;;;;;;;;;;;;;;;9252:122;;;;;;;;;;;;;;6877:809;;;;;;;;;;;;;;2336:476;;;;;;;;;;-1:-1:-1;;;;;2336:476:1;;;;;;;;;;;1518:46;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1518:46:1;;;;;;;;:::o;2894:194::-;3004:7;3040:17;3059:8;3069:11;3030:51;;-1:-1:-1;;;;;3030:51:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3023:58;;2894:194;;;;;:::o;8364:213::-;8443:4;8449;8465:18;;:::i;:::-;8486:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;8486:37:1;;;;:29;;:37;;;;;;;;:22;8465:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8465:58:1;8541:10;8553:5;:16;;;8533:37;;;;8364:213;;;;;;:::o;1610:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1610:43:1;;;;;;;;;;;;;;;;;;;:::o;5774:319::-;5909:4;1992:22;;;:9;:22;;;;;:28;5867:11;;1978:10;-1:-1:-1;;;;;1978:42:1;;;1992:28;;1978:42;1970:51;;;;;;2186:22;;;;:9;:22;;;;;:27;;;5888:11;;2186:27;;2178:36;;;;;;;;5931:10;5942:22;;;:9;:22;;;;;;;;:33;;;5931:45;;;;;;;;:56;;;;;5929:58;5925:101;;;6010:5;6003:12;;;;5925:101;6043:43;6056:11;6069:6;6077:5;6084:1;6043:12;:43::i;:::-;6035:51;;2224:1;2031;5774:319;;;;;;:::o;4650:333::-;4762:4;1992:22;;;:9;:22;;;;;:28;4720:11;;1978:10;-1:-1:-1;;;;;1978:42:1;;;1992:28;;1978:42;1970:51;;;;;;2186:22;;;;:9;:22;;;;;:27;;;4741:11;;2186:27;;2178:36;;;;;;;;4784:10;4795:22;;;:9;:22;;;;;;;;:33;;;4784:45;;;;;;;;:56;;;;;4782:58;4778:101;;;4863:5;4856:12;;;;4778:101;4888:27;4903:11;4888:14;:27::i;:::-;4943:11;4925:30;;;;;;;;;;4972:4;4965:11;;2224:1;2031;4650:333;;;;:::o;3591:897::-;3714:7;3967:18;4077:24;;:::i;:::-;3846:1;3794:23;;;;;;;;;;:40;-1:-1:-1;;;;;3794:40:1;:54;;3786:63;;;;;;3883:1;3867:13;:17;:56;;;;;1758:2;3888:13;:35;;3867:56;3859:65;;;;;;;;3998:4;4004:12;;3988:29;;-1:-1:-1;;;;;3988:29:1;;;;;;;;;;;;;;;;;;;;;;4027:12;:14;;;;;;;;;4111:21;;;;:37;;;4158:19;;;:33;;;-1:-1:-1;;;;;4201:25:1;;;:15;;;;:25;;;;4236:33;;;-1:-1:-1;4236:19:1;;:33;4296:10;4279:27;;;;;4316:13;;;:20;;;4027:12;4346:21;;;;;;;;3988:29;;-1:-1:-1;4111:8:1;;;4346:32;;;-1:-1:-1;;4346:32:1;-1:-1:-1;;;;;4346:32:1;;;;;;;;;;;;;;;;-1:-1:-1;;4346:32:1;-1:-1:-1;;;;;4346:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4346:32:1;-1:-1:-1;;;;;4346:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4346:32:1;;;;;;;;;;-1:-1:-1;4403:10:1;4388:66;4415:13;4430:10;4442:11;4388:66;;;;;-1:-1:-1;;;;;4388:66:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4471:10:1;3591:897;-1:-1:-1;;;;;3591:897:1:o;8819:271::-;8885:14;;:::i;:::-;8911:25;8939:22;;;:9;:22;;;;;;8971:113;8997:21;;;;8990:28;;8971:113;;9054:19;;;;:14;;;:19;;;;;;9041:5;9069:3;9041:10;;;;;;;;;;:32;9020:5;;8971:113;;6496:129;2186:22;;;;:9;:22;;;;;:27;;;6552:11;;2186:27;;2178:36;;;;;;;;6575:43;6594:11;6607:10;6575:18;:43::i;:::-;6496:129;;:::o;5238:160::-;5321:4;2186:22;;;:9;:22;;;;;:27;;;5300:11;;2186:27;;2178:36;;;;;;;;5344:47;5357:11;5370:10;5382:5;5389:1;5344:12;:47::i;:::-;5337:54;5238:160;-1:-1:-1;;;;5238:160:1:o;7886:138::-;7959:4;7982:22;;;:9;:22;;;;;:35;;;;7886:138::o;6099:194::-;6216:4;2186:22;;;:9;:22;;;;;:27;;;6195:11;;2186:27;;2178:36;;;;;;;;6239:47;6252:11;6264:10;6275:5;6281:4;6239:12;:47::i;:::-;6232:54;6099:194;-1:-1:-1;;;;;;6099:194:1:o;9252:122::-;9316:4;9340:22;;;:9;:22;;;;;:27;;;;;;9252:122::o;6877:809::-;6951:4;6967:25;7027:20;7122:12;7236:8;7374:27;;:::i;:::-;2186:22;;;;:9;:22;;;;;:27;;;6930:11;;2186:27;;2178:36;;;;;;;;6995:22;;;;:9;:22;;;;;;;;7061:19;;;;7050:31;;;;;;;;;:48;6995:22;;-1:-1:-1;;;;;;7050:48:1;;;;:60;;:62;;;;;;;;;-1:-1:-1;;;7050:62:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7148:19;;;;7137:10;:31;;;;;;;;;;:39;;;7050:62;;-1:-1:-1;7137:39:1;;-1:-1:-1;7137:10:1;-1:-1:-1;;7231:427:1;7257:21;;;;7250:28;;7231:427;;7305:19;;;;:14;;;:19;;;;;;7351:3;7327:23;;;:27;7305:49;;7301:347;;;7404:8;7374:38;;;;;;;;;;;;-1:-1:-1;;;;;7374:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7430:27:1;7445:11;7430:14;:27::i;:::-;7494:11;7475:36;7507:3;7475:36;;;;;;;;;;;;;;7530:11;:22;;;-1:-1:-1;;;;;7529:32:1;;7562:11;7575;:18;;;7599:3;7529:75;;;;;;;;-1:-1:-1;;;7529:75:1;;;;;;;;;;;;;-1:-1:-1;;;;;7529:75:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7629:4;7622:11;;;;7301:347;7280:5;;;;;7231:427;;;7674:5;7667:12;;2224:1;6877:809;;;;;;;;;:::o;2336:476::-;2437:7;2506:24;2476:3;2464:8;:15;;:31;;;;;2494:1;2483:8;:12;2464:31;2456:40;;;;;;;;2533:59;2551:17;2570:8;2580:11;2533:17;:59::i;:::-;2506:86;;2633:139;;;;;;;;;;-1:-1:-1;;;;;2633:139:1;;;;;;;;;;;;;;;;;;-1:-1:-1;2602:28:1;;;;;;;;2633:139;2602:170;;;-1:-1:-1;;2602:170:1;-1:-1:-1;;;;;2602:170:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2602:170:1;;;;;;;;;;-1:-1:-1;2789:16:1;2336:476;-1:-1:-1;;;;2336:476:1:o;10623:1210::-;10721:4;10737:25;10797:24;;:::i;:::-;10989:15;10765:22;;;:9;:22;;;;;;;;10835:19;;;;10824:31;;;;;;;;;10765:22;;-1:-1:-1;10989:15:1;;10824:31;10797:58;;;;;;;;;;;;-1:-1:-1;;;;;10797:58:1;;;;;;;;;;;;;;;;;;;;;;;;10911:21;;;;10797:58;;-1:-1:-1;10902:30:1;;;10894:39;;;;;;11007:6;:23;-1:-1:-1;;;;;11007:36:1;;11044:6;11007:44;;;;;;;;-1:-1:-1;;;11007:44:1;;;;;;-1:-1:-1;;;;;11007:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11069:18:1;;;;11061:27;;;;;;-1:-1:-1;11109:4:1;11127:8;;11123:55;;;-1:-1:-1;11157:10:1;11123:55;-1:-1:-1;;;;;11258:23:1;;;;;;:15;;;:23;;;;;:34;;;:39;11254:109;;11313:39;11332:11;11345:6;11313:18;:39::i;:::-;11434:21;;;;:14;;;:21;;;;;;11426:30;;:3;;:30;:7;:30;:::i;:::-;11402:21;;;;:14;;;:21;;;;;:54;11496:19;;;;11488:28;;:3;;:28;:7;:28;:::i;:::-;11466:19;;;:50;11552:71;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11526:23:1;;-1:-1:-1;11526:23:1;;;:15;;;:23;;;;11552:71;11526:97;;;;;;;;;;;;-1:-1:-1;;;;;;11651:79:1;;;;11667:11;;11651:79;;11688:5;;11695:10;;11718;11708:20;;;;11651:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11806:20;11814:11;11806:7;:20::i;:::-;11799:27;10623:1210;-1:-1:-1;;;;;;;;;10623:1210:1:o;9831:275::-;9894:25;9922:22;;;:9;:22;;;;;;9954:107;9980:21;;;;9973:28;;9954:107;;10031:19;;;;:14;;;:19;;;;;10024:26;10003:5;;9954:107;;;-1:-1:-1;;10077:22:1;;;;:9;:22;;;;;;;10070:29;;-1:-1:-1;;10070:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10070:29:1;;;9831:275::o;9380:445::-;9464:25;9524:18;;:::i;:::-;9492:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;9545:23:1;;;;:15;;;:23;;;;;;;9492:22;;-1:-1:-1;9545:23:1;9492:22;9524:44;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9607:50:1;;9640:16;9608:14;;;:26;9623:5;:10;9608:26;;;;;;;;;;;;9607:32;;:50;;;;:::i;:::-;9578:14;;;:26;9593:5;:10;9578:26;;;;;;;;;;;:79;;;;9689:43;9715:5;:16;;;9690:19;;;;;9689:43;:25;:43;:::i;:::-;9667:19;;;:65;-1:-1:-1;;;;;9749:23:1;;;;;;:15;;;:23;;;;;;9742:30;;;;;;;;;9798:11;;9782:36;;;;;;;;;;9380:445;;;;:::o;698:129:31:-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:31:o;584:110::-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:31;;;584:110::o;100:11735:1:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../controller/Reputation.sol\";\nimport \"./IntVoteInterface.sol\";\n\n\ncontract AbsoluteVote is IntVoteInterface {\n    using SafeMath for uint;\n\n\n    struct Parameters {\n        Reputation reputationSystem; // the reputation system that is being used\n        uint precReq; // how many percentages required for the proposal to be passed\n        bool allowOwner; // does this proposal has an owner who has owner rights?\n    }\n\n    struct Voter {\n        uint vote; // 0 - 'abstain'\n        uint reputation; // amount of voter's reputation\n    }\n\n    struct Proposal {\n        address owner; // the proposal's owner\n        address avatar; // the avatar of the organization that owns the proposal\n        uint numOfChoices;\n        ExecutableInterface executable; // will be executed if the proposal will pass\n        bytes32 paramsHash; // the hash of the parameters of the proposal\n        uint totalVotes;\n        mapping(uint=>uint) votes;\n        mapping(address=>Voter) voters;\n        bool open; // voting open flag\n    }\n\n    event LogNewProposal(bytes32 indexed _proposalId, uint _numOfChoices, address _proposer, bytes32 _paramsHash);\n    event LogCancelProposal(bytes32 indexed _proposalId);\n    event LogExecuteProposal(bytes32 indexed _proposalId, uint _decision);\n    event LogVoteProposal(bytes32 indexed _proposalId, address indexed _voter, uint _vote, uint _reputation, bool _isOwnerVote);\n    event LogCancelVoting(bytes32 indexed _proposalId, address indexed _voter);\n\n    mapping(bytes32=>Parameters) public parameters;  // A mapping from hashes to parameters\n    mapping(bytes32=>Proposal) public proposals; // Mapping from the ID of the proposal to the proposal itself.\n\n    uint constant MAX_NUM_OF_CHOICES = 10;\n    uint proposalsCnt; // Total amount of proposals\n\n  /**\n   * @dev Check that there is owner for the proposal and he sent the transaction\n   */\n    modifier onlyProposalOwner(bytes32 _proposalId) {\n        require(msg.sender == proposals[_proposalId].owner);\n        _;\n    }\n\n  /**\n   * @dev Check that the proposal is votable (open and not executed yet)\n   */\n    modifier votable(bytes32 _proposalId) {\n        require(proposals[_proposalId].open);\n        _;\n    }\n\n    /**\n     * @dev hash the parameters, save them if necessary, and return the hash value\n    */\n    function setParameters(Reputation _reputationSystem, uint _precReq, bool _allowOwner) public returns(bytes32) {\n        require(_precReq <= 100 && _precReq > 0);\n        bytes32 hashedParameters = getParametersHash(_reputationSystem, _precReq, _allowOwner);\n        parameters[hashedParameters] = Parameters({\n            reputationSystem: _reputationSystem,\n            precReq: _precReq,\n            allowOwner: _allowOwner\n        });\n        return hashedParameters;\n    }\n\n  /**\n   * @dev hashParameters returns a hash of the given parameters\n   */\n    function getParametersHash(Reputation _reputationSystem, uint _precReq, bool _allowOwner) public pure returns(bytes32) {\n        return keccak256(_reputationSystem, _precReq, _allowOwner);\n    }\n\n  /**\n   * @dev register a new proposal with the given parameters. Every proposal has a unique ID which is being\n   * generated by calculating keccak256 of a incremented counter.\n   * @param _paramsHash defined the parameters of the voting machine used for this proposal\n   * @param _avatar an address to be sent as the payload to the _executable contract.\n   * @param _executable This contract will be executed when vote is over.\n   * TODO: Maybe we need to check the 0 < precReq <= 100 ??\n   */\n    function propose(uint _numOfChoices, bytes32 _paramsHash, address _avatar, ExecutableInterface _executable) public returns(bytes32) {\n        // Check valid params and number of choices:\n        require(parameters[_paramsHash].reputationSystem != address(0));\n        require(_numOfChoices > 0 && _numOfChoices <= MAX_NUM_OF_CHOICES);\n        // Generate a unique ID:\n        bytes32 proposalId = keccak256(this, proposalsCnt);\n        proposalsCnt++;\n        // Open proposal:\n        Proposal memory proposal;\n        proposal.numOfChoices = _numOfChoices;\n        proposal.paramsHash = _paramsHash;\n        proposal.avatar = _avatar;\n        proposal.executable = _executable;\n        proposal.owner = msg.sender;\n        proposal.open = true;\n        proposals[proposalId] = proposal;\n        LogNewProposal(proposalId, _numOfChoices, msg.sender, _paramsHash);\n        return proposalId;\n    }\n\n  /**\n   * @dev Cancel a proposal, only the owner can call this function and only if allowOwner flag is true.\n   * @param _proposalId the proposal ID\n   */\n    function cancelProposal(bytes32 _proposalId) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\n        if (! parameters[proposals[_proposalId].paramsHash].allowOwner) {\n            return false;\n        }\n        deleteProposal(_proposalId);\n        LogCancelProposal(_proposalId);\n        return true;\n    }\n\n  /**\n   * @dev voting function\n   * @param _proposalId id of the proposal\n   * @param _vote a value between 0 to and the proposal number of choices.\n   * @return bool true - the proposal has been executed\n   *              false - otherwise.\n   */\n    function vote(bytes32 _proposalId, uint _vote) public votable(_proposalId) returns(bool) {\n        return internalVote(_proposalId, msg.sender, _vote, 0);\n    }\n\n  /**\n   * @dev voting function with owner functionality (can vote on behalf of someone else)\n   * @param _proposalId id of the proposal\n   * @param _vote a value between 0 to and the proposal number of choices.\n   * @param _voter will be voted with that voter's address\n   * @return bool true - the proposal has been executed\n   *              false - otherwise.\n   */\n    function ownerVote(bytes32 _proposalId, uint _vote, address _voter) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\n        if (! parameters[proposals[_proposalId].paramsHash].allowOwner) {\n            return false;\n        }\n        return  internalVote(_proposalId, _voter, _vote, 0);\n    }\n\n    function voteWithSpecifiedAmounts(bytes32 _proposalId,uint _vote,uint _rep,uint) public votable(_proposalId) returns(bool) {\n        return internalVote(_proposalId,msg.sender,_vote,_rep);\n    }\n\n  /**\n   * @dev Cancel the vote of the msg.sender: subtract the reputation amount from the votes\n   * and delete the voter from the proposal struct\n   * @param _proposalId id of the proposal\n   */\n    function cancelVote(bytes32 _proposalId) public votable(_proposalId) {\n        cancelVoteInternal(_proposalId, msg.sender);\n    }\n\n  /**\n    * @dev execute check if the proposal has been decided, and if so, execute the proposal\n    * @param _proposalId the id of the proposal\n    * @return bool true - the proposal has been executed\n    *              false - otherwise.\n   */\n    function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n        uint totalReputation = parameters[proposal.paramsHash].reputationSystem.totalSupply();\n        uint precReq = parameters[proposal.paramsHash].precReq;\n        // Check if someone crossed the bar:\n        for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\n            if (proposal.votes[cnt] > totalReputation*precReq/100) {\n                Proposal memory tmpProposal = proposal;\n                deleteProposal(_proposalId);\n                LogExecuteProposal(_proposalId, cnt);\n                (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(cnt));\n                return true;\n            }\n        }\n        return false;\n    }\n\n  /**\n   * @dev getNumberOfChoices returns the number of choices possible in this proposal\n   * @param _proposalId the ID of the proposal\n   * @return uint that contains number of choices\n   */\n    function getNumberOfChoices(bytes32 _proposalId) public constant returns(uint) {\n        return proposals[_proposalId].numOfChoices;\n    }\n\n  /**\n   * @dev voteInfo returns the vote and the amount of reputation of the user committed to this proposal\n   * @param _proposalId the ID of the proposal\n   * @param _voter the address of the voter\n   * @return uint vote - the voters vote\n   *        uint reputation - amount of reputation committed by _voter to _proposalId\n   */\n    function voteInfo(bytes32 _proposalId, address _voter) public constant returns(uint, uint) {\n        Voter memory voter = proposals[_proposalId].voters[_voter];\n        return (voter.vote, voter.reputation);\n    }\n\n    /**\n     * @dev votesStatus returns the number of yes, no, and abstain and if the proposal is ended of a given proposal id\n     * @param _proposalId the ID of the proposal\n     * @return votes array of votes for each choice\n     */\n    function votesStatus(bytes32 _proposalId) public constant returns(uint[11] votes) {\n        Proposal storage proposal = proposals[_proposalId];\n        for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\n            votes[cnt] = proposal.votes[cnt];\n        }\n    }\n\n    /**\n      * @dev isVotable check if the proposal is votable\n      * @param _proposalId the ID of the proposal\n      * @return bool true or false\n    */\n    function isVotable(bytes32 _proposalId) public constant returns(bool) {\n        return  proposals[_proposalId].open;\n    }\n\n    function cancelVoteInternal(bytes32 _proposalId, address _voter) internal {\n        Proposal storage proposal = proposals[_proposalId];\n        Voter memory voter = proposal.voters[_voter];\n        proposal.votes[voter.vote] = (proposal.votes[voter.vote]).sub(voter.reputation);\n        proposal.totalVotes = (proposal.totalVotes).sub(voter.reputation);\n        delete proposal.voters[_voter];\n        LogCancelVoting(_proposalId, _voter);\n    }\n\n    function deleteProposal(bytes32 _proposalId) private {\n        Proposal storage proposal = proposals[_proposalId];\n        for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\n            delete proposal.votes[cnt];\n        }\n        delete proposals[_proposalId];\n    }\n\n    /**\n     * @dev Vote for a proposal, if the voter already voted, cancel the last vote and set a new one instead\n     * @param _proposalId id of the proposal\n     * @param _voter used in case the vote is cast for someone else\n     * @param _vote a value between 0 to and the proposal's number of choices.\n     * @return true in case of proposal execution otherwise false\n     * throws if proposal is not open or if it has been executed\n     * NB: executes the proposal if a decision has been reached\n     */\n    function internalVote(bytes32 _proposalId, address _voter, uint _vote, uint _rep) private returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n        Parameters memory params = parameters[proposal.paramsHash];\n        // Check valid vote:\n        require(_vote <= proposal.numOfChoices);\n        // Check voter has enough reputation:\n        uint reputation = params.reputationSystem.reputationOf(_voter);\n        require(reputation >= _rep);\n        uint rep = _rep;\n        if (rep == 0) {\n            rep = reputation;\n        }\n        // If this voter has already voted, first cancel the vote:\n        if (proposal.voters[_voter].reputation != 0) {\n            cancelVoteInternal(_proposalId, _voter);\n        }\n        // The voting itself:\n        proposal.votes[_vote] = rep.add(proposal.votes[_vote]);\n        proposal.totalVotes = rep.add(proposal.totalVotes);\n        proposal.voters[_voter] = Voter({\n            reputation: rep,\n            vote: _vote\n        });\n        // Event:\n        LogVoteProposal(_proposalId, _voter, _vote, reputation, (_voter != msg.sender));\n        // execute the proposal if this vote was decisive:\n        return execute(_proposalId);\n    }\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/AbsoluteVote.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/AbsoluteVote.sol",
      "exportedSymbols": {
        "AbsoluteVote": [
          881
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 59,
        "name": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "attributes": {
          "SourceUnit": 4545,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/controller/Reputation.sol",
          "file": "../controller/Reputation.sol",
          "scope": 882,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 60,
        "name": "ImportDirective",
        "src": "26:38:1"
      },
      {
        "attributes": {
          "SourceUnit": 2652,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "./IntVoteInterface.sol",
          "scope": 882,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 61,
        "name": "ImportDirective",
        "src": "65:32:1"
      },
      {
        "attributes": {
          "contractDependencies": [
            2651
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            881,
            2651
          ],
          "name": "AbsoluteVote",
          "scope": 882
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "IntVoteInterface",
                  "referencedDeclaration": 2651,
                  "type": "contract IntVoteInterface"
                },
                "id": 62,
                "name": "UserDefinedTypeName",
                "src": "125:16:1"
              }
            ],
            "id": 63,
            "name": "InheritanceSpecifier",
            "src": "125:16:1"
          },
          {
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SafeMath",
                  "referencedDeclaration": 10221,
                  "type": "library SafeMath"
                },
                "id": 64,
                "name": "UserDefinedTypeName",
                "src": "154:8:1"
              },
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 65,
                "name": "ElementaryTypeName",
                "src": "167:4:1"
              }
            ],
            "id": 66,
            "name": "UsingForDirective",
            "src": "148:24:1"
          },
          {
            "attributes": {
              "canonicalName": "AbsoluteVote.Parameters",
              "name": "Parameters",
              "scope": 881,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "reputationSystem",
                  "scope": 73,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract Reputation",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Reputation",
                      "referencedDeclaration": 4544,
                      "type": "contract Reputation"
                    },
                    "id": 67,
                    "name": "UserDefinedTypeName",
                    "src": "207:10:1"
                  }
                ],
                "id": 68,
                "name": "VariableDeclaration",
                "src": "207:27:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "precReq",
                  "scope": 73,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 69,
                    "name": "ElementaryTypeName",
                    "src": "288:4:1"
                  }
                ],
                "id": 70,
                "name": "VariableDeclaration",
                "src": "288:12:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "allowOwner",
                  "scope": 73,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 71,
                    "name": "ElementaryTypeName",
                    "src": "373:4:1"
                  }
                ],
                "id": 72,
                "name": "VariableDeclaration",
                "src": "373:15:1"
              }
            ],
            "id": 73,
            "name": "StructDefinition",
            "src": "179:273:1"
          },
          {
            "attributes": {
              "canonicalName": "AbsoluteVote.Voter",
              "name": "Voter",
              "scope": 881,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "vote",
                  "scope": 78,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 74,
                    "name": "ElementaryTypeName",
                    "src": "481:4:1"
                  }
                ],
                "id": 75,
                "name": "VariableDeclaration",
                "src": "481:9:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "reputation",
                  "scope": 78,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 76,
                    "name": "ElementaryTypeName",
                    "src": "517:4:1"
                  }
                ],
                "id": 77,
                "name": "VariableDeclaration",
                "src": "517:15:1"
              }
            ],
            "id": 78,
            "name": "StructDefinition",
            "src": "458:113:1"
          },
          {
            "attributes": {
              "canonicalName": "AbsoluteVote.Proposal",
              "name": "Proposal",
              "scope": 881,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "owner",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 79,
                    "name": "ElementaryTypeName",
                    "src": "603:7:1"
                  }
                ],
                "id": 80,
                "name": "VariableDeclaration",
                "src": "603:13:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "avatar",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 81,
                    "name": "ElementaryTypeName",
                    "src": "650:7:1"
                  }
                ],
                "id": 82,
                "name": "VariableDeclaration",
                "src": "650:14:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "numOfChoices",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 83,
                    "name": "ElementaryTypeName",
                    "src": "731:4:1"
                  }
                ],
                "id": 84,
                "name": "VariableDeclaration",
                "src": "731:17:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "executable",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract ExecutableInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "ExecutableInterface",
                      "referencedDeclaration": 6617,
                      "type": "contract ExecutableInterface"
                    },
                    "id": 85,
                    "name": "UserDefinedTypeName",
                    "src": "758:19:1"
                  }
                ],
                "id": 86,
                "name": "VariableDeclaration",
                "src": "758:30:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "paramsHash",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 87,
                    "name": "ElementaryTypeName",
                    "src": "844:7:1"
                  }
                ],
                "id": 88,
                "name": "VariableDeclaration",
                "src": "844:18:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "totalVotes",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 89,
                    "name": "ElementaryTypeName",
                    "src": "918:4:1"
                  }
                ],
                "id": 90,
                "name": "VariableDeclaration",
                "src": "918:15:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "votes",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(uint256 => uint256)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(uint256 => uint256)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 91,
                        "name": "ElementaryTypeName",
                        "src": "951:4:1"
                      },
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 92,
                        "name": "ElementaryTypeName",
                        "src": "957:4:1"
                      }
                    ],
                    "id": 93,
                    "name": "Mapping",
                    "src": "943:19:1"
                  }
                ],
                "id": 94,
                "name": "VariableDeclaration",
                "src": "943:25:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voters",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(address => struct AbsoluteVote.Voter storage ref)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 95,
                        "name": "ElementaryTypeName",
                        "src": "986:7:1"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Voter",
                          "referencedDeclaration": 78,
                          "type": "struct AbsoluteVote.Voter storage pointer"
                        },
                        "id": 96,
                        "name": "UserDefinedTypeName",
                        "src": "995:5:1"
                      }
                    ],
                    "id": 97,
                    "name": "Mapping",
                    "src": "978:23:1"
                  }
                ],
                "id": 98,
                "name": "VariableDeclaration",
                "src": "978:30:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "open",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 99,
                    "name": "ElementaryTypeName",
                    "src": "1018:4:1"
                  }
                ],
                "id": 100,
                "name": "VariableDeclaration",
                "src": "1018:9:1"
              }
            ],
            "id": 101,
            "name": "StructDefinition",
            "src": "577:477:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogNewProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 102,
                        "name": "ElementaryTypeName",
                        "src": "1081:7:1"
                      }
                    ],
                    "id": 103,
                    "name": "VariableDeclaration",
                    "src": "1081:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_numOfChoices",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 104,
                        "name": "ElementaryTypeName",
                        "src": "1110:4:1"
                      }
                    ],
                    "id": 105,
                    "name": "VariableDeclaration",
                    "src": "1110:18:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_proposer",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 106,
                        "name": "ElementaryTypeName",
                        "src": "1130:7:1"
                      }
                    ],
                    "id": 107,
                    "name": "VariableDeclaration",
                    "src": "1130:17:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_paramsHash",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 108,
                        "name": "ElementaryTypeName",
                        "src": "1149:7:1"
                      }
                    ],
                    "id": 109,
                    "name": "VariableDeclaration",
                    "src": "1149:19:1"
                  }
                ],
                "id": 110,
                "name": "ParameterList",
                "src": "1080:89:1"
              }
            ],
            "id": 111,
            "name": "EventDefinition",
            "src": "1060:110:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogCancelProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 115,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 112,
                        "name": "ElementaryTypeName",
                        "src": "1199:7:1"
                      }
                    ],
                    "id": 113,
                    "name": "VariableDeclaration",
                    "src": "1199:27:1"
                  }
                ],
                "id": 114,
                "name": "ParameterList",
                "src": "1198:29:1"
              }
            ],
            "id": 115,
            "name": "EventDefinition",
            "src": "1175:53:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogExecuteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 121,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 116,
                        "name": "ElementaryTypeName",
                        "src": "1258:7:1"
                      }
                    ],
                    "id": 117,
                    "name": "VariableDeclaration",
                    "src": "1258:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_decision",
                      "scope": 121,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 118,
                        "name": "ElementaryTypeName",
                        "src": "1287:4:1"
                      }
                    ],
                    "id": 119,
                    "name": "VariableDeclaration",
                    "src": "1287:14:1"
                  }
                ],
                "id": 120,
                "name": "ParameterList",
                "src": "1257:45:1"
              }
            ],
            "id": 121,
            "name": "EventDefinition",
            "src": "1233:70:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogVoteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 122,
                        "name": "ElementaryTypeName",
                        "src": "1330:7:1"
                      }
                    ],
                    "id": 123,
                    "name": "VariableDeclaration",
                    "src": "1330:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_voter",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 124,
                        "name": "ElementaryTypeName",
                        "src": "1359:7:1"
                      }
                    ],
                    "id": 125,
                    "name": "VariableDeclaration",
                    "src": "1359:22:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_vote",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 126,
                        "name": "ElementaryTypeName",
                        "src": "1383:4:1"
                      }
                    ],
                    "id": 127,
                    "name": "VariableDeclaration",
                    "src": "1383:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_reputation",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 128,
                        "name": "ElementaryTypeName",
                        "src": "1395:4:1"
                      }
                    ],
                    "id": 129,
                    "name": "VariableDeclaration",
                    "src": "1395:16:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_isOwnerVote",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 130,
                        "name": "ElementaryTypeName",
                        "src": "1413:4:1"
                      }
                    ],
                    "id": 131,
                    "name": "VariableDeclaration",
                    "src": "1413:17:1"
                  }
                ],
                "id": 132,
                "name": "ParameterList",
                "src": "1329:102:1"
              }
            ],
            "id": 133,
            "name": "EventDefinition",
            "src": "1308:124:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogCancelVoting"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 139,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 134,
                        "name": "ElementaryTypeName",
                        "src": "1459:7:1"
                      }
                    ],
                    "id": 135,
                    "name": "VariableDeclaration",
                    "src": "1459:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_voter",
                      "scope": 139,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 136,
                        "name": "ElementaryTypeName",
                        "src": "1488:7:1"
                      }
                    ],
                    "id": 137,
                    "name": "VariableDeclaration",
                    "src": "1488:22:1"
                  }
                ],
                "id": 138,
                "name": "ParameterList",
                "src": "1458:53:1"
              }
            ],
            "id": 139,
            "name": "EventDefinition",
            "src": "1437:75:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 881,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 140,
                    "name": "ElementaryTypeName",
                    "src": "1526:7:1"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 73,
                      "type": "struct AbsoluteVote.Parameters storage pointer"
                    },
                    "id": 141,
                    "name": "UserDefinedTypeName",
                    "src": "1535:10:1"
                  }
                ],
                "id": 142,
                "name": "Mapping",
                "src": "1518:28:1"
              }
            ],
            "id": 143,
            "name": "VariableDeclaration",
            "src": "1518:46:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposals",
              "scope": 881,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 144,
                    "name": "ElementaryTypeName",
                    "src": "1618:7:1"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Proposal",
                      "referencedDeclaration": 101,
                      "type": "struct AbsoluteVote.Proposal storage pointer"
                    },
                    "id": 145,
                    "name": "UserDefinedTypeName",
                    "src": "1627:8:1"
                  }
                ],
                "id": 146,
                "name": "Mapping",
                "src": "1610:26:1"
              }
            ],
            "id": 147,
            "name": "VariableDeclaration",
            "src": "1610:43:1"
          },
          {
            "attributes": {
              "constant": true,
              "name": "MAX_NUM_OF_CHOICES",
              "scope": 881,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 148,
                "name": "ElementaryTypeName",
                "src": "1723:4:1"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "3130",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "number",
                  "type": "int_const 10",
                  "value": "10"
                },
                "id": 149,
                "name": "Literal",
                "src": "1758:2:1"
              }
            ],
            "id": 150,
            "name": "VariableDeclaration",
            "src": "1723:37:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposalsCnt",
              "scope": 881,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 151,
                "name": "ElementaryTypeName",
                "src": "1766:4:1"
              }
            ],
            "id": 152,
            "name": "VariableDeclaration",
            "src": "1766:17:1"
          },
          {
            "attributes": {
              "name": "onlyProposalOwner",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 168,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 153,
                        "name": "ElementaryTypeName",
                        "src": "1939:7:1"
                      }
                    ],
                    "id": 154,
                    "name": "VariableDeclaration",
                    "src": "1939:19:1"
                  }
                ],
                "id": 155,
                "name": "ParameterList",
                "src": "1938:21:1"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 156,
                            "name": "Identifier",
                            "src": "1970:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": 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": 157,
                                    "name": "Identifier",
                                    "src": "1978:3:1"
                                  }
                                ],
                                "id": 158,
                                "name": "MemberAccess",
                                "src": "1978:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "owner",
                                  "referencedDeclaration": 80,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct AbsoluteVote.Proposal storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 147,
                                          "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                          "value": "proposals"
                                        },
                                        "id": 159,
                                        "name": "Identifier",
                                        "src": "1992:9:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 154,
                                          "type": "bytes32",
                                          "value": "_proposalId"
                                        },
                                        "id": 160,
                                        "name": "Identifier",
                                        "src": "2002:11:1"
                                      }
                                    ],
                                    "id": 161,
                                    "name": "IndexAccess",
                                    "src": "1992:22:1"
                                  }
                                ],
                                "id": 162,
                                "name": "MemberAccess",
                                "src": "1992:28:1"
                              }
                            ],
                            "id": 163,
                            "name": "BinaryOperation",
                            "src": "1978:42:1"
                          }
                        ],
                        "id": 164,
                        "name": "FunctionCall",
                        "src": "1970:51:1"
                      }
                    ],
                    "id": 165,
                    "name": "ExpressionStatement",
                    "src": "1970:51:1"
                  },
                  {
                    "id": 166,
                    "name": "PlaceholderStatement",
                    "src": "2031:1:1"
                  }
                ],
                "id": 167,
                "name": "Block",
                "src": "1960:79:1"
              }
            ],
            "id": 168,
            "name": "ModifierDefinition",
            "src": "1912:127:1"
          },
          {
            "attributes": {
              "name": "votable",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 181,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 169,
                        "name": "ElementaryTypeName",
                        "src": "2147:7:1"
                      }
                    ],
                    "id": 170,
                    "name": "VariableDeclaration",
                    "src": "2147:19:1"
                  }
                ],
                "id": 171,
                "name": "ParameterList",
                "src": "2146:21:1"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 172,
                            "name": "Identifier",
                            "src": "2178:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "open",
                              "referencedDeclaration": 100,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 147,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 173,
                                    "name": "Identifier",
                                    "src": "2186:9:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 170,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 174,
                                    "name": "Identifier",
                                    "src": "2196:11:1"
                                  }
                                ],
                                "id": 175,
                                "name": "IndexAccess",
                                "src": "2186:22:1"
                              }
                            ],
                            "id": 176,
                            "name": "MemberAccess",
                            "src": "2186:27:1"
                          }
                        ],
                        "id": 177,
                        "name": "FunctionCall",
                        "src": "2178:36:1"
                      }
                    ],
                    "id": 178,
                    "name": "ExpressionStatement",
                    "src": "2178:36:1"
                  },
                  {
                    "id": 179,
                    "name": "PlaceholderStatement",
                    "src": "2224:1:1"
                  }
                ],
                "id": 180,
                "name": "Block",
                "src": "2168:64:1"
              }
            ],
            "id": 181,
            "name": "ModifierDefinition",
            "src": "2130:102:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_reputationSystem",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Reputation",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Reputation",
                          "referencedDeclaration": 4544,
                          "type": "contract Reputation"
                        },
                        "id": 182,
                        "name": "UserDefinedTypeName",
                        "src": "2359:10:1"
                      }
                    ],
                    "id": 183,
                    "name": "VariableDeclaration",
                    "src": "2359:28:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_precReq",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 184,
                        "name": "ElementaryTypeName",
                        "src": "2389:4:1"
                      }
                    ],
                    "id": 185,
                    "name": "VariableDeclaration",
                    "src": "2389:13:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allowOwner",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 186,
                        "name": "ElementaryTypeName",
                        "src": "2404:4:1"
                      }
                    ],
                    "id": 187,
                    "name": "VariableDeclaration",
                    "src": "2404:16:1"
                  }
                ],
                "id": 188,
                "name": "ParameterList",
                "src": "2358:63:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 189,
                        "name": "ElementaryTypeName",
                        "src": "2437:7:1"
                      }
                    ],
                    "id": 190,
                    "name": "VariableDeclaration",
                    "src": "2437:7:1"
                  }
                ],
                "id": 191,
                "name": "ParameterList",
                "src": "2436:9:1"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 192,
                            "name": "Identifier",
                            "src": "2456:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "<=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 185,
                                      "type": "uint256",
                                      "value": "_precReq"
                                    },
                                    "id": 193,
                                    "name": "Identifier",
                                    "src": "2464:8:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "313030",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 100",
                                      "value": "100"
                                    },
                                    "id": 194,
                                    "name": "Literal",
                                    "src": "2476:3:1"
                                  }
                                ],
                                "id": 195,
                                "name": "BinaryOperation",
                                "src": "2464:15:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 185,
                                      "type": "uint256",
                                      "value": "_precReq"
                                    },
                                    "id": 196,
                                    "name": "Identifier",
                                    "src": "2483:8:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 197,
                                    "name": "Literal",
                                    "src": "2494:1:1"
                                  }
                                ],
                                "id": 198,
                                "name": "BinaryOperation",
                                "src": "2483:12:1"
                              }
                            ],
                            "id": 199,
                            "name": "BinaryOperation",
                            "src": "2464:31:1"
                          }
                        ],
                        "id": 200,
                        "name": "FunctionCall",
                        "src": "2456:40:1"
                      }
                    ],
                    "id": 201,
                    "name": "ExpressionStatement",
                    "src": "2456:40:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        203
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "hashedParameters",
                          "scope": 223,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 202,
                            "name": "ElementaryTypeName",
                            "src": "2506:7:1"
                          }
                        ],
                        "id": 203,
                        "name": "VariableDeclaration",
                        "src": "2506:24:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$4544",
                                  "typeString": "contract Reputation"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 241,
                              "type": "function (contract Reputation,uint256,bool) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 204,
                            "name": "Identifier",
                            "src": "2533:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 183,
                              "type": "contract Reputation",
                              "value": "_reputationSystem"
                            },
                            "id": 205,
                            "name": "Identifier",
                            "src": "2551:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 185,
                              "type": "uint256",
                              "value": "_precReq"
                            },
                            "id": 206,
                            "name": "Identifier",
                            "src": "2570:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 187,
                              "type": "bool",
                              "value": "_allowOwner"
                            },
                            "id": 207,
                            "name": "Identifier",
                            "src": "2580:11:1"
                          }
                        ],
                        "id": 208,
                        "name": "FunctionCall",
                        "src": "2533:59:1"
                      }
                    ],
                    "id": 209,
                    "name": "VariableDeclarationStatement",
                    "src": "2506:86:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct AbsoluteVote.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Parameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 143,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                  "value": "parameters"
                                },
                                "id": 210,
                                "name": "Identifier",
                                "src": "2602:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 203,
                                  "type": "bytes32",
                                  "value": "hashedParameters"
                                },
                                "id": 211,
                                "name": "Identifier",
                                "src": "2613:16:1"
                              }
                            ],
                            "id": 212,
                            "name": "IndexAccess",
                            "src": "2602:28:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "reputationSystem",
                                "precReq",
                                "allowOwner"
                              ],
                              "type": "struct AbsoluteVote.Parameters memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 73,
                                  "type": "type(struct AbsoluteVote.Parameters storage pointer)",
                                  "value": "Parameters"
                                },
                                "id": 213,
                                "name": "Identifier",
                                "src": "2633:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 183,
                                  "type": "contract Reputation",
                                  "value": "_reputationSystem"
                                },
                                "id": 214,
                                "name": "Identifier",
                                "src": "2676:17:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 185,
                                  "type": "uint256",
                                  "value": "_precReq"
                                },
                                "id": 215,
                                "name": "Identifier",
                                "src": "2716:8:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 187,
                                  "type": "bool",
                                  "value": "_allowOwner"
                                },
                                "id": 216,
                                "name": "Identifier",
                                "src": "2750:11:1"
                              }
                            ],
                            "id": 217,
                            "name": "FunctionCall",
                            "src": "2633:139:1"
                          }
                        ],
                        "id": 218,
                        "name": "Assignment",
                        "src": "2602:170:1"
                      }
                    ],
                    "id": 219,
                    "name": "ExpressionStatement",
                    "src": "2602:170:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 191
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 203,
                          "type": "bytes32",
                          "value": "hashedParameters"
                        },
                        "id": 220,
                        "name": "Identifier",
                        "src": "2789:16:1"
                      }
                    ],
                    "id": 221,
                    "name": "Return",
                    "src": "2782:23:1"
                  }
                ],
                "id": 222,
                "name": "Block",
                "src": "2446:366:1"
              }
            ],
            "id": 223,
            "name": "FunctionDefinition",
            "src": "2336:476:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 881,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_reputationSystem",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Reputation",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Reputation",
                          "referencedDeclaration": 4544,
                          "type": "contract Reputation"
                        },
                        "id": 224,
                        "name": "UserDefinedTypeName",
                        "src": "2921:10:1"
                      }
                    ],
                    "id": 225,
                    "name": "VariableDeclaration",
                    "src": "2921:28:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_precReq",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 226,
                        "name": "ElementaryTypeName",
                        "src": "2951:4:1"
                      }
                    ],
                    "id": 227,
                    "name": "VariableDeclaration",
                    "src": "2951:13:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allowOwner",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 228,
                        "name": "ElementaryTypeName",
                        "src": "2966:4:1"
                      }
                    ],
                    "id": 229,
                    "name": "VariableDeclaration",
                    "src": "2966:16:1"
                  }
                ],
                "id": 230,
                "name": "ParameterList",
                "src": "2920:63:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 231,
                        "name": "ElementaryTypeName",
                        "src": "3004:7:1"
                      }
                    ],
                    "id": 232,
                    "name": "VariableDeclaration",
                    "src": "3004:7:1"
                  }
                ],
                "id": 233,
                "name": "ParameterList",
                "src": "3003:9:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 233
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$4544",
                                  "typeString": "contract Reputation"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 234,
                            "name": "Identifier",
                            "src": "3030:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 225,
                              "type": "contract Reputation",
                              "value": "_reputationSystem"
                            },
                            "id": 235,
                            "name": "Identifier",
                            "src": "3040:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 227,
                              "type": "uint256",
                              "value": "_precReq"
                            },
                            "id": 236,
                            "name": "Identifier",
                            "src": "3059:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 229,
                              "type": "bool",
                              "value": "_allowOwner"
                            },
                            "id": 237,
                            "name": "Identifier",
                            "src": "3069:11:1"
                          }
                        ],
                        "id": 238,
                        "name": "FunctionCall",
                        "src": "3030:51:1"
                      }
                    ],
                    "id": 239,
                    "name": "Return",
                    "src": "3023:58:1"
                  }
                ],
                "id": 240,
                "name": "Block",
                "src": "3013:75:1"
              }
            ],
            "id": 241,
            "name": "FunctionDefinition",
            "src": "2894:194:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "propose",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2563,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_numOfChoices",
                      "scope": 342,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 242,
                        "name": "ElementaryTypeName",
                        "src": "3608:4:1"
                      }
                    ],
                    "id": 243,
                    "name": "VariableDeclaration",
                    "src": "3608:18:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_paramsHash",
                      "scope": 342,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 244,
                        "name": "ElementaryTypeName",
                        "src": "3628:7:1"
                      }
                    ],
                    "id": 245,
                    "name": "VariableDeclaration",
                    "src": "3628:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 342,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 246,
                        "name": "ElementaryTypeName",
                        "src": "3649:7:1"
                      }
                    ],
                    "id": 247,
                    "name": "VariableDeclaration",
                    "src": "3649:15:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_executable",
                      "scope": 342,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract ExecutableInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "ExecutableInterface",
                          "referencedDeclaration": 6617,
                          "type": "contract ExecutableInterface"
                        },
                        "id": 248,
                        "name": "UserDefinedTypeName",
                        "src": "3666:19:1"
                      }
                    ],
                    "id": 249,
                    "name": "VariableDeclaration",
                    "src": "3666:31:1"
                  }
                ],
                "id": 250,
                "name": "ParameterList",
                "src": "3607:91:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 342,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 251,
                        "name": "ElementaryTypeName",
                        "src": "3714:7:1"
                      }
                    ],
                    "id": 252,
                    "name": "VariableDeclaration",
                    "src": "3714:7:1"
                  }
                ],
                "id": 253,
                "name": "ParameterList",
                "src": "3713:9:1"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 254,
                            "name": "Identifier",
                            "src": "3786:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 68,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct AbsoluteVote.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 143,
                                          "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 255,
                                        "name": "Identifier",
                                        "src": "3794:10:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 245,
                                          "type": "bytes32",
                                          "value": "_paramsHash"
                                        },
                                        "id": 256,
                                        "name": "Identifier",
                                        "src": "3805:11:1"
                                      }
                                    ],
                                    "id": 257,
                                    "name": "IndexAccess",
                                    "src": "3794:23:1"
                                  }
                                ],
                                "id": 258,
                                "name": "MemberAccess",
                                "src": "3794:40:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 259,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "3838:7:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 260,
                                    "name": "Literal",
                                    "src": "3846:1:1"
                                  }
                                ],
                                "id": 261,
                                "name": "FunctionCall",
                                "src": "3838:10:1"
                              }
                            ],
                            "id": 262,
                            "name": "BinaryOperation",
                            "src": "3794:54:1"
                          }
                        ],
                        "id": 263,
                        "name": "FunctionCall",
                        "src": "3786:63:1"
                      }
                    ],
                    "id": 264,
                    "name": "ExpressionStatement",
                    "src": "3786:63:1"
                  },
                  {
                    "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": 265,
                            "name": "Identifier",
                            "src": "3859:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 243,
                                      "type": "uint256",
                                      "value": "_numOfChoices"
                                    },
                                    "id": 266,
                                    "name": "Identifier",
                                    "src": "3867:13:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 267,
                                    "name": "Literal",
                                    "src": "3883:1:1"
                                  }
                                ],
                                "id": 268,
                                "name": "BinaryOperation",
                                "src": "3867:17:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "<=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 243,
                                      "type": "uint256",
                                      "value": "_numOfChoices"
                                    },
                                    "id": 269,
                                    "name": "Identifier",
                                    "src": "3888:13:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 150,
                                      "type": "uint256",
                                      "value": "MAX_NUM_OF_CHOICES"
                                    },
                                    "id": 270,
                                    "name": "Identifier",
                                    "src": "3905:18:1"
                                  }
                                ],
                                "id": 271,
                                "name": "BinaryOperation",
                                "src": "3888:35:1"
                              }
                            ],
                            "id": 272,
                            "name": "BinaryOperation",
                            "src": "3867:56:1"
                          }
                        ],
                        "id": 273,
                        "name": "FunctionCall",
                        "src": "3859:65:1"
                      }
                    ],
                    "id": 274,
                    "name": "ExpressionStatement",
                    "src": "3859:65:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        276
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 342,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 275,
                            "name": "ElementaryTypeName",
                            "src": "3967:7:1"
                          }
                        ],
                        "id": 276,
                        "name": "VariableDeclaration",
                        "src": "3967:18:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_AbsoluteVote_$881",
                                  "typeString": "contract AbsoluteVote"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 277,
                            "name": "Identifier",
                            "src": "3988:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10916,
                              "type": "contract AbsoluteVote",
                              "value": "this"
                            },
                            "id": 278,
                            "name": "Identifier",
                            "src": "3998:4:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 152,
                              "type": "uint256",
                              "value": "proposalsCnt"
                            },
                            "id": 279,
                            "name": "Identifier",
                            "src": "4004:12:1"
                          }
                        ],
                        "id": 280,
                        "name": "FunctionCall",
                        "src": "3988:29:1"
                      }
                    ],
                    "id": 281,
                    "name": "VariableDeclarationStatement",
                    "src": "3967:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "++",
                          "prefix": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 152,
                              "type": "uint256",
                              "value": "proposalsCnt"
                            },
                            "id": 282,
                            "name": "Identifier",
                            "src": "4027:12:1"
                          }
                        ],
                        "id": 283,
                        "name": "UnaryOperation",
                        "src": "4027:14:1"
                      }
                    ],
                    "id": 284,
                    "name": "ExpressionStatement",
                    "src": "4027:14:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 342,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Proposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 285,
                            "name": "UserDefinedTypeName",
                            "src": "4077:8:1"
                          }
                        ],
                        "id": 286,
                        "name": "VariableDeclaration",
                        "src": "4077:24:1"
                      }
                    ],
                    "id": 287,
                    "name": "VariableDeclarationStatement",
                    "src": "4077:24:1"
                  },
                  {
                    "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,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 286,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 288,
                                "name": "Identifier",
                                "src": "4111:8:1"
                              }
                            ],
                            "id": 290,
                            "name": "MemberAccess",
                            "src": "4111:21:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 243,
                              "type": "uint256",
                              "value": "_numOfChoices"
                            },
                            "id": 291,
                            "name": "Identifier",
                            "src": "4135:13:1"
                          }
                        ],
                        "id": 292,
                        "name": "Assignment",
                        "src": "4111:37:1"
                      }
                    ],
                    "id": 293,
                    "name": "ExpressionStatement",
                    "src": "4111:37:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 88,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 286,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 294,
                                "name": "Identifier",
                                "src": "4158:8:1"
                              }
                            ],
                            "id": 296,
                            "name": "MemberAccess",
                            "src": "4158:19:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 245,
                              "type": "bytes32",
                              "value": "_paramsHash"
                            },
                            "id": 297,
                            "name": "Identifier",
                            "src": "4180:11:1"
                          }
                        ],
                        "id": 298,
                        "name": "Assignment",
                        "src": "4158:33:1"
                      }
                    ],
                    "id": 299,
                    "name": "ExpressionStatement",
                    "src": "4158:33:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "avatar",
                              "referencedDeclaration": 82,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 286,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 300,
                                "name": "Identifier",
                                "src": "4201:8:1"
                              }
                            ],
                            "id": 302,
                            "name": "MemberAccess",
                            "src": "4201:15:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 247,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 303,
                            "name": "Identifier",
                            "src": "4219:7:1"
                          }
                        ],
                        "id": 304,
                        "name": "Assignment",
                        "src": "4201:25:1"
                      }
                    ],
                    "id": 305,
                    "name": "ExpressionStatement",
                    "src": "4201:25:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract ExecutableInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "executable",
                              "referencedDeclaration": 86,
                              "type": "contract ExecutableInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 286,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 306,
                                "name": "Identifier",
                                "src": "4236:8:1"
                              }
                            ],
                            "id": 308,
                            "name": "MemberAccess",
                            "src": "4236:19:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 249,
                              "type": "contract ExecutableInterface",
                              "value": "_executable"
                            },
                            "id": 309,
                            "name": "Identifier",
                            "src": "4258:11:1"
                          }
                        ],
                        "id": 310,
                        "name": "Assignment",
                        "src": "4236:33:1"
                      }
                    ],
                    "id": 311,
                    "name": "ExpressionStatement",
                    "src": "4236:33:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "owner",
                              "referencedDeclaration": 80,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 286,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 312,
                                "name": "Identifier",
                                "src": "4279:8:1"
                              }
                            ],
                            "id": 314,
                            "name": "MemberAccess",
                            "src": "4279:14:1"
                          },
                          {
                            "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": 315,
                                "name": "Identifier",
                                "src": "4296:3:1"
                              }
                            ],
                            "id": 316,
                            "name": "MemberAccess",
                            "src": "4296:10:1"
                          }
                        ],
                        "id": 317,
                        "name": "Assignment",
                        "src": "4279:27:1"
                      }
                    ],
                    "id": 318,
                    "name": "ExpressionStatement",
                    "src": "4279:27:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "open",
                              "referencedDeclaration": 100,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 286,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 319,
                                "name": "Identifier",
                                "src": "4316:8:1"
                              }
                            ],
                            "id": 321,
                            "name": "MemberAccess",
                            "src": "4316:13:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 322,
                            "name": "Literal",
                            "src": "4332:4:1"
                          }
                        ],
                        "id": 323,
                        "name": "Assignment",
                        "src": "4316:20:1"
                      }
                    ],
                    "id": 324,
                    "name": "ExpressionStatement",
                    "src": "4316:20:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 325,
                                "name": "Identifier",
                                "src": "4346:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 276,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 326,
                                "name": "Identifier",
                                "src": "4356:10:1"
                              }
                            ],
                            "id": 327,
                            "name": "IndexAccess",
                            "src": "4346:21:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 286,
                              "type": "struct AbsoluteVote.Proposal memory",
                              "value": "proposal"
                            },
                            "id": 328,
                            "name": "Identifier",
                            "src": "4370:8:1"
                          }
                        ],
                        "id": 329,
                        "name": "Assignment",
                        "src": "4346:32:1"
                      }
                    ],
                    "id": 330,
                    "name": "ExpressionStatement",
                    "src": "4346:32:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 111,
                              "type": "function (bytes32,uint256,address,bytes32)",
                              "value": "LogNewProposal"
                            },
                            "id": 331,
                            "name": "Identifier",
                            "src": "4388:14:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 276,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 332,
                            "name": "Identifier",
                            "src": "4403:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 243,
                              "type": "uint256",
                              "value": "_numOfChoices"
                            },
                            "id": 333,
                            "name": "Identifier",
                            "src": "4415:13:1"
                          },
                          {
                            "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": 334,
                                "name": "Identifier",
                                "src": "4430:3:1"
                              }
                            ],
                            "id": 335,
                            "name": "MemberAccess",
                            "src": "4430:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 245,
                              "type": "bytes32",
                              "value": "_paramsHash"
                            },
                            "id": 336,
                            "name": "Identifier",
                            "src": "4442:11:1"
                          }
                        ],
                        "id": 337,
                        "name": "FunctionCall",
                        "src": "4388:66:1"
                      }
                    ],
                    "id": 338,
                    "name": "ExpressionStatement",
                    "src": "4388:66:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 253
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 276,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 339,
                        "name": "Identifier",
                        "src": "4471:10:1"
                      }
                    ],
                    "id": 340,
                    "name": "Return",
                    "src": "4464:17:1"
                  }
                ],
                "id": 341,
                "name": "Block",
                "src": "3723:765:1"
              }
            ],
            "id": 342,
            "name": "FunctionDefinition",
            "src": "3591:897:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "cancelProposal",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2576,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 378,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 343,
                        "name": "ElementaryTypeName",
                        "src": "4674:7:1"
                      }
                    ],
                    "id": 344,
                    "name": "VariableDeclaration",
                    "src": "4674:19:1"
                  }
                ],
                "id": 345,
                "name": "ParameterList",
                "src": "4673:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 378,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 352,
                        "name": "ElementaryTypeName",
                        "src": "4762:4:1"
                      }
                    ],
                    "id": 353,
                    "name": "VariableDeclaration",
                    "src": "4762:4:1"
                  }
                ],
                "id": 354,
                "name": "ParameterList",
                "src": "4761:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 168,
                      "type": "modifier (bytes32)",
                      "value": "onlyProposalOwner"
                    },
                    "id": 346,
                    "name": "Identifier",
                    "src": "4702:17:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 344,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 347,
                    "name": "Identifier",
                    "src": "4720:11:1"
                  }
                ],
                "id": 348,
                "name": "ModifierInvocation",
                "src": "4702:30:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 349,
                    "name": "Identifier",
                    "src": "4733:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 344,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 350,
                    "name": "Identifier",
                    "src": "4741:11:1"
                  }
                ],
                "id": 351,
                "name": "ModifierInvocation",
                "src": "4733:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "allowOwner",
                              "referencedDeclaration": 72,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 143,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 355,
                                    "name": "Identifier",
                                    "src": "4784:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "paramsHash",
                                      "referencedDeclaration": 88,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct AbsoluteVote.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 147,
                                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 356,
                                            "name": "Identifier",
                                            "src": "4795:9:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 344,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 357,
                                            "name": "Identifier",
                                            "src": "4805:11:1"
                                          }
                                        ],
                                        "id": 358,
                                        "name": "IndexAccess",
                                        "src": "4795:22:1"
                                      }
                                    ],
                                    "id": 359,
                                    "name": "MemberAccess",
                                    "src": "4795:33:1"
                                  }
                                ],
                                "id": 360,
                                "name": "IndexAccess",
                                "src": "4784:45:1"
                              }
                            ],
                            "id": 361,
                            "name": "MemberAccess",
                            "src": "4784:56:1"
                          }
                        ],
                        "id": 362,
                        "name": "UnaryOperation",
                        "src": "4782:58:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 354
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 363,
                                "name": "Literal",
                                "src": "4863:5:1"
                              }
                            ],
                            "id": 364,
                            "name": "Return",
                            "src": "4856:12:1"
                          }
                        ],
                        "id": 365,
                        "name": "Block",
                        "src": "4842:37:1"
                      }
                    ],
                    "id": 366,
                    "name": "IfStatement",
                    "src": "4778:101:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 754,
                              "type": "function (bytes32)",
                              "value": "deleteProposal"
                            },
                            "id": 367,
                            "name": "Identifier",
                            "src": "4888:14:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 344,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 368,
                            "name": "Identifier",
                            "src": "4903:11:1"
                          }
                        ],
                        "id": 369,
                        "name": "FunctionCall",
                        "src": "4888:27:1"
                      }
                    ],
                    "id": 370,
                    "name": "ExpressionStatement",
                    "src": "4888:27:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 115,
                              "type": "function (bytes32)",
                              "value": "LogCancelProposal"
                            },
                            "id": 371,
                            "name": "Identifier",
                            "src": "4925:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 344,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 372,
                            "name": "Identifier",
                            "src": "4943:11:1"
                          }
                        ],
                        "id": 373,
                        "name": "FunctionCall",
                        "src": "4925:30:1"
                      }
                    ],
                    "id": 374,
                    "name": "ExpressionStatement",
                    "src": "4925:30:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 354
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 375,
                        "name": "Literal",
                        "src": "4972:4:1"
                      }
                    ],
                    "id": 376,
                    "name": "Return",
                    "src": "4965:11:1"
                  }
                ],
                "id": 377,
                "name": "Block",
                "src": "4768:215:1"
              }
            ],
            "id": 378,
            "name": "FunctionDefinition",
            "src": "4650:333:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "vote",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2602,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 399,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 379,
                        "name": "ElementaryTypeName",
                        "src": "5252:7:1"
                      }
                    ],
                    "id": 380,
                    "name": "VariableDeclaration",
                    "src": "5252:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 399,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 381,
                        "name": "ElementaryTypeName",
                        "src": "5273:4:1"
                      }
                    ],
                    "id": 382,
                    "name": "VariableDeclaration",
                    "src": "5273:10:1"
                  }
                ],
                "id": 383,
                "name": "ParameterList",
                "src": "5251:33:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 399,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 387,
                        "name": "ElementaryTypeName",
                        "src": "5321:4:1"
                      }
                    ],
                    "id": 388,
                    "name": "VariableDeclaration",
                    "src": "5321:4:1"
                  }
                ],
                "id": 389,
                "name": "ParameterList",
                "src": "5320:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 384,
                    "name": "Identifier",
                    "src": "5292:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 380,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 385,
                    "name": "Identifier",
                    "src": "5300:11:1"
                  }
                ],
                "id": 386,
                "name": "ModifierInvocation",
                "src": "5292:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 389
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 880,
                              "type": "function (bytes32,address,uint256,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 390,
                            "name": "Identifier",
                            "src": "5344:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 380,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 391,
                            "name": "Identifier",
                            "src": "5357:11:1"
                          },
                          {
                            "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": 392,
                                "name": "Identifier",
                                "src": "5370:3:1"
                              }
                            ],
                            "id": 393,
                            "name": "MemberAccess",
                            "src": "5370:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 382,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 394,
                            "name": "Identifier",
                            "src": "5382:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 395,
                            "name": "Literal",
                            "src": "5389:1:1"
                          }
                        ],
                        "id": 396,
                        "name": "FunctionCall",
                        "src": "5344:47:1"
                      }
                    ],
                    "id": 397,
                    "name": "Return",
                    "src": "5337:54:1"
                  }
                ],
                "id": 398,
                "name": "Block",
                "src": "5327:71:1"
              }
            ],
            "id": 399,
            "name": "FunctionDefinition",
            "src": "5238:160:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "ownerVote",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2590,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 436,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 400,
                        "name": "ElementaryTypeName",
                        "src": "5793:7:1"
                      }
                    ],
                    "id": 401,
                    "name": "VariableDeclaration",
                    "src": "5793:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 436,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 402,
                        "name": "ElementaryTypeName",
                        "src": "5814:4:1"
                      }
                    ],
                    "id": 403,
                    "name": "VariableDeclaration",
                    "src": "5814:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 436,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 404,
                        "name": "ElementaryTypeName",
                        "src": "5826:7:1"
                      }
                    ],
                    "id": 405,
                    "name": "VariableDeclaration",
                    "src": "5826:14:1"
                  }
                ],
                "id": 406,
                "name": "ParameterList",
                "src": "5792:49:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 436,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 413,
                        "name": "ElementaryTypeName",
                        "src": "5909:4:1"
                      }
                    ],
                    "id": 414,
                    "name": "VariableDeclaration",
                    "src": "5909:4:1"
                  }
                ],
                "id": 415,
                "name": "ParameterList",
                "src": "5908:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 168,
                      "type": "modifier (bytes32)",
                      "value": "onlyProposalOwner"
                    },
                    "id": 407,
                    "name": "Identifier",
                    "src": "5849:17:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 401,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 408,
                    "name": "Identifier",
                    "src": "5867:11:1"
                  }
                ],
                "id": 409,
                "name": "ModifierInvocation",
                "src": "5849:30:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 410,
                    "name": "Identifier",
                    "src": "5880:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 401,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 411,
                    "name": "Identifier",
                    "src": "5888:11:1"
                  }
                ],
                "id": 412,
                "name": "ModifierInvocation",
                "src": "5880:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "allowOwner",
                              "referencedDeclaration": 72,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 143,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 416,
                                    "name": "Identifier",
                                    "src": "5931:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "paramsHash",
                                      "referencedDeclaration": 88,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct AbsoluteVote.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 147,
                                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 417,
                                            "name": "Identifier",
                                            "src": "5942:9:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 401,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 418,
                                            "name": "Identifier",
                                            "src": "5952:11:1"
                                          }
                                        ],
                                        "id": 419,
                                        "name": "IndexAccess",
                                        "src": "5942:22:1"
                                      }
                                    ],
                                    "id": 420,
                                    "name": "MemberAccess",
                                    "src": "5942:33:1"
                                  }
                                ],
                                "id": 421,
                                "name": "IndexAccess",
                                "src": "5931:45:1"
                              }
                            ],
                            "id": 422,
                            "name": "MemberAccess",
                            "src": "5931:56:1"
                          }
                        ],
                        "id": 423,
                        "name": "UnaryOperation",
                        "src": "5929:58:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 415
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 424,
                                "name": "Literal",
                                "src": "6010:5:1"
                              }
                            ],
                            "id": 425,
                            "name": "Return",
                            "src": "6003:12:1"
                          }
                        ],
                        "id": 426,
                        "name": "Block",
                        "src": "5989:37:1"
                      }
                    ],
                    "id": 427,
                    "name": "IfStatement",
                    "src": "5925:101:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 415
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 880,
                              "type": "function (bytes32,address,uint256,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 428,
                            "name": "Identifier",
                            "src": "6043:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 401,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 429,
                            "name": "Identifier",
                            "src": "6056:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 405,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 430,
                            "name": "Identifier",
                            "src": "6069:6:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 403,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 431,
                            "name": "Identifier",
                            "src": "6077:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 432,
                            "name": "Literal",
                            "src": "6084:1:1"
                          }
                        ],
                        "id": 433,
                        "name": "FunctionCall",
                        "src": "6043:43:1"
                      }
                    ],
                    "id": 434,
                    "name": "Return",
                    "src": "6035:51:1"
                  }
                ],
                "id": 435,
                "name": "Block",
                "src": "5915:178:1"
              }
            ],
            "id": 436,
            "name": "FunctionDefinition",
            "src": "5774:319:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "voteWithSpecifiedAmounts",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2618,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 461,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 437,
                        "name": "ElementaryTypeName",
                        "src": "6133:7:1"
                      }
                    ],
                    "id": 438,
                    "name": "VariableDeclaration",
                    "src": "6133:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 461,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 439,
                        "name": "ElementaryTypeName",
                        "src": "6153:4:1"
                      }
                    ],
                    "id": 440,
                    "name": "VariableDeclaration",
                    "src": "6153:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rep",
                      "scope": 461,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 441,
                        "name": "ElementaryTypeName",
                        "src": "6164:4:1"
                      }
                    ],
                    "id": 442,
                    "name": "VariableDeclaration",
                    "src": "6164:9:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 461,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 443,
                        "name": "ElementaryTypeName",
                        "src": "6174:4:1"
                      }
                    ],
                    "id": 444,
                    "name": "VariableDeclaration",
                    "src": "6174:4:1"
                  }
                ],
                "id": 445,
                "name": "ParameterList",
                "src": "6132:47:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 461,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 449,
                        "name": "ElementaryTypeName",
                        "src": "6216:4:1"
                      }
                    ],
                    "id": 450,
                    "name": "VariableDeclaration",
                    "src": "6216:4:1"
                  }
                ],
                "id": 451,
                "name": "ParameterList",
                "src": "6215:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 446,
                    "name": "Identifier",
                    "src": "6187:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 438,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 447,
                    "name": "Identifier",
                    "src": "6195:11:1"
                  }
                ],
                "id": 448,
                "name": "ModifierInvocation",
                "src": "6187:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 451
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 880,
                              "type": "function (bytes32,address,uint256,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 452,
                            "name": "Identifier",
                            "src": "6239:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 438,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 453,
                            "name": "Identifier",
                            "src": "6252:11:1"
                          },
                          {
                            "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": 454,
                                "name": "Identifier",
                                "src": "6264:3:1"
                              }
                            ],
                            "id": 455,
                            "name": "MemberAccess",
                            "src": "6264:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 440,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 456,
                            "name": "Identifier",
                            "src": "6275:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 442,
                              "type": "uint256",
                              "value": "_rep"
                            },
                            "id": 457,
                            "name": "Identifier",
                            "src": "6281:4:1"
                          }
                        ],
                        "id": 458,
                        "name": "FunctionCall",
                        "src": "6239:47:1"
                      }
                    ],
                    "id": 459,
                    "name": "Return",
                    "src": "6232:54:1"
                  }
                ],
                "id": 460,
                "name": "Block",
                "src": "6222:71:1"
              }
            ],
            "id": 461,
            "name": "FunctionDefinition",
            "src": "6099:194:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "cancelVote",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2626,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 476,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 462,
                        "name": "ElementaryTypeName",
                        "src": "6516:7:1"
                      }
                    ],
                    "id": 463,
                    "name": "VariableDeclaration",
                    "src": "6516:19:1"
                  }
                ],
                "id": 464,
                "name": "ParameterList",
                "src": "6515:21:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 468,
                "name": "ParameterList",
                "src": "6565:0:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 465,
                    "name": "Identifier",
                    "src": "6544:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 463,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 466,
                    "name": "Identifier",
                    "src": "6552:11:1"
                  }
                ],
                "id": 467,
                "name": "ModifierInvocation",
                "src": "6544:20:1"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 718,
                              "type": "function (bytes32,address)",
                              "value": "cancelVoteInternal"
                            },
                            "id": 469,
                            "name": "Identifier",
                            "src": "6575:18:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 463,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 470,
                            "name": "Identifier",
                            "src": "6594:11:1"
                          },
                          {
                            "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": 471,
                                "name": "Identifier",
                                "src": "6607:3:1"
                              }
                            ],
                            "id": 472,
                            "name": "MemberAccess",
                            "src": "6607:10:1"
                          }
                        ],
                        "id": 473,
                        "name": "FunctionCall",
                        "src": "6575:43:1"
                      }
                    ],
                    "id": 474,
                    "name": "ExpressionStatement",
                    "src": "6575:43:1"
                  }
                ],
                "id": 475,
                "name": "Block",
                "src": "6565:60:1"
              }
            ],
            "id": 476,
            "name": "FunctionDefinition",
            "src": "6496:129:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "execute",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": 2636,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 565,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 477,
                        "name": "ElementaryTypeName",
                        "src": "6894:7:1"
                      }
                    ],
                    "id": 478,
                    "name": "VariableDeclaration",
                    "src": "6894:19:1"
                  }
                ],
                "id": 479,
                "name": "ParameterList",
                "src": "6893:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 565,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 483,
                        "name": "ElementaryTypeName",
                        "src": "6951:4:1"
                      }
                    ],
                    "id": 484,
                    "name": "VariableDeclaration",
                    "src": "6951:4:1"
                  }
                ],
                "id": 485,
                "name": "ParameterList",
                "src": "6950:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 480,
                    "name": "Identifier",
                    "src": "6922:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 478,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 481,
                    "name": "Identifier",
                    "src": "6930:11:1"
                  }
                ],
                "id": 482,
                "name": "ModifierInvocation",
                "src": "6922:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        487
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 565,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 486,
                            "name": "UserDefinedTypeName",
                            "src": "6967:8:1"
                          }
                        ],
                        "id": 487,
                        "name": "VariableDeclaration",
                        "src": "6967:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 488,
                            "name": "Identifier",
                            "src": "6995:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 478,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 489,
                            "name": "Identifier",
                            "src": "7005:11:1"
                          }
                        ],
                        "id": 490,
                        "name": "IndexAccess",
                        "src": "6995:22:1"
                      }
                    ],
                    "id": 491,
                    "name": "VariableDeclarationStatement",
                    "src": "6967:50:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        493
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "totalReputation",
                          "scope": 565,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 492,
                            "name": "ElementaryTypeName",
                            "src": "7027:4:1"
                          }
                        ],
                        "id": 493,
                        "name": "VariableDeclaration",
                        "src": "7027:20:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "arguments": [
                            null
                          ],
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "totalSupply",
                              "referencedDeclaration": 4410,
                              "type": "function () view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 68,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct AbsoluteVote.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 143,
                                          "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 494,
                                        "name": "Identifier",
                                        "src": "7050:10:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 88,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 487,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 495,
                                            "name": "Identifier",
                                            "src": "7061:8:1"
                                          }
                                        ],
                                        "id": 496,
                                        "name": "MemberAccess",
                                        "src": "7061:19:1"
                                      }
                                    ],
                                    "id": 497,
                                    "name": "IndexAccess",
                                    "src": "7050:31:1"
                                  }
                                ],
                                "id": 498,
                                "name": "MemberAccess",
                                "src": "7050:48:1"
                              }
                            ],
                            "id": 499,
                            "name": "MemberAccess",
                            "src": "7050:60:1"
                          }
                        ],
                        "id": 500,
                        "name": "FunctionCall",
                        "src": "7050:62:1"
                      }
                    ],
                    "id": 501,
                    "name": "VariableDeclarationStatement",
                    "src": "7027:85:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        503
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "precReq",
                          "scope": 565,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 502,
                            "name": "ElementaryTypeName",
                            "src": "7122:4:1"
                          }
                        ],
                        "id": 503,
                        "name": "VariableDeclaration",
                        "src": "7122:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "precReq",
                          "referencedDeclaration": 70,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct AbsoluteVote.Parameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 143,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                  "value": "parameters"
                                },
                                "id": 504,
                                "name": "Identifier",
                                "src": "7137:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "paramsHash",
                                  "referencedDeclaration": 88,
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 487,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 505,
                                    "name": "Identifier",
                                    "src": "7148:8:1"
                                  }
                                ],
                                "id": 506,
                                "name": "MemberAccess",
                                "src": "7148:19:1"
                              }
                            ],
                            "id": 507,
                            "name": "IndexAccess",
                            "src": "7137:31:1"
                          }
                        ],
                        "id": 508,
                        "name": "MemberAccess",
                        "src": "7137:39:1"
                      }
                    ],
                    "id": 509,
                    "name": "VariableDeclarationStatement",
                    "src": "7122:54:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            511
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 565,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 510,
                                "name": "ElementaryTypeName",
                                "src": "7236:4:1"
                              }
                            ],
                            "id": 511,
                            "name": "VariableDeclaration",
                            "src": "7236:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 512,
                            "name": "Literal",
                            "src": "7247:1:1"
                          }
                        ],
                        "id": 513,
                        "name": "VariableDeclarationStatement",
                        "src": "7236:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 511,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 514,
                            "name": "Identifier",
                            "src": "7250:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 487,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 515,
                                "name": "Identifier",
                                "src": "7257:8:1"
                              }
                            ],
                            "id": 516,
                            "name": "MemberAccess",
                            "src": "7257:21:1"
                          }
                        ],
                        "id": 517,
                        "name": "BinaryOperation",
                        "src": "7250:28:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 511,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 518,
                                "name": "Identifier",
                                "src": "7280:3:1"
                              }
                            ],
                            "id": 519,
                            "name": "UnaryOperation",
                            "src": "7280:5:1"
                          }
                        ],
                        "id": 520,
                        "name": "ExpressionStatement",
                        "src": "7280:5:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 94,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 487,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 521,
                                            "name": "Identifier",
                                            "src": "7305:8:1"
                                          }
                                        ],
                                        "id": 522,
                                        "name": "MemberAccess",
                                        "src": "7305:14:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 511,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 523,
                                        "name": "Identifier",
                                        "src": "7320:3:1"
                                      }
                                    ],
                                    "id": 524,
                                    "name": "IndexAccess",
                                    "src": "7305:19:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "/",
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "*",
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 493,
                                              "type": "uint256",
                                              "value": "totalReputation"
                                            },
                                            "id": 525,
                                            "name": "Identifier",
                                            "src": "7327:15:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 503,
                                              "type": "uint256",
                                              "value": "precReq"
                                            },
                                            "id": 526,
                                            "name": "Identifier",
                                            "src": "7343:7:1"
                                          }
                                        ],
                                        "id": 527,
                                        "name": "BinaryOperation",
                                        "src": "7327:23:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "313030",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 100",
                                          "value": "100"
                                        },
                                        "id": 528,
                                        "name": "Literal",
                                        "src": "7351:3:1"
                                      }
                                    ],
                                    "id": 529,
                                    "name": "BinaryOperation",
                                    "src": "7327:27:1"
                                  }
                                ],
                                "id": 530,
                                "name": "BinaryOperation",
                                "src": "7305:49:1"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "assignments": [
                                        532
                                      ]
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "constant": false,
                                          "name": "tmpProposal",
                                          "scope": 565,
                                          "stateVariable": false,
                                          "storageLocation": "memory",
                                          "type": "struct AbsoluteVote.Proposal memory",
                                          "value": null,
                                          "visibility": "internal"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "contractScope": null,
                                              "name": "Proposal",
                                              "referencedDeclaration": 101,
                                              "type": "struct AbsoluteVote.Proposal storage pointer"
                                            },
                                            "id": 531,
                                            "name": "UserDefinedTypeName",
                                            "src": "7374:8:1"
                                          }
                                        ],
                                        "id": 532,
                                        "name": "VariableDeclaration",
                                        "src": "7374:27:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 487,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 533,
                                        "name": "Identifier",
                                        "src": "7404:8:1"
                                      }
                                    ],
                                    "id": 534,
                                    "name": "VariableDeclarationStatement",
                                    "src": "7374:38:1"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "tuple()",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes32",
                                                  "typeString": "bytes32"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 754,
                                              "type": "function (bytes32)",
                                              "value": "deleteProposal"
                                            },
                                            "id": 535,
                                            "name": "Identifier",
                                            "src": "7430:14:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 478,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 536,
                                            "name": "Identifier",
                                            "src": "7445:11:1"
                                          }
                                        ],
                                        "id": 537,
                                        "name": "FunctionCall",
                                        "src": "7430:27:1"
                                      }
                                    ],
                                    "id": 538,
                                    "name": "ExpressionStatement",
                                    "src": "7430:27:1"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "tuple()",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 121,
                                              "type": "function (bytes32,uint256)",
                                              "value": "LogExecuteProposal"
                                            },
                                            "id": 539,
                                            "name": "Identifier",
                                            "src": "7475:18:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 478,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 540,
                                            "name": "Identifier",
                                            "src": "7494:11:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 511,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 541,
                                            "name": "Identifier",
                                            "src": "7507:3:1"
                                          }
                                        ],
                                        "id": 542,
                                        "name": "FunctionCall",
                                        "src": "7475:36:1"
                                      }
                                    ],
                                    "id": 543,
                                    "name": "ExpressionStatement",
                                    "src": "7475:36:1"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "bool",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                },
                                                {
                                                  "typeIdentifier": "t_int256",
                                                  "typeString": "int256"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "execute",
                                              "referencedDeclaration": 6616,
                                              "type": "function (bytes32,address,int256) external returns (bool)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "contract ExecutableInterface"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "member_name": "executable",
                                                      "referencedDeclaration": 86,
                                                      "type": "contract ExecutableInterface"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 532,
                                                          "type": "struct AbsoluteVote.Proposal memory",
                                                          "value": "tmpProposal"
                                                        },
                                                        "id": 544,
                                                        "name": "Identifier",
                                                        "src": "7530:11:1"
                                                      }
                                                    ],
                                                    "id": 545,
                                                    "name": "MemberAccess",
                                                    "src": "7530:22:1"
                                                  }
                                                ],
                                                "id": 546,
                                                "name": "TupleExpression",
                                                "src": "7529:24:1"
                                              }
                                            ],
                                            "id": 547,
                                            "name": "MemberAccess",
                                            "src": "7529:32:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 478,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 548,
                                            "name": "Identifier",
                                            "src": "7562:11:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "avatar",
                                              "referencedDeclaration": 82,
                                              "type": "address"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 532,
                                                  "type": "struct AbsoluteVote.Proposal memory",
                                                  "value": "tmpProposal"
                                                },
                                                "id": 549,
                                                "name": "Identifier",
                                                "src": "7575:11:1"
                                              }
                                            ],
                                            "id": 550,
                                            "name": "MemberAccess",
                                            "src": "7575:18:1"
                                          },
                                          {
                                            "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": 551,
                                                "name": "ElementaryTypeNameExpression",
                                                "src": "7595:3:1"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 511,
                                                  "type": "uint256",
                                                  "value": "cnt"
                                                },
                                                "id": 552,
                                                "name": "Identifier",
                                                "src": "7599:3:1"
                                              }
                                            ],
                                            "id": 553,
                                            "name": "FunctionCall",
                                            "src": "7595:8:1"
                                          }
                                        ],
                                        "id": 554,
                                        "name": "FunctionCall",
                                        "src": "7529:75:1"
                                      }
                                    ],
                                    "id": 555,
                                    "name": "ExpressionStatement",
                                    "src": "7529:75:1"
                                  },
                                  {
                                    "attributes": {
                                      "functionReturnParameters": 485
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "74727565",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "bool",
                                          "type": "bool",
                                          "value": "true"
                                        },
                                        "id": 556,
                                        "name": "Literal",
                                        "src": "7629:4:1"
                                      }
                                    ],
                                    "id": 557,
                                    "name": "Return",
                                    "src": "7622:11:1"
                                  }
                                ],
                                "id": 558,
                                "name": "Block",
                                "src": "7356:292:1"
                              }
                            ],
                            "id": 559,
                            "name": "IfStatement",
                            "src": "7301:347:1"
                          }
                        ],
                        "id": 560,
                        "name": "Block",
                        "src": "7287:371:1"
                      }
                    ],
                    "id": 561,
                    "name": "ForStatement",
                    "src": "7231:427:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 485
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "66616c7365",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "false"
                        },
                        "id": 562,
                        "name": "Literal",
                        "src": "7674:5:1"
                      }
                    ],
                    "id": 563,
                    "name": "Return",
                    "src": "7667:12:1"
                  }
                ],
                "id": 564,
                "name": "Block",
                "src": "6957:729:1"
              }
            ],
            "id": 565,
            "name": "FunctionDefinition",
            "src": "6877:809:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getNumberOfChoices",
              "payable": false,
              "scope": 881,
              "stateMutability": "view",
              "superFunction": 2643,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 578,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 566,
                        "name": "ElementaryTypeName",
                        "src": "7914:7:1"
                      }
                    ],
                    "id": 567,
                    "name": "VariableDeclaration",
                    "src": "7914:19:1"
                  }
                ],
                "id": 568,
                "name": "ParameterList",
                "src": "7913:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 578,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 569,
                        "name": "ElementaryTypeName",
                        "src": "7959:4:1"
                      }
                    ],
                    "id": 570,
                    "name": "VariableDeclaration",
                    "src": "7959:4:1"
                  }
                ],
                "id": 571,
                "name": "ParameterList",
                "src": "7958:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 571
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "numOfChoices",
                          "referencedDeclaration": 84,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 572,
                                "name": "Identifier",
                                "src": "7982:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 567,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 573,
                                "name": "Identifier",
                                "src": "7992:11:1"
                              }
                            ],
                            "id": 574,
                            "name": "IndexAccess",
                            "src": "7982:22:1"
                          }
                        ],
                        "id": 575,
                        "name": "MemberAccess",
                        "src": "7982:35:1"
                      }
                    ],
                    "id": 576,
                    "name": "Return",
                    "src": "7975:42:1"
                  }
                ],
                "id": 577,
                "name": "Block",
                "src": "7965:59:1"
              }
            ],
            "id": 578,
            "name": "FunctionDefinition",
            "src": "7886:138:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "voteInfo",
              "payable": false,
              "scope": 881,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 605,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 579,
                        "name": "ElementaryTypeName",
                        "src": "8382:7:1"
                      }
                    ],
                    "id": 580,
                    "name": "VariableDeclaration",
                    "src": "8382:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 605,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 581,
                        "name": "ElementaryTypeName",
                        "src": "8403:7:1"
                      }
                    ],
                    "id": 582,
                    "name": "VariableDeclaration",
                    "src": "8403:14:1"
                  }
                ],
                "id": 583,
                "name": "ParameterList",
                "src": "8381:37:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 605,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 584,
                        "name": "ElementaryTypeName",
                        "src": "8443:4:1"
                      }
                    ],
                    "id": 585,
                    "name": "VariableDeclaration",
                    "src": "8443:4:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 605,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 586,
                        "name": "ElementaryTypeName",
                        "src": "8449:4:1"
                      }
                    ],
                    "id": 587,
                    "name": "VariableDeclaration",
                    "src": "8449:4:1"
                  }
                ],
                "id": 588,
                "name": "ParameterList",
                "src": "8442:12:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        590
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "voter",
                          "scope": 605,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Voter memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Voter",
                              "referencedDeclaration": 78,
                              "type": "struct AbsoluteVote.Voter storage pointer"
                            },
                            "id": 589,
                            "name": "UserDefinedTypeName",
                            "src": "8465:5:1"
                          }
                        ],
                        "id": 590,
                        "name": "VariableDeclaration",
                        "src": "8465:18:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voters",
                              "referencedDeclaration": 98,
                              "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 147,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 591,
                                    "name": "Identifier",
                                    "src": "8486:9:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 580,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 592,
                                    "name": "Identifier",
                                    "src": "8496:11:1"
                                  }
                                ],
                                "id": 593,
                                "name": "IndexAccess",
                                "src": "8486:22:1"
                              }
                            ],
                            "id": 594,
                            "name": "MemberAccess",
                            "src": "8486:29:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 582,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 595,
                            "name": "Identifier",
                            "src": "8516:6:1"
                          }
                        ],
                        "id": 596,
                        "name": "IndexAccess",
                        "src": "8486:37:1"
                      }
                    ],
                    "id": 597,
                    "name": "VariableDeclarationStatement",
                    "src": "8465:58:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 588
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "tuple(uint256,uint256)"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "vote",
                              "referencedDeclaration": 75,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 590,
                                  "type": "struct AbsoluteVote.Voter memory",
                                  "value": "voter"
                                },
                                "id": 598,
                                "name": "Identifier",
                                "src": "8541:5:1"
                              }
                            ],
                            "id": 599,
                            "name": "MemberAccess",
                            "src": "8541:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputation",
                              "referencedDeclaration": 77,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 590,
                                  "type": "struct AbsoluteVote.Voter memory",
                                  "value": "voter"
                                },
                                "id": 600,
                                "name": "Identifier",
                                "src": "8553:5:1"
                              }
                            ],
                            "id": 601,
                            "name": "MemberAccess",
                            "src": "8553:16:1"
                          }
                        ],
                        "id": 602,
                        "name": "TupleExpression",
                        "src": "8540:30:1"
                      }
                    ],
                    "id": 603,
                    "name": "Return",
                    "src": "8533:37:1"
                  }
                ],
                "id": 604,
                "name": "Block",
                "src": "8455:122:1"
              }
            ],
            "id": 605,
            "name": "FunctionDefinition",
            "src": "8364:213:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "votesStatus",
              "payable": false,
              "scope": 881,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 643,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 606,
                        "name": "ElementaryTypeName",
                        "src": "8840:7:1"
                      }
                    ],
                    "id": 607,
                    "name": "VariableDeclaration",
                    "src": "8840:19:1"
                  }
                ],
                "id": 608,
                "name": "ParameterList",
                "src": "8839:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "votes",
                      "scope": 643,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[11] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "uint256[11] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 609,
                            "name": "ElementaryTypeName",
                            "src": "8885:4:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "3131",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 11",
                              "value": "11"
                            },
                            "id": 610,
                            "name": "Literal",
                            "src": "8890:2:1"
                          }
                        ],
                        "id": 611,
                        "name": "ArrayTypeName",
                        "src": "8885:8:1"
                      }
                    ],
                    "id": 612,
                    "name": "VariableDeclaration",
                    "src": "8885:14:1"
                  }
                ],
                "id": 613,
                "name": "ParameterList",
                "src": "8884:16:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        615
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 643,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 614,
                            "name": "UserDefinedTypeName",
                            "src": "8911:8:1"
                          }
                        ],
                        "id": 615,
                        "name": "VariableDeclaration",
                        "src": "8911:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 616,
                            "name": "Identifier",
                            "src": "8939:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 607,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 617,
                            "name": "Identifier",
                            "src": "8949:11:1"
                          }
                        ],
                        "id": 618,
                        "name": "IndexAccess",
                        "src": "8939:22:1"
                      }
                    ],
                    "id": 619,
                    "name": "VariableDeclarationStatement",
                    "src": "8911:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            621
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 643,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 620,
                                "name": "ElementaryTypeName",
                                "src": "8976:4:1"
                              }
                            ],
                            "id": 621,
                            "name": "VariableDeclaration",
                            "src": "8976:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 622,
                            "name": "Literal",
                            "src": "8987:1:1"
                          }
                        ],
                        "id": 623,
                        "name": "VariableDeclarationStatement",
                        "src": "8976:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 621,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 624,
                            "name": "Identifier",
                            "src": "8990:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 615,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 625,
                                "name": "Identifier",
                                "src": "8997:8:1"
                              }
                            ],
                            "id": 626,
                            "name": "MemberAccess",
                            "src": "8997:21:1"
                          }
                        ],
                        "id": 627,
                        "name": "BinaryOperation",
                        "src": "8990:28:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 621,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 628,
                                "name": "Identifier",
                                "src": "9020:3:1"
                              }
                            ],
                            "id": 629,
                            "name": "UnaryOperation",
                            "src": "9020:5:1"
                          }
                        ],
                        "id": 630,
                        "name": "ExpressionStatement",
                        "src": "9020:5:1"
                      },
                      {
                        "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": 612,
                                          "type": "uint256[11] memory",
                                          "value": "votes"
                                        },
                                        "id": 631,
                                        "name": "Identifier",
                                        "src": "9041:5:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 621,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 632,
                                        "name": "Identifier",
                                        "src": "9047:3:1"
                                      }
                                    ],
                                    "id": 633,
                                    "name": "IndexAccess",
                                    "src": "9041:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 94,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 615,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 634,
                                            "name": "Identifier",
                                            "src": "9054:8:1"
                                          }
                                        ],
                                        "id": 635,
                                        "name": "MemberAccess",
                                        "src": "9054:14:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 621,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 636,
                                        "name": "Identifier",
                                        "src": "9069:3:1"
                                      }
                                    ],
                                    "id": 637,
                                    "name": "IndexAccess",
                                    "src": "9054:19:1"
                                  }
                                ],
                                "id": 638,
                                "name": "Assignment",
                                "src": "9041:32:1"
                              }
                            ],
                            "id": 639,
                            "name": "ExpressionStatement",
                            "src": "9041:32:1"
                          }
                        ],
                        "id": 640,
                        "name": "Block",
                        "src": "9027:57:1"
                      }
                    ],
                    "id": 641,
                    "name": "ForStatement",
                    "src": "8971:113:1"
                  }
                ],
                "id": 642,
                "name": "Block",
                "src": "8901:189:1"
              }
            ],
            "id": 643,
            "name": "FunctionDefinition",
            "src": "8819:271:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "isVotable",
              "payable": false,
              "scope": 881,
              "stateMutability": "view",
              "superFunction": 2650,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 656,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 644,
                        "name": "ElementaryTypeName",
                        "src": "9271:7:1"
                      }
                    ],
                    "id": 645,
                    "name": "VariableDeclaration",
                    "src": "9271:19:1"
                  }
                ],
                "id": 646,
                "name": "ParameterList",
                "src": "9270:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 656,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 647,
                        "name": "ElementaryTypeName",
                        "src": "9316:4:1"
                      }
                    ],
                    "id": 648,
                    "name": "VariableDeclaration",
                    "src": "9316:4:1"
                  }
                ],
                "id": 649,
                "name": "ParameterList",
                "src": "9315:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 649
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "open",
                          "referencedDeclaration": 100,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 650,
                                "name": "Identifier",
                                "src": "9340:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 645,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 651,
                                "name": "Identifier",
                                "src": "9350:11:1"
                              }
                            ],
                            "id": 652,
                            "name": "IndexAccess",
                            "src": "9340:22:1"
                          }
                        ],
                        "id": 653,
                        "name": "MemberAccess",
                        "src": "9340:27:1"
                      }
                    ],
                    "id": 654,
                    "name": "Return",
                    "src": "9332:35:1"
                  }
                ],
                "id": 655,
                "name": "Block",
                "src": "9322:52:1"
              }
            ],
            "id": 656,
            "name": "FunctionDefinition",
            "src": "9252:122:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "cancelVoteInternal",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 718,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 657,
                        "name": "ElementaryTypeName",
                        "src": "9408:7:1"
                      }
                    ],
                    "id": 658,
                    "name": "VariableDeclaration",
                    "src": "9408:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 718,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 659,
                        "name": "ElementaryTypeName",
                        "src": "9429:7:1"
                      }
                    ],
                    "id": 660,
                    "name": "VariableDeclaration",
                    "src": "9429:14:1"
                  }
                ],
                "id": 661,
                "name": "ParameterList",
                "src": "9407:37:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 662,
                "name": "ParameterList",
                "src": "9454:0:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        664
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 718,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 663,
                            "name": "UserDefinedTypeName",
                            "src": "9464:8:1"
                          }
                        ],
                        "id": 664,
                        "name": "VariableDeclaration",
                        "src": "9464:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 665,
                            "name": "Identifier",
                            "src": "9492:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 658,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 666,
                            "name": "Identifier",
                            "src": "9502:11:1"
                          }
                        ],
                        "id": 667,
                        "name": "IndexAccess",
                        "src": "9492:22:1"
                      }
                    ],
                    "id": 668,
                    "name": "VariableDeclarationStatement",
                    "src": "9464:50:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        670
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "voter",
                          "scope": 718,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Voter memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Voter",
                              "referencedDeclaration": 78,
                              "type": "struct AbsoluteVote.Voter storage pointer"
                            },
                            "id": 669,
                            "name": "UserDefinedTypeName",
                            "src": "9524:5:1"
                          }
                        ],
                        "id": 670,
                        "name": "VariableDeclaration",
                        "src": "9524:18:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voters",
                              "referencedDeclaration": 98,
                              "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 664,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 671,
                                "name": "Identifier",
                                "src": "9545:8:1"
                              }
                            ],
                            "id": 672,
                            "name": "MemberAccess",
                            "src": "9545:15:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 660,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 673,
                            "name": "Identifier",
                            "src": "9561:6:1"
                          }
                        ],
                        "id": 674,
                        "name": "IndexAccess",
                        "src": "9545:23:1"
                      }
                    ],
                    "id": 675,
                    "name": "VariableDeclarationStatement",
                    "src": "9524:44:1"
                  },
                  {
                    "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,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "votes",
                                  "referencedDeclaration": 94,
                                  "type": "mapping(uint256 => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 664,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 676,
                                    "name": "Identifier",
                                    "src": "9578:8:1"
                                  }
                                ],
                                "id": 680,
                                "name": "MemberAccess",
                                "src": "9578:14:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "vote",
                                  "referencedDeclaration": 75,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 670,
                                      "type": "struct AbsoluteVote.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 678,
                                    "name": "Identifier",
                                    "src": "9593:5:1"
                                  }
                                ],
                                "id": 679,
                                "name": "MemberAccess",
                                "src": "9593:10:1"
                              }
                            ],
                            "id": 681,
                            "name": "IndexAccess",
                            "src": "9578:26:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sub",
                                  "referencedDeclaration": 10196,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "votes",
                                              "referencedDeclaration": 94,
                                              "type": "mapping(uint256 => uint256)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 664,
                                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                                  "value": "proposal"
                                                },
                                                "id": 682,
                                                "name": "Identifier",
                                                "src": "9608:8:1"
                                              }
                                            ],
                                            "id": 683,
                                            "name": "MemberAccess",
                                            "src": "9608:14:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "vote",
                                              "referencedDeclaration": 75,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 670,
                                                  "type": "struct AbsoluteVote.Voter memory",
                                                  "value": "voter"
                                                },
                                                "id": 684,
                                                "name": "Identifier",
                                                "src": "9623:5:1"
                                              }
                                            ],
                                            "id": 685,
                                            "name": "MemberAccess",
                                            "src": "9623:10:1"
                                          }
                                        ],
                                        "id": 686,
                                        "name": "IndexAccess",
                                        "src": "9608:26:1"
                                      }
                                    ],
                                    "id": 687,
                                    "name": "TupleExpression",
                                    "src": "9607:28:1"
                                  }
                                ],
                                "id": 688,
                                "name": "MemberAccess",
                                "src": "9607:32:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputation",
                                  "referencedDeclaration": 77,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 670,
                                      "type": "struct AbsoluteVote.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 689,
                                    "name": "Identifier",
                                    "src": "9640:5:1"
                                  }
                                ],
                                "id": 690,
                                "name": "MemberAccess",
                                "src": "9640:16:1"
                              }
                            ],
                            "id": 691,
                            "name": "FunctionCall",
                            "src": "9607:50:1"
                          }
                        ],
                        "id": 692,
                        "name": "Assignment",
                        "src": "9578:79:1"
                      }
                    ],
                    "id": 693,
                    "name": "ExpressionStatement",
                    "src": "9578:79:1"
                  },
                  {
                    "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,
                              "member_name": "totalVotes",
                              "referencedDeclaration": 90,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 664,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 694,
                                "name": "Identifier",
                                "src": "9667:8:1"
                              }
                            ],
                            "id": 696,
                            "name": "MemberAccess",
                            "src": "9667:19:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sub",
                                  "referencedDeclaration": 10196,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "totalVotes",
                                          "referencedDeclaration": 90,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 664,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 697,
                                            "name": "Identifier",
                                            "src": "9690:8:1"
                                          }
                                        ],
                                        "id": 698,
                                        "name": "MemberAccess",
                                        "src": "9690:19:1"
                                      }
                                    ],
                                    "id": 699,
                                    "name": "TupleExpression",
                                    "src": "9689:21:1"
                                  }
                                ],
                                "id": 700,
                                "name": "MemberAccess",
                                "src": "9689:25:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputation",
                                  "referencedDeclaration": 77,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 670,
                                      "type": "struct AbsoluteVote.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 701,
                                    "name": "Identifier",
                                    "src": "9715:5:1"
                                  }
                                ],
                                "id": 702,
                                "name": "MemberAccess",
                                "src": "9715:16:1"
                              }
                            ],
                            "id": 703,
                            "name": "FunctionCall",
                            "src": "9689:43:1"
                          }
                        ],
                        "id": 704,
                        "name": "Assignment",
                        "src": "9667:65:1"
                      }
                    ],
                    "id": 705,
                    "name": "ExpressionStatement",
                    "src": "9667:65:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Voter storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voters",
                                  "referencedDeclaration": 98,
                                  "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 664,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 706,
                                    "name": "Identifier",
                                    "src": "9749:8:1"
                                  }
                                ],
                                "id": 707,
                                "name": "MemberAccess",
                                "src": "9749:15:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 660,
                                  "type": "address",
                                  "value": "_voter"
                                },
                                "id": 708,
                                "name": "Identifier",
                                "src": "9765:6:1"
                              }
                            ],
                            "id": 709,
                            "name": "IndexAccess",
                            "src": "9749:23:1"
                          }
                        ],
                        "id": 710,
                        "name": "UnaryOperation",
                        "src": "9742:30:1"
                      }
                    ],
                    "id": 711,
                    "name": "ExpressionStatement",
                    "src": "9742:30:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 139,
                              "type": "function (bytes32,address)",
                              "value": "LogCancelVoting"
                            },
                            "id": 712,
                            "name": "Identifier",
                            "src": "9782:15:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 658,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 713,
                            "name": "Identifier",
                            "src": "9798:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 660,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 714,
                            "name": "Identifier",
                            "src": "9811:6:1"
                          }
                        ],
                        "id": 715,
                        "name": "FunctionCall",
                        "src": "9782:36:1"
                      }
                    ],
                    "id": 716,
                    "name": "ExpressionStatement",
                    "src": "9782:36:1"
                  }
                ],
                "id": 717,
                "name": "Block",
                "src": "9454:371:1"
              }
            ],
            "id": 718,
            "name": "FunctionDefinition",
            "src": "9380:445:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "deleteProposal",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "private"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 754,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 719,
                        "name": "ElementaryTypeName",
                        "src": "9855:7:1"
                      }
                    ],
                    "id": 720,
                    "name": "VariableDeclaration",
                    "src": "9855:19:1"
                  }
                ],
                "id": 721,
                "name": "ParameterList",
                "src": "9854:21:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 722,
                "name": "ParameterList",
                "src": "9884:0:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        724
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 754,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 723,
                            "name": "UserDefinedTypeName",
                            "src": "9894:8:1"
                          }
                        ],
                        "id": 724,
                        "name": "VariableDeclaration",
                        "src": "9894:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 725,
                            "name": "Identifier",
                            "src": "9922:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 720,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 726,
                            "name": "Identifier",
                            "src": "9932:11:1"
                          }
                        ],
                        "id": 727,
                        "name": "IndexAccess",
                        "src": "9922:22:1"
                      }
                    ],
                    "id": 728,
                    "name": "VariableDeclarationStatement",
                    "src": "9894:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            730
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 754,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 729,
                                "name": "ElementaryTypeName",
                                "src": "9959:4:1"
                              }
                            ],
                            "id": 730,
                            "name": "VariableDeclaration",
                            "src": "9959:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 731,
                            "name": "Literal",
                            "src": "9970:1:1"
                          }
                        ],
                        "id": 732,
                        "name": "VariableDeclarationStatement",
                        "src": "9959:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 730,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 733,
                            "name": "Identifier",
                            "src": "9973:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 724,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 734,
                                "name": "Identifier",
                                "src": "9980:8:1"
                              }
                            ],
                            "id": 735,
                            "name": "MemberAccess",
                            "src": "9980:21:1"
                          }
                        ],
                        "id": 736,
                        "name": "BinaryOperation",
                        "src": "9973:28:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 730,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 737,
                                "name": "Identifier",
                                "src": "10003:3:1"
                              }
                            ],
                            "id": 738,
                            "name": "UnaryOperation",
                            "src": "10003:5:1"
                          }
                        ],
                        "id": 739,
                        "name": "ExpressionStatement",
                        "src": "10003:5:1"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "delete",
                                  "prefix": true,
                                  "type": "tuple()"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 94,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 724,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 740,
                                            "name": "Identifier",
                                            "src": "10031:8:1"
                                          }
                                        ],
                                        "id": 741,
                                        "name": "MemberAccess",
                                        "src": "10031:14:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 730,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 742,
                                        "name": "Identifier",
                                        "src": "10046:3:1"
                                      }
                                    ],
                                    "id": 743,
                                    "name": "IndexAccess",
                                    "src": "10031:19:1"
                                  }
                                ],
                                "id": 744,
                                "name": "UnaryOperation",
                                "src": "10024:26:1"
                              }
                            ],
                            "id": 745,
                            "name": "ExpressionStatement",
                            "src": "10024:26:1"
                          }
                        ],
                        "id": 746,
                        "name": "Block",
                        "src": "10010:51:1"
                      }
                    ],
                    "id": 747,
                    "name": "ForStatement",
                    "src": "9954:107:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 748,
                                "name": "Identifier",
                                "src": "10077:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 720,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 749,
                                "name": "Identifier",
                                "src": "10087:11:1"
                              }
                            ],
                            "id": 750,
                            "name": "IndexAccess",
                            "src": "10077:22:1"
                          }
                        ],
                        "id": 751,
                        "name": "UnaryOperation",
                        "src": "10070:29:1"
                      }
                    ],
                    "id": 752,
                    "name": "ExpressionStatement",
                    "src": "10070:29:1"
                  }
                ],
                "id": 753,
                "name": "Block",
                "src": "9884:222:1"
              }
            ],
            "id": 754,
            "name": "FunctionDefinition",
            "src": "9831:275:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "internalVote",
              "payable": false,
              "scope": 881,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "private"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 880,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 755,
                        "name": "ElementaryTypeName",
                        "src": "10645:7:1"
                      }
                    ],
                    "id": 756,
                    "name": "VariableDeclaration",
                    "src": "10645:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 880,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 757,
                        "name": "ElementaryTypeName",
                        "src": "10666:7:1"
                      }
                    ],
                    "id": 758,
                    "name": "VariableDeclaration",
                    "src": "10666:14:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 880,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 759,
                        "name": "ElementaryTypeName",
                        "src": "10682:4:1"
                      }
                    ],
                    "id": 760,
                    "name": "VariableDeclaration",
                    "src": "10682:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rep",
                      "scope": 880,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 761,
                        "name": "ElementaryTypeName",
                        "src": "10694:4:1"
                      }
                    ],
                    "id": 762,
                    "name": "VariableDeclaration",
                    "src": "10694:9:1"
                  }
                ],
                "id": 763,
                "name": "ParameterList",
                "src": "10644:60:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 880,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 764,
                        "name": "ElementaryTypeName",
                        "src": "10721:4:1"
                      }
                    ],
                    "id": 765,
                    "name": "VariableDeclaration",
                    "src": "10721:4:1"
                  }
                ],
                "id": 766,
                "name": "ParameterList",
                "src": "10720:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        768
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 880,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 767,
                            "name": "UserDefinedTypeName",
                            "src": "10737:8:1"
                          }
                        ],
                        "id": 768,
                        "name": "VariableDeclaration",
                        "src": "10737:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 769,
                            "name": "Identifier",
                            "src": "10765:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 756,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 770,
                            "name": "Identifier",
                            "src": "10775:11:1"
                          }
                        ],
                        "id": 771,
                        "name": "IndexAccess",
                        "src": "10765:22:1"
                      }
                    ],
                    "id": 772,
                    "name": "VariableDeclarationStatement",
                    "src": "10737:50:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        774
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 880,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 73,
                              "type": "struct AbsoluteVote.Parameters storage pointer"
                            },
                            "id": 773,
                            "name": "UserDefinedTypeName",
                            "src": "10797:10:1"
                          }
                        ],
                        "id": 774,
                        "name": "VariableDeclaration",
                        "src": "10797:24:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 143,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 775,
                            "name": "Identifier",
                            "src": "10824:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 88,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 768,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 776,
                                "name": "Identifier",
                                "src": "10835:8:1"
                              }
                            ],
                            "id": 777,
                            "name": "MemberAccess",
                            "src": "10835:19:1"
                          }
                        ],
                        "id": 778,
                        "name": "IndexAccess",
                        "src": "10824:31:1"
                      }
                    ],
                    "id": 779,
                    "name": "VariableDeclarationStatement",
                    "src": "10797:58:1"
                  },
                  {
                    "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": 780,
                            "name": "Identifier",
                            "src": "10894:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "<=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 760,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 781,
                                "name": "Identifier",
                                "src": "10902:5:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "numOfChoices",
                                  "referencedDeclaration": 84,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 768,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 782,
                                    "name": "Identifier",
                                    "src": "10911:8:1"
                                  }
                                ],
                                "id": 783,
                                "name": "MemberAccess",
                                "src": "10911:21:1"
                              }
                            ],
                            "id": 784,
                            "name": "BinaryOperation",
                            "src": "10902:30:1"
                          }
                        ],
                        "id": 785,
                        "name": "FunctionCall",
                        "src": "10894:39:1"
                      }
                    ],
                    "id": 786,
                    "name": "ExpressionStatement",
                    "src": "10894:39:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        788
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "reputation",
                          "scope": 880,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 787,
                            "name": "ElementaryTypeName",
                            "src": "10989:4:1"
                          }
                        ],
                        "id": 788,
                        "name": "VariableDeclaration",
                        "src": "10989:15:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputationOf",
                              "referencedDeclaration": 4458,
                              "type": "function (address) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 68,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 774,
                                      "type": "struct AbsoluteVote.Parameters memory",
                                      "value": "params"
                                    },
                                    "id": 789,
                                    "name": "Identifier",
                                    "src": "11007:6:1"
                                  }
                                ],
                                "id": 790,
                                "name": "MemberAccess",
                                "src": "11007:23:1"
                              }
                            ],
                            "id": 791,
                            "name": "MemberAccess",
                            "src": "11007:36:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 758,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 792,
                            "name": "Identifier",
                            "src": "11044:6:1"
                          }
                        ],
                        "id": 793,
                        "name": "FunctionCall",
                        "src": "11007:44:1"
                      }
                    ],
                    "id": 794,
                    "name": "VariableDeclarationStatement",
                    "src": "10989:62:1"
                  },
                  {
                    "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": 795,
                            "name": "Identifier",
                            "src": "11061:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 788,
                                  "type": "uint256",
                                  "value": "reputation"
                                },
                                "id": 796,
                                "name": "Identifier",
                                "src": "11069:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 762,
                                  "type": "uint256",
                                  "value": "_rep"
                                },
                                "id": 797,
                                "name": "Identifier",
                                "src": "11083:4:1"
                              }
                            ],
                            "id": 798,
                            "name": "BinaryOperation",
                            "src": "11069:18:1"
                          }
                        ],
                        "id": 799,
                        "name": "FunctionCall",
                        "src": "11061:27:1"
                      }
                    ],
                    "id": 800,
                    "name": "ExpressionStatement",
                    "src": "11061:27:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        802
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "rep",
                          "scope": 880,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 801,
                            "name": "ElementaryTypeName",
                            "src": "11098:4:1"
                          }
                        ],
                        "id": 802,
                        "name": "VariableDeclaration",
                        "src": "11098:8:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 762,
                          "type": "uint256",
                          "value": "_rep"
                        },
                        "id": 803,
                        "name": "Identifier",
                        "src": "11109:4:1"
                      }
                    ],
                    "id": 804,
                    "name": "VariableDeclarationStatement",
                    "src": "11098:15:1"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 802,
                              "type": "uint256",
                              "value": "rep"
                            },
                            "id": 805,
                            "name": "Identifier",
                            "src": "11127:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 806,
                            "name": "Literal",
                            "src": "11134:1:1"
                          }
                        ],
                        "id": 807,
                        "name": "BinaryOperation",
                        "src": "11127:8:1"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 802,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 808,
                                    "name": "Identifier",
                                    "src": "11151:3:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 788,
                                      "type": "uint256",
                                      "value": "reputation"
                                    },
                                    "id": 809,
                                    "name": "Identifier",
                                    "src": "11157:10:1"
                                  }
                                ],
                                "id": 810,
                                "name": "Assignment",
                                "src": "11151:16:1"
                              }
                            ],
                            "id": 811,
                            "name": "ExpressionStatement",
                            "src": "11151:16:1"
                          }
                        ],
                        "id": 812,
                        "name": "Block",
                        "src": "11137:41:1"
                      }
                    ],
                    "id": 813,
                    "name": "IfStatement",
                    "src": "11123:55:1"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputation",
                              "referencedDeclaration": 77,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Voter storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "voters",
                                      "referencedDeclaration": 98,
                                      "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 768,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 814,
                                        "name": "Identifier",
                                        "src": "11258:8:1"
                                      }
                                    ],
                                    "id": 815,
                                    "name": "MemberAccess",
                                    "src": "11258:15:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 758,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 816,
                                    "name": "Identifier",
                                    "src": "11274:6:1"
                                  }
                                ],
                                "id": 817,
                                "name": "IndexAccess",
                                "src": "11258:23:1"
                              }
                            ],
                            "id": 818,
                            "name": "MemberAccess",
                            "src": "11258:34:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 819,
                            "name": "Literal",
                            "src": "11296:1:1"
                          }
                        ],
                        "id": 820,
                        "name": "BinaryOperation",
                        "src": "11258:39:1"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 718,
                                      "type": "function (bytes32,address)",
                                      "value": "cancelVoteInternal"
                                    },
                                    "id": 821,
                                    "name": "Identifier",
                                    "src": "11313:18:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 756,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 822,
                                    "name": "Identifier",
                                    "src": "11332:11:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 758,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 823,
                                    "name": "Identifier",
                                    "src": "11345:6:1"
                                  }
                                ],
                                "id": 824,
                                "name": "FunctionCall",
                                "src": "11313:39:1"
                              }
                            ],
                            "id": 825,
                            "name": "ExpressionStatement",
                            "src": "11313:39:1"
                          }
                        ],
                        "id": 826,
                        "name": "Block",
                        "src": "11299:64:1"
                      }
                    ],
                    "id": 827,
                    "name": "IfStatement",
                    "src": "11254:109:1"
                  },
                  {
                    "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,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "votes",
                                  "referencedDeclaration": 94,
                                  "type": "mapping(uint256 => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 768,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 828,
                                    "name": "Identifier",
                                    "src": "11402:8:1"
                                  }
                                ],
                                "id": 831,
                                "name": "MemberAccess",
                                "src": "11402:14:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 760,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 830,
                                "name": "Identifier",
                                "src": "11417:5:1"
                              }
                            ],
                            "id": 832,
                            "name": "IndexAccess",
                            "src": "11402:21:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "add",
                                  "referencedDeclaration": 10220,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 802,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 833,
                                    "name": "Identifier",
                                    "src": "11426:3:1"
                                  }
                                ],
                                "id": 834,
                                "name": "MemberAccess",
                                "src": "11426:7:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "votes",
                                      "referencedDeclaration": 94,
                                      "type": "mapping(uint256 => uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 768,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 835,
                                        "name": "Identifier",
                                        "src": "11434:8:1"
                                      }
                                    ],
                                    "id": 836,
                                    "name": "MemberAccess",
                                    "src": "11434:14:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 760,
                                      "type": "uint256",
                                      "value": "_vote"
                                    },
                                    "id": 837,
                                    "name": "Identifier",
                                    "src": "11449:5:1"
                                  }
                                ],
                                "id": 838,
                                "name": "IndexAccess",
                                "src": "11434:21:1"
                              }
                            ],
                            "id": 839,
                            "name": "FunctionCall",
                            "src": "11426:30:1"
                          }
                        ],
                        "id": 840,
                        "name": "Assignment",
                        "src": "11402:54:1"
                      }
                    ],
                    "id": 841,
                    "name": "ExpressionStatement",
                    "src": "11402:54:1"
                  },
                  {
                    "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,
                              "member_name": "totalVotes",
                              "referencedDeclaration": 90,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 768,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 842,
                                "name": "Identifier",
                                "src": "11466:8:1"
                              }
                            ],
                            "id": 844,
                            "name": "MemberAccess",
                            "src": "11466:19:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "add",
                                  "referencedDeclaration": 10220,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 802,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 845,
                                    "name": "Identifier",
                                    "src": "11488:3:1"
                                  }
                                ],
                                "id": 846,
                                "name": "MemberAccess",
                                "src": "11488:7:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "totalVotes",
                                  "referencedDeclaration": 90,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 768,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 847,
                                    "name": "Identifier",
                                    "src": "11496:8:1"
                                  }
                                ],
                                "id": 848,
                                "name": "MemberAccess",
                                "src": "11496:19:1"
                              }
                            ],
                            "id": 849,
                            "name": "FunctionCall",
                            "src": "11488:28:1"
                          }
                        ],
                        "id": 850,
                        "name": "Assignment",
                        "src": "11466:50:1"
                      }
                    ],
                    "id": 851,
                    "name": "ExpressionStatement",
                    "src": "11466:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct AbsoluteVote.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Voter storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voters",
                                  "referencedDeclaration": 98,
                                  "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 768,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 852,
                                    "name": "Identifier",
                                    "src": "11526:8:1"
                                  }
                                ],
                                "id": 855,
                                "name": "MemberAccess",
                                "src": "11526:15:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 758,
                                  "type": "address",
                                  "value": "_voter"
                                },
                                "id": 854,
                                "name": "Identifier",
                                "src": "11542:6:1"
                              }
                            ],
                            "id": 856,
                            "name": "IndexAccess",
                            "src": "11526:23:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "reputation",
                                "vote"
                              ],
                              "type": "struct AbsoluteVote.Voter memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 78,
                                  "type": "type(struct AbsoluteVote.Voter storage pointer)",
                                  "value": "Voter"
                                },
                                "id": 857,
                                "name": "Identifier",
                                "src": "11552:5:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 802,
                                  "type": "uint256",
                                  "value": "rep"
                                },
                                "id": 858,
                                "name": "Identifier",
                                "src": "11584:3:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 760,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 859,
                                "name": "Identifier",
                                "src": "11607:5:1"
                              }
                            ],
                            "id": 860,
                            "name": "FunctionCall",
                            "src": "11552:71:1"
                          }
                        ],
                        "id": 861,
                        "name": "Assignment",
                        "src": "11526:97:1"
                      }
                    ],
                    "id": 862,
                    "name": "ExpressionStatement",
                    "src": "11526:97:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 133,
                              "type": "function (bytes32,address,uint256,uint256,bool)",
                              "value": "LogVoteProposal"
                            },
                            "id": 863,
                            "name": "Identifier",
                            "src": "11651:15:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 756,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 864,
                            "name": "Identifier",
                            "src": "11667:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 758,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 865,
                            "name": "Identifier",
                            "src": "11680:6:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 760,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 866,
                            "name": "Identifier",
                            "src": "11688:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 788,
                              "type": "uint256",
                              "value": "reputation"
                            },
                            "id": 867,
                            "name": "Identifier",
                            "src": "11695:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "!=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 758,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 868,
                                    "name": "Identifier",
                                    "src": "11708:6:1"
                                  },
                                  {
                                    "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": 869,
                                        "name": "Identifier",
                                        "src": "11718:3:1"
                                      }
                                    ],
                                    "id": 870,
                                    "name": "MemberAccess",
                                    "src": "11718:10:1"
                                  }
                                ],
                                "id": 871,
                                "name": "BinaryOperation",
                                "src": "11708:20:1"
                              }
                            ],
                            "id": 872,
                            "name": "TupleExpression",
                            "src": "11707:22:1"
                          }
                        ],
                        "id": 873,
                        "name": "FunctionCall",
                        "src": "11651:79:1"
                      }
                    ],
                    "id": 874,
                    "name": "ExpressionStatement",
                    "src": "11651:79:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 766
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                565
                              ],
                              "referencedDeclaration": 565,
                              "type": "function (bytes32) returns (bool)",
                              "value": "execute"
                            },
                            "id": 875,
                            "name": "Identifier",
                            "src": "11806:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 756,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 876,
                            "name": "Identifier",
                            "src": "11814:11:1"
                          }
                        ],
                        "id": 877,
                        "name": "FunctionCall",
                        "src": "11806:20:1"
                      }
                    ],
                    "id": 878,
                    "name": "Return",
                    "src": "11799:27:1"
                  }
                ],
                "id": 879,
                "name": "Block",
                "src": "10727:1106:1"
              }
            ],
            "id": 880,
            "name": "FunctionDefinition",
            "src": "10623:1210:1"
          }
        ],
        "id": 881,
        "name": "ContractDefinition",
        "src": "100:11735:1"
      }
    ],
    "id": 882,
    "name": "SourceUnit",
    "src": "0:11836:1"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1516886047983": {
      "events": {},
      "links": {},
      "address": "0x40851a9da1554b37eb855f7982f59cb3afa8c8ea"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.375Z"
}