@gooddollar/goodcontracts
Version:
GoodDollar Contracts
594 lines • 958 kB
JSON
{
"contractName": "AbsoluteVote",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bool",
"name": "_isProxyVote",
"type": "bool"
}
],
"name": "AVVoteProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_organization",
"type": "address"
}
],
"name": "CancelProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_organization",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_voter",
"type": "address"
}
],
"name": "CancelVoting",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_organization",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_decision",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_totalReputation",
"type": "uint256"
}
],
"name": "ExecuteProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_organization",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_numOfChoices",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "_proposer",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "_paramsHash",
"type": "bytes32"
}
],
"name": "NewProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_organization",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_voter",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_vote",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_reputation",
"type": "uint256"
}
],
"name": "VoteProposal",
"type": "event"
},
{
"constant": true,
"inputs": [],
"name": "MAX_NUM_OF_CHOICES",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "organizations",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "parameters",
"outputs": [
{
"internalType": "uint256",
"name": "precReq",
"type": "uint256"
},
{
"internalType": "address",
"name": "voteOnBehalf",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "proposals",
"outputs": [
{
"internalType": "bytes32",
"name": "organizationId",
"type": "bytes32"
},
{
"internalType": "bool",
"name": "open",
"type": "bool"
},
{
"internalType": "address",
"name": "callbacks",
"type": "address"
},
{
"internalType": "uint256",
"name": "numOfChoices",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "paramsHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "totalVotes",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "proposalsCnt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_numOfChoices",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_paramsHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "_organization",
"type": "address"
}
],
"name": "propose",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_vote",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_voter",
"type": "address"
}
],
"name": "vote",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "cancelVote",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "execute",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "getNumberOfChoices",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_voter",
"type": "address"
}
],
"name": "voteInfo",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_choice",
"type": "uint256"
}
],
"name": "voteStatus",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "isVotable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isAbstainAllow",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getAllowedRangeOfChoices",
"outputs": [
{
"internalType": "uint256",
"name": "min",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_precReq",
"type": "uint256"
},
{
"internalType": "address",
"name": "_voteOnBehalf",
"type": "address"
}
],
"name": "setParameters",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "uint256",
"name": "_precReq",
"type": "uint256"
},
{
"internalType": "address",
"name": "_voteOnBehalf",
"type": "address"
}
],
"name": "getParametersHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isProxyVote\",\"type\":\"bool\"}],\"name\":\"AVVoteProposal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_organization\",\"type\":\"address\"}],\"name\":\"CancelProposal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_organization\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"CancelVoting\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_organization\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_decision\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalReputation\",\"type\":\"uint256\"}],\"name\":\"ExecuteProposal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_organization\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_numOfChoices\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_paramsHash\",\"type\":\"bytes32\"}],\"name\":\"NewProposal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_organization\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_vote\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_reputation\",\"type\":\"uint256\"}],\"name\":\"VoteProposal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_NUM_OF_CHOICES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"cancelVote\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getAllowedRangeOfChoices\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"getNumberOfChoices\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_precReq\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voteOnBehalf\",\"type\":\"address\"}],\"name\":\"getParametersHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isAbstainAllow\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"isVotable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"organizations\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"parameters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"precReq\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voteOnBehalf\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"organizationId\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"open\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"callbacks\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"paramsHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"totalVotes\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposalsCnt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_paramsHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_organization\",\"type\":\"address\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_precReq\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voteOnBehalf\",\"type\":\"address\"}],\"name\":\"setParameters\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_vote\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"vote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"voteInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_choice\",\"type\":\"uint256\"}],\"name\":\"voteStatus\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"cancelVote(bytes32)\":{\"details\":\"Cancel the vote of the msg.sender: subtract the reputation amount from the votes and delete the voter from the proposal struct\",\"params\":{\"_proposalId\":\"id of the proposal\"}},\"execute(bytes32)\":{\"details\":\"execute check if the proposal has been decided, and if so, execute the proposal\",\"params\":{\"_proposalId\":\"the id of the proposal\"},\"return\":\"bool true - the proposal has been executed false - otherwise.\"},\"getAllowedRangeOfChoices()\":{\"details\":\"getAllowedRangeOfChoices returns the allowed range of choices for a voting machine.\",\"return\":\"min - minimum number of choices max - maximum number of choices\"},\"getNumberOfChoices(bytes32)\":{\"details\":\"getNumberOfChoices returns the number of choices possible in this proposal excluding the abstain vote (0)\",\"params\":{\"_proposalId\":\"the ID of the proposal\"},\"return\":\"uint256 that contains number of choices\"},\"getParametersHash(uint256,address)\":{\"details\":\"hashParameters returns a hash of the given parameters\"},\"isAbstainAllow()\":{\"details\":\"isAbstainAllow returns if the voting machine allow abstain (0)\",\"return\":\"bool true or false\"},\"isVotable(bytes32)\":{\"details\":\"isVotable check if the proposal is votable\",\"params\":{\"_proposalId\":\"the ID of the proposal\"},\"return\":\"bool true or false\"},\"propose(uint256,bytes32,address,address)\":{\"details\":\"register a new proposal with the given parameters. Every proposal has a unique ID which is being generated by calculating keccak256 of a incremented counter.\",\"params\":{\"_numOfChoices\":\"number of voting choices\",\"_organization\":\"address\",\"_paramsHash\":\"defined the parameters of the voting machine used for this proposal\"},\"return\":\"proposal's id.\"},\"setParameters(uint256,address)\":{\"details\":\"hash the parameters, save them if necessary, and return the hash value\"},\"vote(bytes32,uint256,uint256,address)\":{\"details\":\"voting function\",\"params\":{\"_amount\":\"the reputation amount to vote with . if _amount == 0 it will use all voter reputation.\",\"_proposalId\":\"id of the proposal\",\"_vote\":\"a value between 0 to and the proposal number of choices.\",\"_voter\":\"voter address\"},\"return\":\"bool true - the proposal has been executed false - otherwise.\"},\"voteInfo(bytes32,address)\":{\"details\":\"voteInfo returns the vote and the amount of reputation of the user committed to this proposal\",\"params\":{\"_proposalId\":\"the ID of the proposal\",\"_voter\":\"the address of the voter\"},\"return\":\"uint256 vote - the voters vote uint256 reputation - amount of reputation committed by _voter to _proposalId\"},\"voteStatus(bytes32,uint256)\":{\"details\":\"voteStatus returns the reputation voted for a proposal for a specific voting choice.\",\"params\":{\"_choice\":\"the index in the\",\"_proposalId\":\"the ID of the proposal\"},\"return\":\"voted reputation for the given choice\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@daostack/infra/contracts/votingMachines/AbsoluteVote.sol\":\"AbsoluteVote\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@daostack/infra/contracts/Reputation.sol\":{\"keccak256\":\"0x3d226dac0fe7d758f0287fb28bc25fcec1f69d19888ae3a550fa49856d61c482\",\"urls\":[\"bzz-raw://8856852c8fe0ba1c9aab326f0a9a6e7f31a238de2778fa5188e6fc399f7eb352\",\"dweb:/ipfs/QmVH4ppR9Dk7v8yxaSgeArdMv9gBBVoQxEf4E3UsqQ4rY2\"]},\"@daostack/infra/contracts/votingMachines/AbsoluteVote.sol\":{\"keccak256\":\"0x5e6a9d2d70bd86115d82abc3b294672cddc7f49f0dbad93af28c5e0133a3586e\",\"urls\":[\"bzz-raw://3ddc8aa9998a57cd5f9b85a016a1fe2086abb6e7adde209ded6a16cfc5480d97\",\"dweb:/ipfs/QmaxttQizPNWZDNeX3TBWa4jmHavm6We8MLZpmcPy21rGS\"]},\"@daostack/infra/contracts/votingMachines/IntVoteInterface.sol\":{\"keccak256\":\"0x877991da94b1fe9c2accf69367b32fff474c4e4f7897e9cf5a61fa5d1378908f\",\"urls\":[\"bzz-raw://4ea2c35248b82ea74884313752870789de61b0bcbc14425e97192b1ef1450e5a\",\"dweb:/ipfs/QmZ9RxpmG6SsMLJm1hT9ZmVy3CVPNZyRihQxZFDk8u3w1G\"]},\"@daostack/infra/contracts/votingMachines/ProposalExecuteInterface.sol\":{\"keccak256\":\"0xb80a153793e1723b35e70ba1c3800975fbc1fae63c989cfb8134a4e58085e181\",\"urls\":[\"bzz-raw://7ea97373ca977623d4c480c1d03e0853b1b34d59df4928ef72548987b2943899\",\"dweb:/ipfs/QmZ1MmDX4ExZ1iEo9gFp3SHfpNjWoLHS9nVhFkTRokgoLS\"]},\"@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol\":{\"keccak256\":\"0xec215d305f0aa5a5193b6f0302a1aa6bb84e85460167f80b261faf9d30564563\",\"urls\":[\"bzz-raw://8edb25b20c86a28b5c7c7c3a918f219106a1d3047933984dd76e33e30911857d\",\"dweb:/ipfs/Qme1iBcLjPPrC6jMF56cSE9pmEdCQ23aT43wQbnqKjXEYe\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzz-raw://ee762ff5b7746e41d27dcbcea00c7a3034b58adb1b45ddadddb5b721aff450df\",\"dweb:/ipfs/QmdxqtgEFZjHCoiYyz6pUAQ5iBm7As25jcyEbZoTaAgyDa\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50610fe3806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806351d997b2116100a2578063a003651d11610071578063a003651d1461031a578063b451291314610337578063ba51b14e1461035a578063c083510614610393578063e751f271146103b05761010b565b806351d997b2146102b157806388737b5e146102b95780638d22651e146102f35780639525c0cc146102fb5761010b565b8063289647e4116100de578063289647e4146101d957806332ed5b1214610205578063359afa491461025d5780635142bc1e146102a95761010b565b80630250680414610110578063119ce91b1461014e57806321b4b3dc1461019357806323d840f5146101ad575b600080fd5b61012d6004803603602081101561012657600080fd5b50356103cd565b604080519283526001600160a01b0390911660208301528051918290030190f35b61017a6004803603604081101561016457600080fd5b50803590602001356001600160a01b03166103ef565b6040805192835260208301919091528051918290030190f35b61019b610440565b60408051918252519081900360200190f35b61019b600480360360408110156101c357600080fd5b50803590602001356001600160a01b0316610446565b61019b600480360360408110156101ef57600080fd5b50803590602001356001600160a01b03166104c2565b6102226004803603602081101561021b57600080fd5b5035610501565b6040805196875294151560208701526001600160a01b03909316858501526060850191909152608084015260a0830152519081900360c00190f35b6102956004803603608081101561027357600080fd5b50803590602081013590604081013590606001356001600160a01b0316610541565b604080519115158252519081900360200190f35b61017a6105f7565b6102956105ff565b61019b600480360360808110156102cf57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610604565b61019b610824565b6103186004803603602081101561031157600080fd5b5035610829565b005b61019b6004803603602081101561033057600080fd5b5035610858565b61019b6004803603604081101561034d57600080fd5b508035906020013561086d565b6103776004803603602081101561037057600080fd5b503561088e565b604080516001600160a01b039092168252519081900360200190f35b610295600480360360208110156103a957600080fd5b50356108a9565b610295600480360360208110156103c657600080fd5b50356108c2565b600060208190529081526040902080546001909101546001600160a01b031682565b6000806103fa610f48565b50505060008281526001602081815260408084206001600160a01b0386168552600601825292839020835180850190945280548085529201549201829052909250929050565b60035481565b6000606483111580156104595750600083115b61046257600080fd5b600061046e84846104c2565b6040805180820182529586526001600160a01b039485166020808801918252600084815290819052919091209551865551600190950180546001600160a01b03191695909416949094179092555090919050565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b60016020819052600091825260409091208054918101546002820154600383015460049093015460ff8316936101009093046001600160a01b0316929086565b600084815260016020819052604082200154859060ff1661056157600080fd5b6000868152600160205260409020610577610f62565b506003810154600090815260208181526040808320815180830190925280548252600101546001600160a01b03169181018290529190156105db5781602001516001600160a01b0316336001600160a01b0316146105d457600080fd5b50846105de565b50335b6105ea89828a8a6108f4565b9998505050505050505050565b6000600a9091565b600190565b60008381526020819052604081205461061c57600080fd5b60008511801561062d5750600a8511155b61063657600080fd5b600354604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061067b90600163ffffffff610b5f16565b600355610686610f79565b606081810188815260808301888152336040808601828152815192861b602084810191909152958a901b6bffffffffffffffffffffffff191660348401528151808403602801815260489093018252825192860192909220865260018587018181526000898152828852838120895180825592519381018054965160ff1990971694151594909417610100600160a81b0319166101006001600160a01b03978816021790935595516002808401919091559451600383015560a0880151600490920191909155845291909352902054166107b7576001600160a01b03841661078d578051600090815260026020526040902080546001600160a01b031916331790556107b7565b8051600090815260026020526040902080546001600160a01b0319166001600160a01b0386161790555b80516000908152600260209081526040918290205482518a8152339281019290925281830189905291516001600160a01b039092169184917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c919081900360600190a35095945050505050565b600a81565b60008181526001602081905260409091200154819060ff1661084a57600080fd5b6108548233610b78565b5050565b60009081526001602052604090206002015490565b60009182526001602090815260408084209284526005909201905290205490565b6002602052600090815260409020546001600160a01b031681565b6000908152600160208190526040909120015460ff1690565b600081815260016020819052604082200154829060ff166108e257600080fd5b6108eb83610c7d565b91505b50919050565b6000848152600160205260408120600281015484111561091357600080fd5b600181015460408051634ac41bc760e11b81526001600160a01b038881166004830152602482018a90529151600093610100900490921691639588378e91604480820192602092909190829003018186803b15801561097157600080fd5b505afa158015610985573d6000803e3d6000fd5b505050506040513d602081101561099b57600080fd5b50519050806109f1576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b838110156109fe57600080fd5b8380610a075750805b6001600160a01b038716600090815260068401602052604090206001015415610a3457610a348888610b78565b6000868152600584016020526040902054610a5690829063ffffffff610b5f16565b60008781526005850160205260409020556004830154610a7d90829063ffffffff610b5f16565b600484015560408051808201825287815260208082018481526001600160a01b03808c16600081815260068a0185528681209551865592516001909501949094558754825260028352908490205484518b8152928301869052845193949116928c927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92908290030190a4604080516001600160a01b0389163314158152905189917fe715e19c865cb724f3c292cc2fffc24d9cdd398e179fb366f008cc73028e1c52919081900360200190a2610b5388610c7d565b98975050505050505050565b600082820183811015610b7157600080fd5b9392505050565b6000828152600160205260409020610b8e610f48565b506001600160a01b03821660009081526006820160209081526040808320815180830183528154808252600190920154818501819052918552600586019093529220549091610be3919063ffffffff610ec516565b815160009081526005840160209081526040909120919091558101516004830154610c139163ffffffff610ec516565b60048301556001600160a01b03808416600081815260068501602090815260408083208381556001018390558654835260029091528082205490519293169187917f0ecab23267930de581498fac1af19a95c888ec6583921ee9c47473e16245d3c891a450505050565b600081815260016020819052604082200154829060ff16610c9d57600080fd5b600083815260016020818152604080842092830154815163b551c37360e01b81526004810189905291519394936101009091046001600160a01b03169263b551c3739260248082019391829003018186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b505160038301546000908152602081905260408120549192505b83600201548111610eb85760008181526005850160205260409020546064840483021015610eb057610d6f610f79565b506040805160c08101825285548152600186015460ff81161515602083015261010090046001600160a01b0316918101919091526002850154606082015260038501546080820152600485015460a0820152610dca88610eda565b805160009081526002602090815260409182902054825185815291820187905282516001600160a01b03909116928b927f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d10929081900390910190a380604001516001600160a01b0316639d4c162d89846040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610e7757600080fd5b505af1158015610e8b573d6000803e3d6000fd5b505050506040513d6020811015610ea157600080fd5b505196506108ee945050505050565b600101610d3f565b5060009695505050505050565b600082821115610ed457600080fd5b50900390565b6000818152600160205260408120905b81600201548111610f0e576000818152600583016020526040812055600101610eea565b50506000908152600160208190526040822082815590810180546001600160a81b0319169055600281018290556003810182905560040155565b604051806040016040528060008152602001600081525090565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529056fea265627a7a723158201c5d9d5aded9e65e1547f89ec165d914337d44fede6bade679e30b4fb305778164736f6c63430005100032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806351d997b2116100a2578063a003651d11610071578063a003651d1461031a578063b451291314610337578063ba51b14e1461035a578063c083510614610393578063e751f271146103b05761010b565b806351d997b2146102b157806388737b5e146102b95780638d22651e146102f35780639525c0cc146102fb5761010b565b8063289647e4116100de578063289647e4146101d957806332ed5b1214610205578063359afa491461025d5780635142bc1e146102a95761010b565b80630250680414610110578063119ce91b1461014e57806321b4b3dc1461019357806323d840f5146101ad575b600080fd5b61012d6004803603602081101561012657600080fd5b50356103cd565b604080519283526001600160a01b0390911660208301528051918290030190f35b61017a6004803603604081101561016457600080fd5b50803590602001356001600160a01b03166103ef565b6040805192835260208301919091528051918290030190f35b61019b610440565b60408051918252519081900360200190f35b61019b600480360360408110156101c357600080fd5b50803590602001356001600160a01b0316610446565b61019b600480360360408110156101ef57600080fd5b50803590602001356001600160a01b03166104c2565b6102226004803603602081101561021b57600080fd5b5035610501565b6040805196875294151560208701526001600160a01b03909316858501526060850191909152608084015260a0830152519081900360c00190f35b6102956004803603608081101561027357600080fd5b50803590602081013590604081013590606001356001600160a01b0316610541565b604080519115158252519081900360200190f35b61017a6105f7565b6102956105ff565b61019b600480360360808110156102cf57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610604565b61019b610824565b6103186004803603602081101561031157600080fd5b5035610829565b005b61019b6004803603602081101561033057600080fd5b5035610858565b61019b6004803603604081101561034d57600080fd5b508035906020013561086d565b6103776004803603602081101561037057600080fd5b503561088e565b604080516001600160a01b039092168252519081900360200190f35b610295600480360360208110156103a957600080fd5b50356108a9565b610295600480360360208110156103c657600080fd5b50356108c2565b600060208190529081526040902080546001909101546001600160a01b031682565b6000806103fa610f48565b50505060008281526001602081815260408084206001600160a01b0386168552600601825292839020835180850190945280548085529201549201829052909250929050565b60035481565b6000606483111580156104595750600083115b61046257600080fd5b600061046e84846104c2565b6040805180820182529586526001600160a01b039485166020808801918252600084815290819052919091209551865551600190950180546001600160a01b03191695909416949094179092555090919050565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b60016020819052600091825260409091208054918101546002820154600383015460049093015460ff8316936101009093046001600160a01b0316929086565b600084815260016020819052604082200154859060ff1661056157600080fd5b6000868152600160205260409020610577610f62565b506003810154600090815260208181526040808320815180830190925280548252600101546001600160a01b03169181018290529190156105db5781602001516001600160a01b0316336001600160a01b0316146105d457600080fd5b50846105de565b50335b6105ea89828a8a6108f4565b9998505050505050505050565b6000600a9091565b600190565b60008381526020819052604081205461061c57600080fd5b60008511801561062d5750600a8511155b61063657600080fd5b600354604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061067b90600163ffffffff610b5f16565b600355610686610f79565b606081810188815260808301888152336040808601828152815192861b602084810191909152958a901b6bffffffffffffffffffffffff191660348401528151808403602801815260489093018252825192860192909220865260018587018181526000898152828852838120895180825592519381018054965160ff1990971694151594909417610100600160a81b0319166101006001600160a01b03978816021790935595516002808401919091559451600383015560a0880151600490920191909155845291909352902054166107b7576001600160a01b03841661078d578051600090815260026020526040902080546001600160a01b031916331790556107b7565b8051600090815260026020526040902080546001600160a01b0319166001600160a01b0386161790555b80516000908152600260209081526040918290205482518a8152339281019290925281830189905291516001600160a01b039092169184917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c919081900360600190a35095945050505050565b600a81565b60008181526001602081905260409091200154819060ff1661084a57600080fd5b6108548233610b78565b5050565b60009081526001602052604090206002015490565b60009182526001602090815260408084209284526005909201905290205490565b6002602052600090815260409020546001600160a01b031681565b6000908152600160208190526040909120015460ff1690565b600081815260016020819052604082200154829060ff166108e257600080fd5b6108eb83610c7d565b91505b50919050565b6000848152600160205260408120600281015484111561091357600080fd5b600181015460408051634ac41bc760e11b81526001600160a01b038881166004830152602482018a90529151600093610100900490921691639588378e91604480820192602092909190829003018186803b15801561097157600080fd5b505afa158015610985573d6000803e3d6000fd5b505050506040513d602081101561099b57600080fd5b50519050806109f1576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b838110156109fe57600080fd5b8380610a075750805b6001600160a01b038716600090815260068401602052604090206001015415610a3457610a348888610b78565b6000868152600584016020526040902054610a5690829063ffffffff610b5f16565b60008781526005850160205260409020556004830154610a7d90829063ffffffff610b5f16565b600484015560408051808201825287815260208082018481526001600160a01b03808c16600081815260068a0185528681209551865592516001909501949094558754825260028352908490205484518b8152928301869052845193949116928c927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92908290030190a4604080516001600160a01b0389163314158152905189917fe715e19c865cb724f3c292cc2fffc24d9cdd398e179fb366f008cc73028e1c52919081900360200190a2610b5388610c7d565b98975050505050505050565b600082820183811015610b7157600080fd5b9392505050565b6000828152600160205260409020610b8e610f48565b506001600160a01b03821660009081526006820160209081526040808320815180830183528154808252600190920154818501819052918552600586019093529220549091610be3919063ffffffff610ec516565b815160009081526005840160209081526040909120919091558101516004830154610c139163ffffffff610ec516565b60048301556001600160a01b03808416600081815260068501602090815260408083208381556001018390558654835260029091528082205490519293169187917f0ecab23267930de581498fac1af19a95c888ec6583921ee9c47473e16245d3c891a450505050565b600081815260016020819052604082200154829060ff16610c9d57600080fd5b600083815260016020818152604080842092830154815163b551c37360e01b81526004810189905291519394936101009091046001600160a01b03169263b551c3739260248082019391829003018186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b505160038301546000908152602081905260408120549192505b83600201548111610eb85760008181526005850160205260409020546064840483021015610eb057610d6f610f79565b506040805160c08101825285548152600186015460ff81161515602083015261010090046001600160a01b0316918101919091526002850154606082015260038501546080820152600485015460a0820152610dca88610eda565b805160009081526002602090815260409182902054825185815291820187905282516001600160a01b03909116928b927f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d10929081900390910190a380604001516001600160a01b0316639d4c162d89846040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610e7757600080fd5b505af1158015610e8b573d6000803e3d6000fd5b505050506040513d6020811015610ea157600080fd5b505196506108ee945050505050565b600101610d3f565b5060009695505050505050565b600082821115610ed457600080fd5b50900390565b6000818152600160205260408120905b81600201548111610f0e576000818152600583016020526040812055600101610eea565b50506000908152600160208190526040822082815590810180546001600160a81b0319169055600281018290556003810182905560040155565b604051806040016040528060008152602001600081525090565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529056fea265627a7a723158201c5d9d5aded9e65e1547f89ec165d914337d44fede6bade679e30b4fb305778164736f6c63430005100032",
"sourceMap": "237:11657:64:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:11657:64;;;;;;;",
"deployedSourceMap": "237:11657:64:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:11657:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1146:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1146:46:64;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1146:46:64;;;;;;;;;;;;;;;;5870:211;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5870:211:64;;;;;;-1:-1:-1;;;;;5870:211:64;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1456:27;;;:::i;:::-;;;;;;;;;;;;;;;;7433:392;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7433:392:64;;;;;;-1:-1:-1;;;;;7433:392:64;;:::i;7913:173::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7913:173:64;;;;;;-1:-1:-1;;;;;7913:173:64;;:::i;1238:43::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1238:43:64;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1238:43:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3813:608;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3813:608:64;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3813:608:64;;:::i;:::-;;;;;;;;;;;;;;;;;;7198:131;;;:::i;6904:82::-;;;:::i;2118:1282::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;2118:1282:64;;;;;;;;-1:-1:-1;;;;;2118:1282:64;;;;;;;;;;;;:::i;1403:47::-;;;:::i;4624:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4624:131:64;;:::i;:::-;;5385:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5385:139:64;;:::i;6341:150::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6341:150:64;;;;;;;:::i;1350:46::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1350:46:64;;:::i;:::-;;;;-1:-1:-1;;;;;1350:46:64;;;;;;;;;;;;;;6653:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6653:120:64;;:::i;5019:127::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5019:127:64;;:::i;1146:46::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1146:46:64;;:::o;5870:211::-;5947:4;5953;5969:18;;:::i;:::-;-1:-1:-1;;;5990:22:64;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;5990:37:64;;;;:29;;:37;;;;;;5969:58;;;;;;;;;;;;;;;;;;;;;;5870:211;;;;;:::o;1456:27::-;;;;:::o;7433:392::-;7512:7;7551:3;7539:8;:15;;:31;;;;;7569:1;7558:8;:12;7539:31;7531:40;;;;;;7581:24;7608:42;7626:8;7636:13;7608:17;:42::i;:::-;7691:94;;;;;;;;;;;-1:-1:-1;;;;;7691:94:64;;;;;;;;;;-1:-1:-1;7660:28:64;;;;;;;;;;;:125;;;;;;;;;;;-1:-1:-1;;;;;;7660:125:64;;;;;;;;;;;;-1:-1:-1;7660:28:64;;7433:392;-1:-1:-1;7433:392:64:o;7913:173::-;8037:41;;;;;;;;;;;;;;;;-1:-1:-1;;8037:41:64;;;;;;;26:21:-1;;;22:32;;6:49;;8037:41:64;;;;;;8027:52;;;;;;7913:173::o;1238:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1238:43:64;;;;:::o;3813:608::-;3991:4;1660:22;;;:9;:22;;;;;;;:27;;3962:11;;1660:27;;1652:36;;;;;;4016:25;4044:22;;;:9;:22;;;;;4076:24;;:::i;:::-;-1:-1:-1;4114:19:64;;;;4103:10;:31;;;;;;;;;;;4076:58;;;;;;;;;;;;;;;-1:-1:-1;;;;;4076:58:64;;;;;;;;4103:10;4171:33;4167:183;;4242:6;:19;;;-1:-1:-1;;;;;4228:33:64;:10;-1:-1:-1;;;;;4228:33:64;;4220:42;;;;;;-1:-1:-1;4284:6:64;4167:183;;;-1:-1:-1;4329:10:64;4167:183;4366:48;4379:11;4392:5;4399;4406:7;4366:12;:48::i;:::-;4359:55;3813:608;-1:-1:-1;;;;;;;;;3813:608:64:o;7198:131::-;7256:11;1448:2;7198:131;;:::o;6904:82::-;6975:4;6904:82;:::o;2118:1282::-;2244:7;2328:23;;;;;;;;;;:31;2320:44;;;;;;2398:1;2382:13;:17;:56;;;;;1448:2;2403:13;:35;;2382:56;2374:65;;;;;;2536:12;;2513:36;;;2530:4;2513:36;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2513:36:64;;;;;;;2503:47;;;;;;2575:19;;2592:1;2575:19;:16;:19;:::i;:::-;2560:12;:34;2630:24;;:::i;:::-;2664:21;;;;:37;;;2711:19;;;:33;;;2775:10;2754:18;;;;:31;;;2831:43;;;;;-1:-1:-1;2831:43:64;;;;;;;;;;;-1:-1:-1;;2831:43:64;;;;;;;26:21:-1;;;22:32;;6:49;;2831:43:64;;;;;;2821:54;;;;;;;;;2795:80;;2901:4;2885:13;;;:20;;;-1:-1:-1;2915:21:64;;;;;;;;;:32;;;;;;;;;;;;;;-1:-1:-1;;2915:32:64;;;;;;;;;;-1:-1:-1;;;;;;2915:32:64;;-1:-1:-1;;;;;2915:32:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2961:38;;;;;;;;;;2957:292;;-1:-1:-1;;;;;3033:27:64;;3029:210;;3094:23;;3080:38;;;;:13;:38;;;;;:51;;-1:-1:-1;;;;;;3080:51:64;3121:10;3080:51;;;3029:210;;;3184:23;;3170:38;;;;:13;:38;;;;;:54;;-1:-1:-1;;;;;;3170:54:64;-1:-1:-1;;;;;3170:54:64;;;;;3029:210;3301:23;;3287:38;;;;:13;:38;;;;;;;;;;3263:103;;;;;3342:10;3263:103;;;;;;;;;;;;;;;-1:-1:-1;;;;;3287:38:64;;;;3275:10;;3263:103;;;;;;;;;;-1:-1:-1;3383:10:64;2118:1282;-1:-1:-1;;;;;2118:1282:64:o;1403:47::-;1448:2;1403:47;:::o;4624:131::-;1660:22;;;;:9;:22;;;;;;;;:27;;4682:11;;1660:27;;1652:36;;;;;;4705:43;4724:11;4737:10;4705:18;:43::i;:::-;4624:131;;:::o;5385:139::-;5456:7;5482:22;;;:9;:22;;;;;:35;;;;5385:139::o;6341:150::-;6421:7;6447:22;;;:9;:22;;;;;;;;:37;;;:28;;;;:37;;;;;;6341:150::o;1350:46::-;;;;;;;;;;;;-1:-1:-1;;;;;1350:46:64;;:::o;6653:120::-;6715:4;6739:22;;;:9;:22;;;;;;;;:27;;;;;6653:120::o;5019:127::-;5095:4;1660:22;;;:9;:22;;;;;;;:27;;5074:11;;1660:27;;1652:36;;;;;;5118:21;5127:11;5118:8;:21::i;:::-;5111:28;;1698:1;5019:127;;;;:::o;10554:1338::-;10659:4;10703:22;;;:9;:22;;;;;10781:21;;;;10772:30;;;10764:39;;;;;;10912:18;;;;10880:85;;;-1:-1:-1;;;10880:85:64;;-1:-1:-1;;;;;10880:85:64;;;;;;;;;;;;;;;-1:-1:-1;;10912:18:64;;;;;;;10880:64;;:85;;;;;;;;;;;;;;;10912:18;10880:85;;;5:2:-1;;;;30:1;27;20:12;5:2;10880:85:64;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10880:85:64;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10880:85:64;;-1:-1:-1;10983:14:64;10975:54;;;;;-1:-1:-1;;;10975:54:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;11061:4;11047:10;:18;;11039:27;;;;;;11090:4;11108:8;11104:55;;-1:-1:-1;11138:10:64;11104:55;-1:-1:-1;;;;;11239:23:64;;;;;;:15;;;:23;;;;;:34;;;:39;11235:109;;11294:39;11313:11;11326:6;11294:18;:39::i;:::-;11415:21;;;;:14;;;:21;;;;;;11407:30;;:3;;:30;:7;:30;:::i;:::-;11383:21;;;;:14;;;:21;;;;;:54;11477:19;;;;11469:28;;:3;;:28;:7;:28;:::i;:::-;11447:19;;;:50;11533:71;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11507:23:64;;;-1:-1:-1;11507:23:64;;;:15;;;:23;;;;;:97;;;;;;;;;;;;;;11677:23;;11663:38;;:13;:38;;;;;;;11637:85;;;;;;;;;;;;;11507:23;;11663:38;;;11650:11;;11637:85;;;;;;;;;11737:51;;;-1:-1:-1;;;;;11766:20:64;;11776:10;11766:20;;11737:51;;;;11752:11;;11737:51;;;;;;;;;;11864:21;11873:11;11864:8;:21::i;:::-;11857:28;10554:1338;-1:-1:-1;;;;;;;;10554:1338:64:o;1431:145:76:-;1489:7;1520:5;;;1543:6;;;;1535:15;;;;;;1568:1;1431:145;-1:-1:-1;;;1431:145:76:o;8092:487:64:-;8176:25;8204:22;;;:9;:22;;;;;8236:18;;:::i;:::-;-1:-1:-1;;;;;;8257:23:64;;;;;;:15;;;:23;;;;;;;;8236:44;;;;;;;;;;;;;;;;;;;;;;;8320:26;;;:14;;;:26;;;;;;8236:44;;8319:50;;8320:26;8319:50;:32;:50;:::i;:::-;8305:10;;8290:26;;;;:14;;;:26;;;;;;;;:79;;;;8427:16;;;8402:19;;;;8401:43;;;:25;:43;:::i;:::-;8379:19;;;:65;-1:-1:-1;;;;;8461:23:64;;;;;;;:15;;;:23;;;;;;;;8454:30;;;;;;;;8539:23;;8525:38;;:13;:38;;;;;;;8499:73;;8461:23;;8525:38;;8512:11;;8499:73;;;8092:487;;;;:::o;9128:909::-;9205:4;1660:22;;;:9;:22;;;;;;;:27;;9184:11;;1660:27;;1652:36;;;;;;9221:25;9249:22;;;:9;:22;;;;;;;;9347:18;;;;9315:89;;-1:-1:-1;;;9315:89:64;;;;;;;;;;9249:22;;9221:25;9347:18;;;;-1:-1:-1;;;;;9347:18:64;;9315:76;;:89;;;;;;;;;;;9347:18;9315:89;;;5:2:-