dgf-prototype/frontend/contractArtifacts/Proposals.json

345 lines
58 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "Proposals",
"sourceName": "contracts/Proposals.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract DAO",
"name": "dao",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"name": "Attestation",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"name": "NewProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"name": "ProposalAccepted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"name": "ProposalFailed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
}
],
"name": "ReferendumStarted",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "attest",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"name": "evaluateAttestation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"name": "getPools",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
},
{
"internalType": "bool",
"name": "started",
"type": "bool"
},
{
"internalType": "bool",
"name": "completed",
"type": "bool"
},
{
"internalType": "uint256",
"name": "stakedFor",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stakedAgainst",
"type": "uint256"
},
{
"internalType": "bool",
"name": "votePasses",
"type": "bool"
},
{
"internalType": "bool",
"name": "quorumMet",
"type": "bool"
}
],
"internalType": "struct Proposals.Pool[3][3]",
"name": "pools",
"type": "tuple[3][3]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "votePasses",
"type": "bool"
},
{
"internalType": "bool",
"name": "quorumMet",
"type": "bool"
},
{
"internalType": "uint256",
"name": "stakedFor",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stakedAgainst",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"name": "onValidate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "proposalCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposals",
"outputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "remainingFee",
"type": "uint256"
},
{
"internalType": "string",
"name": "postId",
"type": "string"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "enum Proposals.Stage",
"name": "stage",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "attestationTotal",
"type": "uint256"
},
{
"internalType": "bool",
"name": "callbackOnAccepted",
"type": "bool"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "postId",
"type": "string"
},
{
"internalType": "uint256[3]",
"name": "durations",
"type": "uint256[3]"
},
{
"internalType": "bool",
"name": "callbackOnAccepted",
"type": "bool"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"name": "propose",
"outputs": [
{
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"name": "reclaimRemainingFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a06040526040518060600160405280600060ff168152602001600160ff168152602001606460ff1681525060029060036200003d929190620001ef565b5060405180606001604052806000151515158152602001600015151515815260200160011515151581525060059060036200007a92919062000239565b5060405180606001604052806040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600a60ff168152508152506006906003620000fc929190620002d9565b5060405180606001604052806040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff16815250815250600c9060036200017e929190620002d9565b503480156200018c57600080fd5b5060405162003524380380620035248339818101604052810190620001b291906200044e565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000480565b826003810192821562000226579160200282015b8281111562000225578251829060ff1690559160200191906001019062000203565b5b50905062000235919062000331565b5090565b826003601f01602090048101928215620002c65791602002820160005b838211156200029557835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030262000256565b8015620002c45782816101000a81549060ff021916905560010160208160000104928301926001030262000295565b505b509050620002d5919062000331565b5090565b82600360020281019282156200031e579160200282015b828111156200031d578251829060026200030c92919062000350565b5091602001919060020190620002f0565b5b5090506200032d91906200039a565b5090565b5b808211156200034c57600081600090555060010162000332565b5090565b826002810192821562000387579160200282015b8281111562000386578251829060ff1690559160200191906001019062000364565b5b50905062000396919062000331565b5090565b5b80821115620003be5760008181620003b49190620003c2565b506002016200039b565b5090565b506000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200040282620003d5565b9050919050565b60006200041682620003f5565b9050919050565b620004288162000409565b81146200043457600080fd5b50565b60008151905062000448816200041d565b92915050565b600060208284031215620004675762000466620003d0565b5b6000620004778482850162000437565b91505092915050565b60805161306c620004b8600039600081816106e9015281816108d301528181610ac90152818161152901526116f7015261306c6000f3fe60806040526004361061007b5760003560e01c8063c019faab1161004e578063c019faab14610154578063cac152a41461017d578063da35c664146101ad578063ea923e63146101d85761007b565b8063013cf08b1461008057806362d26ed7146100c5578063a3bb24cc14610102578063b4e6a1d51461012b575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a291906119d9565b610215565b6040516100bc99989796959493929190611bcd565b60405180910390f35b3480156100d157600080fd5b506100ec60048036038101906100e791906119d9565b6103ad565b6040516100f99190611e4d565b60405180910390f35b34801561010e57600080fd5b5061012960048036038101906101249190611e69565b6106e6565b005b34801561013757600080fd5b50610152600480360381019061014d9190611f3a565b6108d1565b005b34801561016057600080fd5b5061017b600480360381019061017691906119d9565b61119a565b005b6101976004803603810190610192919061204c565b6112c6565b6040516101a491906120f3565b60405180910390f35b3480156101b957600080fd5b506101c2611490565b6040516101cf91906120f3565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906119d9565b611496565b60405161020c919061210e565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201549080600301805461026a90612158565b80601f016020809104026020016040519081016040528092919081815260200182805461029690612158565b80156102e35780601f106102b8576101008083540402835291602001916102e3565b820191906000526020600020905b8154815290600101906020018083116102c657829003601f168201915b5050505050908060040154908060050160009054906101000a900460ff169080600701549080603b0160009054906101000a900460ff169080603c01805461032a90612158565b80601f016020809104026020016040519081016040528092919081815260200182805461035690612158565b80156103a35780601f10610378576101008083540402835291602001916103a3565b820191906000526020600020905b81548152906001019060200180831161038657829003601f168201915b5050505050905089565b6103b56118fa565b60008060008481526020019081526020016000209050806008016000600381106103e2576103e1612189565b5b60110201600101600380602002604051908101604052809291906000905b828210156104b2578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610400565b50505050826000600381106104ca576104c9612189565b5b6020020181905250806008016001600381106104e9576104e8612189565b5b60110201600101600380602002604051908101604052809291906000905b828210156105b9578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610507565b50505050826001600381106105d1576105d0612189565b5b6020020181905250806008016002600381106105f0576105ef612189565b5b60110201600101600380602002604051908101604052809291906000905b828210156106c0578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff1615151515815250508152602001906001019061060e565b50505050826002600381106106d8576106d7612189565b5b602002018190525050919050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161074091906121b8565b602060405180830381865afa15801561075d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078191906121e8565b10156107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b990612287565b60405180910390fd5b600080600084815260200190815260200160002090508060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600701600082825461082d91906122d6565b92505081905550818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508181600701600082825461088e919061230a565b925050819055507fc23775ba00d23f337b9f790bd67eb5194aa9b95876933f9ccd1887becbb55ccb836040516108c491906120f3565b60405180910390a1505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461095f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610956906123b0565b60405180910390fd5b6000806000848481019061097391906123d0565b9250925092506000806000858152602001908152602001600020905060008160080184600381106109a7576109a6612189565b5b6011020190506000816001018260100154600381106109c9576109c8612189565b5b60050201905060018160010160016101000a81548160ff0219169083151502179055508981600201819055508881600301819055508a8160040160016101000a81548160ff0219169083151502179055508b8160040160006101000a81548160ff0219169083151502179055508a610ac55760048360050160006101000a81548160ff02191690836005811115610a6357610a62611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb86604051610a97919061246f565b60405180910390a183836002016000828254610ab3919061230a565b92505081905550505050505050611192565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5691906121e8565b8a8c610b62919061230a565b6002610b6e919061249d565b1015905060016005811115610b8657610b85611ae6565b5b8460050160009054906101000a900460ff166005811115610baa57610ba9611ae6565b5b03610ccb5760008614610bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be99061252b565b60405180910390fd5b8c8015610bfc5750805b15610c335760028460050160006101000a81548160ff02191690836005811115610c2957610c28611ae6565b5b0217905550610cc6565b6002836010015410610ca85760048460050160006101000a81548160ff02191690836005811115610c6757610c66611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610c9b9190612597565b60405180910390a1610cc5565b6001836010016000828254610cbd919061230a565b925050819055505b5b611072565b60026005811115610cdf57610cde611ae6565b5b8460050160009054906101000a900460ff166005811115610d0357610d02611ae6565b5b03610e245760018614610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4290612611565b60405180910390fd5b8c8015610d555750805b15610d8c5760038460050160006101000a81548160ff02191690836005811115610d8257610d81611ae6565b5b0217905550610e1f565b6002836010015410610e015760048460050160006101000a81548160ff02191690836005811115610dc057610dbf611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610df49190612597565b60405180910390a1610e1e565b6001836010016000828254610e16919061230a565b925050819055505b5b611071565b60036005811115610e3857610e37611ae6565b5b8460050160009054906101000a900460ff166005811115610e5c57610e5b611ae6565b5b036110705760028614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b9061267d565b60405180910390fd5b8c8015610eae5750805b15610fdc5760058460050160006101000a81548160ff02191690836005811115610edb57610eda611ae6565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b87604051610f0f91906120f3565b60405180910390a183603b0160009054906101000a900460ff1615610fd7578360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663815a05728c8c87603c016040518463ffffffff1660e01b8152600401610f9293929190612736565b6020604051808303816000875af1158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd591906121e8565b505b61106f565b60028360100154106110515760048460050160006101000a81548160ff021916908360058111156110105761100f611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb876040516110449190612597565b60405180910390a161106e565b6001836010016000828254611066919061230a565b925050819055505b5b5b5b5b6001600581111561108657611085611ae6565b5b8460050160009054906101000a900460ff1660058111156110aa576110a9611ae6565b5b036110d0576110cb876000600a87600101546110c691906127a3565b6116c2565b61118a565b600260058111156110e4576110e3611ae6565b5b8460050160009054906101000a900460ff16600581111561110857611107611ae6565b5b0361112e57611129876001600a876001015461112491906127a3565b6116c2565b611189565b6003600581111561114257611141611ae6565b5b8460050160009054906101000a900460ff16600581111561116657611165611ae6565b5b0361118857611187876002600a876001015461118291906127a3565b6116c2565b5b5b5b505050505050505b505050505050565b60008060008381526020019081526020016000209050600460058111156111c4576111c3611ae6565b5b8160050160009054906101000a900460ff1660058111156111e8576111e7611ae6565b5b1480611228575060058081111561120257611201611ae6565b5b8160050160009054906101000a900460ff16600581111561122657611225611ae6565b5b145b611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e9061286c565b60405180910390fd5b600081600201549050600082600201819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112c0573d6000803e3d6000fd5b50505050565b6000600160008154809291906112db9061288c565b91905055905060008060008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878782600301918261134d929190612aba565b504281600401819055508560006003811061136b5761136a612189565b5b60200201358160080160006003811061138757611386612189565b5b6011020160000181905550856001600381106113a6576113a5612189565b5b6020020135816008016001600381106113c2576113c1612189565b5b6011020160000181905550856002600381106113e1576113e0612189565b5b6020020135816008016002600381106113fd576113fc612189565b5b6011020160000181905550348160010181905550806001015481600201819055508481603b0160006101000a81548160ff021916908315150217905550838382603c01918261144d929190612bdb565b507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8260405161147d91906120f3565b60405180910390a1509695505050505050565b60015481565b6000806000808481526020019081526020016000209050600060058111156114c1576114c0611ae6565b5b8160050160009054906101000a900460ff1660058111156114e5576114e4611ae6565b5b14611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151c90612d1d565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b691906121e8565b8260070154600a6115c7919061249d565b1015905060006301e1338083600401546115e1919061230a565b421190508161166c5780156116605760048360050160006101000a81548160ff0219169083600581111561161857611617611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8560405161164c9190612daf565b60405180910390a1600093505050506116bd565b600093505050506116bd565b60018360050160006101000a81548160ff0219169083600581111561169457611693611ae6565b5b02179055506116b5856000600a86600101546116b091906127a3565b6116c2565b600193505050505b919050565b60008060008581526020019081526020016000209050818160020160008282546116ec91906122d6565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73848460030185600801886003811061174c5761174b612189565b5b60110201600001546006896003811061176857611767612189565b5b60020201600c8a600381106117805761177f612189565b5b6002020160028b6003811061179857611797612189565b5b015460058c600381106117ae576117ad612189565b5b602091828204019190069054906101000a900460ff1660018e8e8e6040516020016117db93929190612ddd565b6040516020818303038152906040526040518a63ffffffff1660e01b815260040161180d989796959493929190612f7f565b60206040518083038185885af115801561182b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061185091906121e8565b9050600082600801856003811061186a57611869612189565b5b60110201905060008160010182601001546003811061188c5761188b612189565b5b60050201905082816000018190555060018160010160006101000a81548160ff0219169083151502179055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c67347987846040516118e992919061300d565b60405180910390a150505050505050565b60405180606001604052806003905b611911611927565b8152602001906001900390816119095790505090565b60405180606001604052806003905b61193e611954565b8152602001906001900390816119365790505090565b6040518060e001604052806000815260200160001515815260200160001515815260200160008152602001600081526020016000151581526020016000151581525090565b600080fd5b600080fd5b6000819050919050565b6119b6816119a3565b81146119c157600080fd5b50565b6000813590506119d3816119ad565b92915050565b6000602082840312156119ef576119ee611999565b5b60006119fd848285016119c4565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a3182611a06565b9050919050565b611a4181611a26565b82525050565b611a50816119a3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a90578082015181840152602081019050611a75565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ab882611a56565b611ac28185611a61565b9350611ad2818560208601611a72565b611adb81611a9c565b840191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110611b2657611b25611ae6565b5b50565b6000819050611b3782611b15565b919050565b6000611b4782611b29565b9050919050565b611b5781611b3c565b82525050565b60008115159050919050565b611b7281611b5d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000611b9f82611b78565b611ba98185611b83565b9350611bb9818560208601611a72565b611bc281611a9c565b840191505092915050565b600061012082019050611be3600083018c611a38565b611bf0602083018b611a47565b611bfd604083018a611a47565b8181036060830152611c0f8189611aad565b9050611c1e6080830188611a47565b611c2b60a0830187611b4e565b611c3860c0830186611a47565b611c4560e0830185611b69565b818103610100830152611c588184611b94565b90509a9950505050505050505050565b600060039050919050565b600081905092915050565b6000819050919050565b600060039050919050565b600081905092915050565b6000819050919050565b611cb1816119a3565b82525050565b611cc081611b5d565b82525050565b60e082016000820151611cdc6000850182611ca8565b506020820151611cef6020850182611cb7565b506040820151611d026040850182611cb7565b506060820151611d156060850182611ca8565b506080820151611d286080850182611ca8565b5060a0820151611d3b60a0850182611cb7565b5060c0820151611d4e60c0850182611cb7565b50505050565b6000611d608383611cc6565b60e08301905092915050565b6000602082019050919050565b611d8281611c88565b611d8c8184611c93565b9250611d9782611c9e565b8060005b83811015611dc8578151611daf8782611d54565b9650611dba83611d6c565b925050600181019050611d9b565b505050505050565b6000611ddc8383611d79565b6102a08301905092915050565b6000602082019050919050565b611dff81611c68565b611e098184611c73565b9250611e1482611c7e565b8060005b83811015611e45578151611e2c8782611dd0565b9650611e3783611de9565b925050600181019050611e18565b505050505050565b60006107e082019050611e636000830184611df6565b92915050565b60008060408385031215611e8057611e7f611999565b5b6000611e8e858286016119c4565b9250506020611e9f858286016119c4565b9150509250929050565b611eb281611b5d565b8114611ebd57600080fd5b50565b600081359050611ecf81611ea9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611efa57611ef9611ed5565b5b8235905067ffffffffffffffff811115611f1757611f16611eda565b5b602083019150836001820283011115611f3357611f32611edf565b5b9250929050565b60008060008060008060a08789031215611f5757611f56611999565b5b6000611f6589828a01611ec0565b9650506020611f7689828a01611ec0565b9550506040611f8789828a016119c4565b9450506060611f9889828a016119c4565b935050608087013567ffffffffffffffff811115611fb957611fb861199e565b5b611fc589828a01611ee4565b92509250509295509295509295565b60008083601f840112611fea57611fe9611ed5565b5b8235905067ffffffffffffffff81111561200757612006611eda565b5b60208301915083600182028301111561202357612022611edf565b5b9250929050565b60008190508260206003028201111561204657612045611edf565b5b92915050565b60008060008060008060c0878903121561206957612068611999565b5b600087013567ffffffffffffffff8111156120875761208661199e565b5b61209389828a01611fd4565b965096505060206120a689828a0161202a565b94505060806120b789828a01611ec0565b93505060a087013567ffffffffffffffff8111156120d8576120d761199e565b5b6120e489828a01611ee4565b92509250509295509295509295565b60006020820190506121086000830184611a47565b92915050565b60006020820190506121236000830184611b69565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061217057607f821691505b60208210810361218357612182612129565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020820190506121cd6000830184611a38565b92915050565b6000815190506121e2816119ad565b92915050565b6000602082840312156121fe576121fd611999565b5b600061220c848285016121d3565b91505092915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b6000612271602383611a61565b915061227c82612215565b604082019050919050565b600060208201905081810360008301526122a081612264565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122e1826119a3565b91506122ec836119a3565b9250828203905081811115612304576123036122a7565b5b92915050565b6000612315826119a3565b9150612320836119a3565b9250828201905080821115612338576123376122a7565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b600061239a603183611a61565b91506123a58261233e565b604082019050919050565b600060208201905081810360008301526123c98161238d565b9050919050565b6000806000606084860312156123e9576123e8611999565b5b60006123f7868287016119c4565b9350506020612408868287016119c4565b9250506040612419868287016119c4565b9150509250925092565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b6000612459600e83611a61565b915061246482612423565b602082019050919050565b60006040820190506124846000830184611a47565b81810360208301526124958161244c565b905092915050565b60006124a8826119a3565b91506124b3836119a3565b92508282026124c1816119a3565b915082820484148315176124d8576124d76122a7565b5b5092915050565b7f5374616765203020696e646578206d69736d6174636800000000000000000000600082015250565b6000612515601683611a61565b9150612520826124df565b602082019050919050565b6000602082019050818103600083015261254481612508565b9050919050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b6000612581601483611a61565b915061258c8261254b565b602082019050919050565b60006040820190506125ac6000830184611a47565b81810360208301526125bd81612574565b905092915050565b7f5374616765203120696e646578206d69736d6174636800000000000000000000600082015250565b60006125fb601683611a61565b9150612606826125c5565b602082019050919050565b6000602082019050818103600083015261262a816125ee565b9050919050565b7f5374616765203220696e646578206d69736d6174636800000000000000000000600082015250565b6000612667601683611a61565b915061267282612631565b602082019050919050565b600060208201905081810360008301526126968161265a565b9050919050565b60008190508160005260206000209050919050565b600081546126bf81612158565b6126c98186611b83565b945060018216600081146126e457600181146126fa5761272d565b60ff19831686528115156020028601935061272d565b6127038561269d565b60005b8381101561272557815481890152600182019150602081019050612706565b808801955050505b50505092915050565b600060608201905061274b6000830186611a47565b6127586020830185611a47565b818103604083015261276a81846126b2565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127ae826119a3565b91506127b9836119a3565b9250826127c9576127c8612774565b5b828204905092915050565b7f52656d61696e696e6720666565732063616e206f6e6c79206265207265636c6160008201527f696d6564207768656e2070726f706f73616c20686173206265656e206163636560208201527f70746564206f72206661696c6564000000000000000000000000000000000000604082015250565b6000612856604e83611a61565b9150612861826127d4565b606082019050919050565b6000602082019050818103600083015261288581612849565b9050919050565b6000612897826119a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128c9576128c86122a7565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026129707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612933565b61297a8683612933565b95508019841693508086168417925050509392505050565b6000819050919050565b60006129b76129b26129ad846119a3565b612992565b6119a3565b9050919050565b6000819050919050565b6129d18361299c565b6129e56129dd826129be565b848454612940565b825550505050565b600090565b6129fa6129ed565b612a058184846129c8565b505050565b5b81811015612a2957612a1e6000826129f2565b600181019050612a0b565b5050565b601f821115612a6e57612a3f8161290e565b612a4884612923565b81016020851015612a57578190505b612a6b612a6385612923565b830182612a0a565b50505b505050565b600082821c905092915050565b6000612a9160001984600802612a73565b1980831691505092915050565b6000612aaa8383612a80565b9150826002028217905092915050565b612ac483836128d4565b67ffffffffffffffff811115612add57612adc6128df565b5b612ae78254612158565b612af2828285612a2d565b6000601f831160018114612b215760008415612b0f578287013590505b612b198582612a9e565b865550612b81565b601f198416612b2f8661290e565b60005b82811015612b5757848901358255600182019150602085019450602081019050612b32565b86831015612b745784890135612b70601f891682612a80565b8355505b6001600288020188555050505b50505050505050565b600082905092915050565b601f821115612bd657612ba78161269d565b612bb084612923565b81016020851015612bbf578190505b612bd3612bcb85612923565b830182612a0a565b50505b505050565b612be58383612b8a565b67ffffffffffffffff811115612bfe57612bfd6128df565b5b612c088254612158565b612c13828285612b95565b6000601f831160018114612c425760008415612c30578287013590505b612c3a8582612a9e565b865550612ca2565b601f198416612c508661269d565b60005b82811015612c7857848901358255600182019150602085019450602081019050612c53565b86831015612c955784890135612c91601f891682612a80565b8355505b6001600288020188555050505b50505050505050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000612d07602b83611a61565b9150612d1282612cab565b604082019050919050565b60006020820190508181036000830152612d3681612cfa565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000612d99602d83611a61565b9150612da482612d3d565b604082019050919050565b6000604082019050612dc46000830184611a47565b8181036020830152612dd581612d8c565b905092915050565b6000606082019050612df26000830186611a47565b612dff6020830185611a47565b612e0c6040830184611a47565b949350505050565b60008154612e2181612158565b612e2b8186611a61565b94506001821660008114612e465760018114612e5c57612e8f565b60ff198316865281151560200286019350612e8f565b612e658561290e565b60005b83811015612e8757815481890152600182019150602081019050612e68565b808801955050505b50505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612ec48383611ca8565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000612efa612ef583612ed0565b612edd565b9050919050565b6000612f0d8254612ee7565b9050919050565b6000600182019050919050565b612f2a81612e98565b612f348184612ea3565b9250612f3f82612eae565b8060005b83811015612f7757612f5482612f01565b612f5e8782612eb8565b9650612f6983612f14565b925050600181019050612f43565b505050505050565b6000610140820190508181036000830152612f9a818b612e14565b9050612fa9602083018a611a47565b612fb66040830189612f21565b612fc36080830188612f21565b612fd060c0830187611a47565b612fdd60e0830186611b69565b612feb610100830185611b69565b818103610120830152612ffe8184611b94565b90509998505050505050505050565b60006040820190506130226000830185611a47565b61302f6020830184611a47565b939250505056fea2646970667358221220ad27c49aa07f39800753ed4b17786b1202aebbc3a0ba1e313a0051904e28fd6064736f6c63430008180033",
"deployedBytecode": "0x60806040526004361061007b5760003560e01c8063c019faab1161004e578063c019faab14610154578063cac152a41461017d578063da35c664146101ad578063ea923e63146101d85761007b565b8063013cf08b1461008057806362d26ed7146100c5578063a3bb24cc14610102578063b4e6a1d51461012b575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a291906119d9565b610215565b6040516100bc99989796959493929190611bcd565b60405180910390f35b3480156100d157600080fd5b506100ec60048036038101906100e791906119d9565b6103ad565b6040516100f99190611e4d565b60405180910390f35b34801561010e57600080fd5b5061012960048036038101906101249190611e69565b6106e6565b005b34801561013757600080fd5b50610152600480360381019061014d9190611f3a565b6108d1565b005b34801561016057600080fd5b5061017b600480360381019061017691906119d9565b61119a565b005b6101976004803603810190610192919061204c565b6112c6565b6040516101a491906120f3565b60405180910390f35b3480156101b957600080fd5b506101c2611490565b6040516101cf91906120f3565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906119d9565b611496565b60405161020c919061210e565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201549080600301805461026a90612158565b80601f016020809104026020016040519081016040528092919081815260200182805461029690612158565b80156102e35780601f106102b8576101008083540402835291602001916102e3565b820191906000526020600020905b8154815290600101906020018083116102c657829003601f168201915b5050505050908060040154908060050160009054906101000a900460ff169080600701549080603b0160009054906101000a900460ff169080603c01805461032a90612158565b80601f016020809104026020016040519081016040528092919081815260200182805461035690612158565b80156103a35780601f10610378576101008083540402835291602001916103a3565b820191906000526020600020905b81548152906001019060200180831161038657829003601f168201915b5050505050905089565b6103b56118fa565b60008060008481526020019081526020016000209050806008016000600381106103e2576103e1612189565b5b60110201600101600380602002604051908101604052809291906000905b828210156104b2578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610400565b50505050826000600381106104ca576104c9612189565b5b6020020181905250806008016001600381106104e9576104e8612189565b5b60110201600101600380602002604051908101604052809291906000905b828210156105b9578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610507565b50505050826001600381106105d1576105d0612189565b5b6020020181905250806008016002600381106105f0576105ef612189565b5b60110201600101600380602002604051908101604052809291906000905b828210156106c0578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff1615151515815250508152602001906001019061060e565b50505050826002600381106106d8576106d7612189565b5b602002018190525050919050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161074091906121b8565b602060405180830381865afa15801561075d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078191906121e8565b10156107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b990612287565b60405180910390fd5b600080600084815260200190815260200160002090508060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600701600082825461082d91906122d6565b92505081905550818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508181600701600082825461088e919061230a565b925050819055507fc23775ba00d23f337b9f790bd67eb5194aa9b95876933f9ccd1887becbb55ccb836040516108c491906120f3565b60405180910390a1505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461095f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610956906123b0565b60405180910390fd5b6000806000848481019061097391906123d0565b9250925092506000806000858152602001908152602001600020905060008160080184600381106109a7576109a6612189565b5b6011020190506000816001018260100154600381106109c9576109c8612189565b5b60050201905060018160010160016101000a81548160ff0219169083151502179055508981600201819055508881600301819055508a8160040160016101000a81548160ff0219169083151502179055508b8160040160006101000a81548160ff0219169083151502179055508a610ac55760048360050160006101000a81548160ff02191690836005811115610a6357610a62611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb86604051610a97919061246f565b60405180910390a183836002016000828254610ab3919061230a565b92505081905550505050505050611192565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5691906121e8565b8a8c610b62919061230a565b6002610b6e919061249d565b1015905060016005811115610b8657610b85611ae6565b5b8460050160009054906101000a900460ff166005811115610baa57610ba9611ae6565b5b03610ccb5760008614610bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be99061252b565b60405180910390fd5b8c8015610bfc5750805b15610c335760028460050160006101000a81548160ff02191690836005811115610c2957610c28611ae6565b5b0217905550610cc6565b6002836010015410610ca85760048460050160006101000a81548160ff02191690836005811115610c6757610c66611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610c9b9190612597565b60405180910390a1610cc5565b6001836010016000828254610cbd919061230a565b925050819055505b5b611072565b60026005811115610cdf57610cde611ae6565b5b8460050160009054906101000a900460ff166005811115610d0357610d02611ae6565b5b03610e245760018614610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4290612611565b60405180910390fd5b8c8015610d555750805b15610d8c5760038460050160006101000a81548160ff02191690836005811115610d8257610d81611ae6565b5b0217905550610e1f565b6002836010015410610e015760048460050160006101000a81548160ff02191690836005811115610dc057610dbf611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610df49190612597565b60405180910390a1610e1e565b6001836010016000828254610e16919061230a565b925050819055505b5b611071565b60036005811115610e3857610e37611ae6565b5b8460050160009054906101000a900460ff166005811115610e5c57610e5b611ae6565b5b036110705760028614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b9061267d565b60405180910390fd5b8c8015610eae5750805b15610fdc5760058460050160006101000a81548160ff02191690836005811115610edb57610eda611ae6565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b87604051610f0f91906120f3565b60405180910390a183603b0160009054906101000a900460ff1615610fd7578360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663815a05728c8c87603c016040518463ffffffff1660e01b8152600401610f9293929190612736565b6020604051808303816000875af1158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd591906121e8565b505b61106f565b60028360100154106110515760048460050160006101000a81548160ff021916908360058111156110105761100f611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb876040516110449190612597565b60405180910390a161106e565b6001836010016000828254611066919061230a565b925050819055505b5b5b5b5b6001600581111561108657611085611ae6565b5b8460050160009054906101000a900460ff1660058111156110aa576110a9611ae6565b5b036110d0576110cb876000600a87600101546110c691906127a3565b6116c2565b61118a565b600260058111156110e4576110e3611ae6565b5b8460050160009054906101000a900460ff16600581111561110857611107611ae6565b5b0361112e57611129876001600a876001015461112491906127a3565b6116c2565b611189565b6003600581111561114257611141611ae6565b5b8460050160009054906101000a900460ff16600581111561116657611165611ae6565b5b0361118857611187876002600a876001015461118291906127a3565b6116c2565b5b5b5b505050505050505b505050505050565b60008060008381526020019081526020016000209050600460058111156111c4576111c3611ae6565b5b8160050160009054906101000a900460ff1660058111156111e8576111e7611ae6565b5b1480611228575060058081111561120257611201611ae6565b5b8160050160009054906101000a900460ff16600581111561122657611225611ae6565b5b145b611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e9061286c565b60405180910390fd5b600081600201549050600082600201819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112c0573d6000803e3d6000fd5b50505050565b6000600160008154809291906112db9061288c565b91905055905060008060008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878782600301918261134d929190612aba565b504281600401819055508560006003811061136b5761136a612189565b5b60200201358160080160006003811061138757611386612189565b5b6011020160000181905550856001600381106113a6576113a5612189565b5b6020020135816008016001600381106113c2576113c1612189565b5b6011020160000181905550856002600381106113e1576113e0612189565b5b6020020135816008016002600381106113fd576113fc612189565b5b6011020160000181905550348160010181905550806001015481600201819055508481603b0160006101000a81548160ff021916908315150217905550838382603c01918261144d929190612bdb565b507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8260405161147d91906120f3565b60405180910390a1509695505050505050565b60015481565b6000806000808481526020019081526020016000209050600060058111156114c1576114c0611ae6565b5b8160050160009054906101000a900460ff1660058111156114e5576114e4611ae6565b5b14611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151c90612d1d565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b691906121e8565b8260070154600a6115c7919061249d565b1015905060006301e1338083600401546115e1919061230a565b421190508161166c5780156116605760048360050160006101000a81548160ff0219169083600581111561161857611617611ae6565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8560405161164c9190612daf565b60405180910390a1600093505050506116bd565b600093505050506116bd565b60018360050160006101000a81548160ff0219169083600581111561169457611693611ae6565b5b02179055506116b5856000600a86600101546116b091906127a3565b6116c2565b600193505050505b919050565b60008060008581526020019081526020016000209050818160020160008282546116ec91906122d6565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73848460030185600801886003811061174c5761174b612189565b5b60110201600001546006896003811061176857611767612189565b5b60020201600c8a600381106117805761177f612189565b5b6002020160028b6003811061179857611797612189565b5b015460058c600381106117ae576117ad612189565b5b602091828204019190069054906101000a900460ff1660018e8e8e6040516020016117db93929190612ddd565b6040516020818303038152906040526040518a63ffffffff1660e01b815260040161180d989796959493929190612f7f565b60206040518083038185885af115801561182b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061185091906121e8565b9050600082600801856003811061186a57611869612189565b5b60110201905060008160010182601001546003811061188c5761188b612189565b5b60050201905082816000018190555060018160010160006101000a81548160ff0219169083151502179055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c67347987846040516118e992919061300d565b60405180910390a150505050505050565b60405180606001604052806003905b611911611927565b8152602001906001900390816119095790505090565b60405180606001604052806003905b61193e611954565b8152602001906001900390816119365790505090565b6040518060e001604052806000815260200160001515815260200160001515815260200160008152602001600081526020016000151581526020016000151581525090565b600080fd5b600080fd5b6000819050919050565b6119b6816119a3565b81146119c157600080fd5b50565b6000813590506119d3816119ad565b92915050565b6000602082840312156119ef576119ee611999565b5b60006119fd848285016119c4565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a3182611a06565b9050919050565b611a4181611a26565b82525050565b611a50816119a3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a90578082015181840152602081019050611a75565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ab882611a56565b611ac28185611a61565b9350611ad2818560208601611a72565b611adb81611a9c565b840191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110611b2657611b25611ae6565b5b50565b6000819050611b3782611b15565b919050565b6000611b4782611b29565b9050919050565b611b5781611b3c565b82525050565b60008115159050919050565b611b7281611b5d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000611b9f82611b78565b611ba98185611b83565b9350611bb9818560208601611a72565b611bc281611a9c565b840191505092915050565b600061012082019050611be3600083018c611a38565b611bf0602083018b611a47565b611bfd604083018a611a47565b8181036060830152611c0f8189611aad565b9050611c1e6080830188611a47565b611c2b60a0830187611b4e565b611c3860c0830186611a47565b611c4560e0830185611b69565b818103610100830152611c588184611b94565b90509a9950505050505050505050565b600060039050919050565b600081905092915050565b6000819050919050565b600060039050919050565b600081905092915050565b6000819050919050565b611cb1816119a3565b82525050565b611cc081611b5d565b82525050565b60e082016000820151611cdc6000850182611ca8565b506020820151611cef6020850182611cb7565b506040820151611d026040850182611cb7565b506060820151611d156060850182611ca8565b506080820151611d286080850182611ca8565b5060a0820151611d3b60a0850182611cb7565b5060c0820151611d4e60c0850182611cb7565b50505050565b6000611d608383611cc6565b60e08301905092915050565b6000602082019050919050565b611d8281611c88565b611d8c8184611c93565b9250611d9782611c9e565b8060005b83811015611dc8578151611daf8782611d54565b9650611dba83611d6c565b925050600181019050611d9b565b505050505050565b6000611ddc8383611d79565b6102a08301905092915050565b6000602082019050919050565b611dff81611c68565b611e098184611c73565b9250611e1482611c7e565b8060005b83811015611e45578151611e2c8782611dd0565b9650611e3783611de9565b925050600181019050611e18565b505050505050565b60006107e082019050611e636000830184611df6565b92915050565b60008060408385031215611e8057611e7f611999565b5b6000611e8e858286016119c4565b9250506020611e9f858286016119c4565b9150509250929050565b611eb281611b5d565b8114611ebd57600080fd5b50565b600081359050611ecf81611ea9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611efa57611ef9611ed5565b5b8235905067ffffffffffffffff811115611f1757611f16611eda565b5b602083019150836001820283011115611f3357611f32611edf565b5b9250929050565b60008060008060008060a08789031215611f5757611f56611999565b5b6000611f6589828a01611ec0565b9650506020611f7689828a01611ec0565b9550506040611f8789828a016119c4565b9450506060611f9889828a016119c4565b935050608087013567ffffffffffffffff811115611fb957611fb861199e565b5b611fc589828a01611ee4565b92509250509295509295509295565b60008083601f840112611fea57611fe9611ed5565b5b8235905067ffffffffffffffff81111561200757612006611eda565b5b60208301915083600182028301111561202357612022611edf565b5b9250929050565b60008190508260206003028201111561204657612045611edf565b5b92915050565b60008060008060008060c0878903121561206957612068611999565b5b600087013567ffffffffffffffff8111156120875761208661199e565b5b61209389828a01611fd4565b965096505060206120a689828a0161202a565b94505060806120b789828a01611ec0565b93505060a087013567ffffffffffffffff8111156120d8576120d761199e565b5b6120e489828a01611ee4565b92509250509295509295509295565b60006020820190506121086000830184611a47565b92915050565b60006020820190506121236000830184611b69565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061217057607f821691505b60208210810361218357612182612129565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020820190506121cd6000830184611a38565b92915050565b6000815190506121e2816119ad565b92915050565b6000602082840312156121fe576121fd611999565b5b600061220c848285016121d3565b91505092915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b6000612271602383611a61565b915061227c82612215565b604082019050919050565b600060208201905081810360008301526122a081612264565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122e1826119a3565b91506122ec836119a3565b9250828203905081811115612304576123036122a7565b5b92915050565b6000612315826119a3565b9150612320836119a3565b9250828201905080821115612338576123376122a7565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b600061239a603183611a61565b91506123a58261233e565b604082019050919050565b600060208201905081810360008301526123c98161238d565b9050919050565b6000806000606084860312156123e9576123e8611999565b5b60006123f7868287016119c4565b9350506020612408868287016119c4565b9250506040612419868287016119c4565b9150509250925092565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b6000612459600e83611a61565b915061246482612423565b602082019050919050565b60006040820190506124846000830184611a47565b81810360208301526124958161244c565b905092915050565b60006124a8826119a3565b91506124b3836119a3565b92508282026124c1816119a3565b915082820484148315176124d8576124d76122a7565b5b5092915050565b7f5374616765203020696e646578206d69736d6174636800000000000000000000600082015250565b6000612515601683611a61565b9150612520826124df565b602082019050919050565b6000602082019050818103600083015261254481612508565b9050919050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b6000612581601483611a61565b915061258c8261254b565b602082019050919050565b60006040820190506125ac6000830184611a47565b81810360208301526125bd81612574565b905092915050565b7f5374616765203120696e646578206d69736d6174636800000000000000000000600082015250565b60006125fb601683611a61565b9150612606826125c5565b602082019050919050565b6000602082019050818103600083015261262a816125ee565b9050919050565b7f5374616765203220696e646578206d69736d6174636800000000000000000000600082015250565b6000612667601683611a61565b915061267282612631565b602082019050919050565b600060208201905081810360008301526126968161265a565b9050919050565b60008190508160005260206000209050919050565b600081546126bf81612158565b6126c98186611b83565b945060018216600081146126e457600181146126fa5761272d565b60ff19831686528115156020028601935061272d565b6127038561269d565b60005b8381101561272557815481890152600182019150602081019050612706565b808801955050505b50505092915050565b600060608201905061274b6000830186611a47565b6127586020830185611a47565b818103604083015261276a81846126b2565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127ae826119a3565b91506127b9836119a3565b9250826127c9576127c8612774565b5b828204905092915050565b7f52656d61696e696e6720666565732063616e206f6e6c79206265207265636c6160008201527f696d6564207768656e2070726f706f73616c20686173206265656e206163636560208201527f70746564206f72206661696c6564000000000000000000000000000000000000604082015250565b6000612856604e83611a61565b9150612861826127d4565b606082019050919050565b6000602082019050818103600083015261288581612849565b9050919050565b6000612897826119a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128c9576128c86122a7565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026129707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612933565b61297a8683612933565b95508019841693508086168417925050509392505050565b6000819050919050565b60006129b76129b26129ad846119a3565b612992565b6119a3565b9050919050565b6000819050919050565b6129d18361299c565b6129e56129dd826129be565b848454612940565b825550505050565b600090565b6129fa6129ed565b612a058184846129c8565b505050565b5b81811015612a2957612a1e6000826129f2565b600181019050612a0b565b5050565b601f821115612a6e57612a3f8161290e565b612a4884612923565b81016020851015612a57578190505b612a6b612a6385612923565b830182612a0a565b50505b505050565b600082821c905092915050565b6000612a9160001984600802612a73565b1980831691505092915050565b6000612aaa8383612a80565b9150826002028217905092915050565b612ac483836128d4565b67ffffffffffffffff811115612add57612adc6128df565b5b612ae78254612158565b612af2828285612a2d565b6000601f831160018114612b215760008415612b0f578287013590505b612b198582612a9e565b865550612b81565b601f198416612b2f8661290e565b60005b82811015612b5757848901358255600182019150602085019450602081019050612b32565b86831015612b745784890135612b70601f891682612a80565b8355505b6001600288020188555050505b50505050505050565b600082905092915050565b601f821115612bd657612ba78161269d565b612bb084612923565b81016020851015612bbf578190505b612bd3612bcb85612923565b830182612a0a565b50505b505050565b612be58383612b8a565b67ffffffffffffffff811115612bfe57612bfd6128df565b5b612c088254612158565b612c13828285612b95565b6000601f831160018114612c425760008415612c30578287013590505b612c3a8582612a9e565b865550612ca2565b601f198416612c508661269d565b60005b82811015612c7857848901358255600182019150602085019450602081019050612c53565b86831015612c955784890135612c91601f891682612a80565b8355505b6001600288020188555050505b50505050505050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000612d07602b83611a61565b9150612d1282612cab565b604082019050919050565b60006020820190508181036000830152612d3681612cfa565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000612d99602d83611a61565b9150612da482612d3d565b604082019050919050565b6000604082019050612dc46000830184611a47565b8181036020830152612dd581612d8c565b905092915050565b6000606082019050612df26000830186611a47565b612dff6020830185611a47565b612e0c6040830184611a47565b949350505050565b60008154612e2181612158565b612e2b8186611a61565b94506001821660008114612e465760018114612e5c57612e8f565b60ff198316865281151560200286019350612e8f565b612e658561290e565b60005b83811015612e8757815481890152600182019150602081019050612e68565b808801955050505b50505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612ec48383611ca8565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000612efa612ef583612ed0565b612edd565b9050919050565b6000612f0d8254612ee7565b9050919050565b6000600182019050919050565b612f2a81612e98565b612f348184612ea3565b9250612f3f82612eae565b8060005b83811015612f7757612f5482612f01565b612f5e8782612eb8565b9650612f6983612f14565b925050600181019050612f43565b505050505050565b6000610140820190508181036000830152612f9a818b612e14565b9050612fa9602083018a611a47565b612fb66040830189612f21565b612fc36080830188612f21565b612fd060c0830187611a47565b612fdd60e0830186611b69565b612feb610100830185611b69565b818103610120830152612ffe8184611b94565b90509998505050505050505050565b60006040820190506130226000830185611a47565b61302f6020830184611a47565b939250505056fea2646970667358221220ad27c49aa07f39800753ed4b17786b1202aebbc3a0ba1e313a0051904e28fd6064736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}