Contract Address Details

0x769B1442f0FbAe3525647c9B81126F62f6A64Ff8

Token
PUP (PUP)
Creator
0xe2a45cā€“517551 at 0xb1d3d6ā€“67eaa0
Balance
0 Doge
Tokens
Fetching tokens...
Transactions
2,293 Transactions
Transfers
1 Transfers
Gas Used
98,111,543
Last Balance Update
29303541
Contract name:
PupToken




Optimization enabled
true
Compiler version
v0.6.12+commit.27d51765




Optimization runs
200
EVM Version
default




Verified at
2022-08-16T12:57:41.571200Z

Constructor Arguments

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000003505550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035055500000000000000000000000000000000000000000000000000000000000

Arg [0] (string) : PUP
Arg [1] (string) : PUP
Arg [2] (uint256) : 100000000
Arg [3] (uint256) : 10000000000

              

Contract source code

/**
 *Submitted for verification at BscScan.com on 2022-05-07
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.12;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "e001");
        _;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "e002");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "e003");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "e004");
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "e005");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "e006");
        uint256 c = a / b;
        return c;
    }
}

contract PupToken is Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool)  public MinerList;
    uint256 public maxSupply;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    constructor (string memory name, string memory symbol, uint256 _preSupply, uint256 _maxSupply) public {
        _name = name;
        _symbol = symbol;
        _decimals = 18;
        _totalSupply = _preSupply.mul(1e18);
        maxSupply = _maxSupply.mul(1e18);
        _balances[_msgSender()] = _totalSupply;
        MinerList[_msgSender()] = true;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "e007");
        require(recipient != address(0), "e008");
        _beforeTokenTransfer(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "e009");
        require(spender != address(0), "e010");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), 'BEP20: mint to the zero address');
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function addMiner(address _adddress) public onlyOwner {
        MinerList[_adddress] = true;
    }

    function removeMiner(address _adddress) public onlyOwner {
        MinerList[_adddress] = false;
    }

    function mint(address _to, uint256 _amount) public returns (bool) {
        require(MinerList[msg.sender], "only miner!");
        require(_totalSupply.add(_amount) <= maxSupply);
        _mint(_to, _amount);
    }
}
        

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"string","name":"name","internalType":"string"},{"type":"string","name":"symbol","internalType":"string"},{"type":"uint256","name":"_preSupply","internalType":"uint256"},{"type":"uint256","name":"_maxSupply","internalType":"uint256"}]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"MinerList","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addMiner","inputs":[{"type":"address","name":"_adddress","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"maxSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"mint","inputs":[{"type":"address","name":"_to","internalType":"address"},{"type":"uint256","name":"_amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"removeMiner","inputs":[{"type":"address","name":"_adddress","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"sender","internalType":"address"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]}]
            

Contract Creation Code

0x60806040523480156200001157600080fd5b50604051620010b8380380620010b8833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040908152602082015191015190925090506000620001b762000356565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350835162000216906006906020870190620003bf565b5082516200022c906007906020860190620003bf565b5060088054601260ff199091161790556200025c82670de0b6b3a76400006200035a602090811b6200081517901c565b6005556200027f81670de0b6b3a76400006200035a602090811b6200081517901c565b600455600554600160006200029362000356565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160036000620002cd6200035660201b60201c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620002ff62000356565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3505050506200045b565b3390565b6000826200036b57506000620003b9565b828202828482816200037957fe5b0414620003b6576040805162461bcd60e51b815260206004808301919091526024820152636530303560e01b604482015290519081900360640190fd5b90505b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040257805160ff191683800117855562000432565b8280016001018555821562000432579182015b828111156200043257825182559160200191906001019062000415565b506200044092915062000444565b5090565b5b8082111562000440576000815560010162000445565b610c4d806200046b6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063d5abeb0111610066578063d5abeb0114610328578063dd62ed3e14610330578063f2fde38b1461035e578063f3982e5e1461038457610100565b806370a08231146102aa5780638da5cb5b146102d057806395d89b41146102f4578063a9059cbb146102fc57610100565b806323b872dd116100d357806323b872dd14610204578063313ce5671461023a57806340c10f191461025857806351f6e6111461028457610100565b806306fdde0314610105578063095ea7b31461018257806310242590146101c257806318160ddd146101ea575b600080fd5b61010d6103aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b038135169060200135610440565b604080519115158252519081900360200190f35b6101e8600480360360208110156101d857600080fd5b50356001600160a01b031661045e565b005b6101f26104d2565b60408051918252519081900360200190f35b6101ae6004803603606081101561021a57600080fd5b506001600160a01b038135811691602081013590911690604001356104d8565b610242610547565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610550565b6101ae6004803603602081101561029a57600080fd5b50356001600160a01b03166105c7565b6101f2600480360360208110156102c057600080fd5b50356001600160a01b03166105dc565b6102d86105f7565b604080516001600160a01b039092168252519081900360200190f35b61010d610606565b6101ae6004803603604081101561031257600080fd5b506001600160a01b038135169060200135610667565b6101f261067b565b6101f26004803603604081101561034657600080fd5b506001600160a01b0381358116916020013516610681565b6101e86004803603602081101561037457600080fd5b50356001600160a01b03166106ac565b6101e86004803603602081101561039a57600080fd5b50356001600160a01b031661079e565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104365780601f1061040b57610100808354040283529160200191610436565b820191906000526020600020905b81548152906001019060200180831161041957829003601f168201915b5050505050905090565b600061045461044d610874565b8484610878565b5060015b92915050565b610466610874565b6000546001600160a01b039081169116146104b1576040805162461bcd60e51b815260206004808301919091526024820152636530303160e01b604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19169055565b60055490565b60006104e5848484610962565b61053d846104f1610874565b6001600160a01b038716600090815260026020526040812061053891879190610518610874565b6001600160a01b0316815260208101919091526040016000205490610aa3565b610878565b5060019392505050565b60085460ff1690565b3360009081526003602052604081205460ff166105a2576040805162461bcd60e51b815260206004820152600b60248201526a6f6e6c79206d696e65722160a81b604482015290519081900360640190fd5b6004546005546105b29084610ae9565b11156105bd57600080fd5b6104588383610b2c565b60036020526000908152604090205460ff1681565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b031690565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104365780601f1061040b57610100808354040283529160200191610436565b6000610454610674610874565b8484610962565b60045481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6106b4610874565b6000546001600160a01b039081169116146106ff576040805162461bcd60e51b815260206004808301919091526024820152636530303160e01b604482015290519081900360640190fd5b6001600160a01b038116610743576040805162461bcd60e51b815260206004808301919091526024820152633298181960e11b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107a6610874565b6000546001600160a01b039081169116146107f1576040805162461bcd60e51b815260206004808301919091526024820152636530303160e01b604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60008261082457506000610458565b8282028284828161083157fe5b041461086d576040805162461bcd60e51b815260206004808301919091526024820152636530303560e01b604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166108bc576040805162461bcd60e51b815260206004808301919091526024820152636530303960e01b604482015290519081900360640190fd5b6001600160a01b038216610900576040805162461bcd60e51b815260206004808301919091526024820152630653031360e41b604482015290519081900360640190fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109a6576040805162461bcd60e51b815260206004808301919091526024820152636530303760e01b604482015290519081900360640190fd5b6001600160a01b0382166109ea576040805162461bcd60e51b815260206004808301919091526024820152630ca6060760e31b604482015290519081900360640190fd5b6109f5838383610c12565b6001600160a01b038316600090815260016020526040902054610a189082610aa3565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610a479082610ae9565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610ae3576040805162461bcd60e51b81526020600480830191909152602482015263194c0c0d60e21b604482015290519081900360640190fd5b50900390565b60008282018381101561086d576040805162461bcd60e51b815260206004808301919091526024820152636530303360e01b604482015290519081900360640190fd5b6001600160a01b038216610b87576040805162461bcd60e51b815260206004820152601f60248201527f42455032303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610b949082610ae9565b6005556001600160a01b038216600090815260016020526040902054610bba9082610ae9565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b50505056fea264697066735822122049dbfab4aeb26833e08e646d885773f46b84c50b9fa348105f316ccf9d04100c64736f6c634300060c0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000003505550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035055500000000000000000000000000000000000000000000000000000000000

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063d5abeb0111610066578063d5abeb0114610328578063dd62ed3e14610330578063f2fde38b1461035e578063f3982e5e1461038457610100565b806370a08231146102aa5780638da5cb5b146102d057806395d89b41146102f4578063a9059cbb146102fc57610100565b806323b872dd116100d357806323b872dd14610204578063313ce5671461023a57806340c10f191461025857806351f6e6111461028457610100565b806306fdde0314610105578063095ea7b31461018257806310242590146101c257806318160ddd146101ea575b600080fd5b61010d6103aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b038135169060200135610440565b604080519115158252519081900360200190f35b6101e8600480360360208110156101d857600080fd5b50356001600160a01b031661045e565b005b6101f26104d2565b60408051918252519081900360200190f35b6101ae6004803603606081101561021a57600080fd5b506001600160a01b038135811691602081013590911690604001356104d8565b610242610547565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610550565b6101ae6004803603602081101561029a57600080fd5b50356001600160a01b03166105c7565b6101f2600480360360208110156102c057600080fd5b50356001600160a01b03166105dc565b6102d86105f7565b604080516001600160a01b039092168252519081900360200190f35b61010d610606565b6101ae6004803603604081101561031257600080fd5b506001600160a01b038135169060200135610667565b6101f261067b565b6101f26004803603604081101561034657600080fd5b506001600160a01b0381358116916020013516610681565b6101e86004803603602081101561037457600080fd5b50356001600160a01b03166106ac565b6101e86004803603602081101561039a57600080fd5b50356001600160a01b031661079e565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104365780601f1061040b57610100808354040283529160200191610436565b820191906000526020600020905b81548152906001019060200180831161041957829003601f168201915b5050505050905090565b600061045461044d610874565b8484610878565b5060015b92915050565b610466610874565b6000546001600160a01b039081169116146104b1576040805162461bcd60e51b815260206004808301919091526024820152636530303160e01b604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19169055565b60055490565b60006104e5848484610962565b61053d846104f1610874565b6001600160a01b038716600090815260026020526040812061053891879190610518610874565b6001600160a01b0316815260208101919091526040016000205490610aa3565b610878565b5060019392505050565b60085460ff1690565b3360009081526003602052604081205460ff166105a2576040805162461bcd60e51b815260206004820152600b60248201526a6f6e6c79206d696e65722160a81b604482015290519081900360640190fd5b6004546005546105b29084610ae9565b11156105bd57600080fd5b6104588383610b2c565b60036020526000908152604090205460ff1681565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b031690565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104365780601f1061040b57610100808354040283529160200191610436565b6000610454610674610874565b8484610962565b60045481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6106b4610874565b6000546001600160a01b039081169116146106ff576040805162461bcd60e51b815260206004808301919091526024820152636530303160e01b604482015290519081900360640190fd5b6001600160a01b038116610743576040805162461bcd60e51b815260206004808301919091526024820152633298181960e11b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107a6610874565b6000546001600160a01b039081169116146107f1576040805162461bcd60e51b815260206004808301919091526024820152636530303160e01b604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60008261082457506000610458565b8282028284828161083157fe5b041461086d576040805162461bcd60e51b815260206004808301919091526024820152636530303560e01b604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166108bc576040805162461bcd60e51b815260206004808301919091526024820152636530303960e01b604482015290519081900360640190fd5b6001600160a01b038216610900576040805162461bcd60e51b815260206004808301919091526024820152630653031360e41b604482015290519081900360640190fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109a6576040805162461bcd60e51b815260206004808301919091526024820152636530303760e01b604482015290519081900360640190fd5b6001600160a01b0382166109ea576040805162461bcd60e51b815260206004808301919091526024820152630ca6060760e31b604482015290519081900360640190fd5b6109f5838383610c12565b6001600160a01b038316600090815260016020526040902054610a189082610aa3565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610a479082610ae9565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610ae3576040805162461bcd60e51b81526020600480830191909152602482015263194c0c0d60e21b604482015290519081900360640190fd5b50900390565b60008282018381101561086d576040805162461bcd60e51b815260206004808301919091526024820152636530303360e01b604482015290519081900360640190fd5b6001600160a01b038216610b87576040805162461bcd60e51b815260206004820152601f60248201527f42455032303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610b949082610ae9565b6005556001600160a01b038216600090815260016020526040902054610bba9082610ae9565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b50505056fea264697066735822122049dbfab4aeb26833e08e646d885773f46b84c50b9fa348105f316ccf9d04100c64736f6c634300060c0033