[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "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": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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" }, { "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": "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": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "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": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "renounceOwnership", "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": "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" } ]
60c0604052600c60809081526b414920536869626120496e7560a01b60a0526003906200002d908262000386565b5060408051808201909152600681526553484942414960d01b60208201526004906200005a908262000386565b506005805461ffff191661011217905569152d02c7e14af68000006007553480156200008557600080fd5b50336040518060400160405280600c81526020016b414920536869626120496e7560a01b8152506040518060400160405280600681526020016553484942414960d01b81525060128260039081620000de919062000386565b506004620000ed838262000386565b506005805460ff191660ff9290921691909117905550506001600160a01b0381166200013357604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200013e816200018b565b50600554600090620001559060ff16600a62000567565b6200016490620186a06200057f565b9050620001846200017d6008546001600160a01b031690565b82620001dd565b50620005af565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821615801590620001f557508015155b620001ff57600080fd5b600054156200020d57600080fd5b8060008082825462000220919062000599565b90915550506001600160a01b038216600090815260016020526040812080548392906200024f90849062000599565b90915550506000546007556001600160a01b03821630148015906200027c57506001600160a01b03821615155b6001600160a01b0383166000818152600660209081526040808320805460ff1916951515959095179094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200030a57607f821691505b6020821081036200032b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000381576000816000526020600020601f850160051c810160208610156200035c5750805b601f850160051c820191505b818110156200037d5782815560010162000368565b5050505b505050565b81516001600160401b03811115620003a257620003a2620002df565b620003ba81620003b38454620002f5565b8462000331565b602080601f831160018114620003f25760008415620003d95750858301515b600019600386901b1c1916600185901b1785556200037d565b600085815260208120601f198616915b82811015620004235788860151825594840194600190910190840162000402565b5085821015620004425787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004a95781600019048211156200048d576200048d62000452565b808516156200049b57918102915b93841c93908002906200046d565b509250929050565b600082620004c25750600162000561565b81620004d15750600062000561565b8160018114620004ea5760028114620004f55762000515565b600191505062000561565b60ff84111562000509576200050962000452565b50506001821b62000561565b5060208310610133831016604e8410600b84101617156200053a575081810a62000561565b62000546838362000468565b80600019048211156200055d576200055d62000452565b0290505b92915050565b60006200057860ff841683620004b1565b9392505050565b808202811582820484141762000561576200056162000452565b8082018082111562000561576200056162000452565b6109f680620005bf6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146101f7578063a9059cbb1461020a578063dd62ed3e1461021d578063f2fde38b1461024857600080fd5b806370a08231146101ac578063715018a6146101cc5780638da5cb5b146101d457806395d89b41146101ef57600080fd5b806323b872dd116100d357806323b872dd14610152578063313ce56714610165578063395093511461018457806342966c681461019757600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261025b565b60405161010f919061080b565b60405180910390f35b61012b610126366004610876565b6102e9565b604051901515815260200161010f565b61014460005481565b60405190815260200161010f565b61012b6101603660046108a0565b610356565b6005546101729060ff1681565b60405160ff909116815260200161010f565b61012b610192366004610876565b610496565b6101aa6101a53660046108dc565b610527565b005b6101446101ba3660046108f5565b60016020526000908152604090205481565b6101aa610578565b6008546040516001600160a01b03909116815260200161010f565b61010261058c565b61012b610205366004610876565b610599565b61012b610218366004610876565b6105f5565b61014461022b366004610917565b600260209081526000928352604080842090915290825290205481565b6101aa6102563660046108f5565b61069f565b600380546102689061094a565b80601f01602080910402602001604051908101604052809291908181526020018280546102949061094a565b80156102e15780601f106102b6576101008083540402835291602001916102e1565b820191906000526020600020905b8154815290600101906020018083116102c457829003601f168201915b505050505081565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103449086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260026020908152604080832033845290915281205482111561038657600080fd5b6001600160a01b0384166000908152600160205260409020548211156103ab57600080fd5b6001600160a01b0384166000908152600260209081526040808320338452909152812080548492906103de90849061099a565b90915550506001600160a01b0384166000908152600160205260408120805484929061040b90849061099a565b90915550506001600160a01b038316600090815260016020526040812080548492906104389084906109ad565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161048491815260200190565b60405180910390a35060019392505050565b3360009081526002602090815260408083206001600160a01b038616845290915281205482906104c89060001961099a565b10156104d357600080fd5b3360009081526002602090815260408083206001600160a01b038716845290915290205482015b3360009081526002602090815260408083206001600160a01b038816845290915290205550600192915050565b3360009081526006602052604090205460ff166105535760055462010000900460ff1661055357600080fd5b80600054101580610562575060015b61056b57600080fd5b61057533826106df565b50565b61058061078c565b61058a60006107b9565b565b600480546102689061094a565b3360009081526002602090815260408083206001600160a01b03861684529091528120548211156105c957600080fd5b3360009081526002602090815260408083206001600160a01b03871684529091529020548290036104fa565b3360009081526001602052604081205482111561061157600080fd5b336000908152600160205260408120805484929061063090849061099a565b90915550506001600160a01b0383166000908152600160205260408120805484929061065d9084906109ad565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610344565b6106a761078c565b6001600160a01b0381166106d657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610575816107b9565b6001600160a01b038216158015906106f657508015155b6106ff57600080fd5b8060016001600160a01b03841660009081526001602052604090205461072591906109ad565b101561073057600080fd5b6000805482900381556001600160a01b03831680825260016020908152604080842080548690039055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6008546001600160a01b0316331461058a5760405163118cdaa760e01b81523360048201526024016106cd565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020808352835180602085015260005b818110156108395785810183015185820160400152820161081d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461087157600080fd5b919050565b6000806040838503121561088957600080fd5b6108928361085a565b946020939093013593505050565b6000806000606084860312156108b557600080fd5b6108be8461085a565b92506108cc6020850161085a565b9150604084013590509250925092565b6000602082840312156108ee57600080fd5b5035919050565b60006020828403121561090757600080fd5b6109108261085a565b9392505050565b6000806040838503121561092a57600080fd5b6109338361085a565b91506109416020840161085a565b90509250929050565b600181811c9082168061095e57607f821691505b60208210810361097e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561035057610350610984565b808201808211156103505761035061098456fea2646970667358221220e60616d965b91f05b8d2b2b49fdf2b7b04da7fce1b09ea2417fe610a1a347cda64736f6c63430008180033