[ { "inputs": [], "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": "userWallet", "type": "address" }, { "indexed": false, "internalType": "bytes24[]", "name": "nodeIds", "type": "bytes24[]" } ], "name": "ClaimRequestsEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "userWallet", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "CreatingXonEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "userWallet", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "CreatingXonFromXpreEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "userWallet", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "MintingEvent", "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": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "userWallet", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ReceivedEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "userWallet", "type": "address" }, { "indexed": false, "internalType": "bytes24[]", "name": "nodeIds", "type": "bytes24[]" }, { "indexed": false, "internalType": "uint8", "name": "months", "type": "uint8" } ], "name": "SubscriptionsPaymentEvent", "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": "userWallet", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "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": "account", "type": "address" } ], "name": "balanceOf", "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": [], "name": "getClaimRewardFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "number", "type": "uint8" } ], "name": "getDistributedWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxXonsPerUser", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSubscriptionFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUsdcToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "number", "type": "uint8" } ], "name": "getWalletDistribution", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getXonCost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getXonCreationFee", "outputs": [ { "internalType": "uint256", "name": "", "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": "user", "type": "address" }, { "internalType": "uint256", "name": "sum", "type": "uint256" } ], "name": "mintTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mintXon", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mintXonFromXpre", "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": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes24[]", "name": "nodeIds", "type": "bytes24[]" } ], "name": "requestRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes24[]", "name": "nodeIds", "type": "bytes24[]" }, { "internalType": "uint8", "name": "months", "type": "uint8" } ], "name": "requestSubscriptions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "setClaimRewardFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "number", "type": "uint8" }, { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "setDistributedWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setMaxXonsPerUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "cost", "type": "uint256" } ], "name": "setSubscriptionFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "setUsdcToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "number", "type": "uint8" }, { "internalType": "uint8", "name": "percentage", "type": "uint8" } ], "name": "setWalletDistribution", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "setXetaWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "cost", "type": "uint256" } ], "name": "setXonCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "setXonCreationFee", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "sum", "type": "uint256" } ], "name": "transferFromBackend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenContract", "type": "address" }, { "internalType": "address", "name": "_recepient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdrawToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040527334f95b36474dd5e3e8cb65f0cef3856eaa0223306080908152739a0e00ff86732755379eb5e68dbde7ff868616c960a05273e0f607c8355f1bbcdba4843d2aa36e537ce588a960c0526200005e90600890600362000355565b50678ac7230489e80000600b5562e4e1c0600c819055624c4b40600d55600e556101f4600f55604080516060810182526032815260196020820181905291810191909152620000b2906010906003620003b2565b50348015620000c057600080fd5b506040805180820182526004808252635845544160e01b6020808401828152855180870190965292855284015281519192916200010091600391620003e8565b50805162000116906004906020840190620003e8565b50506005805460ff19169055506200012e3362000193565b600780546001600160a01b031990811673b63b14f85a0d11842a5c9e1b28c91d3ae9d31a6a179091556006805490911673b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e1790556200018d306a115eec47f6cf7e35000000620001ed565b620004e0565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620002495760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b6200025760008383620002e4565b80600260008282546200026b91906200047c565b90915550506001600160a01b038216600090815260208190526040812080548392906200029a9084906200047c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b620002ee6200030b565b620003068383836200030660201b62000fff1760201c565b505050565b60055460ff1615620003535760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640162000240565b565b8260038101928215620003a0579160200282015b82811115620003a057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000369565b50620003ae92915062000465565b5090565b8260038101928215620003a0579160200282015b82811115620003a0578251829060ff16905591602001919060010190620003c6565b828054620003f690620004a3565b90600052602060002090601f0160209004810192826200041a5760008555620003a0565b82601f106200043557805160ff1916838001178555620003a0565b82800160010185558215620003a0579182015b82811115620003a057825182559160200191906001019062000448565b5b80821115620003ae576000815560010162000466565b600082198211156200049e57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c90821680620004b857607f821691505b60208210811415620004da57634e487b7160e01b600052602260045260246000fd5b50919050565b611d5b80620004f06000396000f3fe60806040526004361061024a5760003560e01c806373c6f09011610139578063c00ee992116100b6578063daa77b6f1161007a578063daa77b6f146106c6578063dc080d4a146106e6578063dd62ed3e14610706578063f0dda65c14610726578063f2fde38b14610746578063f57939411461076657600080fd5b8063c00ee99214610631578063c74d858414610651578063c81a32f014610671578063cef00f4314610686578063d72fb431146106a657600080fd5b8063a457c2d7116100fd578063a457c2d714610591578063a7d7abad146105b1578063a9059cbb146105d1578063aa40dcfd146105f1578063ab9374471461061157600080fd5b806373c6f0901461050f578063743683931461052f5780638456cb59146105445780638da5cb5b1461055957806395d89b411461057c57600080fd5b806339509351116101c75780636180490a1161018b5780636180490a1461046f5780636ac849561461048f5780636e3532fa146104af57806370a08231146104c4578063715018a6146104fa57600080fd5b806339509351146103d05780633b44390a146103f05780633f4ba83a146104225780635c975abb146104375780635d886f221461044f57600080fd5b806317ed7c431161020e57806317ed7c431461034a57806318160ddd1461035f57806323b872dd14610374578063313ce5671461039457806334076e96146103b057600080fd5b806301e336671461028e57806306fdde03146102b0578063095ea7b3146102db5780630e16edd11461030b5780630e88ce7a1461032a57600080fd5b3661028957604080513381523460208201527f7664b23f13b4424f5be77d07828378b5a26612849564d241cfd54f0e7d4cd9ad910160405180910390a1005b600080fd5b34801561029a57600080fd5b506102ae6102a9366004611887565b610786565b005b3480156102bc57600080fd5b506102c561080b565b6040516102d291906118c3565b60405180910390f35b3480156102e757600080fd5b506102fb6102f6366004611918565b61089d565b60405190151581526020016102d2565b34801561031757600080fd5b50600d545b6040519081526020016102d2565b34801561033657600080fd5b506102ae610345366004611942565b6108b5565b34801561035657600080fd5b50600f5461031c565b34801561036b57600080fd5b5060025461031c565b34801561038057600080fd5b506102fb61038f366004611887565b6108c2565b3480156103a057600080fd5b50604051601281526020016102d2565b3480156103bc57600080fd5b506102ae6103cb36600461196c565b6108e6565b3480156103dc57600080fd5b506102fb6103eb366004611918565b610955565b3480156103fc57600080fd5b506006546001600160a01b03165b6040516001600160a01b0390911681526020016102d2565b34801561042e57600080fd5b506102ae610977565b34801561044357600080fd5b5060055460ff166102fb565b34801561045b57600080fd5b506102ae61046a36600461199f565b610989565b34801561047b57600080fd5b506102ae61048a366004611a92565b6109b3565b34801561049b57600080fd5b506102ae6104aa366004611942565b610a6c565b3480156104bb57600080fd5b50600e5461031c565b3480156104d057600080fd5b5061031c6104df36600461199f565b6001600160a01b031660009081526020819052604090205490565b34801561050657600080fd5b506102ae610a79565b34801561051b57600080fd5b5061040a61052a366004611ad7565b610a8b565b34801561053b57600080fd5b50600b5461031c565b34801561055057600080fd5b506102ae610ad8565b34801561056557600080fd5b5060055461010090046001600160a01b031661040a565b34801561058857600080fd5b506102c5610ae8565b34801561059d57600080fd5b506102fb6105ac366004611918565b610af7565b3480156105bd57600080fd5b506102ae6105cc366004611af2565b610b72565b3480156105dd57600080fd5b506102fb6105ec366004611918565b610c15565b3480156105fd57600080fd5b506102ae61060c366004611942565b610c23565b34801561061d57600080fd5b506102ae61062c36600461199f565b610c8a565b34801561063d57600080fd5b506102ae61064c366004611918565b610cb4565b34801561065d57600080fd5b506102ae61066c366004611942565b610d85565b34801561067d57600080fd5b50600c5461031c565b34801561069257600080fd5b506102ae6106a1366004611942565b610d92565b3480156106b257600080fd5b506102ae6106c1366004611942565b610d9f565b3480156106d257600080fd5b506102ae6106e1366004611b2f565b610e23565b3480156106f257600080fd5b5061031c610701366004611ad7565b610e6f565b34801561071257600080fd5b5061031c610721366004611b59565b610eb3565b34801561073257600080fd5b506102ae610741366004611918565b610ede565b34801561075257600080fd5b506102ae61076136600461199f565b610f37565b34801561077257600080fd5b506102ae610781366004611942565b610fb0565b61078e611004565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284919082169063a9059cbb906044016020604051808303816000875af11580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190611b75565b5050505050565b60606003805461081a90611b97565b80601f016020809104026020016040519081016040528092919081815260200182805461084690611b97565b80156108935780601f1061086857610100808354040283529160200191610893565b820191906000526020600020905b81548152906001019060200180831161087657829003601f168201915b5050505050905090565b6000336108ab818585611064565b5060019392505050565b6108bd611004565b600b55565b6000336108d0858285611188565b6108db858585611202565b506001949350505050565b6108ee611004565b60028260ff16111561091b5760405162461bcd60e51b815260040161091290611bd2565b60405180910390fd5b8060088360ff166003811061093257610932611bff565b0180546001600160a01b0319166001600160a01b03929092169190911790555050565b6000336108ab8185856109688383610eb3565b6109729190611c2b565b611064565b61097f611004565b6109876113db565b565b610991611004565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6109bb61142d565b600f5482511115610a085760405162461bcd60e51b8152602060048201526017602482015276496c6c6567616c206e756d626572206f66206e6f64657360481b6044820152606401610912565b610a2d8160ff168351600e54610a1e9190611c43565b610a289190611c43565b611473565b7fee3b5e6ac580f358b1ceb58250992e1effb02fd0b87d4ca27ee6a7b183482e89338383604051610a6093929190611ca8565b60405180910390a15050565b610a74611004565b600e55565b610a81611004565b6109876000611698565b600060028260ff161115610ab15760405162461bcd60e51b815260040161091290611bd2565b60088260ff1660038110610ac757610ac7611bff565b01546001600160a01b031692915050565b610ae0611004565b6109876116f2565b60606004805461081a90611b97565b60003381610b058286610eb3565b905083811015610b655760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610912565b6108db8286868403611064565b610b7a61142d565b600f5481511115610bc75760405162461bcd60e51b8152602060048201526017602482015276496c6c6567616c206e756d626572206f66206e6f64657360481b6044820152606401610912565b610bd98151600d54610a289190611c43565b7fc49756e3b61dd45063094d054a32a2a220ed6422d9a00f4c2522430c0b8d13593382604051610c0a929190611cdf565b60405180910390a150565b6000336108ab818585611202565b610c2b61142d565b610c3c81600c54610a289190611c43565b610c54333083600b54610c4f9190611c43565b611202565b60408051338152602081018390527ff179bad3788506f4df1a21e3bb4a00679acc7fa56c0d1c05413c3974d63210889101610c0a565b610c92611004565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b0316331480610cee575060055461010090046001600160a01b03166001600160a01b0316336001600160a01b0316145b610d335760405162461bcd60e51b81526020600482015260166024820152752732b4ba3432b9102c22aa20903737b91037bbb732b960511b6044820152606401610912565b610d3b61142d565b610d46308383611202565b604080516001600160a01b0384168152602081018390527fb98a26c1d0427d0e3492e749861c7795bed8f6e7599a65143b5903942e611bb09101610a60565b610d8d611004565b600f55565b610d9a611004565b600c55565b6007546001600160a01b0316331480610dd9575060055461010090046001600160a01b03166001600160a01b0316336001600160a01b0316145b610e1e5760405162461bcd60e51b81526020600482015260166024820152752732b4ba3432b9102c22aa20903737b91037bbb732b960511b6044820152606401610912565b600d55565b610e2b611004565b60028260ff161115610e4f5760405162461bcd60e51b815260040161091290611bd2565b8060ff1660108360ff1660038110610e6957610e69611bff565b01555050565b600060028260ff161115610e955760405162461bcd60e51b815260040161091290611bd2565b60108260ff1660038110610eab57610eab611bff565b015492915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610ee6611004565b610eee61142d565b610ef8828261172f565b604080516001600160a01b0384168152602081018390527f90c031aa10991b3612fd0ad1ce0a3017e3cbdafa48483edd2ae266c91eb676f99101610a60565b610f3f611004565b6001600160a01b038116610fa45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610912565b610fad81611698565b50565b610fb861142d565b610fc981600c54610a289190611c43565b60408051338152602081018390527f9cb9ba7e20698fcb9fff1439e2e438a0ff8fdadc033152bca7ce25568a2e021f9101610c0a565b505050565b6005546001600160a01b036101009091041633146109875760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610912565b6001600160a01b0383166110c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610912565b6001600160a01b0382166111275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610912565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111948484610eb3565b905060001981146111fc57818110156111ef5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610912565b6111fc8484848403611064565b50505050565b6001600160a01b0383166112665760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610912565b6001600160a01b0382166112c85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610912565b6112d383838361181a565b6001600160a01b0383166000908152602081905260409020548181101561134b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610912565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611382908490611c2b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113ce91815260200190565b60405180910390a36111fc565b6113e3611822565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60055460ff16156109875760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610912565b6006546001600160a01b03166323b872dd336008600001546001600160a01b031660646010600001546114a69087611c43565b6114b09190611d03565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015611504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115289190611b75565b506006546001600160a01b03166323b872dd336008600101546001600160a01b0316606460106001015461155c9087611c43565b6115669190611d03565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190611b75565b506006546001600160a01b03166323b872dd336008600201546001600160a01b031660646010600201546116129087611c43565b61161c9190611d03565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190611b75565b5050565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6116fa61142d565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114103390565b6001600160a01b0382166117855760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610912565b6117916000838361181a565b80600260008282546117a39190611c2b565b90915550506001600160a01b038216600090815260208190526040812080548392906117d0908490611c2b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b610fff61142d565b60055460ff166109875760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610912565b80356001600160a01b038116811461188257600080fd5b919050565b60008060006060848603121561189c57600080fd5b6118a58461186b565b92506118b36020850161186b565b9150604084013590509250925092565b600060208083528351808285015260005b818110156118f0578581018301518582016040015282016118d4565b81811115611902576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561192b57600080fd5b6119348361186b565b946020939093013593505050565b60006020828403121561195457600080fd5b5035919050565b803560ff8116811461188257600080fd5b6000806040838503121561197f57600080fd5b6119888361195b565b91506119966020840161186b565b90509250929050565b6000602082840312156119b157600080fd5b6119ba8261186b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b803567ffffffffffffffff198116811461188257600080fd5b600082601f830112611a0157600080fd5b8135602067ffffffffffffffff80831115611a1e57611a1e6119c1565b8260051b604051601f19603f83011681018181108482111715611a4357611a436119c1565b604052938452858101830193838101925087851115611a6157600080fd5b83870191505b84821015611a8757611a78826119d7565b83529183019190830190611a67565b979650505050505050565b60008060408385031215611aa557600080fd5b823567ffffffffffffffff811115611abc57600080fd5b611ac8858286016119f0565b9250506119966020840161195b565b600060208284031215611ae957600080fd5b6119ba8261195b565b600060208284031215611b0457600080fd5b813567ffffffffffffffff811115611b1b57600080fd5b611b27848285016119f0565b949350505050565b60008060408385031215611b4257600080fd5b611b4b8361195b565b91506119966020840161195b565b60008060408385031215611b6c57600080fd5b6119888361186b565b600060208284031215611b8757600080fd5b815180151581146119ba57600080fd5b600181811c90821680611bab57607f821691505b60208210811415611bcc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601390820152722bb937b733903bb0b63632ba10373ab6b132b960691b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115611c3e57611c3e611c15565b500190565b6000816000190483118215151615611c5d57611c5d611c15565b500290565b600081518084526020808501945080840160005b83811015611c9d57815167ffffffffffffffff191687529582019590820190600101611c76565b509495945050505050565b6001600160a01b0384168152606060208201819052600090611ccc90830185611c62565b905060ff83166040830152949350505050565b6001600160a01b0383168152604060208201819052600090611b2790830184611c62565b600082611d2057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220b5e2924db5d3452e560e0092f7577db72b54f72a357c72b05567e9b0f7a5451f64736f6c634300080c0033