dgf-prototype/backend/contractArtifacts/Proposals.json

351 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": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"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": "0x60a06040526040518060600160405280600060ff168152602001600160ff168152602001606460ff1681525060029060036200003d929190620001ef565b5060405180606001604052806000151515158152602001600015151515815260200160011515151581525060059060036200007a92919062000239565b5060405180606001604052806040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600a60ff168152508152506006906003620000fc929190620002d9565b5060405180606001604052806040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff16815250815250600c9060036200017e929190620002d9565b503480156200018c57600080fd5b5060405162003544380380620035448339818101604052810190620001b291906200044e565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000480565b826003810192821562000226579160200282015b8281111562000225578251829060ff1690559160200191906001019062000203565b5b50905062000235919062000331565b5090565b826003601f01602090048101928215620002c65791602002820160005b838211156200029557835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030262000256565b8015620002c45782816101000a81549060ff021916905560010160208160000104928301926001030262000295565b505b509050620002d5919062000331565b5090565b82600360020281019282156200031e579160200282015b828111156200031d578251829060026200030c92919062000350565b5091602001919060020190620002f0565b5b5090506200032d91906200039a565b5090565b5b808211156200034c57600081600090555060010162000332565b5090565b826002810192821562000387579160200282015b8281111562000386578251829060ff1690559160200191906001019062000364565b5b50905062000396919062000331565b5090565b5b80821115620003be5760008181620003b49190620003c2565b506002016200039b565b5090565b506000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200040282620003d5565b9050919050565b60006200041682620003f5565b9050919050565b620004288162000409565b81146200043457600080fd5b50565b60008151905062000448816200041d565b92915050565b600060208284031215620004675762000466620003d0565b5b6000620004778482850162000437565b91505092915050565b60805161308c620004b8600039600081816106fd015281816108e901528181610ae3015281816115490152611717015261308c6000f3fe60806040526004361061007b5760003560e01c8063c019faab1161004e578063c019faab14610168578063cac152a414610191578063da35c664146101c1578063ea923e63146101ec5761007b565b8063013cf08b1461008057806362d26ed7146100c5578063a3bb24cc14610102578063b4e6a1d51461012b575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a291906119f9565b610229565b6040516100bc99989796959493929190611bed565b60405180910390f35b3480156100d157600080fd5b506100ec60048036038101906100e791906119f9565b6103c1565b6040516100f99190611e6d565b60405180910390f35b34801561010e57600080fd5b5061012960048036038101906101249190611e89565b6106fa565b005b34801561013757600080fd5b50610152600480360381019061014d9190611f5a565b6108e5565b60405161015f9190611ff4565b60405180910390f35b34801561017457600080fd5b5061018f600480360381019061018a91906119f9565b6111ba565b005b6101ab60048036038101906101a69190612087565b6112e6565b6040516101b89190611ff4565b60405180910390f35b3480156101cd57600080fd5b506101d66114b0565b6040516101e39190611ff4565b60405180910390f35b3480156101f857600080fd5b50610213600480360381019061020e91906119f9565b6114b6565b604051610220919061212e565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201549080600301805461027e90612178565b80601f01602080910402602001604051908101604052809291908181526020018280546102aa90612178565b80156102f75780601f106102cc576101008083540402835291602001916102f7565b820191906000526020600020905b8154815290600101906020018083116102da57829003601f168201915b5050505050908060040154908060050160009054906101000a900460ff169080600701549080603b0160009054906101000a900460ff169080603c01805461033e90612178565b80601f016020809104026020016040519081016040528092919081815260200182805461036a90612178565b80156103b75780601f1061038c576101008083540402835291602001916103b7565b820191906000526020600020905b81548152906001019060200180831161039a57829003601f168201915b5050505050905089565b6103c961191a565b60008060008481526020019081526020016000209050806008016000600381106103f6576103f56121a9565b5b60110201600101600380602002604051908101604052809291906000905b828210156104c6578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610414565b50505050826000600381106104de576104dd6121a9565b5b6020020181905250806008016001600381106104fd576104fc6121a9565b5b60110201600101600380602002604051908101604052809291906000905b828210156105cd578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff1615151515815250508152602001906001019061051b565b50505050826001600381106105e5576105e46121a9565b5b602002018190525080600801600260038110610604576106036121a9565b5b60110201600101600380602002604051908101604052809291906000905b828210156106d4578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610622565b50505050826002600381106106ec576106eb6121a9565b5b602002018190525050919050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161075491906121d8565b602060405180830381865afa158015610771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107959190612208565b10156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906122a7565b60405180910390fd5b600080600084815260200190815260200160002090508060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600701600082825461084191906122f6565b92505081905550818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818160070160008282546108a2919061232a565b925050819055507fc23775ba00d23f337b9f790bd67eb5194aa9b95876933f9ccd1887becbb55ccb836040516108d89190611ff4565b60405180910390a1505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c906123d0565b60405180910390fd5b6000806000858581019061098991906123f0565b9250925092506000806000858152602001908152602001600020905060008160080184600381106109bd576109bc6121a9565b5b6011020190506000816001018260100154600381106109df576109de6121a9565b5b60050201905060018160010160016101000a81548160ff0219169083151502179055508a81600201819055508981600301819055508b8160040160016101000a81548160ff0219169083151502179055508c8160040160006101000a81548160ff0219169083151502179055508b610adf5760048360050160006101000a81548160ff02191690836005811115610a7957610a78611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb86604051610aad919061248f565b60405180910390a183836002016000828254610ac9919061232a565b92505081905550600196505050505050506111b0565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190612208565b8b8d610b7c919061232a565b6002610b8891906124bd565b1015905060016005811115610ba057610b9f611b06565b5b8460050160009054906101000a900460ff166005811115610bc457610bc3611b06565b5b03610ce55760008614610c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c039061254b565b60405180910390fd5b8d8015610c165750805b15610c4d5760028460050160006101000a81548160ff02191690836005811115610c4357610c42611b06565b5b0217905550610ce0565b6002836010015410610cc25760048460050160006101000a81548160ff02191690836005811115610c8157610c80611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610cb591906125b7565b60405180910390a1610cdf565b6001836010016000828254610cd7919061232a565b925050819055505b5b61108c565b60026005811115610cf957610cf8611b06565b5b8460050160009054906101000a900460ff166005811115610d1d57610d1c611b06565b5b03610e3e5760018614610d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5c90612631565b60405180910390fd5b8d8015610d6f5750805b15610da65760038460050160006101000a81548160ff02191690836005811115610d9c57610d9b611b06565b5b0217905550610e39565b6002836010015410610e1b5760048460050160006101000a81548160ff02191690836005811115610dda57610dd9611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610e0e91906125b7565b60405180910390a1610e38565b6001836010016000828254610e30919061232a565b925050819055505b5b61108b565b60036005811115610e5257610e51611b06565b5b8460050160009054906101000a900460ff166005811115610e7657610e75611b06565b5b0361108a5760028614610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb59061269d565b60405180910390fd5b8d8015610ec85750805b15610ff65760058460050160006101000a81548160ff02191690836005811115610ef557610ef4611b06565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b87604051610f299190611ff4565b60405180910390a183603b0160009054906101000a900460ff1615610ff1578360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663815a05728d8d87603c016040518463ffffffff1660e01b8152600401610fac93929190612756565b6020604051808303816000875af1158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef9190612208565b505b611089565b600283601001541061106b5760048460050160006101000a81548160ff0219169083600581111561102a57611029611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8760405161105e91906125b7565b60405180910390a1611088565b6001836010016000828254611080919061232a565b925050819055505b5b5b5b5b600160058111156110a05761109f611b06565b5b8460050160009054906101000a900460ff1660058111156110c4576110c3611b06565b5b036110ea576110e5876000600a87600101546110e091906127c3565b6116e2565b6111a4565b600260058111156110fe576110fd611b06565b5b8460050160009054906101000a900460ff16600581111561112257611121611b06565b5b0361114857611143876001600a876001015461113e91906127c3565b6116e2565b6111a3565b6003600581111561115c5761115b611b06565b5b8460050160009054906101000a900460ff1660058111156111805761117f611b06565b5b036111a2576111a1876002600a876001015461119c91906127c3565b6116e2565b5b5b5b60009750505050505050505b9695505050505050565b60008060008381526020019081526020016000209050600460058111156111e4576111e3611b06565b5b8160050160009054906101000a900460ff16600581111561120857611207611b06565b5b1480611248575060058081111561122257611221611b06565b5b8160050160009054906101000a900460ff16600581111561124657611245611b06565b5b145b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e9061288c565b60405180910390fd5b600081600201549050600082600201819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112e0573d6000803e3d6000fd5b50505050565b6000600160008154809291906112fb906128ac565b91905055905060008060008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878782600301918261136d929190612ada565b504281600401819055508560006003811061138b5761138a6121a9565b5b6020020135816008016000600381106113a7576113a66121a9565b5b6011020160000181905550856001600381106113c6576113c56121a9565b5b6020020135816008016001600381106113e2576113e16121a9565b5b601102016000018190555085600260038110611401576114006121a9565b5b60200201358160080160026003811061141d5761141c6121a9565b5b6011020160000181905550348160010181905550806001015481600201819055508481603b0160006101000a81548160ff021916908315150217905550838382603c01918261146d929190612bfb565b507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8260405161149d9190611ff4565b60405180910390a1509695505050505050565b60015481565b6000806000808481526020019081526020016000209050600060058111156114e1576114e0611b06565b5b8160050160009054906101000a900460ff16600581111561150557611504611b06565b5b14611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90612d3d565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d69190612208565b8260070154600a6115e791906124bd565b1015905060006301e133808360040154611601919061232a565b421190508161168c5780156116805760048360050160006101000a81548160ff0219169083600581111561163857611637611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8560405161166c9190612dcf565b60405180910390a1600093505050506116dd565b600093505050506116dd565b60018360050160006101000a81548160ff021916908360058111156116b4576116b3611b06565b5b02179055506116d5856000600a86600101546116d091906127c3565b6116e2565b600193505050505b919050565b600080600085815260200190815260200160002090508181600201600082825461170c91906122f6565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73848460030185600801886003811061176c5761176b6121a9565b5b601102016000015460068960038110611788576117876121a9565b5b60020201600c8a600381106117a05761179f6121a9565b5b6002020160028b600381106117b8576117b76121a9565b5b015460058c600381106117ce576117cd6121a9565b5b602091828204019190069054906101000a900460ff1660018e8e8e6040516020016117fb93929190612dfd565b6040516020818303038152906040526040518a63ffffffff1660e01b815260040161182d989796959493929190612f9f565b60206040518083038185885af115801561184b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118709190612208565b9050600082600801856003811061188a576118896121a9565b5b6011020190506000816001018260100154600381106118ac576118ab6121a9565b5b60050201905082816000018190555060018160010160006101000a81548160ff0219169083151502179055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c673479878460405161190992919061302d565b60405180910390a150505050505050565b60405180606001604052806003905b611931611947565b8152602001906001900390816119295790505090565b60405180606001604052806003905b61195e611974565b8152602001906001900390816119565790505090565b6040518060e001604052806000815260200160001515815260200160001515815260200160008152602001600081526020016000151581526020016000151581525090565b600080fd5b600080fd5b6000819050919050565b6119d6816119c3565b81146119e157600080fd5b50565b6000813590506119f3816119cd565b92915050565b600060208284031215611a0f57611a0e6119b9565b5b6000611a1d848285016119e4565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a5182611a26565b9050919050565b611a6181611a46565b82525050565b611a70816119c3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ab0578082015181840152602081019050611a95565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ad882611a76565b611ae28185611a81565b9350611af2818560208601611a92565b611afb81611abc565b840191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110611b4657611b45611b06565b5b50565b6000819050611b5782611b35565b919050565b6000611b6782611b49565b9050919050565b611b7781611b5c565b82525050565b60008115159050919050565b611b9281611b7d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000611bbf82611b98565b611bc98185611ba3565b9350611bd9818560208601611a92565b611be281611abc565b840191505092915050565b600061012082019050611c03600083018c611a58565b611c10602083018b611a67565b611c1d604083018a611a67565b8181036060830152611c2f8189611acd565b9050611c3e6080830188611a67565b611c4b60a0830187611b6e565b611c5860c0830186611a67565b611c6560e0830185611b89565b818103610100830152611c788184611bb4565b90509a9950505050505050505050565b600060039050919050565b600081905092915050565b6000819050919050565b600060039050919050565b600081905092915050565b6000819050919050565b611cd1816119c3565b82525050565b611ce081611b7d565b82525050565b60e082016000820151611cfc6000850182611cc8565b506020820151611d0f6020850182611cd7565b506040820151611d226040850182611cd7565b506060820151611d356060850182611cc8565b506080820151611d486080850182611cc8565b5060a0820151611d5b60a0850182611cd7565b5060c0820151611d6e60c0850182611cd7565b50505050565b6000611d808383611ce6565b60e08301905092915050565b6000602082019050919050565b611da281611ca8565b611dac8184611cb3565b9250611db782611cbe565b8060005b83811015611de8578151611dcf8782611d74565b9650611dda83611d8c565b925050600181019050611dbb565b505050505050565b6000611dfc8383611d99565b6102a08301905092915050565b6000602082019050919050565b611e1f81611c88565b611e298184611c93565b9250611e3482611c9e565b8060005b83811015611e65578151611e4c8782611df0565b9650611e5783611e09565b925050600181019050611e38565b505050505050565b60006107e082019050611e836000830184611e16565b92915050565b60008060408385031215611ea057611e9f6119b9565b5b6000611eae858286016119e4565b9250506020611ebf858286016119e4565b9150509250929050565b611ed281611b7d565b8114611edd57600080fd5b50565b600081359050611eef81611ec9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611f1a57611f19611ef5565b5b8235905067ffffffffffffffff811115611f3757611f36611efa565b5b602083019150836001820283011115611f5357611f52611eff565b5b9250929050565b60008060008060008060a08789031215611f7757611f766119b9565b5b6000611f8589828a01611ee0565b9650506020611f9689828a01611ee0565b9550506040611fa789828a016119e4565b9450506060611fb889828a016119e4565b935050608087013567ffffffffffffffff811115611fd957611fd86119be565b5b611fe589828a01611f04565b92509250509295509295509295565b60006020820190506120096000830184611a67565b92915050565b60008083601f84011261202557612024611ef5565b5b8235905067ffffffffffffffff81111561204257612041611efa565b5b60208301915083600182028301111561205e5761205d611eff565b5b9250929050565b60008190508260206003028201111561208157612080611eff565b5b92915050565b60008060008060008060c087890312156120a4576120a36119b9565b5b600087013567ffffffffffffffff8111156120c2576120c16119be565b5b6120ce89828a0161200f565b965096505060206120e189828a01612065565b94505060806120f289828a01611ee0565b93505060a087013567ffffffffffffffff811115612113576121126119be565b5b61211f89828a01611f04565b92509250509295509295509295565b60006020820190506121436000830184611b89565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061219057607f821691505b6020821081036121a3576121a2612149565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020820190506121ed6000830184611a58565b92915050565b600081519050612202816119cd565b92915050565b60006020828403121561221e5761221d6119b9565b5b600061222c848285016121f3565b91505092915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b6000612291602383611a81565b915061229c82612235565b604082019050919050565b600060208201905081810360008301526122c081612284565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612301826119c3565b915061230c836119c3565b9250828203905081811115612324576123236122c7565b5b92915050565b6000612335826119c3565b9150612340836119c3565b9250828201905080821115612358576123576122c7565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b60006123ba603183611a81565b91506123c58261235e565b604082019050919050565b600060208201905081810360008301526123e9816123ad565b9050919050565b600080600060608486031215612409576124086119b9565b5b6000612417868287016119e4565b9350506020612428868287016119e4565b9250506040612439868287016119e4565b9150509250925092565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b6000612479600e83611a81565b915061248482612443565b602082019050919050565b60006040820190506124a46000830184611a67565b81810360208301526124b58161246c565b905092915050565b60006124c8826119c3565b91506124d3836119c3565b92508282026124e1816119c3565b915082820484148315176124f8576124f76122c7565b5b5092915050565b7f5374616765203020696e646578206d69736d6174636800000000000000000000600082015250565b6000612535601683611a81565b9150612540826124ff565b602082019050919050565b6000602082019050818103600083015261256481612528565b9050919050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b60006125a1601483611a81565b91506125ac8261256b565b602082019050919050565b60006040820190506125cc6000830184611a67565b81810360208301526125dd81612594565b905092915050565b7f5374616765203120696e646578206d69736d6174636800000000000000000000600082015250565b600061261b601683611a81565b9150612626826125e5565b602082019050919050565b6000602082019050818103600083015261264a8161260e565b9050919050565b7f5374616765203220696e646578206d69736d6174636800000000000000000000600082015250565b6000612687601683611a81565b915061269282612651565b602082019050919050565b600060208201905081810360008301526126b68161267a565b9050919050565b60008190508160005260206000209050919050565b600081546126df81612178565b6126e98186611ba3565b94506001821660008114612704576001811461271a5761274d565b60ff19831686528115156020028601935061274d565b612723856126bd565b60005b8381101561274557815481890152600182019150602081019050612726565b808801955050505b50505092915050565b600060608201905061276b6000830186611a67565b6127786020830185611a67565b818103604083015261278a81846126d2565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127ce826119c3565b91506127d9836119c3565b9250826127e9576127e8612794565b5b828204905092915050565b7f52656d61696e696e6720666565732063616e206f6e6c79206265207265636c6160008201527f696d6564207768656e2070726f706f73616c20686173206265656e206163636560208201527f70746564206f72206661696c6564000000000000000000000000000000000000604082015250565b6000612876604e83611a81565b9150612881826127f4565b606082019050919050565b600060208201905081810360008301526128a581612869565b9050919050565b60006128b7826119c3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128e9576128e86122c7565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026129907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612953565b61299a8683612953565b95508019841693508086168417925050509392505050565b6000819050919050565b60006129d76129d26129cd846119c3565b6129b2565b6119c3565b9050919050565b6000819050919050565b6129f1836129bc565b612a056129fd826129de565b848454612960565b825550505050565b600090565b612a1a612a0d565b612a258184846129e8565b505050565b5b81811015612a4957612a3e600082612a12565b600181019050612a2b565b5050565b601f821115612a8e57612a5f8161292e565b612a6884612943565b81016020851015612a77578190505b612a8b612a8385612943565b830182612a2a565b50505b505050565b600082821c905092915050565b6000612ab160001984600802612a93565b1980831691505092915050565b6000612aca8383612aa0565b9150826002028217905092915050565b612ae483836128f4565b67ffffffffffffffff811115612afd57612afc6128ff565b5b612b078254612178565b612b12828285612a4d565b6000601f831160018114612b415760008415612b2f578287013590505b612b398582612abe565b865550612ba1565b601f198416612b4f8661292e565b60005b82811015612b7757848901358255600182019150602085019450602081019050612b52565b86831015612b945784890135612b90601f891682612aa0565b8355505b6001600288020188555050505b50505050505050565b600082905092915050565b601f821115612bf657612bc7816126bd565b612bd084612943565b81016020851015612bdf578190505b612bf3612beb85612943565b830182612a2a565b50505b505050565b612c058383612baa565b67ffffffffffffffff811115612c1e57612c1d6128ff565b5b612c288254612178565b612c33828285612bb5565b6000601f831160018114612c625760008415612c50578287013590505b612c5a8582612abe565b865550612cc2565b601f198416612c70866126bd565b60005b82811015612c9857848901358255600182019150602085019450602081019050612c73565b86831015612cb55784890135612cb1601f891682612aa0565b8355505b6001600288020188555050505b50505050505050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000612d27602b83611a81565b9150612d3282612ccb565b604082019050919050565b60006020820190508181036000830152612d5681612d1a565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000612db9602d83611a81565b9150612dc482612d5d565b604082019050919050565b6000604082019050612de46000830184611a67565b8181036020830152612df581612dac565b905092915050565b6000606082019050612e126000830186611a67565b612e1f6020830185611a67565b612e2c6040830184611a67565b949350505050565b60008154612e4181612178565b612e4b8186611a81565b94506001821660008114612e665760018114612e7c57612eaf565b60ff198316865281151560200286019350612eaf565b612e858561292e565b60005b83811015612ea757815481890152600182019150602081019050612e88565b808801955050505b50505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612ee48383611cc8565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000612f1a612f1583612ef0565b612efd565b9050919050565b6000612f2d8254612f07565b9050919050565b6000600182019050919050565b612f4a81612eb8565b612f548184612ec3565b9250612f5f82612ece565b8060005b83811015612f9757612f7482612f21565b612f7e8782612ed8565b9650612f8983612f34565b925050600181019050612f63565b505050505050565b6000610140820190508181036000830152612fba818b612e34565b9050612fc9602083018a611a67565b612fd66040830189612f41565b612fe36080830188612f41565b612ff060c0830187611a67565b612ffd60e0830186611b89565b61300b610100830185611b89565b81810361012083015261301e8184611bb4565b90509998505050505050505050565b60006040820190506130426000830185611a67565b61304f6020830184611a67565b939250505056fea2646970667358221220cbebbb046abde709d5482e1b80f77771c6a1699cb8b1fdaec3d2bd6c09368e1b64736f6c63430008180033",
"deployedBytecode": "0x60806040526004361061007b5760003560e01c8063c019faab1161004e578063c019faab14610168578063cac152a414610191578063da35c664146101c1578063ea923e63146101ec5761007b565b8063013cf08b1461008057806362d26ed7146100c5578063a3bb24cc14610102578063b4e6a1d51461012b575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a291906119f9565b610229565b6040516100bc99989796959493929190611bed565b60405180910390f35b3480156100d157600080fd5b506100ec60048036038101906100e791906119f9565b6103c1565b6040516100f99190611e6d565b60405180910390f35b34801561010e57600080fd5b5061012960048036038101906101249190611e89565b6106fa565b005b34801561013757600080fd5b50610152600480360381019061014d9190611f5a565b6108e5565b60405161015f9190611ff4565b60405180910390f35b34801561017457600080fd5b5061018f600480360381019061018a91906119f9565b6111ba565b005b6101ab60048036038101906101a69190612087565b6112e6565b6040516101b89190611ff4565b60405180910390f35b3480156101cd57600080fd5b506101d66114b0565b6040516101e39190611ff4565b60405180910390f35b3480156101f857600080fd5b50610213600480360381019061020e91906119f9565b6114b6565b604051610220919061212e565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201549080600301805461027e90612178565b80601f01602080910402602001604051908101604052809291908181526020018280546102aa90612178565b80156102f75780601f106102cc576101008083540402835291602001916102f7565b820191906000526020600020905b8154815290600101906020018083116102da57829003601f168201915b5050505050908060040154908060050160009054906101000a900460ff169080600701549080603b0160009054906101000a900460ff169080603c01805461033e90612178565b80601f016020809104026020016040519081016040528092919081815260200182805461036a90612178565b80156103b75780601f1061038c576101008083540402835291602001916103b7565b820191906000526020600020905b81548152906001019060200180831161039a57829003601f168201915b5050505050905089565b6103c961191a565b60008060008481526020019081526020016000209050806008016000600381106103f6576103f56121a9565b5b60110201600101600380602002604051908101604052809291906000905b828210156104c6578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610414565b50505050826000600381106104de576104dd6121a9565b5b6020020181905250806008016001600381106104fd576104fc6121a9565b5b60110201600101600380602002604051908101604052809291906000905b828210156105cd578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff1615151515815250508152602001906001019061051b565b50505050826001600381106105e5576105e46121a9565b5b602002018190525080600801600260038110610604576106036121a9565b5b60110201600101600380602002604051908101604052809291906000905b828210156106d4578382600502016040518060e0016040529081600082015481526020016001820160009054906101000a900460ff161515151581526020016001820160019054906101000a900460ff1615151515815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff16151515158152505081526020019060010190610622565b50505050826002600381106106ec576106eb6121a9565b5b602002018190525050919050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161075491906121d8565b602060405180830381865afa158015610771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107959190612208565b10156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906122a7565b60405180910390fd5b600080600084815260200190815260200160002090508060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600701600082825461084191906122f6565b92505081905550818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818160070160008282546108a2919061232a565b925050819055507fc23775ba00d23f337b9f790bd67eb5194aa9b95876933f9ccd1887becbb55ccb836040516108d89190611ff4565b60405180910390a1505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c906123d0565b60405180910390fd5b6000806000858581019061098991906123f0565b9250925092506000806000858152602001908152602001600020905060008160080184600381106109bd576109bc6121a9565b5b6011020190506000816001018260100154600381106109df576109de6121a9565b5b60050201905060018160010160016101000a81548160ff0219169083151502179055508a81600201819055508981600301819055508b8160040160016101000a81548160ff0219169083151502179055508c8160040160006101000a81548160ff0219169083151502179055508b610adf5760048360050160006101000a81548160ff02191690836005811115610a7957610a78611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb86604051610aad919061248f565b60405180910390a183836002016000828254610ac9919061232a565b92505081905550600196505050505050506111b0565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190612208565b8b8d610b7c919061232a565b6002610b8891906124bd565b1015905060016005811115610ba057610b9f611b06565b5b8460050160009054906101000a900460ff166005811115610bc457610bc3611b06565b5b03610ce55760008614610c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c039061254b565b60405180910390fd5b8d8015610c165750805b15610c4d5760028460050160006101000a81548160ff02191690836005811115610c4357610c42611b06565b5b0217905550610ce0565b6002836010015410610cc25760048460050160006101000a81548160ff02191690836005811115610c8157610c80611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610cb591906125b7565b60405180910390a1610cdf565b6001836010016000828254610cd7919061232a565b925050819055505b5b61108c565b60026005811115610cf957610cf8611b06565b5b8460050160009054906101000a900460ff166005811115610d1d57610d1c611b06565b5b03610e3e5760018614610d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5c90612631565b60405180910390fd5b8d8015610d6f5750805b15610da65760038460050160006101000a81548160ff02191690836005811115610d9c57610d9b611b06565b5b0217905550610e39565b6002836010015410610e1b5760048460050160006101000a81548160ff02191690836005811115610dda57610dd9611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610e0e91906125b7565b60405180910390a1610e38565b6001836010016000828254610e30919061232a565b925050819055505b5b61108b565b60036005811115610e5257610e51611b06565b5b8460050160009054906101000a900460ff166005811115610e7657610e75611b06565b5b0361108a5760028614610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb59061269d565b60405180910390fd5b8d8015610ec85750805b15610ff65760058460050160006101000a81548160ff02191690836005811115610ef557610ef4611b06565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b87604051610f299190611ff4565b60405180910390a183603b0160009054906101000a900460ff1615610ff1578360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663815a05728d8d87603c016040518463ffffffff1660e01b8152600401610fac93929190612756565b6020604051808303816000875af1158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef9190612208565b505b611089565b600283601001541061106b5760048460050160006101000a81548160ff0219169083600581111561102a57611029611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8760405161105e91906125b7565b60405180910390a1611088565b6001836010016000828254611080919061232a565b925050819055505b5b5b5b5b600160058111156110a05761109f611b06565b5b8460050160009054906101000a900460ff1660058111156110c4576110c3611b06565b5b036110ea576110e5876000600a87600101546110e091906127c3565b6116e2565b6111a4565b600260058111156110fe576110fd611b06565b5b8460050160009054906101000a900460ff16600581111561112257611121611b06565b5b0361114857611143876001600a876001015461113e91906127c3565b6116e2565b6111a3565b6003600581111561115c5761115b611b06565b5b8460050160009054906101000a900460ff1660058111156111805761117f611b06565b5b036111a2576111a1876002600a876001015461119c91906127c3565b6116e2565b5b5b5b60009750505050505050505b9695505050505050565b60008060008381526020019081526020016000209050600460058111156111e4576111e3611b06565b5b8160050160009054906101000a900460ff16600581111561120857611207611b06565b5b1480611248575060058081111561122257611221611b06565b5b8160050160009054906101000a900460ff16600581111561124657611245611b06565b5b145b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e9061288c565b60405180910390fd5b600081600201549050600082600201819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112e0573d6000803e3d6000fd5b50505050565b6000600160008154809291906112fb906128ac565b91905055905060008060008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878782600301918261136d929190612ada565b504281600401819055508560006003811061138b5761138a6121a9565b5b6020020135816008016000600381106113a7576113a66121a9565b5b6011020160000181905550856001600381106113c6576113c56121a9565b5b6020020135816008016001600381106113e2576113e16121a9565b5b601102016000018190555085600260038110611401576114006121a9565b5b60200201358160080160026003811061141d5761141c6121a9565b5b6011020160000181905550348160010181905550806001015481600201819055508481603b0160006101000a81548160ff021916908315150217905550838382603c01918261146d929190612bfb565b507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8260405161149d9190611ff4565b60405180910390a1509695505050505050565b60015481565b6000806000808481526020019081526020016000209050600060058111156114e1576114e0611b06565b5b8160050160009054906101000a900460ff16600581111561150557611504611b06565b5b14611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90612d3d565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d69190612208565b8260070154600a6115e791906124bd565b1015905060006301e133808360040154611601919061232a565b421190508161168c5780156116805760048360050160006101000a81548160ff0219169083600581111561163857611637611b06565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8560405161166c9190612dcf565b60405180910390a1600093505050506116dd565b600093505050506116dd565b60018360050160006101000a81548160ff021916908360058111156116b4576116b3611b06565b5b02179055506116d5856000600a86600101546116d091906127c3565b6116e2565b600193505050505b919050565b600080600085815260200190815260200160002090508181600201600082825461170c91906122f6565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73848460030185600801886003811061176c5761176b6121a9565b5b601102016000015460068960038110611788576117876121a9565b5b60020201600c8a600381106117a05761179f6121a9565b5b6002020160028b600381106117b8576117b76121a9565b5b015460058c600381106117ce576117cd6121a9565b5b602091828204019190069054906101000a900460ff1660018e8e8e6040516020016117fb93929190612dfd565b6040516020818303038152906040526040518a63ffffffff1660e01b815260040161182d989796959493929190612f9f565b60206040518083038185885af115801561184b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118709190612208565b9050600082600801856003811061188a576118896121a9565b5b6011020190506000816001018260100154600381106118ac576118ab6121a9565b5b60050201905082816000018190555060018160010160006101000a81548160ff0219169083151502179055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c673479878460405161190992919061302d565b60405180910390a150505050505050565b60405180606001604052806003905b611931611947565b8152602001906001900390816119295790505090565b60405180606001604052806003905b61195e611974565b8152602001906001900390816119565790505090565b6040518060e001604052806000815260200160001515815260200160001515815260200160008152602001600081526020016000151581526020016000151581525090565b600080fd5b600080fd5b6000819050919050565b6119d6816119c3565b81146119e157600080fd5b50565b6000813590506119f3816119cd565b92915050565b600060208284031215611a0f57611a0e6119b9565b5b6000611a1d848285016119e4565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a5182611a26565b9050919050565b611a6181611a46565b82525050565b611a70816119c3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ab0578082015181840152602081019050611a95565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ad882611a76565b611ae28185611a81565b9350611af2818560208601611a92565b611afb81611abc565b840191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110611b4657611b45611b06565b5b50565b6000819050611b5782611b35565b919050565b6000611b6782611b49565b9050919050565b611b7781611b5c565b82525050565b60008115159050919050565b611b9281611b7d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000611bbf82611b98565b611bc98185611ba3565b9350611bd9818560208601611a92565b611be281611abc565b840191505092915050565b600061012082019050611c03600083018c611a58565b611c10602083018b611a67565b611c1d604083018a611a67565b8181036060830152611c2f8189611acd565b9050611c3e6080830188611a67565b611c4b60a0830187611b6e565b611c5860c0830186611a67565b611c6560e0830185611b89565b818103610100830152611c788184611bb4565b90509a9950505050505050505050565b600060039050919050565b600081905092915050565b6000819050919050565b600060039050919050565b600081905092915050565b6000819050919050565b611cd1816119c3565b82525050565b611ce081611b7d565b82525050565b60e082016000820151611cfc6000850182611cc8565b506020820151611d0f6020850182611cd7565b506040820151611d226040850182611cd7565b506060820151611d356060850182611cc8565b506080820151611d486080850182611cc8565b5060a0820151611d5b60a0850182611cd7565b5060c0820151611d6e60c0850182611cd7565b50505050565b6000611d808383611ce6565b60e08301905092915050565b6000602082019050919050565b611da281611ca8565b611dac8184611cb3565b9250611db782611cbe565b8060005b83811015611de8578151611dcf8782611d74565b9650611dda83611d8c565b925050600181019050611dbb565b505050505050565b6000611dfc8383611d99565b6102a08301905092915050565b6000602082019050919050565b611e1f81611c88565b611e298184611c93565b9250611e3482611c9e565b8060005b83811015611e65578151611e4c8782611df0565b9650611e5783611e09565b925050600181019050611e38565b505050505050565b60006107e082019050611e836000830184611e16565b92915050565b60008060408385031215611ea057611e9f6119b9565b5b6000611eae858286016119e4565b9250506020611ebf858286016119e4565b9150509250929050565b611ed281611b7d565b8114611edd57600080fd5b50565b600081359050611eef81611ec9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611f1a57611f19611ef5565b5b8235905067ffffffffffffffff811115611f3757611f36611efa565b5b602083019150836001820283011115611f5357611f52611eff565b5b9250929050565b60008060008060008060a08789031215611f7757611f766119b9565b5b6000611f8589828a01611ee0565b9650506020611f9689828a01611ee0565b9550506040611fa789828a016119e4565b9450506060611fb889828a016119e4565b935050608087013567ffffffffffffffff811115611fd957611fd86119be565b5b611fe589828a01611f04565b92509250509295509295509295565b60006020820190506120096000830184611a67565b92915050565b60008083601f84011261202557612024611ef5565b5b8235905067ffffffffffffffff81111561204257612041611efa565b5b60208301915083600182028301111561205e5761205d611eff565b5b9250929050565b60008190508260206003028201111561208157612080611eff565b5b92915050565b60008060008060008060c087890312156120a4576120a36119b9565b5b600087013567ffffffffffffffff8111156120c2576120c16119be565b5b6120ce89828a0161200f565b965096505060206120e189828a01612065565b94505060806120f289828a01611ee0565b93505060a087013567ffffffffffffffff811115612113576121126119be565b5b61211f89828a01611f04565b92509250509295509295509295565b60006020820190506121436000830184611b89565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061219057607f821691505b6020821081036121a3576121a2612149565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020820190506121ed6000830184611a58565b92915050565b600081519050612202816119cd565b92915050565b60006020828403121561221e5761221d6119b9565b5b600061222c848285016121f3565b91505092915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b6000612291602383611a81565b915061229c82612235565b604082019050919050565b600060208201905081810360008301526122c081612284565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612301826119c3565b915061230c836119c3565b9250828203905081811115612324576123236122c7565b5b92915050565b6000612335826119c3565b9150612340836119c3565b9250828201905080821115612358576123576122c7565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b60006123ba603183611a81565b91506123c58261235e565b604082019050919050565b600060208201905081810360008301526123e9816123ad565b9050919050565b600080600060608486031215612409576124086119b9565b5b6000612417868287016119e4565b9350506020612428868287016119e4565b9250506040612439868287016119e4565b9150509250925092565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b6000612479600e83611a81565b915061248482612443565b602082019050919050565b60006040820190506124a46000830184611a67565b81810360208301526124b58161246c565b905092915050565b60006124c8826119c3565b91506124d3836119c3565b92508282026124e1816119c3565b915082820484148315176124f8576124f76122c7565b5b5092915050565b7f5374616765203020696e646578206d69736d6174636800000000000000000000600082015250565b6000612535601683611a81565b9150612540826124ff565b602082019050919050565b6000602082019050818103600083015261256481612528565b9050919050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b60006125a1601483611a81565b91506125ac8261256b565b602082019050919050565b60006040820190506125cc6000830184611a67565b81810360208301526125dd81612594565b905092915050565b7f5374616765203120696e646578206d69736d6174636800000000000000000000600082015250565b600061261b601683611a81565b9150612626826125e5565b602082019050919050565b6000602082019050818103600083015261264a8161260e565b9050919050565b7f5374616765203220696e646578206d69736d6174636800000000000000000000600082015250565b6000612687601683611a81565b915061269282612651565b602082019050919050565b600060208201905081810360008301526126b68161267a565b9050919050565b60008190508160005260206000209050919050565b600081546126df81612178565b6126e98186611ba3565b94506001821660008114612704576001811461271a5761274d565b60ff19831686528115156020028601935061274d565b612723856126bd565b60005b8381101561274557815481890152600182019150602081019050612726565b808801955050505b50505092915050565b600060608201905061276b6000830186611a67565b6127786020830185611a67565b818103604083015261278a81846126d2565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127ce826119c3565b91506127d9836119c3565b9250826127e9576127e8612794565b5b828204905092915050565b7f52656d61696e696e6720666565732063616e206f6e6c79206265207265636c6160008201527f696d6564207768656e2070726f706f73616c20686173206265656e206163636560208201527f70746564206f72206661696c6564000000000000000000000000000000000000604082015250565b6000612876604e83611a81565b9150612881826127f4565b606082019050919050565b600060208201905081810360008301526128a581612869565b9050919050565b60006128b7826119c3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128e9576128e86122c7565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026129907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612953565b61299a8683612953565b95508019841693508086168417925050509392505050565b6000819050919050565b60006129d76129d26129cd846119c3565b6129b2565b6119c3565b9050919050565b6000819050919050565b6129f1836129bc565b612a056129fd826129de565b848454612960565b825550505050565b600090565b612a1a612a0d565b612a258184846129e8565b505050565b5b81811015612a4957612a3e600082612a12565b600181019050612a2b565b5050565b601f821115612a8e57612a5f8161292e565b612a6884612943565b81016020851015612a77578190505b612a8b612a8385612943565b830182612a2a565b50505b505050565b600082821c905092915050565b6000612ab160001984600802612a93565b1980831691505092915050565b6000612aca8383612aa0565b9150826002028217905092915050565b612ae483836128f4565b67ffffffffffffffff811115612afd57612afc6128ff565b5b612b078254612178565b612b12828285612a4d565b6000601f831160018114612b415760008415612b2f578287013590505b612b398582612abe565b865550612ba1565b601f198416612b4f8661292e565b60005b82811015612b7757848901358255600182019150602085019450602081019050612b52565b86831015612b945784890135612b90601f891682612aa0565b8355505b6001600288020188555050505b50505050505050565b600082905092915050565b601f821115612bf657612bc7816126bd565b612bd084612943565b81016020851015612bdf578190505b612bf3612beb85612943565b830182612a2a565b50505b505050565b612c058383612baa565b67ffffffffffffffff811115612c1e57612c1d6128ff565b5b612c288254612178565b612c33828285612bb5565b6000601f831160018114612c625760008415612c50578287013590505b612c5a8582612abe565b865550612cc2565b601f198416612c70866126bd565b60005b82811015612c9857848901358255600182019150602085019450602081019050612c73565b86831015612cb55784890135612cb1601f891682612aa0565b8355505b6001600288020188555050505b50505050505050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000612d27602b83611a81565b9150612d3282612ccb565b604082019050919050565b60006020820190508181036000830152612d5681612d1a565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000612db9602d83611a81565b9150612dc482612d5d565b604082019050919050565b6000604082019050612de46000830184611a67565b8181036020830152612df581612dac565b905092915050565b6000606082019050612e126000830186611a67565b612e1f6020830185611a67565b612e2c6040830184611a67565b949350505050565b60008154612e4181612178565b612e4b8186611a81565b94506001821660008114612e665760018114612e7c57612eaf565b60ff198316865281151560200286019350612eaf565b612e858561292e565b60005b83811015612ea757815481890152600182019150602081019050612e88565b808801955050505b50505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612ee48383611cc8565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000612f1a612f1583612ef0565b612efd565b9050919050565b6000612f2d8254612f07565b9050919050565b6000600182019050919050565b612f4a81612eb8565b612f548184612ec3565b9250612f5f82612ece565b8060005b83811015612f9757612f7482612f21565b612f7e8782612ed8565b9650612f8983612f34565b925050600181019050612f63565b505050505050565b6000610140820190508181036000830152612fba818b612e34565b9050612fc9602083018a611a67565b612fd66040830189612f41565b612fe36080830188612f41565b612ff060c0830187611a67565b612ffd60e0830186611b89565b61300b610100830185611b89565b81810361012083015261301e8184611bb4565b90509998505050505050505050565b60006040820190506130426000830185611a67565b61304f6020830184611a67565b939250505056fea2646970667358221220cbebbb046abde709d5482e1b80f77771c6a1699cb8b1fdaec3d2bd6c09368e1b64736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}