ETH Price: $3,336.83 (-0.15%)
 

Overview

Max Total Supply

1,337,420,690 KEVIN

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 10 Decimals)

Balance
11,368,075.1 KEVIN

Value
$0.00
0x5BD7e19C265a394dC48A60B7F87c44EAB7903d3f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KEVIN

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : KEVIN.sol
// Kevin: Glitch-turned-meme from Pixelmon (2022). Proof that in crypto, failure can moon.
// SPDX-License-Identifier: UNLICENSE

// Wesbite: https://www.kevin-coin.com
// Medium:  https://medium.com/@kevincoin_eth/
// TG:      https://t.me/KEVINCOIN_PORTAL

pragma solidity 0.8.28;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract KEVIN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    uint256 public constant TOTAL_KEVIN_NFTS = 107; // There are 107 Kevin NFTs in the original collection
    uint256 firstBlock;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=18;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 10;
    uint256 private constant _tTotal = 1_337_420_690 * 10**_decimals;
    string private constant _name = unicode"KevinCoin";
    string private constant _symbol = unicode"KEVIN";
    uint256 public _maxTxAmount =   13374206 * 10**_decimals;
    uint256 public _maxWalletSize = 13374206 * 10**_decimals;
    uint256 public _taxSwapThreshold= 0 * 10**_decimals;
    uint256 public _maxTaxSwap= 13374206 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function getKevinQuote() public pure returns (string memory) {
        return "In crypto, even a glitch can become a legend.";
    }

    function getKevinLore() public pure returns (string memory) {
        return "Kevin emerged from the Pixelmon reveal in 2022, transforming from a perceived failure into a celebrated meme and valuable NFT.";
    }

    function getTotalKevinNFTs() public pure returns (uint256) {
        return TOTAL_KEVIN_NFTS;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}
}
interface IERC721 {
    function balanceOf(address owner) external view returns (uint256 balance);
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"TOTAL_KEVIN_NFTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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":"pure","type":"function"},{"inputs":[],"name":"getKevinLore","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getKevinQuote","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTotalKevinNFTs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600f60065560146007555f6008555f600955600f600a556012600b556019600c555f600d55600a80610036919061059e565b62cc12fe61004491906105e8565b600e55600a80610054919061059e565b62cc12fe61006291906105e8565b600f55600a80610072919061059e565b5f61007d91906105e8565b601055600a8061008d919061059e565b62cc12fe61009b91906105e8565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055503480156100dd575f5ffd5b505f6100ed6103ff60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101976103ff60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a806101e3919061059e565b634fb76b926101f291906105e8565b60015f6102036103ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61025361040660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061037b6103ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a806103d6919061059e565b634fb76b926103e591906105e8565b6040516103f29190610638565b60405180910390a3610651565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156104af5780860481111561048b5761048a61042d565b5b600185161561049a5780820291505b80810290506104a88561045a565b945061046f565b94509492505050565b5f826104c75760019050610582565b816104d4575f9050610582565b81600181146104ea57600281146104f457610523565b6001915050610582565b60ff8411156105065761050561042d565b5b8360020a91508482111561051d5761051c61042d565b5b50610582565b5060208310610133831016604e8410600b84101617156105585782820a9050838111156105535761055261042d565b5b610582565b6105658484846001610466565b9250905081840481111561057c5761057b61042d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105a882610589565b91506105b383610592565b92506105e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104b8565b905092915050565b5f6105f282610589565b91506105fd83610589565b925082820261060b81610589565b915082820484148315176106225761062161042d565b5b5092915050565b61063281610589565b82525050565b5f60208201905061064b5f830184610629565b92915050565b612ef58061065e5f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103bc578063a2ee28e8146103e6578063a9059cbb14610410578063bf474bed1461044c578063c9567bf914610476578063dd62ed3e1461048c57610134565b8063715018a614610312578063751039fc146103285780637d1db4a51461033e5780638da5cb5b146103685780638f9a55c01461039257610134565b8063313ce567116100f1578063313ce5671461022e57806340041ba0146102585780634db01df4146102825780635c97f116146102ac57806370a08231146102d657610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c6104c8565b6040516101599190611ff0565b60405180910390f35b34801561016d575f5ffd5b50610188600480360381019061018391906120a1565b610505565b60405161019591906120f9565b60405180910390f35b3480156101a9575f5ffd5b506101b2610522565b6040516101bf9190612121565b60405180910390f35b3480156101d3575f5ffd5b506101dc610528565b6040516101e99190612121565b60405180910390f35b3480156101fd575f5ffd5b506102186004803603810190610213919061213a565b61054a565b60405161022591906120f9565b60405180910390f35b348015610239575f5ffd5b5061024261061e565b60405161024f91906121a5565b60405180910390f35b348015610263575f5ffd5b5061026c610626565b6040516102799190611ff0565b60405180910390f35b34801561028d575f5ffd5b50610296610646565b6040516102a39190611ff0565b60405180910390f35b3480156102b7575f5ffd5b506102c0610666565b6040516102cd9190612121565b60405180910390f35b3480156102e1575f5ffd5b506102fc60048036038101906102f791906121be565b61066b565b6040516103099190612121565b60405180910390f35b34801561031d575f5ffd5b506103266106b1565b005b348015610333575f5ffd5b5061033c610801565b005b348015610349575f5ffd5b5061035261092e565b60405161035f9190612121565b60405180910390f35b348015610373575f5ffd5b5061037c610934565b60405161038991906121f8565b60405180910390f35b34801561039d575f5ffd5b506103a661095b565b6040516103b39190612121565b60405180910390f35b3480156103c7575f5ffd5b506103d0610961565b6040516103dd9190611ff0565b60405180910390f35b3480156103f1575f5ffd5b506103fa61099e565b6040516104079190612121565b60405180910390f35b34801561041b575f5ffd5b50610436600480360381019061043191906120a1565b6109a6565b60405161044391906120f9565b60405180910390f35b348015610457575f5ffd5b506104606109c3565b60405161046d9190612121565b60405180910390f35b348015610481575f5ffd5b5061048a6109c9565b005b348015610497575f5ffd5b506104b260048036038101906104ad9190612211565b610ef2565b6040516104bf9190612121565b60405180910390f35b60606040518060400160405280600981526020017f4b6576696e436f696e0000000000000000000000000000000000000000000000815250905090565b5f610518610511610f74565b8484610f7b565b6001905092915050565b60115481565b5f600a8061053691906123ab565b634fb76b9261054591906123f5565b905090565b5f61055684848461113e565b61061384610562610f74565b61060e85604051806060016040528060288152602001612ded6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105c5610f74565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a5b9092919063ffffffff16565b610f7b565b600190509392505050565b5f600a905090565b60606040518060a00160405280607e8152602001612e42607e9139905090565b60606040518060600160405280602d8152602001612e15602d9139905090565b606b81565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106b9610f74565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073d90612480565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610809610f74565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90612480565b60405180910390fd5b600a806108a391906123ab565b634fb76b926108b291906123f5565b600e81905550600a806108c591906123ab565b634fb76b926108d491906123f5565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600a8061090891906123ab565b634fb76b9261091791906123f5565b6040516109249190612121565b60405180910390a1565b600e5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f4b4556494e000000000000000000000000000000000000000000000000000000815250905090565b5f606b905090565b5f6109b96109b2610f74565b848461113e565b6001905092915050565b60105481565b6109d1610f74565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590612480565b60405180910390fd5b601360149054906101000a900460ff1615610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa5906124e8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b493060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a80610b3591906123ab565b634fb76b92610b4491906123f5565b610f7b565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd7919061251a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c81919061251a565b6040518363ffffffff1660e01b8152600401610c9e929190612545565b6020604051808303815f875af1158015610cba573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cde919061251a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d653061066b565b5f5f610d6f610934565b426040518863ffffffff1660e01b8152600401610d91969594939291906125ae565b60606040518083038185885af1158015610dad573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd29190612621565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e72929190612671565b6020604051808303815f875af1158015610e8e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb291906126c2565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043600581905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe09061275d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e906127eb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111319190612121565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a390612879565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121190612907565b60405180910390fd5b5f811161125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612995565b60405180910390fd5b5f5f9050611268610934565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112d657506112a6610934565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ab576113176064611309600a54600d54116112f6576006546112fa565b6008545b85611abd90919063ffffffff16565b611b3490919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113c2575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611415575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114f857600e5482111561145f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611456906129fd565b60405180910390fd5b600f548261146c8561066b565b6114769190612a1b565b11156114b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ae90612a98565b60405180910390fd5b4360036005546114c79190612a1b565b11156114e0576114d683611b7d565b156114df575f5ffd5b5b600d5f8154809291906114f290612ab6565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561159c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115fa57600f54826115ae8561066b565b6115b89190612a1b565b11156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f090612a98565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561168257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116c6576116c360646116b5600b54600d54116116a2576007546116a6565b6009545b85611abd90919063ffffffff16565b611b3490919063ffffffff16565b90505b5f6116d03061066b565b9050601360159054906101000a900460ff1615801561173b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117535750601360169054906101000a900460ff165b8015611760575060105481115b801561176f5750600c54600d54115b156117a95761179161178c8461178784601154611b8e565b611b8e565b611ba6565b5f4790505f8111156117a7576117a647611e11565b5b505b505b5f8111156118aa576118038160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a19190612121565b60405180910390a35b6118fa8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ed690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061199d6119518284611ed690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a408486611ed690919063ffffffff16565b604051611a4d9190612121565b60405180910390a350505050565b5f838311158290611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a999190611ff0565b60405180910390fd5b505f8385611ab09190612afd565b9050809150509392505050565b5f5f8303611acd575f9050611b2e565b5f8284611ada91906123f5565b9050828482611ae99190612b5d565b14611b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2090612bfd565b60405180910390fd5b809150505b92915050565b5f611b7583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1f565b905092915050565b5f5f823b90505f8111915050919050565b5f818311611b9c5782611b9e565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611bdd57611bdc612c1b565b5b604051908082528060200260200182016040528015611c0b5781602001602082028036833780820191505090505b50905030815f81518110611c2257611c21612c48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cc6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cea919061251a565b81600181518110611cfe57611cfd612c48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d643060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f7b565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dc6959493929190612d2c565b5f604051808303815f87803b158015611ddd575f5ffd5b505af1158015611def573d5f5f3e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e75573d5f5f3e3d5ffd5b5050565b5f5f8284611e879190612a1b565b905083811015611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec390612dce565b60405180910390fd5b8091505092915050565b5f611f1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a5b565b905092915050565b5f5f83118290611f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5c9190611ff0565b60405180910390fd5b505f8385611f739190612b5d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fc282611f80565b611fcc8185611f8a565b9350611fdc818560208601611f9a565b611fe581611fa8565b840191505092915050565b5f6020820190508181035f8301526120088184611fb8565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61203d82612014565b9050919050565b61204d81612033565b8114612057575f5ffd5b50565b5f8135905061206881612044565b92915050565b5f819050919050565b6120808161206e565b811461208a575f5ffd5b50565b5f8135905061209b81612077565b92915050565b5f5f604083850312156120b7576120b6612010565b5b5f6120c48582860161205a565b92505060206120d58582860161208d565b9150509250929050565b5f8115159050919050565b6120f3816120df565b82525050565b5f60208201905061210c5f8301846120ea565b92915050565b61211b8161206e565b82525050565b5f6020820190506121345f830184612112565b92915050565b5f5f5f6060848603121561215157612150612010565b5b5f61215e8682870161205a565b935050602061216f8682870161205a565b92505060406121808682870161208d565b9150509250925092565b5f60ff82169050919050565b61219f8161218a565b82525050565b5f6020820190506121b85f830184612196565b92915050565b5f602082840312156121d3576121d2612010565b5b5f6121e08482850161205a565b91505092915050565b6121f281612033565b82525050565b5f60208201905061220b5f8301846121e9565b92915050565b5f5f6040838503121561222757612226612010565b5b5f6122348582860161205a565b92505060206122458582860161205a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156122d1578086048111156122ad576122ac61224f565b5b60018516156122bc5780820291505b80810290506122ca8561227c565b9450612291565b94509492505050565b5f826122e957600190506123a4565b816122f6575f90506123a4565b816001811461230c576002811461231657612345565b60019150506123a4565b60ff8411156123285761232761224f565b5b8360020a91508482111561233f5761233e61224f565b5b506123a4565b5060208310610133831016604e8410600b841016171561237a5782820a9050838111156123755761237461224f565b5b6123a4565b6123878484846001612288565b9250905081840481111561239e5761239d61224f565b5b81810290505b9392505050565b5f6123b58261206e565b91506123c08361218a565b92506123ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122da565b905092915050565b5f6123ff8261206e565b915061240a8361206e565b92508282026124188161206e565b9150828204841483151761242f5761242e61224f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61246a602083611f8a565b915061247582612436565b602082019050919050565b5f6020820190508181035f8301526124978161245e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6124d2601783611f8a565b91506124dd8261249e565b602082019050919050565b5f6020820190508181035f8301526124ff816124c6565b9050919050565b5f8151905061251481612044565b92915050565b5f6020828403121561252f5761252e612010565b5b5f61253c84828501612506565b91505092915050565b5f6040820190506125585f8301856121e9565b61256560208301846121e9565b9392505050565b5f819050919050565b5f819050919050565b5f61259861259361258e8461256c565b612575565b61206e565b9050919050565b6125a88161257e565b82525050565b5f60c0820190506125c15f8301896121e9565b6125ce6020830188612112565b6125db604083018761259f565b6125e8606083018661259f565b6125f560808301856121e9565b61260260a0830184612112565b979650505050505050565b5f8151905061261b81612077565b92915050565b5f5f5f6060848603121561263857612637612010565b5b5f6126458682870161260d565b93505060206126568682870161260d565b92505060406126678682870161260d565b9150509250925092565b5f6040820190506126845f8301856121e9565b6126916020830184612112565b9392505050565b6126a1816120df565b81146126ab575f5ffd5b50565b5f815190506126bc81612698565b92915050565b5f602082840312156126d7576126d6612010565b5b5f6126e4848285016126ae565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612747602483611f8a565b9150612752826126ed565b604082019050919050565b5f6020820190508181035f8301526127748161273b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127d5602283611f8a565b91506127e08261277b565b604082019050919050565b5f6020820190508181035f830152612802816127c9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612863602583611f8a565b915061286e82612809565b604082019050919050565b5f6020820190508181035f83015261289081612857565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128f1602383611f8a565b91506128fc82612897565b604082019050919050565b5f6020820190508181035f83015261291e816128e5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61297f602983611f8a565b915061298a82612925565b604082019050919050565b5f6020820190508181035f8301526129ac81612973565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6129e7601983611f8a565b91506129f2826129b3565b602082019050919050565b5f6020820190508181035f830152612a14816129db565b9050919050565b5f612a258261206e565b9150612a308361206e565b9250828201905080821115612a4857612a4761224f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a82601a83611f8a565b9150612a8d82612a4e565b602082019050919050565b5f6020820190508181035f830152612aaf81612a76565b9050919050565b5f612ac08261206e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612af257612af161224f565b5b600182019050919050565b5f612b078261206e565b9150612b128361206e565b9250828203905081811115612b2a57612b2961224f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b678261206e565b9150612b728361206e565b925082612b8257612b81612b30565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612be7602183611f8a565b9150612bf282612b8d565b604082019050919050565b5f6020820190508181035f830152612c1481612bdb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ca781612033565b82525050565b5f612cb88383612c9e565b60208301905092915050565b5f602082019050919050565b5f612cda82612c75565b612ce48185612c7f565b9350612cef83612c8f565b805f5b83811015612d1f578151612d068882612cad565b9750612d1183612cc4565b925050600181019050612cf2565b5085935050505092915050565b5f60a082019050612d3f5f830188612112565b612d4c602083018761259f565b8181036040830152612d5e8186612cd0565b9050612d6d60608301856121e9565b612d7a6080830184612112565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612db8601b83611f8a565b9150612dc382612d84565b602082019050919050565b5f6020820190508181035f830152612de581612dac565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e2063727970746f2c206576656e206120676c697463682063616e206265636f6d652061206c6567656e642e4b6576696e20656d65726765642066726f6d2074686520506978656c6d6f6e2072657665616c20696e20323032322c207472616e73666f726d696e672066726f6d206120706572636569766564206661696c75726520696e746f20612063656c65627261746564206d656d6520616e642076616c7561626c65204e46542ea2646970667358221220667538efa539efe43dd4430d3391b618218ac375a5fb40026413a3d96bf34a3764736f6c634300081c0033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103bc578063a2ee28e8146103e6578063a9059cbb14610410578063bf474bed1461044c578063c9567bf914610476578063dd62ed3e1461048c57610134565b8063715018a614610312578063751039fc146103285780637d1db4a51461033e5780638da5cb5b146103685780638f9a55c01461039257610134565b8063313ce567116100f1578063313ce5671461022e57806340041ba0146102585780634db01df4146102825780635c97f116146102ac57806370a08231146102d657610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c6104c8565b6040516101599190611ff0565b60405180910390f35b34801561016d575f5ffd5b50610188600480360381019061018391906120a1565b610505565b60405161019591906120f9565b60405180910390f35b3480156101a9575f5ffd5b506101b2610522565b6040516101bf9190612121565b60405180910390f35b3480156101d3575f5ffd5b506101dc610528565b6040516101e99190612121565b60405180910390f35b3480156101fd575f5ffd5b506102186004803603810190610213919061213a565b61054a565b60405161022591906120f9565b60405180910390f35b348015610239575f5ffd5b5061024261061e565b60405161024f91906121a5565b60405180910390f35b348015610263575f5ffd5b5061026c610626565b6040516102799190611ff0565b60405180910390f35b34801561028d575f5ffd5b50610296610646565b6040516102a39190611ff0565b60405180910390f35b3480156102b7575f5ffd5b506102c0610666565b6040516102cd9190612121565b60405180910390f35b3480156102e1575f5ffd5b506102fc60048036038101906102f791906121be565b61066b565b6040516103099190612121565b60405180910390f35b34801561031d575f5ffd5b506103266106b1565b005b348015610333575f5ffd5b5061033c610801565b005b348015610349575f5ffd5b5061035261092e565b60405161035f9190612121565b60405180910390f35b348015610373575f5ffd5b5061037c610934565b60405161038991906121f8565b60405180910390f35b34801561039d575f5ffd5b506103a661095b565b6040516103b39190612121565b60405180910390f35b3480156103c7575f5ffd5b506103d0610961565b6040516103dd9190611ff0565b60405180910390f35b3480156103f1575f5ffd5b506103fa61099e565b6040516104079190612121565b60405180910390f35b34801561041b575f5ffd5b50610436600480360381019061043191906120a1565b6109a6565b60405161044391906120f9565b60405180910390f35b348015610457575f5ffd5b506104606109c3565b60405161046d9190612121565b60405180910390f35b348015610481575f5ffd5b5061048a6109c9565b005b348015610497575f5ffd5b506104b260048036038101906104ad9190612211565b610ef2565b6040516104bf9190612121565b60405180910390f35b60606040518060400160405280600981526020017f4b6576696e436f696e0000000000000000000000000000000000000000000000815250905090565b5f610518610511610f74565b8484610f7b565b6001905092915050565b60115481565b5f600a8061053691906123ab565b634fb76b9261054591906123f5565b905090565b5f61055684848461113e565b61061384610562610f74565b61060e85604051806060016040528060288152602001612ded6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105c5610f74565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a5b9092919063ffffffff16565b610f7b565b600190509392505050565b5f600a905090565b60606040518060a00160405280607e8152602001612e42607e9139905090565b60606040518060600160405280602d8152602001612e15602d9139905090565b606b81565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106b9610f74565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073d90612480565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610809610f74565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90612480565b60405180910390fd5b600a806108a391906123ab565b634fb76b926108b291906123f5565b600e81905550600a806108c591906123ab565b634fb76b926108d491906123f5565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600a8061090891906123ab565b634fb76b9261091791906123f5565b6040516109249190612121565b60405180910390a1565b600e5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f4b4556494e000000000000000000000000000000000000000000000000000000815250905090565b5f606b905090565b5f6109b96109b2610f74565b848461113e565b6001905092915050565b60105481565b6109d1610f74565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590612480565b60405180910390fd5b601360149054906101000a900460ff1615610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa5906124e8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b493060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a80610b3591906123ab565b634fb76b92610b4491906123f5565b610f7b565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd7919061251a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c81919061251a565b6040518363ffffffff1660e01b8152600401610c9e929190612545565b6020604051808303815f875af1158015610cba573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cde919061251a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d653061066b565b5f5f610d6f610934565b426040518863ffffffff1660e01b8152600401610d91969594939291906125ae565b60606040518083038185885af1158015610dad573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd29190612621565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e72929190612671565b6020604051808303815f875af1158015610e8e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb291906126c2565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043600581905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe09061275d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e906127eb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111319190612121565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a390612879565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121190612907565b60405180910390fd5b5f811161125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612995565b60405180910390fd5b5f5f9050611268610934565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112d657506112a6610934565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ab576113176064611309600a54600d54116112f6576006546112fa565b6008545b85611abd90919063ffffffff16565b611b3490919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113c2575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611415575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114f857600e5482111561145f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611456906129fd565b60405180910390fd5b600f548261146c8561066b565b6114769190612a1b565b11156114b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ae90612a98565b60405180910390fd5b4360036005546114c79190612a1b565b11156114e0576114d683611b7d565b156114df575f5ffd5b5b600d5f8154809291906114f290612ab6565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561159c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115fa57600f54826115ae8561066b565b6115b89190612a1b565b11156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f090612a98565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561168257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116c6576116c360646116b5600b54600d54116116a2576007546116a6565b6009545b85611abd90919063ffffffff16565b611b3490919063ffffffff16565b90505b5f6116d03061066b565b9050601360159054906101000a900460ff1615801561173b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117535750601360169054906101000a900460ff165b8015611760575060105481115b801561176f5750600c54600d54115b156117a95761179161178c8461178784601154611b8e565b611b8e565b611ba6565b5f4790505f8111156117a7576117a647611e11565b5b505b505b5f8111156118aa576118038160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a19190612121565b60405180910390a35b6118fa8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ed690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061199d6119518284611ed690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a408486611ed690919063ffffffff16565b604051611a4d9190612121565b60405180910390a350505050565b5f838311158290611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a999190611ff0565b60405180910390fd5b505f8385611ab09190612afd565b9050809150509392505050565b5f5f8303611acd575f9050611b2e565b5f8284611ada91906123f5565b9050828482611ae99190612b5d565b14611b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2090612bfd565b60405180910390fd5b809150505b92915050565b5f611b7583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1f565b905092915050565b5f5f823b90505f8111915050919050565b5f818311611b9c5782611b9e565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611bdd57611bdc612c1b565b5b604051908082528060200260200182016040528015611c0b5781602001602082028036833780820191505090505b50905030815f81518110611c2257611c21612c48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cc6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cea919061251a565b81600181518110611cfe57611cfd612c48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d643060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f7b565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dc6959493929190612d2c565b5f604051808303815f87803b158015611ddd575f5ffd5b505af1158015611def573d5f5f3e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e75573d5f5f3e3d5ffd5b5050565b5f5f8284611e879190612a1b565b905083811015611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec390612dce565b60405180910390fd5b8091505092915050565b5f611f1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a5b565b905092915050565b5f5f83118290611f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5c9190611ff0565b60405180910390fd5b505f8385611f739190612b5d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fc282611f80565b611fcc8185611f8a565b9350611fdc818560208601611f9a565b611fe581611fa8565b840191505092915050565b5f6020820190508181035f8301526120088184611fb8565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61203d82612014565b9050919050565b61204d81612033565b8114612057575f5ffd5b50565b5f8135905061206881612044565b92915050565b5f819050919050565b6120808161206e565b811461208a575f5ffd5b50565b5f8135905061209b81612077565b92915050565b5f5f604083850312156120b7576120b6612010565b5b5f6120c48582860161205a565b92505060206120d58582860161208d565b9150509250929050565b5f8115159050919050565b6120f3816120df565b82525050565b5f60208201905061210c5f8301846120ea565b92915050565b61211b8161206e565b82525050565b5f6020820190506121345f830184612112565b92915050565b5f5f5f6060848603121561215157612150612010565b5b5f61215e8682870161205a565b935050602061216f8682870161205a565b92505060406121808682870161208d565b9150509250925092565b5f60ff82169050919050565b61219f8161218a565b82525050565b5f6020820190506121b85f830184612196565b92915050565b5f602082840312156121d3576121d2612010565b5b5f6121e08482850161205a565b91505092915050565b6121f281612033565b82525050565b5f60208201905061220b5f8301846121e9565b92915050565b5f5f6040838503121561222757612226612010565b5b5f6122348582860161205a565b92505060206122458582860161205a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156122d1578086048111156122ad576122ac61224f565b5b60018516156122bc5780820291505b80810290506122ca8561227c565b9450612291565b94509492505050565b5f826122e957600190506123a4565b816122f6575f90506123a4565b816001811461230c576002811461231657612345565b60019150506123a4565b60ff8411156123285761232761224f565b5b8360020a91508482111561233f5761233e61224f565b5b506123a4565b5060208310610133831016604e8410600b841016171561237a5782820a9050838111156123755761237461224f565b5b6123a4565b6123878484846001612288565b9250905081840481111561239e5761239d61224f565b5b81810290505b9392505050565b5f6123b58261206e565b91506123c08361218a565b92506123ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122da565b905092915050565b5f6123ff8261206e565b915061240a8361206e565b92508282026124188161206e565b9150828204841483151761242f5761242e61224f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61246a602083611f8a565b915061247582612436565b602082019050919050565b5f6020820190508181035f8301526124978161245e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6124d2601783611f8a565b91506124dd8261249e565b602082019050919050565b5f6020820190508181035f8301526124ff816124c6565b9050919050565b5f8151905061251481612044565b92915050565b5f6020828403121561252f5761252e612010565b5b5f61253c84828501612506565b91505092915050565b5f6040820190506125585f8301856121e9565b61256560208301846121e9565b9392505050565b5f819050919050565b5f819050919050565b5f61259861259361258e8461256c565b612575565b61206e565b9050919050565b6125a88161257e565b82525050565b5f60c0820190506125c15f8301896121e9565b6125ce6020830188612112565b6125db604083018761259f565b6125e8606083018661259f565b6125f560808301856121e9565b61260260a0830184612112565b979650505050505050565b5f8151905061261b81612077565b92915050565b5f5f5f6060848603121561263857612637612010565b5b5f6126458682870161260d565b93505060206126568682870161260d565b92505060406126678682870161260d565b9150509250925092565b5f6040820190506126845f8301856121e9565b6126916020830184612112565b9392505050565b6126a1816120df565b81146126ab575f5ffd5b50565b5f815190506126bc81612698565b92915050565b5f602082840312156126d7576126d6612010565b5b5f6126e4848285016126ae565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612747602483611f8a565b9150612752826126ed565b604082019050919050565b5f6020820190508181035f8301526127748161273b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127d5602283611f8a565b91506127e08261277b565b604082019050919050565b5f6020820190508181035f830152612802816127c9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612863602583611f8a565b915061286e82612809565b604082019050919050565b5f6020820190508181035f83015261289081612857565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128f1602383611f8a565b91506128fc82612897565b604082019050919050565b5f6020820190508181035f83015261291e816128e5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61297f602983611f8a565b915061298a82612925565b604082019050919050565b5f6020820190508181035f8301526129ac81612973565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6129e7601983611f8a565b91506129f2826129b3565b602082019050919050565b5f6020820190508181035f830152612a14816129db565b9050919050565b5f612a258261206e565b9150612a308361206e565b9250828201905080821115612a4857612a4761224f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a82601a83611f8a565b9150612a8d82612a4e565b602082019050919050565b5f6020820190508181035f830152612aaf81612a76565b9050919050565b5f612ac08261206e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612af257612af161224f565b5b600182019050919050565b5f612b078261206e565b9150612b128361206e565b9250828203905081811115612b2a57612b2961224f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b678261206e565b9150612b728361206e565b925082612b8257612b81612b30565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612be7602183611f8a565b9150612bf282612b8d565b604082019050919050565b5f6020820190508181035f830152612c1481612bdb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ca781612033565b82525050565b5f612cb88383612c9e565b60208301905092915050565b5f602082019050919050565b5f612cda82612c75565b612ce48185612c7f565b9350612cef83612c8f565b805f5b83811015612d1f578151612d068882612cad565b9750612d1183612cc4565b925050600181019050612cf2565b5085935050505092915050565b5f60a082019050612d3f5f830188612112565b612d4c602083018761259f565b8181036040830152612d5e8186612cd0565b9050612d6d60608301856121e9565b612d7a6080830184612112565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612db8601b83611f8a565b9150612dc382612d84565b602082019050919050565b5f6020820190508181035f830152612de581612dac565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e2063727970746f2c206576656e206120676c697463682063616e206265636f6d652061206c6567656e642e4b6576696e20656d65726765642066726f6d2074686520506978656c6d6f6e2072657665616c20696e20323032322c207472616e73666f726d696e672066726f6d206120706572636569766564206661696c75726520696e746f20612063656c65627261746564206d656d6520616e642076616c7561626c65204e46542ea2646970667358221220667538efa539efe43dd4430d3391b618218ac375a5fb40026413a3d96bf34a3764736f6c634300081c0033

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.