{"bytecode":"608060405234801562000010575f80fd5b5060405162000b8238038062000b8283398101604081905262000033916200013e565b848460036200004383826200025a565b5060046200005282826200025a565b5050506005929092556006919091556007805460ff191660ff90921691909117905550620003269050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620000a1575f80fd5b81516001600160401b0380821115620000be57620000be6200007d565b604051601f8301601f19908116603f01168101908282118183101715620000e957620000e96200007d565b816040528381526020925086602085880101111562000106575f80fd5b5f91505b838210156200012957858201830151818301840152908201906200010a565b5f602085830101528094505050505092915050565b5f805f805f60a0868803121562000153575f80fd5b85516001600160401b03808211156200016a575f80fd5b6200017889838a0162000091565b965060208801519150808211156200018e575f80fd5b506200019d8882890162000091565b94505060408601519250606086015160ff81168114620001bb575f80fd5b80925050608086015190509295509295909350565b600181811c90821680620001e557607f821691505b6020821081036200020457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200025557805f5260205f20601f840160051c81016020851015620002315750805b601f840160051c820191505b8181101562000252575f81556001016200023d565b50505b505050565b81516001600160401b038111156200027657620002766200007d565b6200028e81620002878454620001d0565b846200020a565b602080601f831160018114620002c4575f8415620002ac5750858301515b5f19600386901b1c1916600185901b1785556200031e565b5f85815260208120601f198616915b82811015620002f457888601518255948401946001909101908401620002d3565b50858210156200031257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61084e80620003345f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c80635a2bcc181161006e5780635a2bcc181461013a57806370a082311461014357806395d89b411461016b578063a9059cbb14610173578063d5abeb0114610186578063dd62ed3e1461018f575f80fd5b806306fdde03146100b5578063095ea7b3146100d35780631249c58b146100f657806318160ddd1461010057806323b872dd14610112578063313ce56714610125575b5f80fd5b6100bd6101c7565b6040516100ca91906106a8565b60405180910390f35b6100e66100e136600461070f565b610257565b60405190151581526020016100ca565b6100fe610270565b005b6002545b6040519081526020016100ca565b6100e6610120366004610737565b61034f565b60075460405160ff90911681526020016100ca565b61010460065481565b610104610151366004610770565b6001600160a01b03165f9081526020819052604090205490565b6100bd610372565b6100e661018136600461070f565b610381565b61010460055481565b61010461019d366004610790565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101d6906107c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610202906107c1565b801561024d5780601f106102245761010080835404028352916020019161024d565b820191905f5260205f20905b81548152906001019060200180831161023057829003601f168201915b5050505050905090565b5f3361026481858561038e565b60019150505b92915050565b3233146102ea5760405162461bcd60e51b815260206004820152603760248201527f4f6e6c7920746865206f726967696e616c2065787465726e616c206163636f7560448201527f6e742063616e2063616c6c2074686973206d6574686f6400000000000000000060648201526084015b60405180910390fd5b6005546006546002546102fd91906107f9565b11156103415760405162461bcd60e51b815260206004820152601360248201527213585e081cdd5c1c1b1e48195e18d959591959606a1b60448201526064016102e1565b61034d336006546103a0565b565b5f3361035c8582856103d8565b610367858585610453565b506001949350505050565b6060600480546101d6906107c1565b5f33610264818585610453565b61039b83838360016104b0565b505050565b6001600160a01b0382166103c95760405163ec442f0560e01b81525f60048201526024016102e1565b6103d45f8383610582565b5050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461044d578181101561043f57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016102e1565b61044d84848484035f6104b0565b50505050565b6001600160a01b03831661047c57604051634b637e8f60e11b81525f60048201526024016102e1565b6001600160a01b0382166104a55760405163ec442f0560e01b81525f60048201526024016102e1565b61039b838383610582565b6001600160a01b0384166104d95760405163e602df0560e01b81525f60048201526024016102e1565b6001600160a01b03831661050257604051634a1406b160e11b81525f60048201526024016102e1565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561044d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057491815260200190565b60405180910390a350505050565b6001600160a01b0383166105ac578060025f8282546105a191906107f9565b9091555061061c9050565b6001600160a01b0383165f90815260208190526040902054818110156105fe5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102e1565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661063857600280548290039055610656565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161069b91815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b818110156106d4578581018301518582016040015282016106b8565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070a575f80fd5b919050565b5f8060408385031215610720575f80fd5b610729836106f4565b946020939093013593505050565b5f805f60608486031215610749575f80fd5b610752846106f4565b9250610760602085016106f4565b9150604084013590509250925092565b5f60208284031215610780575f80fd5b610789826106f4565b9392505050565b5f80604083850312156107a1575f80fd5b6107aa836106f4565b91506107b8602084016106f4565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f357634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561026a57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220aa0465c5175d311c4691201f6000bf7405fba4fd39024f86deeeda1c02db290f64736f6c63430008160033","abi":"[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_decimalPlaces\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"_mintAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"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\":\"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\":\"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\":\"value\",\"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\":[],\"name\":\"maxSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"}