[ { "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": "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": "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" } ]
60806040526004805460ff191660121790553480156200001e57600080fd5b50604051620027d2380380620027d2833981810160405260e08110156200004457600080fd5b81019080805160405193929190846401000000008211156200006557600080fd5b9083019060208201858111156200007b57600080fd5b82516401000000008111828201881017156200009657600080fd5b82525081516020918201929091019080838360005b83811015620000c5578181015183820152602001620000ab565b50505050905090810190601f168015620000f35780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011757600080fd5b9083019060208201858111156200012d57600080fd5b82516401000000008111828201881017156200014857600080fd5b82525081516020918201929091019080838360005b83811015620001775781810151838201526020016200015d565b50505050905090810190601f168015620001a55780820380516001836020036101000a031916815260200191505b506040908152602082810151918301516060840151608085015160a0909501516001600081905580546001600160a01b03191633179055895194975091955093929091620001f9916002918a01906200026b565b5085516200020f9060039060208901906200026b565b50600594909455600680546001600160a01b03199081166001600160a01b039586161790915560078054821693851693909317909255600880548316918416919091179055600980549091169190921617905550620003079050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ae57805160ff1916838001178555620002de565b82800160010185558215620002de579182015b82811115620002de578251825591602001919060010190620002c1565b50620002ec929150620002f0565b5090565b5b80821115620002ec5760008155600101620002f1565b6124bb80620003176000396000f3fe608060405234801561001057600080fd5b50600436106102255760003560e01c806301e336671461022a57806306fdde031461026257806308f26c76146102df578063095ea7b3146103175780630db9ea4a1461035757806312d43a511461037d57806313e82e7a146103a15780631514617e146103cf57806315e90a41146103d757806316ca05c5146103df57806318160ddd146103e757806323b872dd146103ef57806327e235e314610425578063313ce5671461044b578063342fcda914610469578063387a785d146104955780633ccfd60b146104bb5780633de35b79146104c3578063402914f5146104cb57806341f22724146104f157806345f01ee61461051d57806346ea87af146105435780634e71d92d146105695780635d50e729146105715780636bcb411a1461059757806370a082311461059f57806371417b32146105c55780637337035c146105eb5780637cf8f3b214610611578063930354731461063d57806395d89b41146106635780639cb7de4b1461066b578063a2545fa514610699578063a9059cbb14610317578063b5ff136d146106bf578063b6b55f25146106e5578063b71bce2a14610702578063cfad57a214610728578063d0b038b71461074e578063d5a73fdd1461077a578063d75abb57146107a0578063d89b7007146107a8578063dd62ed3e146107d4578063e3ecc4b214610802578063f421f62a1461082e578063f6d6d5aa14610836578063f713c2301461083e575b600080fd5b6102606004803603606081101561024057600080fd5b506001600160a01b0381358116916020810135909116906040013561086c565b005b61026a6108dc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a457818101518382015260200161028c565b50505050905090810190601f1680156102d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610305600480360360208110156102f557600080fd5b50356001600160a01b0316610967565b60408051918252519081900360200190f35b6103436004803603604081101561032d57600080fd5b506001600160a01b038135169060200135610a76565b604080519115158252519081900360200190f35b6103056004803603602081101561036d57600080fd5b50356001600160a01b0316610ac1565b610385610ad3565b604080516001600160a01b039092168252519081900360200190f35b610305600480360360408110156103b757600080fd5b506001600160a01b0381358116916020013516610ae2565b610305610b4d565b610305610b53565b610385610b59565b610305610b68565b6103436004803603606081101561040557600080fd5b506001600160a01b03813581169160208101359091169060400135610a76565b6103056004803603602081101561043b57600080fd5b50356001600160a01b0316610b6e565b610453610b80565b6040805160ff9092168252519081900360200190f35b6102606004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b89565b610305600480360360208110156104ab57600080fd5b50356001600160a01b0316610bef565b610260610c01565b610385610dc4565b610305600480360360208110156104e157600080fd5b50356001600160a01b0316610dd3565b6102606004803603604081101561050757600080fd5b506001600160a01b038135169060200135610e24565b6103056004803603602081101561053357600080fd5b50356001600160a01b0316610e9a565b6103436004803603602081101561055957600080fd5b50356001600160a01b0316611035565b61030561104a565b6103056004803603602081101561058757600080fd5b50356001600160a01b03166110ab565b6103856110bd565b610305600480360360208110156105b557600080fd5b50356001600160a01b03166110cc565b610305600480360360208110156105db57600080fd5b50356001600160a01b03166110e7565b6103056004803603602081101561060157600080fd5b50356001600160a01b03166110f9565b6103056004803603604081101561062757600080fd5b506001600160a01b03813516906020013561110b565b6103056004803603602081101561065357600080fd5b50356001600160a01b0316611173565b61026a6111a0565b6102606004803603604081101561068157600080fd5b506001600160a01b03813516906020013515156111fb565b610305600480360360208110156106af57600080fd5b50356001600160a01b031661127d565b610305600480360360208110156106d557600080fd5b50356001600160a01b031661128f565b610260600480360360208110156106fb57600080fd5b50356112a1565b6103056004803603602081101561071857600080fd5b50356001600160a01b03166112fe565b6102606004803603602081101561073e57600080fd5b50356001600160a01b0316611310565b6102606004803603604081101561076457600080fd5b506001600160a01b038135169060200135611389565b6103056004803603602081101561079057600080fd5b50356001600160a01b03166113ff565b61034361142d565b610260600480360360408110156107be57600080fd5b506001600160a01b03813516906020013561143e565b610305600480360360408110156107ea57600080fd5b506001600160a01b03813581169160200135166114b4565b6102606004803603604081101561081857600080fd5b506001600160a01b0381351690602001356114bc565b610343611532565b610385611543565b6102606004803603604081101561085457600080fd5b506001600160a01b0381358116916020013516611552565b6001546001600160a01b031633146108c3576040805162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b604482015290519081900360640190fd5b6108d76001600160a01b03841683836116d8565b505050565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561095f5780601f106109345761010080835404028352916020019161095f565b820191906000526020600020905b81548152906001019060200180831161094257829003601f168201915b505050505081565b6001600160a01b038116600090815260126020908152604080832054601490925282205482610996838361172a565b90506109a0611532565b15610a325760095460408051633792def360e01b81526001600160a01b03888116600483015291516000939290921691633792def391602480820192602092909190829003018186803b1580156109f657600080fd5b505afa158015610a0a573d6000803e3d6000fd5b505050506040513d6020811015610a2057600080fd5b50519050610a2e828261172a565b9150505b6001600160a01b03851660009081526013602052604090205480821015610a60576000945050505050610a71565b610a6a8282611789565b9450505050505b919050565b6040805162461bcd60e51b81526020600482015260196024820152785665737465723a206e6f6e2d7472616e736665727261626c6560381b6044820152905160009181900360640190fd5b60106020526000908152604090205481565b6001546001600160a01b031681565b600060026000541415610b2a576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b6002600055610b376117cb565b610b418383611825565b60016000559392505050565b60055481565b600b5481565b6006546001600160a01b031681565b600a5481565b600c6020526000908152604090205481565b60045460ff1681565b60026000541415610bcf576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b6002600055610bdc6117cb565b610be682826118d8565b50506001600055565b60136020526000908152604090205481565b60026000541415610c47576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b60026000553380610c588180611825565b506001600160a01b0382166000908152600e6020908152604080832054600c9092528220549091610c89828461172a565b905060008111610ce0576040805162461bcd60e51b815260206004820152601d60248201527f5665737465723a2076657374656420616d6f756e74206973207a65726f000000604482015290519081900360640190fd5b610ce861142d565b15610d29576001600160a01b0385166000908152600d6020526040902054610d108682611a6e565b600754610d27906001600160a01b031686836116d8565b505b600654610d40906001600160a01b031685846116d8565b610d4a8583611b4c565b6001600160a01b0385166000818152600e60209081526040808320839055600f8252808320839055601082528083209290925581519283528201859052818101849052517ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360600190a150506001600055505050565b6007546001600160a01b031681565b6001600160a01b0381166000908152600f6020908152604080832054600e9092528220548291610e039190611789565b90506000610e1084611c2a565b9050610e1c828261172a565b949350505050565b60026000541415610e6a576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b6002600055610e776117cb565b6001600160a01b0390911660009081526014602052604081209190915560019055565b6000610ea4611532565b610eb057506000610a71565b60095460408051633792def360e01b81526001600160a01b03858116600483015291516000939290921691633792def391602480820192602092909190829003018186803b158015610f0157600080fd5b505afa158015610f15573d6000803e3d6000fd5b505050506040513d6020811015610f2b57600080fd5b50516001600160a01b038416600090815260126020526040812054919250610f53838361172a565b905080610f665760009350505050610a71565b6009546040805163a318021760e01b81526001600160a01b0388811660048301529151600093929092169163a318021791602480820192602092909190829003018186803b158015610fb757600080fd5b505afa158015610fcb573d6000803e3d6000fd5b505050506040513d6020811015610fe157600080fd5b50516001600160a01b03871660009081526011602052604090205490915061102a611016846110108488611cc3565b90611d1c565b61102485611010868a611cc3565b9061172a565b979650505050505050565b60156020526000908152604090205460ff1681565b600060026000541415611092576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b60026000556110a13380611825565b9050600160005590565b600d6020526000908152604090205481565b6009546001600160a01b031681565b6001600160a01b03166000908152600c602052604090205490565b600f6020526000908152604090205481565b60116020526000908152604090205481565b6000611115611532565b6111215750600061116d565b600061112c84610e9a565b90508061113d57600091505061116d565b600061114885610967565b90508061115a5760009250505061116d565b611168816110108685611cc3565b925050505b92915050565b6001600160a01b0381166000908152600e6020908152604080832054600c90925282205461116d9161172a565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561095f5780601f106109345761010080835404028352916020019161095f565b6001546001600160a01b03163314611252576040805162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b604482015290519081900360640190fd5b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b60146020526000908152604090205481565b600e6020526000908152604090205481565b600260005414156112e7576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b60026000556112f633826118d8565b506001600055565b60126020526000908152604090205481565b6001546001600160a01b03163314611367576040805162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600260005414156113cf576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b60026000556113dc6117cb565b6001600160a01b0390911660009081526012602052604081209190915560019055565b6001600160a01b0381166000908152600c6020908152604080832054600e909252822054610e1c828261172a565b6007546001600160a01b0316151590565b60026000541415611484576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b60026000556114916117cb565b6001600160a01b0390911660009081526013602052604081209190915560019055565b600092915050565b60026000541415611502576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b600260005561150f6117cb565b6001600160a01b0390911660009081526011602052604081209190915560019055565b6009546001600160a01b0316151590565b6008546001600160a01b031681565b60026000541415611598576040805162461bcd60e51b815260206004820152601f6024820152600080516020612352833981519152604482015290519081900360640190fd5b60026000556115a56117cb565b6115ae82610e9a565b6001600160a01b038083166000908152601160209081526040808320949094559185168152828120819055601290915290812054906115eb611532565b6115f6576000611670565b60095460408051633792def360e01b81526001600160a01b03878116600483015291519190921691633792def3916024808301926020929190829003018186803b15801561164357600080fd5b505afa158015611657573d6000803e3d6000fd5b505050506040513d602081101561166d57600080fd5b50515b905061167c828261172a565b6001600160a01b0393841660008181526012602081815260408084209590955597909616808252601388528382209490945594865281852085905560149095528084208054958552908420949094558252509081905560019055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526108d7908490611d5b565b600082820183811015611782576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b9392505050565b600061178283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0c565b3360009081526015602052604090205460ff16611823576040805162461bcd60e51b81526020600482015260116024820152702b32b9ba32b91d103337b93134b23232b760791b604482015290519081900360640190fd5b565b600061183083611ea3565b600061183b84610dd3565b6001600160a01b0385166000908152600f6020526040902054909150611861908261172a565b6001600160a01b038086166000908152600f602052604090209190915560085461188d911684836116d8565b604080516001600160a01b03861681526020810183905281517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4929181900390910190a19392505050565b60008111611927576040805162461bcd60e51b815260206004820152601760248201527615995cdd195c8e881a5b9d985b1a590817d85b5bdd5b9d604a1b604482015290519081900360640190fd5b61193082611ea3565b600654611948906001600160a01b0316833084611f81565b6119528282611fe1565b61195a61142d565b156119d1576001600160a01b0382166000908152600d6020908152604080832054600c90925282205490919061199190859061110b565b9050818111156119ce5760006119a78284611789565b6007549091506119c2906001600160a01b0316863084611f81565b6119cc85826120a3565b505b50505b60006119dc83610967565b9050806119e884611173565b1115611a255760405162461bcd60e51b81526004018080602001828103825260248152602001806123d86024913960400191505060405180910390fd5b604080516001600160a01b03851681526020810184905281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a1505050565b6001600160a01b038216611ab35760405162461bcd60e51b81526004018080602001828103825260228152602001806123956022913960400191505060405180910390fd5b611af081604051806060016040528060238152602001612372602391396001600160a01b0385166000908152600d60205260409020549190611e0c565b6001600160a01b0383166000908152600d6020526040902055600b54611b169082611789565b600b556040805182815290516000916001600160a01b038516916000805160206124668339815191529181900360200190a35050565b6001600160a01b038216611b915760405162461bcd60e51b81526004018080602001828103825260228152602001806123956022913960400191505060405180910390fd5b611bce81604051806060016040528060238152602001612372602391396001600160a01b0385166000908152600c60205260409020549190611e0c565b6001600160a01b0383166000908152600c6020526040902055600a54611bf49082611789565b600a556040805182815290516000916001600160a01b038516916000805160206123fc8339815191529181900360200190a35050565b6001600160a01b0381166000908152601060205260408120548190611c50904290611789565b6001600160a01b0384166000908152600c602052604090205490915080611c7c57600092505050610a71565b6000611c87856113ff565b90506000611ca46005546110108685611cc390919063ffffffff16565b905082811015611cb9579350610a7192505050565b5090949350505050565b600082611cd25750600061116d565b82820282848281611cdf57fe5b04146117825760405162461bcd60e51b81526004018080602001828103825260218152602001806123b76021913960400191505060405180910390fd5b600061178283836040518060400160405280601a815260200179536166654d6174683a206469766973696f6e206279207a65726f60301b815250612165565b6060611db0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121ca9092919063ffffffff16565b8051909150156108d757808060200190516020811015611dcf57600080fd5b50516108d75760405162461bcd60e51b815260040180806020018281038252602a81526020018061243c602a913960400191505060405180910390fd5b60008184841115611e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e60578181015183820152602001611e48565b50505050905090810190601f168015611e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000611eae82611c2a565b6001600160a01b0383166000908152601060205260409020429055905080611ed65750611f7e565b611ee08282611b4c565b6001600160a01b0382166000908152600e6020526040902054611f03908261172a565b6001600160a01b038084166000908152600e6020526040808220939093556006548351632770a7eb60e21b8152306004820152602481018690529351921692639dc29fac926044808301939282900301818387803b158015611f6457600080fd5b505af1158015611f78573d6000803e3d6000fd5b50505050505b50565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611fdb908590611d5b565b50505050565b6001600160a01b03821661202a576040805162461bcd60e51b8152602060048201819052602482015260008051602061241c833981519152604482015290519081900360640190fd5b600a54612037908261172a565b600a556001600160a01b0382166000908152600c602052604090205461205d908261172a565b6001600160a01b0383166000818152600c602090815260408083209490945583518581529351929391926000805160206123fc8339815191529281900390910190a35050565b6001600160a01b0382166120ec576040805162461bcd60e51b8152602060048201819052602482015260008051602061241c833981519152604482015290519081900360640190fd5b600b546120f9908261172a565b600b556001600160a01b0382166000908152600d602052604090205461211f908261172a565b6001600160a01b0383166000818152600d602090815260408083209490945583518581529351929391926000805160206124668339815191529281900390910190a35050565b600081836121b45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e60578181015183820152602001611e48565b5060008385816121c057fe5b0495945050505050565b6060610e1c8484600085856121de856122e5565b61222f576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061226e5780518252601f19909201916020918201910161224f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146122d0576040519150601f19603f3d011682016040523d82523d6000602084013e6122d5565b606091505b509150915061102a8282866122eb565b3b151590565b606083156122fa575081611782565b82511561230a5782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611e60578181015183820152602001611e4856fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c005665737465723a206275726e20616d6f756e7420657863656564732062616c616e63655665737465723a206275726e2066726f6d20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775665737465723a206d6178207665737461626c6520616d6f756e74206578636565646564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5665737465723a206d696e7420746f20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564659523c479d006050ebc0d0e48fea36d1b2c5d45b2f31402ac6f8671fc84cc04a264697066735822122065019d6244f3cea0326cd0733577d53836253d2810dc16b0ac0b734df286bd0f64736f6c634300060c003300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000001e13380000000000000000000000000ff1489227bbaac61a9209a08929e4c2a526ddd17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062edc0692bd897d2295872a9ffcac5425011c6610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a474d582056657374657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000476474d5800000000000000000000000000000000000000000000000000000000