[ { "inputs": [ { "internalType": "address", "name": "_minerContract", "type": "address" }, { "internalType": "address", "name": "_goldContract", "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": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfCredits", "type": "uint256" } ], "name": "Burned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfGold", "type": "uint256" } ], "name": "BurnedGold", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "GoldStaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfCredits", "type": "uint256" } ], "name": "GoldSwapped", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "GoldUnStaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfCredits", "type": "uint256" } ], "name": "Minted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfCredits", "type": "uint256" } ], "name": "MintedGold", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfGold", "type": "uint256" } ], "name": "StakedGold", "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": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfGold", "type": "uint256" } ], "name": "UnstakedGold", "type": "event" }, { "inputs": [], "name": "BOOSTER_MULTIPLIER", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CREDITS_FARMING_FACTOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CREDITS_SWAP_FACTOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GOLD_CONTRACT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_CREDITS_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINER_CONTRACT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "_allGoldStakeHolders", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_toAdd", "type": "address" } ], "name": "addAuthorized", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "authorized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "claimableView", "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": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minerId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "equipMiner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "goldStakedHolders", "outputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint32", "name": "since", "type": "uint32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mintCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "from", "type": "uint256" }, { "internalType": "uint256", "name": "to", "type": "uint256" } ], "name": "rebalanceStakingPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_toRemove", "type": "address" } ], "name": "removeAuthorized", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "staking", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "goldAmt", "type": "uint256" } ], "name": "swapGoldForCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalGoldHolder", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalGoldStaked", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateBoosterMultiplier", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateCreditsSwapFactor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateFarmingFactor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateMaxCreditsSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawAllGoldAndClaimCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawGold", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6b6765c793fa10079d0000000060075560c06040526008608081905267246372656469747360c01b60a090815262000039919081620002a0565b50604080518082019091526007808252664352454449545360c81b60209092019182526200006a91600991620002a0565b506001600c556003600d55600c600e553480156200008757600080fd5b506040516200280138038062002801833981016040819052620000aa9162000363565b60088054620000b9906200039b565b80601f0160208091040260200160405190810160405280929190818152602001828054620000e7906200039b565b8015620001385780601f106200010c5761010080835404028352916020019162000138565b820191906000526020600020905b8154815290600101906020018083116200011a57829003601f168201915b5050505050600980546200014c906200039b565b80601f01602080910402602001604051908101604052809291908181526020018280546200017a906200039b565b8015620001cb5780601f106200019f57610100808354040283529160200191620001cb565b820191906000526020600020905b815481529060010190602001808311620001ad57829003601f168201915b50508451620001e5935060039250602086019150620002a0565b508051620001fb906004906020840190620002a0565b50505062000218620002126200024a60201b60201c565b6200024e565b600a80546001600160a01b039384166001600160a01b031991821617909155600b8054929093169116179055620003d8565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620002ae906200039b565b90600052602060002090601f016020900481019282620002d257600085556200031d565b82601f10620002ed57805160ff19168380011785556200031d565b828001600101855582156200031d579182015b828111156200031d57825182559160200191906001019062000300565b506200032b9291506200032f565b5090565b5b808211156200032b576000815560010162000330565b80516001600160a01b03811681146200035e57600080fd5b919050565b600080604083850312156200037757600080fd5b620003828362000346565b9150620003926020840162000346565b90509250929050565b600181811c90821680620003b057607f821691505b60208210811415620003d257634e487b7160e01b600052602260045260246000fd5b50919050565b61241980620003e86000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806395d89b411161013b578063c352eba7116100b8578063dd62ed3e1161007c578063dd62ed3e14610540578063e05c995614610579578063f2fde38b14610582578063f7c7b28314610595578063f8d824631461059e57600080fd5b8063c352eba714610495578063cda04a11146104a8578063cf1c316a146104bb578063cf57d328146104ce578063d20c7acd1461053857600080fd5b8063a9f758f1116100ff578063a9f758f11461043b578063b918161114610443578063babc173114610466578063bfc568d414610479578063c3355dd81461048257600080fd5b806395d89b41146103e75780639835e092146103ef5780639bae874714610402578063a457c2d714610415578063a9059cbb1461042857600080fd5b8063485d7d94116101c9578063715018a61161018d578063715018a6146103aa57806377c068f6146103b25780637e9eb487146103c55780638a1fbf4d146103cd5780638da5cb5b146103d657600080fd5b8063485d7d941461031d5780634da8417c1461033057806357545a671461035b578063605fba671461036e57806370a082311461038157600080fd5b80631f6dc8ee116102105780631f6dc8ee146102c257806323b872dd146102d5578063313ce567146102e857806339509351146102f75780633e46dd1b1461030a57600080fd5b806306fdde031461024d578063095ea7b31461026b5780630cc6cd281461028e57806318160ddd146102a55780631dbb2a22146102ad575b600080fd5b6102556105b1565b6040516102629190612036565b60405180910390f35b61027e6102793660046120a0565b610643565b6040519015158152602001610262565b61029760075481565b604051908152602001610262565b600254610297565b6102c06102bb3660046120cc565b610659565b005b6102c06102d03660046120cc565b6108b4565b61027e6102e33660046120e5565b6108e3565b60405160128152602001610262565b61027e6103053660046120a0565b61098d565b6102c0610318366004612126565b6109c9565b6102c061032b366004612148565b610acc565b600a54610343906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b6102c06103693660046120cc565b610b40565b61029761037c366004612148565b610b6f565b61029761038f366004612148565b6001600160a01b031660009081526020819052604090205490565b6102c0610c49565b6102c06103c0366004612126565b610c7f565b6102c0610f16565b610297600d5481565b6005546001600160a01b0316610343565b610255610fc8565b6102c06103fd3660046120cc565b610fd7565b6102c06104103660046120a0565b611197565b61027e6104233660046120a0565b6111cb565b61027e6104363660046120a0565b611264565b6102c0611271565b61027e610451366004612148565b60066020526000908152604090205460ff1681565b6102c06104743660046120cc565b6113cb565b61029760105481565b6102c06104903660046120cc565b6113fa565b6102c06104a33660046120cc565b61150c565b6103436104b63660046120cc565b61153b565b6102c06104c9366004612148565b611565565b61050e6104dc366004612148565b600f60205260009081526040902080546001909101546001600160a01b03821691600160a01b900463ffffffff169083565b604080516001600160a01b03909416845263ffffffff909216602084015290820152606001610262565b601154610297565b61029761054e366004612165565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610297600c5481565b6102c0610590366004612148565b6115c6565b610297600e5481565b600b54610343906001600160a01b031681565b6060600380546105c09061219e565b80601f01602080910402602001604051908101604052809291908181526020018280546105ec9061219e565b80156106395780601f1061060e57610100808354040283529160200191610639565b820191906000526020600020905b81548152906001019060200180831161061c57829003601f168201915b5050505050905090565b6000610650338484611661565b50600192915050565b6000811161069a5760405162461bcd60e51b8152602060048201526009602482015268139151510811d3d31160ba1b60448201526064015b60405180910390fd5b600b546040516370a0823160e01b81523360048201526001600160a01b039091169060009082906370a0823190602401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906121d9565b90508281101561074f5760405162461bcd60e51b815260206004820152600f60248201526e1393d508115393d551d20811d3d311608a1b6044820152606401610691565b336000908152600f6020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900463ffffffff169281019290925260010154918101829052901561080b5760006107a733610b6f565b90506107b33382611785565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe33866040516107e49291906121f2565b60405180910390a1610805338684604001516108009190612221565b611864565b50610815565b6108153385611864565b604051630b2b60a160e01b81526001600160a01b03841690630b2b60a19061084390339088906004016121f2565b600060405180830381600087803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b505050507f04a66cd1041cb2e023256ebf235166db9248e90cbb780aa92ebd19d70c8b5efe33856040516108a69291906121f2565b60405180910390a150505050565b6005546001600160a01b031633146108de5760405162461bcd60e51b815260040161069190612239565b600c55565b60006108f0848484611a0e565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156109755760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610691565b6109828533858403611661565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106509185906109c4908690612221565b611661565b6005546001600160a01b031633146109f35760405162461bcd60e51b815260040161069190612239565b815b818111610ac7576000610a0782611bdd565b90506000610a1482610b6f565b6001600160a01b038381166000908152600f6020908152604091829020825160608101845281549485168152600160a01b90940463ffffffff16918401919091526001015490820152909150610a6a8383611785565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe8383604051610a9b9291906121f2565b60405180910390a1610ab1838260400151611864565b5050508080610abf9061226e565b9150506109f5565b505050565b6005546001600160a01b03163314610af65760405162461bcd60e51b815260040161069190612239565b6001600160a01b038116610b0957600080fd5b6001600160a01b038116331415610b1f57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6005546001600160a01b03163314610b6a5760405162461bcd60e51b815260040161069190612239565b600d55565b6001600160a01b038181166000908152600f6020908152604080832081516060810183528154958616808252600160a01b90960463ffffffff169381019390935260010154908201529091610bd65760405162461bcd60e51b815260040161069190612289565b6402540be400600c5462015180836020015163ffffffff1642610bf991906122ad565b610c08906402540be4006122c4565b610c1291906122e3565b600d548460400151610c2491906122c4565b610c2e91906122c4565b610c3891906122c4565b610c4291906122e3565b9392505050565b6005546001600160a01b03163314610c735760405162461bcd60e51b815260040161069190612239565b610c7d6000611c0d565b565b60008111610cca5760405162461bcd60e51b8152602060048201526018602482015277135554d5081091481353d4914815121053880c0811d3d31160421b6044820152606401610691565b600a546040516331a9108f60e11b8152600481018490526001600160a01b039091169033908290636352211e90602401602060405180830381865afa158015610d17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3b9190612305565b6001600160a01b031614610d7d5760405162461bcd60e51b81526020600482015260096024820152682727aa1027aba722a960b91b6044820152606401610691565b33600090815260208190526040902054821115610dce5760405162461bcd60e51b815260206004820152600f60248201526e1393d508115393d551d20811d3d311608a1b6044820152606401610691565b600b54604051630f873a7760e21b8152600481018590526001600160a01b03909116906000908290633e1ce9dc9060240160a060405180830381865afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e40919061233b565b50505050905060008162ffffff1611610e6b5760405162461bcd60e51b815260040161069190612289565b610e753385611c5f565b7f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df73385604051610ea69291906121f2565b60405180910390a1604051633be0347b60e11b815260048101869052602481018590526001600160a01b038316906377c068f690604401600060405180830381600087803b158015610ef757600080fd5b505af1158015610f0b573d6000803e3d6000fd5b505050505050505050565b6000610f2133610b6f565b905060008111610f695760405162461bcd60e51b81526020600482015260136024820152724e4f204352454449545320544f20434c41494d60681b6044820152606401610691565b336000818152600f6020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900463ffffffff16928101929092526001015491810182905291610fba91611864565b610fc43383611dad565b5050565b6060600480546105c09061219e565b6000811161101d5760405162461bcd60e51b815260206004820152601360248201527204d555354204245204d4f5245205448414e203606c1b6044820152606401610691565b336000908152600f6020908152604091829020825160608101845281546001600160a01b038116808352600160a01b90910463ffffffff1693820193909352600190910154928101929092526110855760405162461bcd60e51b815260040161069190612289565b80604001518211156110c55760405162461bcd60e51b815260206004820152600960248201526827ab22a9222920aba760b91b6044820152606401610691565b600b5460408201516001600160a01b03909116906110ea9033906108009086906122ad565b600060146110f98560136122c4565b61110391906122e3565b60405163edf52d1360e01b81529091506001600160a01b0383169063edf52d139061113490339085906004016121f2565b600060405180830381600087803b15801561114e57600080fd5b505af1158015611162573d6000803e3d6000fd5b505050507fc91da3d84dde3a7fbd595bf3b348097f89c0e2b7413ec9a943fb5453bfad81a633826040516108a69291906121f2565b6005546001600160a01b031633146111c15760405162461bcd60e51b815260040161069190612239565b610fc48282611dad565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561124d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610691565b61125a3385858403611661565b5060019392505050565b6000610650338484611a0e565b336000908152600f6020908152604091829020825160608101845281546001600160a01b038116808352600160a01b90910463ffffffff1693820193909352600190910154928101929092526112d95760405162461bcd60e51b815260040161069190612289565b60006112e433610b6f565b905080156112f6576112f63382611dad565b6040820151156113c2576000600c8360400151600b61131591906122c4565b61131f91906122e3565b600b5460405163edf52d1360e01b81529192506001600160a01b031690819063edf52d139061135490339086906004016121f2565b600060405180830381600087803b15801561136e57600080fd5b505af1158015611382573d6000803e3d6000fd5b505050507fc91da3d84dde3a7fbd595bf3b348097f89c0e2b7413ec9a943fb5453bfad81a633836040516113b79291906121f2565b60405180910390a150505b610fc433611e3e565b6005546001600160a01b031633146113f55760405162461bcd60e51b815260040161069190612239565b600e55565b600081116114455760405162461bcd60e51b8152602060048201526018602482015277135554d5081091481353d4914815121053880c0811d3d31160421b6044820152606401610691565b600b54604051630b2b60a160e01b81526001600160a01b03909116908190630b2b60a19061147990339086906004016121f2565b600060405180830381600087803b15801561149357600080fd5b505af11580156114a7573d6000803e3d6000fd5b505050506114c233600e54846114bd91906122c4565b611785565b7f8fd7aa1de54163591a8914d23fe8da195a63ef89d2fd99774770806a4fc8d7b033600e54846114f291906122c4565b6040516115009291906121f2565b60405180910390a15050565b6005546001600160a01b031633146115365760405162461bcd60e51b815260040161069190612239565b600755565b6011818154811061154b57600080fd5b6000918252602090912001546001600160a01b0316905081565b6005546001600160a01b0316331461158f5760405162461bcd60e51b815260040161069190612239565b6001600160a01b0381166115a257600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6005546001600160a01b031633146115f05760405162461bcd60e51b815260040161069190612239565b6001600160a01b0381166116555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610691565b61165e81611c0d565b50565b6001600160a01b0383166116c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610691565b6001600160a01b0382166117245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610691565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166117db5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610691565b80600260008282546117ed9190612221565b90915550506001600160a01b0382166000908152602081905260408120805483929061181a908490612221565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0382166118aa5760405162461bcd60e51b815260206004820152600d60248201526c454d505459204144445245535360981b6044820152606401610691565b6001600160a01b038281166000908152600f602090815260409182902082516060810184528154948516808252600160a01b90950463ffffffff169281019290925260010154918101919091529061195957601180546001600160a01b0385166000818152601260205260408120839055600183018455929092527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180546001600160a01b03191690911790555b604080820180516001600160a01b0380871680865286845263ffffffff42811660208089019182526000938452600f905295909120865181549651909216600160a01b026001600160c01b03199096169190921617939093178355905160019092019190915560105483906119cf9083906122ad565b6119d99190612221565b6010556040517fabe65b8ec1bbf558ac3196d892c55ee1d63365ca58dd5a3898d88fa762f8af76906108a690869086906121f2565b6001600160a01b038316611a725760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610691565b6001600160a01b038216611ad45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610691565b6001600160a01b03831660009081526020819052604090205481811015611b4c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610691565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611b83908490612221565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bcf91815260200190565b60405180910390a350505050565b600060118281548110611bf257611bf26123b7565b6000918252602090912001546001600160a01b031692915050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216611cbf5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610691565b6001600160a01b03821660009081526020819052604090205481811015611d335760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610691565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611d629084906122ad565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b60075481611dba60025490565b611dc49190612221565b10611e035760405162461bcd60e51b815260206004820152600f60248201526e4f564552204d415820535550504c5960881b6044820152606401610691565b611e0d8282611785565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe82826040516115009291906121f2565b6001600160a01b038181166000908152600f602090815260409182902082516060810184528154948516808252600160a01b90950463ffffffff1692810192909252600101549181019190915290611ec85760405162461bcd60e51b815260206004820152600d60248201526c454d505459204144445245535360981b6044820152606401610691565b8060400151601054611eda91906122ad565b601055611ee682611f48565b6001600160a01b0382166000908152600f602052604080822080546001600160c01b0319168155600101919091558181015190517f48662a51d62fd272b8c30c44ffb814f563f3bb9aa43639cfacffc27458abb78b91611500918591906121f2565b601154600090611f5a906001906122ad565b6001600160a01b03831660009081526012602052604081205460118054939450909284908110611f8c57611f8c6123b7565b600091825260209091200154601180546001600160a01b039092169250829184908110611fbb57611fbb6123b7565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790558383168252601290526040808220859055918616815290812055601180548061200e5761200e6123cd565b600082815260209020810160001990810180546001600160a01b031916905501905550505050565b600060208083528351808285015260005b8181101561206357858101830151858201604001528201612047565b81811115612075576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461165e57600080fd5b600080604083850312156120b357600080fd5b82356120be8161208b565b946020939093013593505050565b6000602082840312156120de57600080fd5b5035919050565b6000806000606084860312156120fa57600080fd5b83356121058161208b565b925060208401356121158161208b565b929592945050506040919091013590565b6000806040838503121561213957600080fd5b50508035926020909101359150565b60006020828403121561215a57600080fd5b8135610c428161208b565b6000806040838503121561217857600080fd5b82356121838161208b565b915060208301356121938161208b565b809150509250929050565b600181811c908216806121b257607f821691505b602082108114156121d357634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156121eb57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b600082198211156122345761223461220b565b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006000198214156122825761228261220b565b5060010190565b6020808252600a90820152691393d50814d51052d15160b21b604082015260600190565b6000828210156122bf576122bf61220b565b500390565b60008160001904831182151516156122de576122de61220b565b500290565b60008261230057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561231757600080fd5b8151610c428161208b565b805163ffffffff8116811461233657600080fd5b919050565b600080600080600060a0868803121561235357600080fd5b855162ffffff8116811461236657600080fd5b945061237460208701612322565b935061238260408701612322565b9250606086015165ffffffffffff8116811461239d57600080fd5b91506123ab60808701612322565b90509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220d1c51e91729ef140861e45b5abcaf75d6c6faa8ed9340dbaeb57922cc649d20b64736f6c634300080b0033000000000000000000000000be1e9103161a75ec7fa08d5ee1f97cd0784c26df0000000000000000000000002d052048fe7e4f59277e5e5ed5d21d35419fe747