[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_vestingDuration", "type": "uint256" }, { "internalType": "address", "name": "_esToken", "type": "address" }, { "internalType": "address", "name": "_pairToken", "type": "address" }, { "internalType": "address", "name": "_claimableToken", "type": "address" }, { "internalType": "address", "name": "_rewardTracker", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Claim", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "PairTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "claimedAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "bonusRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claim", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "name": "claimForAccount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "claimable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimableToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "claimedAmounts", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "cumulativeClaimAmounts", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "cumulativeRewardDeductions", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "depositForAccount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "esToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getCombinedAverageStakedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getMaxVestableAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_esAmount", "type": "uint256" } ], "name": "getPairAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getTotalVested", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getVestedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gov", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "hasMaxVestableAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "hasPairToken", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "hasRewardTracker", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isHandler", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lastVestingTimes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "pairAmounts", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardTracker", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setBonusRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setCumulativeRewardDeductions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_gov", "type": "address" } ], "name": "setGov", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_handler", "type": "address" }, { "internalType": "bool", "name": "_isActive", "type": "bool" } ], "name": "setHandler", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_hasMaxVestableAmount", "type": "bool" } ], "name": "setHasMaxVestableAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTransferredAverageStakedAmounts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTransferredCumulativeRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "name": "transferStakeValues", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "transferredAverageStakedAmounts", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "transferredCumulativeRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "vestingDuration", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdrawToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526004805460ff191660121790553480156200001e57600080fd5b506040516200285a3803806200285a833981810160405260e08110156200004457600080fd5b81019080805160405193929190846401000000008211156200006557600080fd5b9083019060208201858111156200007b57600080fd5b82516401000000008111828201881017156200009657600080fd5b82525081516020918201929091019080838360005b83811015620000c5578181015183820152602001620000ab565b50505050905090810190601f168015620000f35780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011757600080fd5b9083019060208201858111156200012d57600080fd5b82516401000000008111828201881017156200014857600080fd5b82525081516020918201929091019080838360005b83811015620001775781810151838201526020016200015d565b50505050905090810190601f168015620001a55780820380516001836020036101000a031916815260200191505b506040908152602082810151918301516060840151608085015160a0909501516001600081905580546001600160a01b03191633179055895194975091955093929091620001f9916002918a019062000280565b5085516200020f90600390602089019062000280565b506005859055600680546001600160a01b03199081166001600160a01b038781169190911790925560078054821686841617905560088054821685841617905560098054909116838316179081905516156200027357600c805460ff191660011790555b505050505050506200031c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002c357805160ff1916838001178555620002f3565b82800160010185558215620002f3579182015b82811115620002f3578251825591602001919060010190620002d6565b506200030192915062000305565b5090565b5b8082111562000301576000815560010162000306565b61252e806200032c6000396000f3fe608060405234801561001057600080fd5b506004361061023b5760003560e01c806301e336671461024057806306fdde031461027857806308f26c76146102f5578063095ea7b31461032d5780630db9ea4a1461036d57806312d43a511461039357806313e82e7a146103b75780631514617e146103e557806315e90a41146103ed57806316ca05c5146103f557806318160ddd146103fd57806323b872dd1461040557806327e235e31461043b578063313ce56714610461578063342fcda91461047f578063387a785d146104ab5780633ccfd60b146104d15780633de35b79146104d9578063402914f5146104e157806341f227241461050757806345f01ee61461053357806346ea87af146105595780634e71d92d1461057f5780635d50e7291461058757806369de9b93146105ad5780636bcb411a146105cc57806370a08231146105d457806371417b32146105fa5780637337035c146106205780637cf8f3b214610646578063930354731461067257806395d89b41146106985780639cb7de4b146106a0578063a2545fa5146106ce578063a9059cbb1461032d578063acf077a5146106f4578063b5ff136d146106fc578063b6b55f2514610722578063b71bce2a1461073f578063cfad57a214610765578063d0b038b71461078b578063d5a73fdd146107b7578063d75abb57146107dd578063d89b7007146107e5578063dd62ed3e14610811578063e3ecc4b21461083f578063f421f62a1461086b578063f6d6d5aa14610873578063f713c2301461087b575b600080fd5b6102766004803603606081101561025657600080fd5b506001600160a01b038135811691602081013590911690604001356108a9565b005b61028061090f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ba5781810151838201526020016102a2565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031b6004803603602081101561030b57600080fd5b50356001600160a01b031661099a565b60408051918252519081900360200190f35b6103596004803603604081101561034357600080fd5b506001600160a01b038135169060200135610aa3565b604080519115158252519081900360200190f35b61031b6004803603602081101561038357600080fd5b50356001600160a01b0316610aee565b61039b610b00565b604080516001600160a01b039092168252519081900360200190f35b61031b600480360360408110156103cd57600080fd5b506001600160a01b0381358116916020013516610b0f565b61031b610b7a565b61031b610b80565b61039b610b86565b61031b610b95565b6103596004803603606081101561041b57600080fd5b506001600160a01b03813581169160208101359091169060400135610aa3565b61031b6004803603602081101561045157600080fd5b50356001600160a01b0316610b9b565b610469610bad565b6040805160ff9092168252519081900360200190f35b6102766004803603604081101561049557600080fd5b506001600160a01b038135169060200135610bb6565b61031b600480360360208110156104c157600080fd5b50356001600160a01b0316610c1c565b610276610c2e565b61039b610df1565b61031b600480360360208110156104f757600080fd5b50356001600160a01b0316610e00565b6102766004803603604081101561051d57600080fd5b506001600160a01b038135169060200135610e51565b61031b6004803603602081101561054957600080fd5b50356001600160a01b0316610ec7565b6103596004803603602081101561056f57600080fd5b50356001600160a01b0316611039565b61031b61104e565b61031b6004803603602081101561059d57600080fd5b50356001600160a01b03166110af565b610276600480360360208110156105c357600080fd5b503515156110c1565b61039b611121565b61031b600480360360208110156105ea57600080fd5b50356001600160a01b0316611130565b61031b6004803603602081101561061057600080fd5b50356001600160a01b031661114b565b61031b6004803603602081101561063657600080fd5b50356001600160a01b031661115d565b61031b6004803603604081101561065c57600080fd5b506001600160a01b03813516906020013561116f565b61031b6004803603602081101561068857600080fd5b50356001600160a01b03166111d7565b610280611204565b610276600480360360408110156106b657600080fd5b506001600160a01b038135169060200135151561125f565b61031b600480360360208110156106e457600080fd5b50356001600160a01b03166112d7565b6103596112e9565b61031b6004803603602081101561071257600080fd5b50356001600160a01b03166112f2565b6102766004803603602081101561073857600080fd5b5035611304565b61031b6004803603602081101561075557600080fd5b50356001600160a01b0316611361565b6102766004803603602081101561077b57600080fd5b50356001600160a01b0316611373565b610276600480360360408110156107a157600080fd5b506001600160a01b0381351690602001356113e2565b61031b600480360360208110156107cd57600080fd5b50356001600160a01b0316611458565b610359611486565b610276600480360360408110156107fb57600080fd5b506001600160a01b038135169060200135611497565b61031b6004803603604081101561082757600080fd5b506001600160a01b038135811691602001351661150d565b6102766004803603604081101561085557600080fd5b506001600160a01b038135169060200135611515565b61035961158b565b61039b61159c565b6102766004803603604081101561089157600080fd5b506001600160a01b03813581169160200135166115ab565b6001546001600160a01b031633146108f6576040805162461bcd60e51b815260206004820152601560248201526000805160206123c5833981519152604482015290519081900360640190fd5b61090a6001600160a01b0384168383611714565b505050565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156109925780601f1061096757610100808354040283529160200191610992565b820191906000526020600020905b81548152906001019060200180831161097557829003601f168201915b505050505081565b60006109a461158b565b6109b057506000610a9e565b6001600160a01b0380831660008181526013602090815260408083205460158352818420546009548351633792def360e01b81526004810197909752925191969095921692633792def39260248082019391829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b505190506000610a5a83610a548487611766565b90611766565b6001600160a01b03871660009081526014602052604090205490915080821015610a8c57600095505050505050610a9e565b610a9682826117c5565b955050505050505b919050565b6040805162461bcd60e51b81526020600482015260196024820152785665737465723a206e6f6e2d7472616e736665727261626c6560381b6044820152905160009181900360640190fd5b60116020526000908152604090205481565b6001546001600160a01b031681565b600060026000541415610b57576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b6002600055610b64611807565b610b6e8383611861565b60016000559392505050565b60055481565b600b5481565b6006546001600160a01b031681565b600a5481565b600d6020526000908152604090205481565b60045460ff1681565b60026000541415610bfc576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b6002600055610c09611807565b610c138282611914565b50506001600055565b60146020526000908152604090205481565b60026000541415610c74576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b60026000553380610c858180611861565b506001600160a01b0382166000908152600f6020908152604080832054600d9092528220549091610cb68284611766565b905060008111610d0d576040805162461bcd60e51b815260206004820152601d60248201527f5665737465723a2076657374656420616d6f756e74206973207a65726f000000604482015290519081900360640190fd5b610d15611486565b15610d56576001600160a01b0385166000908152600e6020526040902054610d3d8682611ab6565b600754610d54906001600160a01b03168683611714565b505b600654610d6d906001600160a01b03168584611714565b610d778583611b94565b6001600160a01b0385166000818152600f6020908152604080832083905560108252808320839055601182528083209290925581519283528201859052818101849052517ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360600190a150506001600055505050565b6007546001600160a01b031681565b6001600160a01b038116600090815260106020908152604080832054600f9092528220548291610e3091906117c5565b90506000610e3d84611c72565b9050610e498282611766565b949350505050565b60026000541415610e97576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b6002600055610ea4611807565b6001600160a01b0390911660009081526015602052604081209190915560019055565b60095460408051633792def360e01b81526001600160a01b038481166004830152915160009384931691633792def3916024808301926020929190829003018186803b158015610f1657600080fd5b505afa158015610f2a573d6000803e3d6000fd5b505050506040513d6020811015610f4057600080fd5b50516001600160a01b038416600090815260136020526040812054919250610f688383611766565b905080610f7b5760009350505050610a9e565b6009546040805163a318021760e01b81526001600160a01b0388811660048301529151600093929092169163a318021791602480820192602092909190829003018186803b158015610fcc57600080fd5b505afa158015610fe0573d6000803e3d6000fd5b505050506040513d6020811015610ff657600080fd5b50516001600160a01b038716600090815260126020526040902054909150610a9661102b846110258488611d0b565b90611d64565b610a5485611025868a611d0b565b60166020526000908152604090205460ff1681565b600060026000541415611096576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b60026000556110a53380611861565b9050600160005590565b600e6020526000908152604090205481565b6001546001600160a01b0316331461110e576040805162461bcd60e51b815260206004820152601560248201526000805160206123c5833981519152604482015290519081900360640190fd5b600c805460ff1916911515919091179055565b6009546001600160a01b031681565b6001600160a01b03166000908152600d602052604090205490565b60106020526000908152604090205481565b60126020526000908152604090205481565b600061117961158b565b611185575060006111d1565b600061119084610ec7565b9050806111a15760009150506111d1565b60006111ac8561099a565b9050806111be576000925050506111d1565b6111cc816110258685611d0b565b925050505b92915050565b6001600160a01b0381166000908152600f6020908152604080832054600d9092528220546111d191611766565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109925780601f1061096757610100808354040283529160200191610992565b6001546001600160a01b031633146112ac576040805162461bcd60e51b815260206004820152601560248201526000805160206123c5833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b60156020526000908152604090205481565b600c5460ff1681565b600f6020526000908152604090205481565b6002600054141561134a576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b60026000556113593382611914565b506001600055565b60136020526000908152604090205481565b6001546001600160a01b031633146113c0576040805162461bcd60e51b815260206004820152601560248201526000805160206123c5833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60026000541415611428576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b6002600055611435611807565b6001600160a01b0390911660009081526013602052604081209190915560019055565b6001600160a01b0381166000908152600d6020908152604080832054600f909252822054610e498282611766565b6007546001600160a01b0316151590565b600260005414156114dd576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b60026000556114ea611807565b6001600160a01b0390911660009081526014602052604081209190915560019055565b600092915050565b6002600054141561155b576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b6002600055611568611807565b6001600160a01b0390911660009081526012602052604081209190915560019055565b6009546001600160a01b0316151590565b6008546001600160a01b031681565b600260005414156115f1576040805162461bcd60e51b815260206004820152601f60248201526000805160206123a5833981519152604482015290519081900360640190fd5b60026000556115fe611807565b61160782610ec7565b6001600160a01b0380831660009081526012602090815260408083209490945585831680835284832083905560138252848320546009548651633792def360e01b815260048101939093529551909593949390931692633792def392602480840193919291829003018186803b15801561168057600080fd5b505afa158015611694573d6000803e3d6000fd5b505050506040513d60208110156116aa57600080fd5b505190506116b88282611766565b6001600160a01b0393841660008181526013602081815260408084209590955597909616808252601488528382209490945594865281852085905560159095528084208054958552908420949094558252509081905560019055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261090a908490611da3565b6000828201838110156117be576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b9392505050565b60006117be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e54565b3360009081526016602052604090205460ff1661185f576040805162461bcd60e51b81526020600482015260116024820152702b32b9ba32b91d103337b93134b23232b760791b604482015290519081900360640190fd5b565b600061186c83611eeb565b600061187784610e00565b6001600160a01b03851660009081526010602052604090205490915061189d9082611766565b6001600160a01b038086166000908152601060205260409020919091556008546118c991168483611714565b604080516001600160a01b03861681526020810183905281517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4929181900390910190a19392505050565b60008111611963576040805162461bcd60e51b815260206004820152601760248201527615995cdd195c8e881a5b9d985b1a590817d85b5bdd5b9d604a1b604482015290519081900360640190fd5b61196c82611eeb565b600654611984906001600160a01b0316833084611fc9565b61198e8282612029565b611996611486565b15611a0d576001600160a01b0382166000908152600e6020908152604080832054600d9092528220549091906119cd90859061116f565b905081811115611a0a5760006119e382846117c5565b6007549091506119fe906001600160a01b0316863084611fc9565b611a0885826120eb565b505b50505b600c5460ff1615611a6e576000611a238361099a565b905080611a2f846111d7565b1115611a6c5760405162461bcd60e51b815260040180806020018281038252602481526020018061244b6024913960400191505060405180910390fd5b505b604080516001600160a01b03841681526020810183905281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15050565b6001600160a01b038216611afb5760405162461bcd60e51b81526004018080602001828103825260228152602001806124086022913960400191505060405180910390fd5b611b38816040518060600160405280602381526020016123e5602391396001600160a01b0385166000908152600e60205260409020549190611e54565b6001600160a01b0383166000908152600e6020526040902055600b54611b5e90826117c5565b600b556040805182815290516000916001600160a01b038516916000805160206124d98339815191529181900360200190a35050565b6001600160a01b038216611bd95760405162461bcd60e51b81526004018080602001828103825260228152602001806124086022913960400191505060405180910390fd5b611c16816040518060600160405280602381526020016123e5602391396001600160a01b0385166000908152600d60205260409020549190611e54565b6001600160a01b0383166000908152600d6020526040902055600a54611c3c90826117c5565b600a556040805182815290516000916001600160a01b0385169160008051602061246f8339815191529181900360200190a35050565b6001600160a01b0381166000908152601160205260408120548190611c989042906117c5565b6001600160a01b0384166000908152600d602052604090205490915080611cc457600092505050610a9e565b6000611ccf85611458565b90506000611cec6005546110258685611d0b90919063ffffffff16565b905082811015611d01579350610a9e92505050565b5090949350505050565b600082611d1a575060006111d1565b82820282848281611d2757fe5b04146117be5760405162461bcd60e51b815260040180806020018281038252602181526020018061242a6021913960400191505060405180910390fd5b60006117be83836040518060400160405280601a815260200179536166654d6174683a206469766973696f6e206279207a65726f60301b8152506121ad565b6060611df8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122129092919063ffffffff16565b80519091501561090a57808060200190516020811015611e1757600080fd5b505161090a5760405162461bcd60e51b815260040180806020018281038252602a8152602001806124af602a913960400191505060405180910390fd5b60008184841115611ee35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ea8578181015183820152602001611e90565b50505050905090810190601f168015611ed55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000611ef682611c72565b6001600160a01b0383166000908152601160205260409020429055905080611f1e5750611fc6565b611f288282611b94565b6001600160a01b0382166000908152600f6020526040902054611f4b9082611766565b6001600160a01b038084166000908152600f6020526040808220939093556006548351632770a7eb60e21b8152306004820152602481018690529351921692639dc29fac926044808301939282900301818387803b158015611fac57600080fd5b505af1158015611fc0573d6000803e3d6000fd5b50505050505b50565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612023908590611da3565b50505050565b6001600160a01b038216612072576040805162461bcd60e51b8152602060048201819052602482015260008051602061248f833981519152604482015290519081900360640190fd5b600a5461207f9082611766565b600a556001600160a01b0382166000908152600d60205260409020546120a59082611766565b6001600160a01b0383166000818152600d6020908152604080832094909455835185815293519293919260008051602061246f8339815191529281900390910190a35050565b6001600160a01b038216612134576040805162461bcd60e51b8152602060048201819052602482015260008051602061248f833981519152604482015290519081900360640190fd5b600b546121419082611766565b600b556001600160a01b0382166000908152600e60205260409020546121679082611766565b6001600160a01b0383166000818152600e602090815260408083209490945583518581529351929391926000805160206124d98339815191529281900390910190a35050565b600081836121fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611ea8578181015183820152602001611e90565b50600083858161220857fe5b0495945050505050565b6060610e4984846000858561222685612338565b612277576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106122b65780518252601f199092019160209182019101612297565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612318576040519150601f19603f3d011682016040523d82523d6000602084013e61231d565b606091505b509150915061232d82828661233e565b979650505050505050565b3b151590565b6060831561234d5750816117be565b82511561235d5782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611ea8578181015183820152602001611e9056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c00476f7665726e61626c653a20666f7262696464656e00000000000000000000005665737465723a206275726e20616d6f756e7420657863656564732062616c616e63655665737465723a206275726e2066726f6d20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775665737465723a206d6178207665737461626c6520616d6f756e74206578636565646564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5665737465723a206d696e7420746f20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564659523c479d006050ebc0d0e48fea36d1b2c5d45b2f31402ac6f8671fc84cc04a264697066735822122072c3218511fa01b8bf2e12e0c16eda90a7ab1fbad1c4b4431509a2b93176a87264736f6c634300060c003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001518000000000000000000000000002338bf5bdc928265d89a68369ae49440f21d9ce000000000000000000000000488b45a9b9eee0be73bc408fe7192ace755621c500000000000000000000000078c2396fab3312cf5844fed381e705ef51d8a5220000000000000000000000007dd61825e3933ba2b2c0eba98d7663a9a238446f000000000000000000000000000000000000000000000000000000000000000a56657374656420544d5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000476544d5800000000000000000000000000000000000000000000000000000000