@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
404 lines (403 loc) • 43.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "DAOVotingSituation",
"sourceName": "contracts/libs/governance/DAOVotingSituation.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "enum ParameterType",
"name": "expected",
"type": "uint8"
},
{
"internalType": "enum ParameterType",
"name": "actual",
"type": "uint8"
}
],
"name": "InvalidParameterType",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "string",
"name": "name",
"type": "string"
},
{
"components": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "vetoPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proposalExecutionPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredQuorum",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredMajority",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredVetoQuorum",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "votingType",
"type": "uint256"
},
{
"internalType": "string",
"name": "votingTarget",
"type": "string"
},
{
"internalType": "uint256",
"name": "votingMinAmount",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct IDAOVoting.DAOVotingValues",
"name": "values",
"type": "tuple"
},
{
"indexed": false,
"internalType": "string",
"name": "externalLink",
"type": "string"
}
],
"name": "VotingSituationCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "string",
"name": "name",
"type": "string"
}
],
"name": "VotingSituationRemoved",
"type": "event"
},
{
"inputs": [],
"name": "EXTERNAL_LINK",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PROPOSAL_EXECUTION_PERIOD",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "REQUIRED_MAJORITY",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "REQUIRED_QUORUM",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "REQUIRED_VETO_QUORUM",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VETO_PERIOD",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTING_MIN_AMOUNT",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTING_PERIOD",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTING_TARGET",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTING_TYPE",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "situation_",
"type": "string"
}
],
"name": "getVotingSituationExternalLink",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "situation_",
"type": "string"
}
],
"name": "getVotingSituationInfo",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "vetoPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proposalExecutionPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredQuorum",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredMajority",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredVetoQuorum",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "votingType",
"type": "uint256"
},
{
"internalType": "string",
"name": "votingTarget",
"type": "string"
},
{
"internalType": "uint256",
"name": "votingMinAmount",
"type": "uint256"
}
],
"internalType": "struct IDAOVoting.DAOVotingValues",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "situation_",
"type": "string"
}
],
"name": "getVotingSituationInfoWithLink",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "vetoPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proposalExecutionPeriod",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredQuorum",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredMajority",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredVetoQuorum",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "votingType",
"type": "uint256"
},
{
"internalType": "string",
"name": "votingTarget",
"type": "string"
},
{
"internalType": "uint256",
"name": "votingMinAmount",
"type": "uint256"
}
],
"internalType": "struct IDAOVoting.DAOVotingValues",
"name": "",
"type": "tuple"
},
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6080806040523461001c5761219a90816100228239308160070152f35b600080fdfe6080604052307f000000000000000000000000000000000000000000000000000000000000000014600436101561003557600080fd5b600090813560e01c90816307325a3014610c175781633605f30714610b3a57816352b2242414610b235781635665f8b8146107c757816359f6d8ad146107b0578163718346261461031e57816371eb67d8146103075781637a73aedc146102f0578163892f9cfd146102d95781638a0947df146102c25781639cbce28f146102ab578163b04c3a8614610218578163b1610d7e14610201578163c6f8852d146101ea578163cebf53611461016657508063d047d8771461012f5763e861dc85146100fe57600080fd5b8060031936011261012c576101286101146110d8565b604051918291602083526020830190610cc6565b0390f35b80fd5b610128602061014f61014036610c55565b906101496110fe565b50611324565b510151604051918291602083526020830190610ceb565b905061012c57602036600319011261012c576001600160401b036004358181116101e657610198903690600401610fba565b604051906101a582610d83565b815260405160208101928311818410176101d0576101cd926040528381526020820152611838565b80f35b634e487b7160e01b600052604160045260246000fd5b8280fd5b828060031936011261012c576101286101146110b2565b828060031936011261012c5761012861011461108a565b905061012c576003196020368201126102a757600435906001600160401b039081831161029f5760409083360301126101e6576040519061025882610d83565b82600401358181116102a3576102749060043691860101610fba565b8252602483013590811161029f576101cd9260046102959236920101610eb9565b6020820152611838565b8380fd5b8480fd5b5080fd5b828060031936011261012c57610128610114610f92565b828060031936011261012c57610128610114610f59565b828060031936011261012c57610128610114610f2b565b828060031936011261012c57610128610114610f03565b828060031936011261012c57610128610114610ed7565b905061012c57602036600319011261012c576004356001600160401b0381116102a75761034f903690600401610eb9565b61035881611e6b565b1561075057600854604051906001600160a01b031661037682610d54565b61037e61108a565b6103c960216040518093875161039b816020850160208c01610ca3565b8201601760f91b60208201526103ba8251809360208785019101610ca3565b01036001810184520182610df1565b82526103d36110d8565b6103f060216040518093875161039b816020850160208c01610ca3565b60208301526103fd610f59565b61041a60216040518093875161039b816020850160208c01610ca3565b6040830152610427610e2d565b61044460216040518093875161039b816020850160208c01610ca3565b6060830152610451610ed7565b61046e60216040518093875161039b816020850160208c01610ca3565b608083015261047b610f2b565b61049860216040518093875161039b816020850160208c01610ca3565b60a08301526104a56110b2565b6104c260216040518093875161039b816020850160208c01610ca3565b60c08301526104cf610f03565b6104ec60216040518093875161039b816020850160208c01610ca3565b60e08301526104f9610e57565b61051660216040518093875161039b816020850160208c01610ca3565b610100830152610524610f92565b61054160216040518093875161039b816020850160208c01610ca3565b6101208301526040519161055483610dd5565b600a8352845b610140811061073f575080610120915161057385611fc8565b5261057d84611fc8565b50602081015161058c85611fd5565b5261059684611fd5565b5060408101516105a585611fe5565b526105af84611fe5565b5060608101516105be85611ff5565b526105c884611ff5565b5060808101516105d785612005565b526105e184612005565b5060a08101516105f085612015565b526105fa84612015565b5060c081015161060985612025565b5261061384612025565b5060e081015161062285612035565b5261062c84612035565b5061010081015161063c85612046565b5261064684612046565b50015161065283612057565b5261065c82612057565b50803b1561029f57908390604051928391633f2b829160e21b8352602483016020600485015281518091526044840190602060448260051b87010193019186905b82821061070c57505050508383809203925af18015610701576106ec575b506106c59061180b565b7fc4df08ac5cd94eb5e6ebeb01b16f09277f14f4e6fe2f5d5f186b11c56070316d8280a280f35b916106fa6106c59293610d70565b91906106bb565b6040513d85823e3d90fd5b92955092600191949650602061072d81926043198b82030186528851610cc6565b9601920192019288959387959361069d565b80606060208093870101520161055a565b60405162461bcd60e51b815260206004820152603260248201527f5b5147444b2d3031383030315d2d54686520766f74696e67207369747561746960448201527137b7103237b2b9903737ba1032bc34b9ba1760711b6064820152608490fd5b828060031936011261012c57610128610114610e57565b905061012c57602036600319011261012c576008546001600160a01b0316816107f460043560030161125e565b61083f8261080061108a565b61081d60216040518093875161039b816020850160208c01610ca3565b60405180938192632591ac6b60e21b8352602060048401526024830190610cc6565b0381875afa9081156107015761086691610860918591610b0f575b50611784565b42611301565b9261089083610873610e2d565b61081d60216040518093885161039b816020850160208d01610ca3565b0381855afa8015610ac2576108ab918591610b0f5750611784565b600b60043501556108be83610873610ed7565b0381855afa8015610ac2576108d9918591610b0f5750611784565b600c60043501556108ec83610873610f2b565b0381855afa8015610ac257610907918591610b0f5750611784565b600d60043501554260076004350155836008600435015560018060a01b0360075416602060018060a01b036005600435015416602460405180948193632927315960e11b835260048301525afa908115610ac2578491610add575b5015610acd576109b493836109756110d8565b61099260216040518093885161039b816020850160208d01610ca3565b60405180978192632591ac6b60e21b8352602060048401526024830190610cc6565b0381855afa908115610ac2576109d76109dd92610a5d978791610aae5750611784565b90611301565b600960043501555b610a3a60216109f2610f59565b936040519481610a0c879351809260208087019101610ca3565b8201601760f91b6020820152610a2b8251809360208785019101610ca3565b01036001810185520183610df1565b6040518080958194632591ac6b60e21b8352602060048401526024830190610cc6565b03915afa8015610aa357610a77918391610a815750611784565b600a600435015580f35b610a9d91503d8085833e610a958183610df1565b810190611195565b3861085a565b6040513d84823e3d90fd5b610a9d91503d8089833e610a958183610df1565b6040513d86823e3d90fd5b610a5d93600960043501556109e5565b90506020813d602011610b07575b81610af860209383610df1565b8101031261029f575138610962565b3d9150610aeb565b610a9d91503d8087833e610a958183610df1565b828060031936011261012c57610128610114610e2d565b8280610bc9610b4836610c55565b6008546001600160a01b03169391610b6a90610b62610f92565b923691610e82565b93610ba760216040518094602098610b8a815180928c8087019101610ca3565b8201601760f91b8a820152610a2b825180938c8785019101610ca3565b6040518080958194632591ac6b60e21b83528860048401526024830190610cc6565b03915afa9081156107015783610be7939492610bfc575b50506116d2565b90610128604051928284938452830190610cc6565b610c1092503d8091833e610a958183610df1565b8380610be0565b610c47610c2661014036610c55565b61012860208083510151920151604051938493604085526040850190610ceb565b908382036020850152610cc6565b906020600319830112610c9e576004356001600160401b0392838211610c9e5780602383011215610c9e578160040135938411610c9e5760248483010111610c9e576024019190565b600080fd5b60005b838110610cb65750506000910152565b8181015183820152602001610ca6565b90602091610cdf81518092818552858086019101610ca3565b601f01601f1916010190565b90610d46610120835183526020840151602084015260408401516040840152606084015160608401526080840151608084015260a084015160a084015260c084015160c084015260e0840151908060e0850152830190610cc6565b916101008091015191015290565b61014081019081106001600160401b038211176101d057604052565b6001600160401b0381116101d057604052565b604081019081106001600160401b038211176101d057604052565b61012081019081106001600160401b038211176101d057604052565b606081019081106001600160401b038211176101d057604052565b61016081019081106001600160401b038211176101d057604052565b90601f801991011681019081106001600160401b038211176101d057604052565b6001600160401b0381116101d057601f01601f191660200190565b60405190610e3a82610d83565b600e82526d726571756972656451756f72756d60901b6020830152565b60405190610e6482610d83565b600f82526e1d9bdd1a5b99d35a5b905b5bdd5b9d608a1b6020830152565b929192610e8e82610e12565b91610e9c6040519384610df1565b829481845281830111610c9e578281602093846000960137010152565b9080601f83011215610c9e57816020610ed493359101610e82565b90565b60405190610ee482610d83565b601082526f72657175697265644d616a6f7269747960801b6020830152565b60405190610f1082610d83565b600c82526b1d9bdd1a5b99d5185c99d95d60a21b6020830152565b60405190610f3882610d83565b601282527172657175697265645665746f51756f72756d60701b6020830152565b60405190610f6682610d83565b601782527f70726f706f73616c457865637574696f6e506572696f640000000000000000006020830152565b60405190610f9f82610d83565b600c82526b65787465726e616c4c696e6b60a01b6020830152565b919091604081840312610c9e5760405192610fd484610d83565b838235926001600160401b0393848111610c9e5783610ff4918301610eb9565b8252602081013590848211610c9e570161012081840312610c9e576040519361101c85610d9e565b813585526020820135602086015260408201356040860152606082013560608601526080820135608086015260a082013560a086015260c082013560c086015260e0820135908111610c9e57602093611076918301610eb9565b60e085015261010080910135908401520152565b6040519061109782610d83565b600c82526b1d9bdd1a5b99d4195c9a5bd960a21b6020830152565b604051906110bf82610d83565b600a825269766f74696e675479706560b01b6020830152565b604051906110e582610d83565b600a8252691d995d1bd4195c9a5bd960b21b6020830152565b6040519061110b82610d9e565b816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201520152565b9092919261115181610e12565b9161115f6040519384610df1565b829482845282820111610c9e576020611179930190610ca3565b565b9080601f83011215610c9e578151610ed492602001611144565b90602082820312610c9e5781516001600160401b0392838211610c9e5701606081830312610c9e57604051926111ca84610dba565b8151818111610c9e57836111df91840161117b565b84526020820151908111610c9e57810182601f82011215610c9e5760409281602061120c93519101611144565b602084015201516006811015610c9e57604082015290565b90600182811c92168015611254575b602083101461123e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611233565b9060405191826000825461127181611224565b908184526020946001916001811690816000146112df57506001146112a0575b50505061117992500383610df1565b600090815285812095935091905b8183106112c75750506111799350820101388080611291565b855488840185015294850194879450918301916112ae565b9250505061117994925060ff191682840152151560051b820101388080611291565b9190820180921161130e57565b634e487b7160e01b600052601160045260246000fd5b906060602060405161133581610d83565b60405161134181610d83565b83815261134c6110fe565b81840152815201526008546001600160a01b0316611396600061136d61108a565b61081d602161137d36888a610e82565b604051938161039b869351809260208087019101610ca3565b0381855afa80156116b1576113b2916000916116bd5750611784565b926113d060006113c06110d8565b61081d602161137d368988610e82565b0381865afa80156116b1576113ec916000916116bd5750611784565b61140960006113f9610f59565b61081d602161137d368a89610e82565b0381875afa80156116b157611425916000916116bd5750611784565b6114426000611432610e2d565b61081d602161137d368b8a610e82565b0381885afa80156116b15761145e916000916116bd5750611784565b61147b600061146b610ed7565b61081d602161137d368c8b610e82565b0381895afa80156116b157611497916000916116bd5750611784565b6114b460006114a4610f2b565b61081d602161137d368d8c610e82565b03818a5afa80156116b1576114d0916000916116bd5750611784565b906114ee60006114de6110b2565b61081d602161137d368e8d610e82565b03818b5afa80156116b15761150a916000916116bd5750611784565b9261152a60008a61081d602161137d8c611522610f03565b943691610e82565b03818c5afa80156116b15761154791600091611696575b506116d2565b9461155f60008b61081d602161137d8d611522610e57565b03818d5afa80156116b15761157b916000916116bd5750611784565b966040519b6115898d610d9e565b8c5260208c015260408b015260608a0152608089015260a088015260c087015260e0860152610100850152604051936115c185610d83565b6115cc368584610e82565b855260208501526115db610f92565b9236906115e792610e82565b6040519281849251908160208501916020019161160392610ca3565b820160208101601760f91b90528151918260218301916020019161162692610ca3565b010360018101835260210161163b9083610df1565b604051808093632591ac6b60e21b825260048201602090526024820161166091610cc6565b03815a93600094fa80156116b15761167f9160009161169657506116d2565b6040519161168c83610d83565b8252602082015290565b6116ab91503d806000833e610a958183610df1565b38611541565b6040513d6000823e3d90fd5b610a9d91503d806000833e610a958183610df1565b604081018051600681101561176e576003036117215750602001518051810190602081830312610c9e576020810151916001600160401b038311610c9e57610ed492602080920192010161117b565b9051905190600682101561176e5760405163381af4c560e11b81526060600482015291829161176a90611758906064850190610cc6565b9160036024850152604484019061182b565b0390fd5b634e487b7160e01b600052602160045260246000fd5b604081018051600681101561176e576002036117c25750602001516020815191015190602081106117b3575090565b6000199060200360031b1b1690565b9051905190600682101561176e5760405163381af4c560e11b81526060600482015291829161176a906117f9906064850190610cc6565b9160026024850152604484019061182b565b61182390602060405192828480945193849201610ca3565b810103902090565b90600682101561176e5752565b8051519061184582612068565b15611c8757805160200151600854604051906001600160a01b031661186982610d54565b6118cc835161187661108a565b906118c7602160405180948b6118958151809260208087019101610ca3565b601760f91b602082850101526118b682518093602087858801019101610ca3565b820101036001810185520183610df1565b6120fe565b82526118fd60208401516118de6110d8565b906118c7602160405180948b610a0c8151809260208087019101610ca3565b602083015261191260408401516118de610f59565b604083015261192760608401516118de610e2d565b606083015261193c60808401516118de610ed7565b608083015261195160a08401516118de610f2b565b60a083015261196660c08401516118de6110b2565b60c083015261199f60e084015161197b610f03565b9061199a602160405180948b610a0c8151809260208087019101610ca3565b61213b565b60e08301526119b56101008401516118de610e57565b6101008301526119cb602085015161197b610f92565b610120830152604051916119de83610dd5565b600a835260005b6101408110611c7057508061012091516119fe85611fc8565b52611a0884611fc8565b506020810151611a1785611fd5565b52611a2184611fd5565b506040810151611a3085611fe5565b52611a3a84611fe5565b506060810151611a4985611ff5565b52611a5384611ff5565b506080810151611a6285612005565b52611a6c84612005565b5060a0810151611a7b85612015565b52611a8584612015565b5060c0810151611a9485612025565b52611a9e84612025565b5060e0810151611aad85612035565b52611ab784612035565b50610100810151611ac785612046565b52611ad184612046565b500151611add83612057565b52611ae782612057565b50803b15610c9e57604051809263cabc429d60e01b8252602482016020600484015281518091526044830190602060448260051b8601019301916000905b828210611c1157505050509181600081819503925af180156116b1577f92ed22251f1ecf1a723c270e33985b752c0362c733cf212443feef3cf104df1b93611b7892602092611c02575b5001519361180b565b92611bfd60405192839260408452815160408501526020820151606085015260408201516080850152606082015160a0850152608082015160c085015260a082015160e085015260c0820151610100850152610100611be760e084015161012080880152610160870190610cc6565b9201516101408501528382036020850152610cc6565b0390a2565b611c0b90610d70565b38611b6f565b9193600191939550602080916043198a8203018552611c60885191604080611c55611c458651606086526060860190610cc6565b8787015185820389870152610cc6565b94015191019061182b565b9601920192018694939192611b25565b602090611c7b6120dd565b828287010152016119e5565b60405162461bcd60e51b815260206004820152603260248201527f5b5147444b2d3031383030305d2d54686520766f74696e67207369747561746960448201527137b71030b63932b0b23c9032bc34b9ba399760711b6064820152608490fd5b600954811015611d1e5760096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190600090565b634e487b7160e01b600052603260045260246000fd5b818110611d3f575050565b60008155600101611d34565b90929192611e555782516001600160401b0381116101d057611d6d8254611224565b601f8111611e18575b50602080601f8311600114611db3575081929394600092611da8575b50508160011b916000199060031b1c1916179055565b015190503880611d92565b90601f19831695846000526020600020926000905b888210611e0057505083600195969710611de7575b505050811b019055565b015160001960f88460031b161c19169055388080611ddd565b80600185968294968601518155019501930190611dc8565b611e4590836000526020600020601f840160051c81019160208510611e4b575b601f0160051c0190611d34565b38611d76565b9091508190611e38565b634e487b7160e01b600052600060045260246000fd5b60405190805191602090818181850195611e86818389610ca3565b600a90820190815203019020548015611fbf576000199080820181811161130e576009549083820191821161130e578085918303611f6e575b505050506009548015611f58570192611ed784611ce7565b939093611e555760009484611eef611f0c9654611224565b9081611f1c575b5050600955604051938492839251928391610ca3565b8101600a81520301902055600190565b81601f899311600114611f335750555b3880611ef6565b908083918252611f51601f898420940160051c840160018501611d34565b5555611f2c565b634e487b7160e01b600052603160045260246000fd5b611f98611f9291611f8a611f84611fab96611ce7565b5061125e565b928391611ce7565b90611d4b565b8160405193828580945193849201610ca3565b8101600a8152030190205538808381611ebf565b50505050600090565b805115611d1e5760200190565b805160011015611d1e5760400190565b805160021015611d1e5760600190565b805160031015611d1e5760800190565b805160041015611d1e5760a00190565b805160051015611d1e5760c00190565b805160061015611d1e5760e00190565b805160071015611d1e576101000190565b805160081015611d1e576101200190565b805160091015611d1e576101400190565b60405181519060208181850193612080818387610ca3565b8101600a81520301902054156000146120d657600954680100000000000000008110156101d057611f0c916120c184611f9284600160209601600955611ce7565b60095493604051938492839251928391610ca3565b5050600090565b604051906120ea82610dba565b600060408360608152606060208201520152565b6121066120dd565b506040519060208201526020815261211d81610d83565b6040519161212a83610dba565b825260208201526002604082015290565b61216f6121619161214a6120dd565b506040519283916020808401526040830190610cc6565b03601f198101835282610df1565b6040519161217c83610dba565b82526020820152600360408201529056fea164736f6c6343000818000a",
"deployedBytecode": "0x6080604052307f000000000000000000000000000000000000000000000000000000000000000014600436101561003557600080fd5b600090813560e01c90816307325a3014610c175781633605f30714610b3a57816352b2242414610b235781635665f8b8146107c757816359f6d8ad146107b0578163718346261461031e57816371eb67d8146103075781637a73aedc146102f0578163892f9cfd146102d95781638a0947df146102c25781639cbce28f146102ab578163b04c3a8614610218578163b1610d7e14610201578163c6f8852d146101ea578163cebf53611461016657508063d047d8771461012f5763e861dc85146100fe57600080fd5b8060031936011261012c576101286101146110d8565b604051918291602083526020830190610cc6565b0390f35b80fd5b610128602061014f61014036610c55565b906101496110fe565b50611324565b510151604051918291602083526020830190610ceb565b905061012c57602036600319011261012c576001600160401b036004358181116101e657610198903690600401610fba565b604051906101a582610d83565b815260405160208101928311818410176101d0576101cd926040528381526020820152611838565b80f35b634e487b7160e01b600052604160045260246000fd5b8280fd5b828060031936011261012c576101286101146110b2565b828060031936011261012c5761012861011461108a565b905061012c576003196020368201126102a757600435906001600160401b039081831161029f5760409083360301126101e6576040519061025882610d83565b82600401358181116102a3576102749060043691860101610fba565b8252602483013590811161029f576101cd9260046102959236920101610eb9565b6020820152611838565b8380fd5b8480fd5b5080fd5b828060031936011261012c57610128610114610f92565b828060031936011261012c57610128610114610f59565b828060031936011261012c57610128610114610f2b565b828060031936011261012c57610128610114610f03565b828060031936011261012c57610128610114610ed7565b905061012c57602036600319011261012c576004356001600160401b0381116102a75761034f903690600401610eb9565b61035881611e6b565b1561075057600854604051906001600160a01b031661037682610d54565b61037e61108a565b6103c960216040518093875161039b816020850160208c01610ca3565b8201601760f91b60208201526103ba8251809360208785019101610ca3565b01036001810184520182610df1565b82526103d36110d8565b6103f060216040518093875161039b816020850160208c01610ca3565b60208301526103fd610f59565b61041a60216040518093875161039b816020850160208c01610ca3565b6040830152610427610e2d565b61044460216040518093875161039b816020850160208c01610ca3565b6060830152610451610ed7565b61046e60216040518093875161039b816020850160208c01610ca3565b608083015261047b610f2b565b61049860216040518093875161039b816020850160208c01610ca3565b60a08301526104a56110b2565b6104c260216040518093875161039b816020850160208c01610ca3565b60c08301526104cf610f03565b6104ec60216040518093875161039b816020850160208c01610ca3565b60e08301526104f9610e57565b61051660216040518093875161039b816020850160208c01610ca3565b610100830152610524610f92565b61054160216040518093875161039b816020850160208c01610ca3565b6101208301526040519161055483610dd5565b600a8352845b610140811061073f575080610120915161057385611fc8565b5261057d84611fc8565b50602081015161058c85611fd5565b5261059684611fd5565b5060408101516105a585611fe5565b526105af84611fe5565b5060608101516105be85611ff5565b526105c884611ff5565b5060808101516105d785612005565b526105e184612005565b5060a08101516105f085612015565b526105fa84612015565b5060c081015161060985612025565b5261061384612025565b5060e081015161062285612035565b5261062c84612035565b5061010081015161063c85612046565b5261064684612046565b50015161065283612057565b5261065c82612057565b50803b1561029f57908390604051928391633f2b829160e21b8352602483016020600485015281518091526044840190602060448260051b87010193019186905b82821061070c57505050508383809203925af18015610701576106ec575b506106c59061180b565b7fc4df08ac5cd94eb5e6ebeb01b16f09277f14f4e6fe2f5d5f186b11c56070316d8280a280f35b916106fa6106c59293610d70565b91906106bb565b6040513d85823e3d90fd5b92955092600191949650602061072d81926043198b82030186528851610cc6565b9601920192019288959387959361069d565b80606060208093870101520161055a565b60405162461bcd60e51b815260206004820152603260248201527f5b5147444b2d3031383030315d2d54686520766f74696e67207369747561746960448201527137b7103237b2b9903737ba1032bc34b9ba1760711b6064820152608490fd5b828060031936011261012c57610128610114610e57565b905061012c57602036600319011261012c576008546001600160a01b0316816107f460043560030161125e565b61083f8261080061108a565b61081d60216040518093875161039b816020850160208c01610ca3565b60405180938192632591ac6b60e21b8352602060048401526024830190610cc6565b0381875afa9081156107015761086691610860918591610b0f575b50611784565b42611301565b9261089083610873610e2d565b61081d60216040518093885161039b816020850160208d01610ca3565b0381855afa8015610ac2576108ab918591610b0f5750611784565b600b60043501556108be83610873610ed7565b0381855afa8015610ac2576108d9918591610b0f5750611784565b600c60043501556108ec83610873610f2b565b0381855afa8015610ac257610907918591610b0f5750611784565b600d60043501554260076004350155836008600435015560018060a01b0360075416602060018060a01b036005600435015416602460405180948193632927315960e11b835260048301525afa908115610ac2578491610add575b5015610acd576109b493836109756110d8565b61099260216040518093885161039b816020850160208d01610ca3565b60405180978192632591ac6b60e21b8352602060048401526024830190610cc6565b0381855afa908115610ac2576109d76109dd92610a5d978791610aae5750611784565b90611301565b600960043501555b610a3a60216109f2610f59565b936040519481610a0c879351809260208087019101610ca3565b8201601760f91b6020820152610a2b8251809360208785019101610ca3565b01036001810185520183610df1565b6040518080958194632591ac6b60e21b8352602060048401526024830190610cc6565b03915afa8015610aa357610a77918391610a815750611784565b600a600435015580f35b610a9d91503d8085833e610a958183610df1565b810190611195565b3861085a565b6040513d84823e3d90fd5b610a9d91503d8089833e610a958183610df1565b6040513d86823e3d90fd5b610a5d93600960043501556109e5565b90506020813d602011610b07575b81610af860209383610df1565b8101031261029f575138610962565b3d9150610aeb565b610a9d91503d8087833e610a958183610df1565b828060031936011261012c57610128610114610e2d565b8280610bc9610b4836610c55565b6008546001600160a01b03169391610b6a90610b62610f92565b923691610e82565b93610ba760216040518094602098610b8a815180928c8087019101610ca3565b8201601760f91b8a820152610a2b825180938c8785019101610ca3565b6040518080958194632591ac6b60e21b83528860048401526024830190610cc6565b03915afa9081156107015783610be7939492610bfc575b50506116d2565b90610128604051928284938452830190610cc6565b610c1092503d8091833e610a958183610df1565b8380610be0565b610c47610c2661014036610c55565b61012860208083510151920151604051938493604085526040850190610ceb565b908382036020850152610cc6565b906020600319830112610c9e576004356001600160401b0392838211610c9e5780602383011215610c9e578160040135938411610c9e5760248483010111610c9e576024019190565b600080fd5b60005b838110610cb65750506000910152565b8181015183820152602001610ca6565b90602091610cdf81518092818552858086019101610ca3565b601f01601f1916010190565b90610d46610120835183526020840151602084015260408401516040840152606084015160608401526080840151608084015260a084015160a084015260c084015160c084015260e0840151908060e0850152830190610cc6565b916101008091015191015290565b61014081019081106001600160401b038211176101d057604052565b6001600160401b0381116101d057604052565b604081019081106001600160401b038211176101d057604052565b61012081019081106001600160401b038211176101d057604052565b606081019081106001600160401b038211176101d057604052565b61016081019081106001600160401b038211176101d057604052565b90601f801991011681019081106001600160401b038211176101d057604052565b6001600160401b0381116101d057601f01601f191660200190565b60405190610e3a82610d83565b600e82526d726571756972656451756f72756d60901b6020830152565b60405190610e6482610d83565b600f82526e1d9bdd1a5b99d35a5b905b5bdd5b9d608a1b6020830152565b929192610e8e82610e12565b91610e9c6040519384610df1565b829481845281830111610c9e578281602093846000960137010152565b9080601f83011215610c9e57816020610ed493359101610e82565b90565b60405190610ee482610d83565b601082526f72657175697265644d616a6f7269747960801b6020830152565b60405190610f1082610d83565b600c82526b1d9bdd1a5b99d5185c99d95d60a21b6020830152565b60405190610f3882610d83565b601282527172657175697265645665746f51756f72756d60701b6020830152565b60405190610f6682610d83565b601782527f70726f706f73616c457865637574696f6e506572696f640000000000000000006020830152565b60405190610f9f82610d83565b600c82526b65787465726e616c4c696e6b60a01b6020830152565b919091604081840312610c9e5760405192610fd484610d83565b838235926001600160401b0393848111610c9e5783610ff4918301610eb9565b8252602081013590848211610c9e570161012081840312610c9e576040519361101c85610d9e565b813585526020820135602086015260408201356040860152606082013560608601526080820135608086015260a082013560a086015260c082013560c086015260e0820135908111610c9e57602093611076918301610eb9565b60e085015261010080910135908401520152565b6040519061109782610d83565b600c82526b1d9bdd1a5b99d4195c9a5bd960a21b6020830152565b604051906110bf82610d83565b600a825269766f74696e675479706560b01b6020830152565b604051906110e582610d83565b600a8252691d995d1bd4195c9a5bd960b21b6020830152565b6040519061110b82610d9e565b816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201520152565b9092919261115181610e12565b9161115f6040519384610df1565b829482845282820111610c9e576020611179930190610ca3565b565b9080601f83011215610c9e578151610ed492602001611144565b90602082820312610c9e5781516001600160401b0392838211610c9e5701606081830312610c9e57604051926111ca84610dba565b8151818111610c9e57836111df91840161117b565b84526020820151908111610c9e57810182601f82011215610c9e5760409281602061120c93519101611144565b602084015201516006811015610c9e57604082015290565b90600182811c92168015611254575b602083101461123e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611233565b9060405191826000825461127181611224565b908184526020946001916001811690816000146112df57506001146112a0575b50505061117992500383610df1565b600090815285812095935091905b8183106112c75750506111799350820101388080611291565b855488840185015294850194879450918301916112ae565b9250505061117994925060ff191682840152151560051b820101388080611291565b9190820180921161130e57565b634e487b7160e01b600052601160045260246000fd5b906060602060405161133581610d83565b60405161134181610d83565b83815261134c6110fe565b81840152815201526008546001600160a01b0316611396600061136d61108a565b61081d602161137d36888a610e82565b604051938161039b869351809260208087019101610ca3565b0381855afa80156116b1576113b2916000916116bd5750611784565b926113d060006113c06110d8565b61081d602161137d368988610e82565b0381865afa80156116b1576113ec916000916116bd5750611784565b61140960006113f9610f59565b61081d602161137d368a89610e82565b0381875afa80156116b157611425916000916116bd5750611784565b6114426000611432610e2d565b61081d602161137d368b8a610e82565b0381885afa80156116b15761145e916000916116bd5750611784565b61147b600061146b610ed7565b61081d602161137d368c8b610e82565b0381895afa80156116b157611497916000916116bd5750611784565b6114b460006114a4610f2b565b61081d602161137d368d8c610e82565b03818a5afa80156116b1576114d0916000916116bd5750611784565b906114ee60006114de6110b2565b61081d602161137d368e8d610e82565b03818b5afa80156116b15761150a916000916116bd5750611784565b9261152a60008a61081d602161137d8c611522610f03565b943691610e82565b03818c5afa80156116b15761154791600091611696575b506116d2565b9461155f60008b61081d602161137d8d611522610e57565b03818d5afa80156116b15761157b916000916116bd5750611784565b966040519b6115898d610d9e565b8c5260208c015260408b015260608a0152608089015260a088015260c087015260e0860152610100850152604051936115c185610d83565b6115cc368584610e82565b855260208501526115db610f92565b9236906115e792610e82565b6040519281849251908160208501916020019161160392610ca3565b820160208101601760f91b90528151918260218301916020019161162692610ca3565b010360018101835260210161163b9083610df1565b604051808093632591ac6b60e21b825260048201602090526024820161166091610cc6565b03815a93600094fa80156116b15761167f9160009161169657506116d2565b6040519161168c83610d83565b8252602082015290565b6116ab91503d806000833e610a958183610df1565b38611541565b6040513d6000823e3d90fd5b610a9d91503d806000833e610a958183610df1565b604081018051600681101561176e576003036117215750602001518051810190602081830312610c9e576020810151916001600160401b038311610c9e57610ed492602080920192010161117b565b9051905190600682101561176e5760405163381af4c560e11b81526060600482015291829161176a90611758906064850190610cc6565b9160036024850152604484019061182b565b0390fd5b634e487b7160e01b600052602160045260246000fd5b604081018051600681101561176e576002036117c25750602001516020815191015190602081106117b3575090565b6000199060200360031b1b1690565b9051905190600682101561176e5760405163381af4c560e11b81526060600482015291829161176a906117f9906064850190610cc6565b9160026024850152604484019061182b565b61182390602060405192828480945193849201610ca3565b810103902090565b90600682101561176e5752565b8051519061184582612068565b15611c8757805160200151600854604051906001600160a01b031661186982610d54565b6118cc835161187661108a565b906118c7602160405180948b6118958151809260208087019101610ca3565b601760f91b602082850101526118b682518093602087858801019101610ca3565b820101036001810185520183610df1565b6120fe565b82526118fd60208401516118de6110d8565b906118c7602160405180948b610a0c8151809260208087019101610ca3565b602083015261191260408401516118de610f59565b604083015261192760608401516118de610e2d565b606083015261193c60808401516118de610ed7565b608083015261195160a08401516118de610f2b565b60a083015261196660c08401516118de6110b2565b60c083015261199f60e084015161197b610f03565b9061199a602160405180948b610a0c8151809260208087019101610ca3565b61213b565b60e08301526119b56101008401516118de610e57565b6101008301526119cb602085015161197b610f92565b610120830152604051916119de83610dd5565b600a835260005b6101408110611c7057508061012091516119fe85611fc8565b52611a0884611fc8565b506020810151611a1785611fd5565b52611a2184611fd5565b506040810151611a3085611fe5565b52611a3a84611fe5565b506060810151611a4985611ff5565b52611a5384611ff5565b506080810151611a6285612005565b52611a6c84612005565b5060a0810151611a7b85612015565b52611a8584612015565b5060c0810151611a9485612025565b52611a9e84612025565b5060e0810151611aad85612035565b52611ab784612035565b50610100810151611ac785612046565b52611ad184612046565b500151611add83612057565b52611ae782612057565b50803b15610c9e57604051809263cabc429d60e01b8252602482016020600484015281518091526044830190602060448260051b8601019301916000905b828210611c1157505050509181600081819503925af180156116b1577f92ed22251f1ecf1a723c270e33985b752c0362c733cf212443feef3cf104df1b93611b7892602092611c02575b5001519361180b565b92611bfd60405192839260408452815160408501526020820151606085015260408201516080850152606082015160a0850152608082015160c085015260a082015160e085015260c0820151610100850152610100611be760e084015161012080880152610160870190610cc6565b9201516101408501528382036020850152610cc6565b0390a2565b611c0b90610d70565b38611b6f565b9193600191939550602080916043198a8203018552611c60885191604080611c55611c458651606086526060860190610cc6565b8787015185820389870152610cc6565b94015191019061182b565b9601920192018694939192611b25565b602090611c7b6120dd565b828287010152016119e5565b60405162461bcd60e51b815260206004820152603260248201527f5b5147444b2d3031383030305d2d54686520766f74696e67207369747561746960448201527137b71030b63932b0b23c9032bc34b9ba399760711b6064820152608490fd5b600954811015611d1e5760096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190600090565b634e487b7160e01b600052603260045260246000fd5b818110611d3f575050565b60008155600101611d34565b90929192611e555782516001600160401b0381116101d057611d6d8254611224565b601f8111611e18575b50602080601f8311600114611db3575081929394600092611da8575b50508160011b916000199060031b1c1916179055565b015190503880611d92565b90601f19831695846000526020600020926000905b888210611e0057505083600195969710611de7575b505050811b019055565b015160001960f88460031b161c19169055388080611ddd565b80600185968294968601518155019501930190611dc8565b611e4590836000526020600020601f840160051c81019160208510611e4b575b601f0160051c0190611d34565b38611d76565b9091508190611e38565b634e487b7160e01b600052600060045260246000fd5b60405190805191602090818181850195611e86818389610ca3565b600a90820190815203019020548015611fbf576000199080820181811161130e576009549083820191821161130e578085918303611f6e575b505050506009548015611f58570192611ed784611ce7565b939093611e555760009484611eef611f0c9654611224565b9081611f1c575b5050600955604051938492839251928391610ca3565b8101600a81520301902055600190565b81601f899311600114611f335750555b3880611ef6565b908083918252611f51601f898420940160051c840160018501611d34565b5555611f2c565b634e487b7160e01b600052603160045260246000fd5b611f98611f9291611f8a611f84611fab96611ce7565b5061125e565b928391611ce7565b90611d4b565b8160405193828580945193849201610ca3565b8101600a8152030190205538808381611ebf565b50505050600090565b805115611d1e5760200190565b805160011015611d1e5760400190565b805160021015611d1e5760600190565b805160031015611d1e5760800190565b805160041015611d1e5760a00190565b805160051015611d1e5760c00190565b805160061015611d1e5760e00190565b805160071015611d1e576101000190565b805160081015611d1e576101200190565b805160091015611d1e576101400190565b60405181519060208181850193612080818387610ca3565b8101600a81520301902054156000146120d657600954680100000000000000008110156101d057611f0c916120c184611f9284600160209601600955611ce7565b60095493604051938492839251928391610ca3565b5050600090565b604051906120ea82610dba565b600060408360608152606060208201520152565b6121066120dd565b506040519060208201526020815261211d81610d83565b6040519161212a83610dba565b825260208201526002604082015290565b61216f6121619161214a6120dd565b506040519283916020808401526040830190610cc6565b03601f198101835282610df1565b6040519161217c83610dba565b82526020820152600360408201529056fea164736f6c6343000818000a",
"linkReferences": {},
"deployedLinkReferences": {}
}