ETH Price: $2,498.26 (+3.70%)
 

Overview

Max Total Supply

77,770,000 TMNT

Holders

226

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
hellessy.eth
Balance
1,000 TMNT

Value
$0.00
0x9921f3b354c9a1ebdc0ba466e84ef0afc0d86686
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:
TMNT

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-15
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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);
}

interface IUniswapV2Pair {
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function token0() external view returns (address);
    function token1() external view returns (address);
}

contract TMNT 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 _devWallet;
    address payable private _lpWallet;

    string private constant _name = unicode"TMNT";
    string private constant _symbol = unicode"TMNT";
    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 77_770_000 * 10**_decimals;
    uint256 private _maxTxAmount =   77_770_000 * 10**_decimals;

    uint256 public _maxWalletPercentage = 2;
    uint256 public _buyTax = 1;
    uint256 public _sellTax = 1;
    uint256 public _taxSwapDenominatorRate = 100;
    bool public _isAllowContractTrade = false;

    IUniswapV2Router02 private uniswapV2Router;
    IUniswapV2Pair private tokenPair;

    address private uniswapV2Pair;
    bool private inSwap = false;

    event AllowContractTradeUpdated(bool _isAllowContractTrade);
    event BuyTaxUpdated(uint256 _buyTax);
    event SellTaxUpdated(uint256 _sellTax);
    event WalletPercentageUpdated(uint256 _maxWalletPercentage);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address lpWallet) {
        _lpWallet = payable(lpWallet);
        _devWallet = payable(_msgSender());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_lpWallet] = true;
        _isExcludedFromFee[_devWallet] = true;
        
        _balances[lpWallet] = _tTotal;
        emit Transfer(address(0), lpWallet, _tTotal);
        createPair();
    }

    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 _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() && from != _lpWallet && to != _lpWallet) {

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxTxAmount.mul(_maxWalletPercentage).div(100), "Exceeds the maxWalletSize.");
                require(_isAllowContractTrade || !isContract(to));
            }

            if(from == uniswapV2Pair && from!= address(this)){
                taxAmount = amount.mul(_buyTax).div(100);
            }

            if(to == uniswapV2Pair && from!= address(this)){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul(_sellTax).div(100);
            }

            if (!inSwap && to == uniswapV2Pair) {
                (uint256 reserve0, uint256 reserve1,) = tokenPair.getReserves();
                uint256 tokenPairBalance = tokenPair.token0() == address(this) ? reserve0 : reserve1;
                uint256 TaxSwapAmount = tokenPairBalance.div(_taxSwapDenominatorRate);
                uint256 contractTokenBalance = balanceOf(address(this));

                if(contractTokenBalance >= TaxSwapAmount){
                    swapTokensForEth(TaxSwapAmount);
                    sendETHToFee();
                }
            }
        }

        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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        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 allowContractTradeLimit(bool flag) external {
        require(_msgSender()==_devWallet);
         _isAllowContractTrade = flag;
        emit AllowContractTradeUpdated(_isAllowContractTrade);
    }

    function walletBalanceMaximumLimit(uint256 size) external {
        require(_msgSender()==_devWallet);
        _maxWalletPercentage = min(size,100);
        emit WalletPercentageUpdated(_maxWalletPercentage);
    }

    function setBuytaxRate (uint256 size) external onlyOwner {
        //require(_msgSender()==_devWallet);
        _buyTax = min(size,100);
        emit BuyTaxUpdated(_buyTax);
    }

    function setSelltaxRate (uint256 size) external onlyOwner {
        //require(_msgSender()==_devWallet);
        _sellTax = min(size,100);
        emit SellTaxUpdated(_sellTax);
    }

    function sendETHToFee() private {
        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0.01 * 10 ** 18) { 
            _lpWallet.transfer(contractETHBalance);
        }
    }

    function createPair() private {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        tokenPair = IUniswapV2Pair(uniswapV2Pair);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    receive() external payable {}

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

    function manualSwap(uint256 amount) external {
        require(_msgSender()==_devWallet);
        uint256 tokenBalance=balanceOf(address(this));
        require(tokenBalance >= amount);

        tokenBalance = amount > 0 ? amount : tokenBalance;
        
        if(tokenBalance > 0){
            swapTokensForEth(tokenBalance);
            _lpWallet.transfer(address(this).balance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"lpWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_isAllowContractTrade","type":"bool"}],"name":"AllowContractTradeUpdated","type":"event"},{"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":"_buyTax","type":"uint256"}],"name":"BuyTaxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"SellTaxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxWalletPercentage","type":"uint256"}],"name":"WalletPercentageUpdated","type":"event"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isAllowContractTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapDenominatorRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"flag","type":"bool"}],"name":"allowContractTradeLimit","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"}],"name":"setBuytaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"}],"name":"setSelltaxRate","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"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"}],"name":"walletBalanceMaximumLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526008600a62000014919062000bdf565b6304a2ad1062000025919062000c2f565b6006556002600755600160085560016009556064600a555f600b5f6101000a81548160ff0219169083151502179055505f600d60146101000a81548160ff0219169083151502179055503480156200007b575f80fd5b5060405162003c7e38038062003c7e8339818101604052810190620000a1919062000cde565b5f620000b26200048260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200019e6200048260201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f620001f26200048960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506008600a62000392919062000bdf565b6304a2ad10620003a3919062000c2f565b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a62000443919062000bdf565b6304a2ad1062000454919062000c2f565b60405162000463919062000d1f565b60405180910390a36200047b620004b060201b60201c565b5062000f43565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b737a250d5630b4cf539739df2c5dacb4c659f2488d600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200055a30600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a6200053d919062000bdf565b6304a2ad106200054e919062000c2f565b6200088260201b60201c565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005c6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005ec919062000cde565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000674573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200069a919062000cde565b6040518363ffffffff1660e01b8152600401620006b992919062000d4b565b6020604051808303815f875af1158015620006d6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006fc919062000cde565b600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016200083c92919062000d76565b6020604051808303815f875af115801562000859573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200087f919062000ddb565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620008f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ea9062000e8f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000964576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200095b9062000f23565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000a40919062000d1f565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000ad75780860481111562000aaf5762000aae62000a4d565b5b600185161562000abf5780820291505b808102905062000acf8562000a7a565b945062000a8f565b94509492505050565b5f8262000af1576001905062000bc3565b8162000b00575f905062000bc3565b816001811462000b19576002811462000b245762000b5a565b600191505062000bc3565b60ff84111562000b395762000b3862000a4d565b5b8360020a91508482111562000b535762000b5262000a4d565b5b5062000bc3565b5060208310610133831016604e8410600b841016171562000b945782820a90508381111562000b8e5762000b8d62000a4d565b5b62000bc3565b62000ba3848484600162000a86565b9250905081840481111562000bbd5762000bbc62000a4d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000beb8262000bca565b915062000bf88362000bd3565b925062000c277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ae0565b905092915050565b5f62000c3b8262000bca565b915062000c488362000bca565b925082820262000c588162000bca565b9150828204841483151762000c725762000c7162000a4d565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ca88262000c7d565b9050919050565b62000cba8162000c9c565b811462000cc5575f80fd5b50565b5f8151905062000cd88162000caf565b92915050565b5f6020828403121562000cf65762000cf562000c79565b5b5f62000d058482850162000cc8565b91505092915050565b62000d198162000bca565b82525050565b5f60208201905062000d345f83018462000d0e565b92915050565b62000d458162000c9c565b82525050565b5f60408201905062000d605f83018562000d3a565b62000d6f602083018462000d3a565b9392505050565b5f60408201905062000d8b5f83018562000d3a565b62000d9a602083018462000d0e565b9392505050565b5f8115159050919050565b62000db78162000da1565b811462000dc2575f80fd5b50565b5f8151905062000dd58162000dac565b92915050565b5f6020828403121562000df35762000df262000c79565b5b5f62000e028482850162000dc5565b91505092915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000e7760248362000e0b565b915062000e848262000e1b565b604082019050919050565b5f6020820190508181035f83015262000ea88162000e69565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000f0b60228362000e0b565b915062000f188262000eaf565b604082019050919050565b5f6020820190508181035f83015262000f3c8162000efd565b9050919050565b612d2d8062000f515f395ff3fe60806040526004361061012d575f3560e01c806385ed3f37116100aa578063b20464fb1161006e578063b20464fb146103e0578063b70143c914610408578063bad362a414610430578063ca9ec19914610458578063d8fa05dc14610482578063dd62ed3e146104aa57610134565b806385ed3f37146102fe5780638da5cb5b1461032857806395d89b4114610352578063a9059cbb1461037c578063aae73bf7146103b857610134565b806342a11095116100f157806342a110951461022e57806356fab5f2146102585780635a91850f1461028257806370a08231146102ac578063715018a6146102e857610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104e6565b6040516101599190611f9c565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061204d565b610523565b60405161019591906120a5565b60405180910390f35b3480156101a9575f80fd5b506101b2610540565b6040516101bf91906120cd565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906120e6565b610563565b6040516101fb91906120a5565b60405180910390f35b34801561020f575f80fd5b50610218610637565b6040516102259190612151565b60405180910390f35b348015610239575f80fd5b5061024261063f565b60405161024f91906120cd565b60405180910390f35b348015610263575f80fd5b5061026c610645565b60405161027991906120a5565b60405180910390f35b34801561028d575f80fd5b50610296610657565b6040516102a391906120cd565b60405180910390f35b3480156102b7575f80fd5b506102d260048036038101906102cd919061216a565b61065d565b6040516102df91906120cd565b60405180910390f35b3480156102f3575f80fd5b506102fc6106a3565b005b348015610309575f80fd5b506103126107f1565b60405161031f91906120cd565b60405180910390f35b348015610333575f80fd5b5061033c6107f7565b60405161034991906121a4565b60405180910390f35b34801561035d575f80fd5b5061036661081e565b6040516103739190611f9c565b60405180910390f35b348015610387575f80fd5b506103a2600480360381019061039d919061204d565b61085b565b6040516103af91906120a5565b60405180910390f35b3480156103c3575f80fd5b506103de60048036038101906103d991906121bd565b610878565b005b3480156103eb575f80fd5b50610406600480360381019061040191906121bd565b610924565b005b348015610413575f80fd5b5061042e600480360381019061042991906121bd565b610a05565b005b34801561043b575f80fd5b50610456600480360381019061045191906121bd565b610b08565b005b348015610463575f80fd5b5061046c610be9565b60405161047991906120cd565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a39190612212565b610bef565b005b3480156104b5575f80fd5b506104d060048036038101906104cb919061223d565b610caf565b6040516104dd91906120cd565b60405180910390f35b60606040518060400160405280600481526020017f544d4e5400000000000000000000000000000000000000000000000000000000815250905090565b5f61053661052f610d31565b8484610d38565b6001905092915050565b5f6008600a61054f91906123d7565b6304a2ad1061055e9190612421565b905090565b5f61056f848484610efb565b61062c8461057b610d31565b61062785604051806060016040528060288152602001612cd06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105de610d31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119cd9092919063ffffffff16565b610d38565b600190509392505050565b5f6008905090565b60085481565b600b5f9054906101000a900460ff1681565b600a5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106ab610d31565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e906124ac565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f544d4e5400000000000000000000000000000000000000000000000000000000815250905090565b5f61086e610867610d31565b8484610efb565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b8610d31565b73ffffffffffffffffffffffffffffffffffffffff16146108d7575f80fd5b6108e2816064611a2f565b6007819055507f08ff1881b510b5f9942304eb036f6683a47d51d1e15a4453bae53276ac42243d60075460405161091991906120cd565b60405180910390a150565b61092c610d31565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906124ac565b60405180910390fd5b6109c3816064611a2f565b6009819055507fa6255338a5f732d64ceba7f4c18182567f9d1067eb984b46d478b37d72a52d116009546040516109fa91906120cd565b60405180910390a150565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a45610d31565b73ffffffffffffffffffffffffffffffffffffffff1614610a64575f80fd5b5f610a6e3061065d565b905081811015610a7c575f80fd5b5f8211610a895780610a8b565b815b90505f811115610b0457610a9e81611a47565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b02573d5f803e3d5ffd5b505b5050565b610b10610d31565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906124ac565b60405180910390fd5b610ba7816064611a2f565b6008819055507f7a758dc8e99047b028278b3e2ff1416d8493a7aacee7a5dc30b6bf93270eccce600854604051610bde91906120cd565b60405180910390a150565b60095481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c2f610d31565b73ffffffffffffffffffffffffffffffffffffffff1614610c4e575f80fd5b80600b5f6101000a81548160ff0219169083151502179055507fa923b21964986f214cdc4ca2cb74ecd830cb192d275cf58d5ddd544a0e901e02600b5f9054906101000a900460ff16604051610ca491906120a5565b60405180910390a150565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d9061253a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906125c8565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610eee91906120cd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090612656565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce906126e4565b60405180910390fd5b5f8111611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612772565b60405180910390fd5b5f6110226107f7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561109057506110606107f7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156110e9575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611142575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171d57600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111f15750600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611244575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113365760065482111561128e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611285906127da565b60405180910390fd5b6112b860646112aa600754600654611cbe90919063ffffffff16565b611d3590919063ffffffff16565b826112c28561065d565b6112cc91906127f8565b111561130d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130490612875565b60405180910390fd5b600b5f9054906101000a900460ff168061132d575061132b83611d7e565b155b611335575f80fd5b5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113be57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156113ee576113eb60646113dd60085485611cbe90919063ffffffff16565b611d3590919063ffffffff16565b90505b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561147657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114eb576006548211156114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b7906127da565b60405180910390fd5b6114e860646114da60095485611cbe90919063ffffffff16565b611d3590919063ffffffff16565b90505b600d60149054906101000a900460ff161580156115545750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561171c575f80600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156115c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e9919061290f565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691505f3073ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611690573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b49190612973565b73ffffffffffffffffffffffffffffffffffffffff16146116d557816116d7565b825b90505f6116ef600a5483611d3590919063ffffffff16565b90505f6116fb3061065d565b90508181106117165761170d82611a47565b611715611d8f565b5b50505050505b5b5f81111561181c576117758160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0b90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161181391906120cd565b60405180910390a35b61186c8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e6890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061190f6118c38284611e6890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b28486611e6890919063ffffffff16565b6040516119bf91906120cd565b60405180910390a350505050565b5f838311158290611a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0b9190611f9c565b60405180910390fd5b505f8385611a22919061299e565b9050809150509392505050565b5f818311611a3d5782611a3f565b815b905092915050565b6001600d60146101000a81548160ff0219169083151502179055505f810315611ca1575f600267ffffffffffffffff811115611a8657611a856129d1565b5b604051908082528060200260200182016040528015611ab45781602001602082028036833780820191505090505b50905030815f81518110611acb57611aca6129fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b949190612973565b81600181518110611ba857611ba76129fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c0f30600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d38565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c72959493929190612b24565b5f604051808303815f87803b158015611c89575f80fd5b505af1158015611c9b573d5f803e3d5ffd5b50505050505b5f600d60146101000a81548160ff02191690831515021790555050565b5f808303611cce575f9050611d2f565b5f8284611cdb9190612421565b9050828482611cea9190612ba9565b14611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2190612c49565b60405180910390fd5b809150505b92915050565b5f611d7683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611eb1565b905092915050565b5f80823b90505f8111915050919050565b5f479050662386f26fc10000811115611e085760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e06573d5f803e3d5ffd5b505b50565b5f808284611e1991906127f8565b905083811015611e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5590612cb1565b60405180910390fd5b8091505092915050565b5f611ea983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119cd565b905092915050565b5f8083118290611ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eee9190611f9c565b60405180910390fd5b505f8385611f059190612ba9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611f49578082015181840152602081019050611f2e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611f6e82611f12565b611f788185611f1c565b9350611f88818560208601611f2c565b611f9181611f54565b840191505092915050565b5f6020820190508181035f830152611fb48184611f64565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fe982611fc0565b9050919050565b611ff981611fdf565b8114612003575f80fd5b50565b5f8135905061201481611ff0565b92915050565b5f819050919050565b61202c8161201a565b8114612036575f80fd5b50565b5f8135905061204781612023565b92915050565b5f806040838503121561206357612062611fbc565b5b5f61207085828601612006565b925050602061208185828601612039565b9150509250929050565b5f8115159050919050565b61209f8161208b565b82525050565b5f6020820190506120b85f830184612096565b92915050565b6120c78161201a565b82525050565b5f6020820190506120e05f8301846120be565b92915050565b5f805f606084860312156120fd576120fc611fbc565b5b5f61210a86828701612006565b935050602061211b86828701612006565b925050604061212c86828701612039565b9150509250925092565b5f60ff82169050919050565b61214b81612136565b82525050565b5f6020820190506121645f830184612142565b92915050565b5f6020828403121561217f5761217e611fbc565b5b5f61218c84828501612006565b91505092915050565b61219e81611fdf565b82525050565b5f6020820190506121b75f830184612195565b92915050565b5f602082840312156121d2576121d1611fbc565b5b5f6121df84828501612039565b91505092915050565b6121f18161208b565b81146121fb575f80fd5b50565b5f8135905061220c816121e8565b92915050565b5f6020828403121561222757612226611fbc565b5b5f612234848285016121fe565b91505092915050565b5f806040838503121561225357612252611fbc565b5b5f61226085828601612006565b925050602061227185828601612006565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122fd578086048111156122d9576122d861227b565b5b60018516156122e85780820291505b80810290506122f6856122a8565b94506122bd565b94509492505050565b5f8261231557600190506123d0565b81612322575f90506123d0565b8160018114612338576002811461234257612371565b60019150506123d0565b60ff8411156123545761235361227b565b5b8360020a91508482111561236b5761236a61227b565b5b506123d0565b5060208310610133831016604e8410600b84101617156123a65782820a9050838111156123a1576123a061227b565b5b6123d0565b6123b384848460016122b4565b925090508184048111156123ca576123c961227b565b5b81810290505b9392505050565b5f6123e18261201a565b91506123ec83612136565b92506124197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612306565b905092915050565b5f61242b8261201a565b91506124368361201a565b92508282026124448161201a565b9150828204841483151761245b5761245a61227b565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612496602083611f1c565b91506124a182612462565b602082019050919050565b5f6020820190508181035f8301526124c38161248a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612524602483611f1c565b915061252f826124ca565b604082019050919050565b5f6020820190508181035f83015261255181612518565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125b2602283611f1c565b91506125bd82612558565b604082019050919050565b5f6020820190508181035f8301526125df816125a6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612640602583611f1c565b915061264b826125e6565b604082019050919050565b5f6020820190508181035f83015261266d81612634565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126ce602383611f1c565b91506126d982612674565b604082019050919050565b5f6020820190508181035f8301526126fb816126c2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61275c602983611f1c565b915061276782612702565b604082019050919050565b5f6020820190508181035f83015261278981612750565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6127c4601983611f1c565b91506127cf82612790565b602082019050919050565b5f6020820190508181035f8301526127f1816127b8565b9050919050565b5f6128028261201a565b915061280d8361201a565b92508282019050808211156128255761282461227b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61285f601a83611f1c565b915061286a8261282b565b602082019050919050565b5f6020820190508181035f83015261288c81612853565b9050919050565b5f6dffffffffffffffffffffffffffff82169050919050565b6128b581612893565b81146128bf575f80fd5b50565b5f815190506128d0816128ac565b92915050565b5f63ffffffff82169050919050565b6128ee816128d6565b81146128f8575f80fd5b50565b5f81519050612909816128e5565b92915050565b5f805f6060848603121561292657612925611fbc565b5b5f612933868287016128c2565b9350506020612944868287016128c2565b9250506040612955868287016128fb565b9150509250925092565b5f8151905061296d81611ff0565b92915050565b5f6020828403121561298857612987611fbc565b5b5f6129958482850161295f565b91505092915050565b5f6129a88261201a565b91506129b38361201a565b92508282039050818111156129cb576129ca61227b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612a57612a52612a4d84612a2b565b612a34565b61201a565b9050919050565b612a6781612a3d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a9f81611fdf565b82525050565b5f612ab08383612a96565b60208301905092915050565b5f602082019050919050565b5f612ad282612a6d565b612adc8185612a77565b9350612ae783612a87565b805f5b83811015612b17578151612afe8882612aa5565b9750612b0983612abc565b925050600181019050612aea565b5085935050505092915050565b5f60a082019050612b375f8301886120be565b612b446020830187612a5e565b8181036040830152612b568186612ac8565b9050612b656060830185612195565b612b7260808301846120be565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bb38261201a565b9150612bbe8361201a565b925082612bce57612bcd612b7c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c33602183611f1c565b9150612c3e82612bd9565b604082019050919050565b5f6020820190508181035f830152612c6081612c27565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c9b601b83611f1c565b9150612ca682612c67565b602082019050919050565b5f6020820190508181035f830152612cc881612c8f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f178ea2a61d7723f7ec95b8089d63b7d85e0887201cfbc50c79939fd690511e264736f6c63430008140033000000000000000000000000a10d99a9adc9c452fbb55545d1cf12c10e05aadd

Deployed Bytecode

0x60806040526004361061012d575f3560e01c806385ed3f37116100aa578063b20464fb1161006e578063b20464fb146103e0578063b70143c914610408578063bad362a414610430578063ca9ec19914610458578063d8fa05dc14610482578063dd62ed3e146104aa57610134565b806385ed3f37146102fe5780638da5cb5b1461032857806395d89b4114610352578063a9059cbb1461037c578063aae73bf7146103b857610134565b806342a11095116100f157806342a110951461022e57806356fab5f2146102585780635a91850f1461028257806370a08231146102ac578063715018a6146102e857610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104e6565b6040516101599190611f9c565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061204d565b610523565b60405161019591906120a5565b60405180910390f35b3480156101a9575f80fd5b506101b2610540565b6040516101bf91906120cd565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906120e6565b610563565b6040516101fb91906120a5565b60405180910390f35b34801561020f575f80fd5b50610218610637565b6040516102259190612151565b60405180910390f35b348015610239575f80fd5b5061024261063f565b60405161024f91906120cd565b60405180910390f35b348015610263575f80fd5b5061026c610645565b60405161027991906120a5565b60405180910390f35b34801561028d575f80fd5b50610296610657565b6040516102a391906120cd565b60405180910390f35b3480156102b7575f80fd5b506102d260048036038101906102cd919061216a565b61065d565b6040516102df91906120cd565b60405180910390f35b3480156102f3575f80fd5b506102fc6106a3565b005b348015610309575f80fd5b506103126107f1565b60405161031f91906120cd565b60405180910390f35b348015610333575f80fd5b5061033c6107f7565b60405161034991906121a4565b60405180910390f35b34801561035d575f80fd5b5061036661081e565b6040516103739190611f9c565b60405180910390f35b348015610387575f80fd5b506103a2600480360381019061039d919061204d565b61085b565b6040516103af91906120a5565b60405180910390f35b3480156103c3575f80fd5b506103de60048036038101906103d991906121bd565b610878565b005b3480156103eb575f80fd5b50610406600480360381019061040191906121bd565b610924565b005b348015610413575f80fd5b5061042e600480360381019061042991906121bd565b610a05565b005b34801561043b575f80fd5b50610456600480360381019061045191906121bd565b610b08565b005b348015610463575f80fd5b5061046c610be9565b60405161047991906120cd565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a39190612212565b610bef565b005b3480156104b5575f80fd5b506104d060048036038101906104cb919061223d565b610caf565b6040516104dd91906120cd565b60405180910390f35b60606040518060400160405280600481526020017f544d4e5400000000000000000000000000000000000000000000000000000000815250905090565b5f61053661052f610d31565b8484610d38565b6001905092915050565b5f6008600a61054f91906123d7565b6304a2ad1061055e9190612421565b905090565b5f61056f848484610efb565b61062c8461057b610d31565b61062785604051806060016040528060288152602001612cd06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105de610d31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119cd9092919063ffffffff16565b610d38565b600190509392505050565b5f6008905090565b60085481565b600b5f9054906101000a900460ff1681565b600a5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106ab610d31565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e906124ac565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f544d4e5400000000000000000000000000000000000000000000000000000000815250905090565b5f61086e610867610d31565b8484610efb565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b8610d31565b73ffffffffffffffffffffffffffffffffffffffff16146108d7575f80fd5b6108e2816064611a2f565b6007819055507f08ff1881b510b5f9942304eb036f6683a47d51d1e15a4453bae53276ac42243d60075460405161091991906120cd565b60405180910390a150565b61092c610d31565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906124ac565b60405180910390fd5b6109c3816064611a2f565b6009819055507fa6255338a5f732d64ceba7f4c18182567f9d1067eb984b46d478b37d72a52d116009546040516109fa91906120cd565b60405180910390a150565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a45610d31565b73ffffffffffffffffffffffffffffffffffffffff1614610a64575f80fd5b5f610a6e3061065d565b905081811015610a7c575f80fd5b5f8211610a895780610a8b565b815b90505f811115610b0457610a9e81611a47565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b02573d5f803e3d5ffd5b505b5050565b610b10610d31565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906124ac565b60405180910390fd5b610ba7816064611a2f565b6008819055507f7a758dc8e99047b028278b3e2ff1416d8493a7aacee7a5dc30b6bf93270eccce600854604051610bde91906120cd565b60405180910390a150565b60095481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c2f610d31565b73ffffffffffffffffffffffffffffffffffffffff1614610c4e575f80fd5b80600b5f6101000a81548160ff0219169083151502179055507fa923b21964986f214cdc4ca2cb74ecd830cb192d275cf58d5ddd544a0e901e02600b5f9054906101000a900460ff16604051610ca491906120a5565b60405180910390a150565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d9061253a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906125c8565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610eee91906120cd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090612656565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce906126e4565b60405180910390fd5b5f8111611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612772565b60405180910390fd5b5f6110226107f7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561109057506110606107f7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156110e9575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611142575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171d57600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111f15750600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611244575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113365760065482111561128e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611285906127da565b60405180910390fd5b6112b860646112aa600754600654611cbe90919063ffffffff16565b611d3590919063ffffffff16565b826112c28561065d565b6112cc91906127f8565b111561130d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130490612875565b60405180910390fd5b600b5f9054906101000a900460ff168061132d575061132b83611d7e565b155b611335575f80fd5b5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113be57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156113ee576113eb60646113dd60085485611cbe90919063ffffffff16565b611d3590919063ffffffff16565b90505b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561147657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114eb576006548211156114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b7906127da565b60405180910390fd5b6114e860646114da60095485611cbe90919063ffffffff16565b611d3590919063ffffffff16565b90505b600d60149054906101000a900460ff161580156115545750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561171c575f80600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156115c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e9919061290f565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691505f3073ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611690573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b49190612973565b73ffffffffffffffffffffffffffffffffffffffff16146116d557816116d7565b825b90505f6116ef600a5483611d3590919063ffffffff16565b90505f6116fb3061065d565b90508181106117165761170d82611a47565b611715611d8f565b5b50505050505b5b5f81111561181c576117758160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0b90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161181391906120cd565b60405180910390a35b61186c8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e6890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061190f6118c38284611e6890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b28486611e6890919063ffffffff16565b6040516119bf91906120cd565b60405180910390a350505050565b5f838311158290611a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0b9190611f9c565b60405180910390fd5b505f8385611a22919061299e565b9050809150509392505050565b5f818311611a3d5782611a3f565b815b905092915050565b6001600d60146101000a81548160ff0219169083151502179055505f810315611ca1575f600267ffffffffffffffff811115611a8657611a856129d1565b5b604051908082528060200260200182016040528015611ab45781602001602082028036833780820191505090505b50905030815f81518110611acb57611aca6129fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b949190612973565b81600181518110611ba857611ba76129fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c0f30600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d38565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c72959493929190612b24565b5f604051808303815f87803b158015611c89575f80fd5b505af1158015611c9b573d5f803e3d5ffd5b50505050505b5f600d60146101000a81548160ff02191690831515021790555050565b5f808303611cce575f9050611d2f565b5f8284611cdb9190612421565b9050828482611cea9190612ba9565b14611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2190612c49565b60405180910390fd5b809150505b92915050565b5f611d7683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611eb1565b905092915050565b5f80823b90505f8111915050919050565b5f479050662386f26fc10000811115611e085760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e06573d5f803e3d5ffd5b505b50565b5f808284611e1991906127f8565b905083811015611e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5590612cb1565b60405180910390fd5b8091505092915050565b5f611ea983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119cd565b905092915050565b5f8083118290611ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eee9190611f9c565b60405180910390fd5b505f8385611f059190612ba9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611f49578082015181840152602081019050611f2e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611f6e82611f12565b611f788185611f1c565b9350611f88818560208601611f2c565b611f9181611f54565b840191505092915050565b5f6020820190508181035f830152611fb48184611f64565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fe982611fc0565b9050919050565b611ff981611fdf565b8114612003575f80fd5b50565b5f8135905061201481611ff0565b92915050565b5f819050919050565b61202c8161201a565b8114612036575f80fd5b50565b5f8135905061204781612023565b92915050565b5f806040838503121561206357612062611fbc565b5b5f61207085828601612006565b925050602061208185828601612039565b9150509250929050565b5f8115159050919050565b61209f8161208b565b82525050565b5f6020820190506120b85f830184612096565b92915050565b6120c78161201a565b82525050565b5f6020820190506120e05f8301846120be565b92915050565b5f805f606084860312156120fd576120fc611fbc565b5b5f61210a86828701612006565b935050602061211b86828701612006565b925050604061212c86828701612039565b9150509250925092565b5f60ff82169050919050565b61214b81612136565b82525050565b5f6020820190506121645f830184612142565b92915050565b5f6020828403121561217f5761217e611fbc565b5b5f61218c84828501612006565b91505092915050565b61219e81611fdf565b82525050565b5f6020820190506121b75f830184612195565b92915050565b5f602082840312156121d2576121d1611fbc565b5b5f6121df84828501612039565b91505092915050565b6121f18161208b565b81146121fb575f80fd5b50565b5f8135905061220c816121e8565b92915050565b5f6020828403121561222757612226611fbc565b5b5f612234848285016121fe565b91505092915050565b5f806040838503121561225357612252611fbc565b5b5f61226085828601612006565b925050602061227185828601612006565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122fd578086048111156122d9576122d861227b565b5b60018516156122e85780820291505b80810290506122f6856122a8565b94506122bd565b94509492505050565b5f8261231557600190506123d0565b81612322575f90506123d0565b8160018114612338576002811461234257612371565b60019150506123d0565b60ff8411156123545761235361227b565b5b8360020a91508482111561236b5761236a61227b565b5b506123d0565b5060208310610133831016604e8410600b84101617156123a65782820a9050838111156123a1576123a061227b565b5b6123d0565b6123b384848460016122b4565b925090508184048111156123ca576123c961227b565b5b81810290505b9392505050565b5f6123e18261201a565b91506123ec83612136565b92506124197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612306565b905092915050565b5f61242b8261201a565b91506124368361201a565b92508282026124448161201a565b9150828204841483151761245b5761245a61227b565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612496602083611f1c565b91506124a182612462565b602082019050919050565b5f6020820190508181035f8301526124c38161248a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612524602483611f1c565b915061252f826124ca565b604082019050919050565b5f6020820190508181035f83015261255181612518565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125b2602283611f1c565b91506125bd82612558565b604082019050919050565b5f6020820190508181035f8301526125df816125a6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612640602583611f1c565b915061264b826125e6565b604082019050919050565b5f6020820190508181035f83015261266d81612634565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126ce602383611f1c565b91506126d982612674565b604082019050919050565b5f6020820190508181035f8301526126fb816126c2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61275c602983611f1c565b915061276782612702565b604082019050919050565b5f6020820190508181035f83015261278981612750565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6127c4601983611f1c565b91506127cf82612790565b602082019050919050565b5f6020820190508181035f8301526127f1816127b8565b9050919050565b5f6128028261201a565b915061280d8361201a565b92508282019050808211156128255761282461227b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61285f601a83611f1c565b915061286a8261282b565b602082019050919050565b5f6020820190508181035f83015261288c81612853565b9050919050565b5f6dffffffffffffffffffffffffffff82169050919050565b6128b581612893565b81146128bf575f80fd5b50565b5f815190506128d0816128ac565b92915050565b5f63ffffffff82169050919050565b6128ee816128d6565b81146128f8575f80fd5b50565b5f81519050612909816128e5565b92915050565b5f805f6060848603121561292657612925611fbc565b5b5f612933868287016128c2565b9350506020612944868287016128c2565b9250506040612955868287016128fb565b9150509250925092565b5f8151905061296d81611ff0565b92915050565b5f6020828403121561298857612987611fbc565b5b5f6129958482850161295f565b91505092915050565b5f6129a88261201a565b91506129b38361201a565b92508282039050818111156129cb576129ca61227b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612a57612a52612a4d84612a2b565b612a34565b61201a565b9050919050565b612a6781612a3d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a9f81611fdf565b82525050565b5f612ab08383612a96565b60208301905092915050565b5f602082019050919050565b5f612ad282612a6d565b612adc8185612a77565b9350612ae783612a87565b805f5b83811015612b17578151612afe8882612aa5565b9750612b0983612abc565b925050600181019050612aea565b5085935050505092915050565b5f60a082019050612b375f8301886120be565b612b446020830187612a5e565b8181036040830152612b568186612ac8565b9050612b656060830185612195565b612b7260808301846120be565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bb38261201a565b9150612bbe8361201a565b925082612bce57612bcd612b7c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c33602183611f1c565b9150612c3e82612bd9565b604082019050919050565b5f6020820190508181035f830152612c6081612c27565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c9b601b83611f1c565b9150612ca682612c67565b602082019050919050565b5f6020820190508181035f830152612cc881612c8f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f178ea2a61d7723f7ec95b8089d63b7d85e0887201cfbc50c79939fd690511e264736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a10d99a9adc9c452fbb55545d1cf12c10e05aadd

-----Decoded View---------------
Arg [0] : lpWallet (address): 0xA10d99a9aDC9c452fBB55545D1Cf12c10e05aadd

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a10d99a9adc9c452fbb55545d1cf12c10e05aadd


Deployed Bytecode Sourcemap

3733:8396:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5516:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6349:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5793:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6518:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5702:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4417:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4535:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4484:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5896:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2554:148;;;;;;;;;;;;;:::i;:::-;;4371:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2340:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5607:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6023:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10177:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10594:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11716:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10403:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4450:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9960:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6198:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5516:83;5553:13;5586:5;;;;;;;;;;;;;;;;;5579:12;;5516:83;:::o;6349:161::-;6424:4;6441:39;6450:12;:10;:12::i;:::-;6464:7;6473:6;6441:8;:39::i;:::-;6498:4;6491:11;;6349:161;;;;:::o;5793:95::-;5846:7;4227:1;4283:2;:13;;;;:::i;:::-;4270:10;:26;;;;:::i;:::-;5866:14;;5793:95;:::o;6518:313::-;6616:4;6633:36;6643:6;6651:9;6662:6;6633:9;:36::i;:::-;6680:121;6689:6;6697:12;:10;:12::i;:::-;6711:89;6749:6;6711:89;;;;;;;;;;;;;;;;;:11;:19;6723:6;6711:19;;;;;;;;;;;;;;;:33;6731:12;:10;:12::i;:::-;6711:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6680:8;:121::i;:::-;6819:4;6812:11;;6518:313;;;;;:::o;5702:83::-;5743:5;4227:1;5761:16;;5702:83;:::o;4417:26::-;;;;:::o;4535:41::-;;;;;;;;;;;;;:::o;4484:44::-;;;;:::o;5896:119::-;5962:7;5989:9;:18;5999:7;5989:18;;;;;;;;;;;;;;;;5982:25;;5896:119;;;:::o;2554:148::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2661:1:::1;2624:40;;2645:6;::::0;::::1;;;;;;;;2624:40;;;;;;;;;;;;2692:1;2675:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2554:148::o:0;4371:39::-;;;;:::o;2340:79::-;2378:7;2405:6;;;;;;;;;;;2398:13;;2340:79;:::o;5607:87::-;5646:13;5679:7;;;;;;;;;;;;;;;;;5672:14;;5607:87;:::o;6023:167::-;6101:4;6118:42;6128:12;:10;:12::i;:::-;6142:9;6153:6;6118:9;:42::i;:::-;6178:4;6171:11;;6023:167;;;;:::o;10177:218::-;10268:10;;;;;;;;;;;10254:24;;:12;:10;:12::i;:::-;:24;;;10246:33;;;;;;10313:13;10317:4;10322:3;10313;:13::i;:::-;10290:20;:36;;;;10342:45;10366:20;;10342:45;;;;;;:::i;:::-;;;;;;;;10177:218;:::o;10594:187::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10720:13:::1;10724:4;10729:3;10720;:13::i;:::-;10709:8;:24;;;;10749;10764:8;;10749:24;;;;;;:::i;:::-;;;;;;;;10594:187:::0;:::o;11716:410::-;11794:10;;;;;;;;;;;11780:24;;:12;:10;:12::i;:::-;:24;;;11772:33;;;;;;11816:20;11837:24;11855:4;11837:9;:24::i;:::-;11816:45;;11896:6;11880:12;:22;;11872:31;;;;;;11940:1;11931:6;:10;:34;;11953:12;11931:34;;;11944:6;11931:34;11916:49;;12004:1;11989:12;:16;11986:133;;;12021:30;12038:12;12021:16;:30::i;:::-;12066:9;;;;;;;;;;;:18;;:41;12085:21;12066:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11986:133;11761:365;11716:410;:::o;10403:183::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10527:13:::1;10531:4;10536:3;10527;:13::i;:::-;10517:7;:23;;;;10556:22;10570:7;;10556:22;;;;;;:::i;:::-;;;;;;;;10403:183:::0;:::o;4450:27::-;;;;:::o;9960:209::-;10046:10;;;;;;;;;;;10032:24;;:12;:10;:12::i;:::-;:24;;;10024:33;;;;;;10093:4;10069:21;;:28;;;;;;;;;;;;;;;;;;10113:48;10139:21;;;;;;;;;;;10113:48;;;;;;:::i;:::-;;;;;;;;9960:209;:::o;6198:143::-;6279:7;6306:11;:18;6318:5;6306:18;;;;;;;;;;;;;;;:27;6325:7;6306:27;;;;;;;;;;;;;;;;6299:34;;6198:143;;;;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;6839:335::-;6949:1;6932:19;;:5;:19;;;6924:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7030:1;7011:21;;:7;:21;;;7003:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7112:6;7082:11;:18;7094:5;7082:18;;;;;;;;;;;;;;;:27;7101:7;7082:27;;;;;;;;;;;;;;;:36;;;;7150:7;7134:32;;7143:5;7134:32;;;7159:6;7134:32;;;;;;:::i;:::-;;;;;;;;6839:335;;;:::o;7182:2134::-;7286:1;7270:18;;:4;:18;;;7262:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7363:1;7349:16;;:2;:16;;;7341:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7433:1;7424:6;:10;7416:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7493:17;7537:7;:5;:7::i;:::-;7529:15;;:4;:15;;;;:32;;;;;7554:7;:5;:7::i;:::-;7548:13;;:2;:13;;;;7529:32;:53;;;;;7573:9;;;;;;;;;;;7565:17;;:4;:17;;;;7529:53;:72;;;;;7592:9;;;;;;;;;;;7586:15;;:2;:15;;;;7529:72;7525:1435;;;7632:13;;;;;;;;;;;7624:21;;:4;:21;;;:55;;;;;7663:15;;;;;;;;;;;7649:30;;:2;:30;;;;7624:55;:83;;;;;7685:18;:22;7704:2;7685:22;;;;;;;;;;;;;;;;;;;;;;;;;7683:24;7624:83;7620:384;;;7747:12;;7737:6;:22;;7729:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7842:47;7885:3;7842:38;7859:20;;7842:12;;:16;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;7832:6;7816:13;7826:2;7816:9;:13::i;:::-;:22;;;;:::i;:::-;:73;;7808:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;7947:21;;;;;;;;;;;:40;;;;7973:14;7984:2;7973:10;:14::i;:::-;7972:15;7947:40;7939:49;;;;;;7620:384;8031:13;;;;;;;;;;;8023:21;;:4;:21;;;:45;;;;;8063:4;8048:20;;:4;:20;;;;8023:45;8020:124;;;8100:28;8124:3;8100:19;8111:7;;8100:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;8088:40;;8020:124;8169:13;;;;;;;;;;;8163:19;;:2;:19;;;:43;;;;;8201:4;8186:20;;:4;:20;;;;8163:43;8160:202;;;8244:12;;8234:6;:22;;8226:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8317:29;8342:3;8317:20;8328:8;;8317:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8305:41;;8160:202;8383:6;;;;;;;;;;;8382:7;:30;;;;;8399:13;;;;;;;;;;;8393:19;;:2;:19;;;8382:30;8378:571;;;8434:16;8452;8473:9;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8433:63;;;;;;;;;8515:24;8572:4;8542:35;;:9;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;;;:57;;8591:8;8542:57;;;8580:8;8542:57;8515:84;;8618:21;8642:45;8663:23;;8642:16;:20;;:45;;;;:::i;:::-;8618:69;;8706:28;8737:24;8755:4;8737:9;:24::i;:::-;8706:55;;8809:13;8785:20;:37;8782:152;;8846:31;8863:13;8846:16;:31::i;:::-;8900:14;:12;:14::i;:::-;8782:152;8414:535;;;;;8378:571;7525:1435;8985:1;8975:9;:11;8972:161;;;9025:39;9054:9;9025;:24;9043:4;9025:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9000:9;:24;9018:4;9000:24;;;;;;;;;;;;;;;:64;;;;9105:4;9082:39;;9091:4;9082:39;;;9111:9;9082:39;;;;;;:::i;:::-;;;;;;;;8972:161;9159:27;9179:6;9159:9;:15;9169:4;9159:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9143:9;:15;9153:4;9143:15;;;;;;;;;;;;;;;:43;;;;9211:40;9229:21;9240:9;9229:6;:10;;:21;;;;:::i;:::-;9211:9;:13;9221:2;9211:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9197:9;:13;9207:2;9197:13;;;;;;;;;;;;;;;:54;;;;9282:2;9267:41;;9276:4;9267:41;;;9286:21;9297:9;9286:6;:10;;:21;;;;:::i;:::-;9267:41;;;;;;:::i;:::-;;;;;;;;7251:2065;7182:2134;;;:::o;1232:190::-;1318:7;1351:1;1346;:6;;1354:12;1338:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1378:9;1394:1;1390;:5;;;;:::i;:::-;1378:17;;1413:1;1406:8;;;1232:190;;;;;:::o;9326:98::-;9383:7;9410:1;9408;:3;9407:9;;9415:1;9407:9;;;9413:1;9407:9;9400:16;;9326:98;;;;:::o;9432:520::-;5008:4;4999:6;;:13;;;;;;;;;;;;;;;;;;9526:1:::1;9513:11;:14:::0;9510:27;9529:7:::1;9510:27;9547:21;9585:1;9571:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9547:40;;9616:4;9598;9603:1;9598:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9642:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9632:4;9637:1;9632:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9675:62;9692:4;9707:15;;;;;;;;;;;9725:11;9675:8;:62::i;:::-;9748:15;;;;;;;;;;;:66;;;9829:11;9855:1;9871:4;9898;9918:15;9748:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9499:453;5023:1;5044:5:::0;5035:6;;:14;;;;;;;;;;;;;;;;;;9432:520;:::o;1430:246::-;1488:7;1517:1;1512;:6;1508:47;;1542:1;1535:8;;;;1508:47;1565:9;1581:1;1577;:5;;;;:::i;:::-;1565:17;;1610:1;1605;1601;:5;;;;:::i;:::-;:10;1593:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1667:1;1660:8;;;1430:246;;;;;:::o;1684:132::-;1742:7;1769:39;1773:1;1776;1769:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1762:46;;1684:132;;;;:::o;11513:195::-;11572:4;11589:12;11656:7;11644:20;11636:28;;11699:1;11692:4;:8;11685:15;;;11513:195;;;:::o;10789:218::-;10832:26;10861:21;10832:50;;10917:15;10896:18;:36;10893:107;;;10950:9;;;;;;;;;;;:18;;:38;10969:18;10950:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10893:107;10821:186;10789:218::o;901:179::-;959:7;979:9;995:1;991;:5;;;;:::i;:::-;979:17;;1020:1;1015;:6;;1007:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1071:1;1064:8;;;901:179;;;;:::o;1088:136::-;1146:7;1173:43;1177:1;1180;1173:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1166:50;;1088:136;;;;:::o;1824:189::-;1910:7;1942:1;1938;:5;1945:12;1930:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1969:9;1985:1;1981;:5;;;;:::i;:::-;1969:17;;2004:1;1997:8;;;1824:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:116::-;5945:21;5960:5;5945:21;:::i;:::-;5938:5;5935:32;5925:60;;5981:1;5978;5971:12;5925:60;5875:116;:::o;5997:133::-;6040:5;6078:6;6065:20;6056:29;;6094:30;6118:5;6094:30;:::i;:::-;5997:133;;;;:::o;6136:323::-;6192:6;6241:2;6229:9;6220:7;6216:23;6212:32;6209:119;;;6247:79;;:::i;:::-;6209:119;6367:1;6392:50;6434:7;6425:6;6414:9;6410:22;6392:50;:::i;:::-;6382:60;;6338:114;6136:323;;;;:::o;6465:474::-;6533:6;6541;6590:2;6578:9;6569:7;6565:23;6561:32;6558:119;;;6596:79;;:::i;:::-;6558:119;6716:1;6741:53;6786:7;6777:6;6766:9;6762:22;6741:53;:::i;:::-;6731:63;;6687:117;6843:2;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6814:118;6465:474;;;;;:::o;6945:180::-;6993:77;6990:1;6983:88;7090:4;7087:1;7080:15;7114:4;7111:1;7104:15;7131:102;7173:8;7220:5;7217:1;7213:13;7192:34;;7131:102;;;:::o;7239:848::-;7300:5;7307:4;7331:6;7322:15;;7355:5;7346:14;;7369:712;7390:1;7380:8;7377:15;7369:712;;;7485:4;7480:3;7476:14;7470:4;7467:24;7464:50;;;7494:18;;:::i;:::-;7464:50;7544:1;7534:8;7530:16;7527:451;;;7959:4;7952:5;7948:16;7939:25;;7527:451;8009:4;8003;7999:15;7991:23;;8039:32;8062:8;8039:32;:::i;:::-;8027:44;;7369:712;;;7239:848;;;;;;;:::o;8093:1073::-;8147:5;8338:8;8328:40;;8359:1;8350:10;;8361:5;;8328:40;8387:4;8377:36;;8404:1;8395:10;;8406:5;;8377:36;8473:4;8521:1;8516:27;;;;8557:1;8552:191;;;;8466:277;;8516:27;8534:1;8525:10;;8536:5;;;8552:191;8597:3;8587:8;8584:17;8581:43;;;8604:18;;:::i;:::-;8581:43;8653:8;8650:1;8646:16;8637:25;;8688:3;8681:5;8678:14;8675:40;;;8695:18;;:::i;:::-;8675:40;8728:5;;;8466:277;;8852:2;8842:8;8839:16;8833:3;8827:4;8824:13;8820:36;8802:2;8792:8;8789:16;8784:2;8778:4;8775:12;8771:35;8755:111;8752:246;;;8908:8;8902:4;8898:19;8889:28;;8943:3;8936:5;8933:14;8930:40;;;8950:18;;:::i;:::-;8930:40;8983:5;;8752:246;9023:42;9061:3;9051:8;9045:4;9042:1;9023:42;:::i;:::-;9008:57;;;;9097:4;9092:3;9088:14;9081:5;9078:25;9075:51;;;9106:18;;:::i;:::-;9075:51;9155:4;9148:5;9144:16;9135:25;;8093:1073;;;;;;:::o;9172:281::-;9230:5;9254:23;9272:4;9254:23;:::i;:::-;9246:31;;9298:25;9314:8;9298:25;:::i;:::-;9286:37;;9342:104;9379:66;9369:8;9363:4;9342:104;:::i;:::-;9333:113;;9172:281;;;;:::o;9459:410::-;9499:7;9522:20;9540:1;9522:20;:::i;:::-;9517:25;;9556:20;9574:1;9556:20;:::i;:::-;9551:25;;9611:1;9608;9604:9;9633:30;9651:11;9633:30;:::i;:::-;9622:41;;9812:1;9803:7;9799:15;9796:1;9793:22;9773:1;9766:9;9746:83;9723:139;;9842:18;;:::i;:::-;9723:139;9507:362;9459:410;;;;:::o;9875:182::-;10015:34;10011:1;10003:6;9999:14;9992:58;9875:182;:::o;10063:366::-;10205:3;10226:67;10290:2;10285:3;10226:67;:::i;:::-;10219:74;;10302:93;10391:3;10302:93;:::i;:::-;10420:2;10415:3;10411:12;10404:19;;10063:366;;;:::o;10435:419::-;10601:4;10639:2;10628:9;10624:18;10616:26;;10688:9;10682:4;10678:20;10674:1;10663:9;10659:17;10652:47;10716:131;10842:4;10716:131;:::i;:::-;10708:139;;10435:419;;;:::o;10860:223::-;11000:34;10996:1;10988:6;10984:14;10977:58;11069:6;11064:2;11056:6;11052:15;11045:31;10860:223;:::o;11089:366::-;11231:3;11252:67;11316:2;11311:3;11252:67;:::i;:::-;11245:74;;11328:93;11417:3;11328:93;:::i;:::-;11446:2;11441:3;11437:12;11430:19;;11089:366;;;:::o;11461:419::-;11627:4;11665:2;11654:9;11650:18;11642:26;;11714:9;11708:4;11704:20;11700:1;11689:9;11685:17;11678:47;11742:131;11868:4;11742:131;:::i;:::-;11734:139;;11461:419;;;:::o;11886:221::-;12026:34;12022:1;12014:6;12010:14;12003:58;12095:4;12090:2;12082:6;12078:15;12071:29;11886:221;:::o;12113:366::-;12255:3;12276:67;12340:2;12335:3;12276:67;:::i;:::-;12269:74;;12352:93;12441:3;12352:93;:::i;:::-;12470:2;12465:3;12461:12;12454:19;;12113:366;;;:::o;12485:419::-;12651:4;12689:2;12678:9;12674:18;12666:26;;12738:9;12732:4;12728:20;12724:1;12713:9;12709:17;12702:47;12766:131;12892:4;12766:131;:::i;:::-;12758:139;;12485:419;;;:::o;12910:224::-;13050:34;13046:1;13038:6;13034:14;13027:58;13119:7;13114:2;13106:6;13102:15;13095:32;12910:224;:::o;13140:366::-;13282:3;13303:67;13367:2;13362:3;13303:67;:::i;:::-;13296:74;;13379:93;13468:3;13379:93;:::i;:::-;13497:2;13492:3;13488:12;13481:19;;13140:366;;;:::o;13512:419::-;13678:4;13716:2;13705:9;13701:18;13693:26;;13765:9;13759:4;13755:20;13751:1;13740:9;13736:17;13729:47;13793:131;13919:4;13793:131;:::i;:::-;13785:139;;13512:419;;;:::o;13937:222::-;14077:34;14073:1;14065:6;14061:14;14054:58;14146:5;14141:2;14133:6;14129:15;14122:30;13937:222;:::o;14165:366::-;14307:3;14328:67;14392:2;14387:3;14328:67;:::i;:::-;14321:74;;14404:93;14493:3;14404:93;:::i;:::-;14522:2;14517:3;14513:12;14506:19;;14165:366;;;:::o;14537:419::-;14703:4;14741:2;14730:9;14726:18;14718:26;;14790:9;14784:4;14780:20;14776:1;14765:9;14761:17;14754:47;14818:131;14944:4;14818:131;:::i;:::-;14810:139;;14537:419;;;:::o;14962:228::-;15102:34;15098:1;15090:6;15086:14;15079:58;15171:11;15166:2;15158:6;15154:15;15147:36;14962:228;:::o;15196:366::-;15338:3;15359:67;15423:2;15418:3;15359:67;:::i;:::-;15352:74;;15435:93;15524:3;15435:93;:::i;:::-;15553:2;15548:3;15544:12;15537:19;;15196:366;;;:::o;15568:419::-;15734:4;15772:2;15761:9;15757:18;15749:26;;15821:9;15815:4;15811:20;15807:1;15796:9;15792:17;15785:47;15849:131;15975:4;15849:131;:::i;:::-;15841:139;;15568:419;;;:::o;15993:175::-;16133:27;16129:1;16121:6;16117:14;16110:51;15993:175;:::o;16174:366::-;16316:3;16337:67;16401:2;16396:3;16337:67;:::i;:::-;16330:74;;16413:93;16502:3;16413:93;:::i;:::-;16531:2;16526:3;16522:12;16515:19;;16174:366;;;:::o;16546:419::-;16712:4;16750:2;16739:9;16735:18;16727:26;;16799:9;16793:4;16789:20;16785:1;16774:9;16770:17;16763:47;16827:131;16953:4;16827:131;:::i;:::-;16819:139;;16546:419;;;:::o;16971:191::-;17011:3;17030:20;17048:1;17030:20;:::i;:::-;17025:25;;17064:20;17082:1;17064:20;:::i;:::-;17059:25;;17107:1;17104;17100:9;17093:16;;17128:3;17125:1;17122:10;17119:36;;;17135:18;;:::i;:::-;17119:36;16971:191;;;;:::o;17168:176::-;17308:28;17304:1;17296:6;17292:14;17285:52;17168:176;:::o;17350:366::-;17492:3;17513:67;17577:2;17572:3;17513:67;:::i;:::-;17506:74;;17589:93;17678:3;17589:93;:::i;:::-;17707:2;17702:3;17698:12;17691:19;;17350:366;;;:::o;17722:419::-;17888:4;17926:2;17915:9;17911:18;17903:26;;17975:9;17969:4;17965:20;17961:1;17950:9;17946:17;17939:47;18003:131;18129:4;18003:131;:::i;:::-;17995:139;;17722:419;;;:::o;18147:114::-;18184:7;18224:30;18217:5;18213:42;18202:53;;18147:114;;;:::o;18267:122::-;18340:24;18358:5;18340:24;:::i;:::-;18333:5;18330:35;18320:63;;18379:1;18376;18369:12;18320:63;18267:122;:::o;18395:143::-;18452:5;18483:6;18477:13;18468:22;;18499:33;18526:5;18499:33;:::i;:::-;18395:143;;;;:::o;18544:93::-;18580:7;18620:10;18613:5;18609:22;18598:33;;18544:93;;;:::o;18643:120::-;18715:23;18732:5;18715:23;:::i;:::-;18708:5;18705:34;18695:62;;18753:1;18750;18743:12;18695:62;18643:120;:::o;18769:141::-;18825:5;18856:6;18850:13;18841:22;;18872:32;18898:5;18872:32;:::i;:::-;18769:141;;;;:::o;18916:661::-;19003:6;19011;19019;19068:2;19056:9;19047:7;19043:23;19039:32;19036:119;;;19074:79;;:::i;:::-;19036:119;19194:1;19219:64;19275:7;19266:6;19255:9;19251:22;19219:64;:::i;:::-;19209:74;;19165:128;19332:2;19358:64;19414:7;19405:6;19394:9;19390:22;19358:64;:::i;:::-;19348:74;;19303:129;19471:2;19497:63;19552:7;19543:6;19532:9;19528:22;19497:63;:::i;:::-;19487:73;;19442:128;18916:661;;;;;:::o;19583:143::-;19640:5;19671:6;19665:13;19656:22;;19687:33;19714:5;19687:33;:::i;:::-;19583:143;;;;:::o;19732:351::-;19802:6;19851:2;19839:9;19830:7;19826:23;19822:32;19819:119;;;19857:79;;:::i;:::-;19819:119;19977:1;20002:64;20058:7;20049:6;20038:9;20034:22;20002:64;:::i;:::-;19992:74;;19948:128;19732:351;;;;:::o;20089:194::-;20129:4;20149:20;20167:1;20149:20;:::i;:::-;20144:25;;20183:20;20201:1;20183:20;:::i;:::-;20178:25;;20227:1;20224;20220:9;20212:17;;20251:1;20245:4;20242:11;20239:37;;;20256:18;;:::i;:::-;20239:37;20089:194;;;;:::o;20289:180::-;20337:77;20334:1;20327:88;20434:4;20431:1;20424:15;20458:4;20455:1;20448:15;20475:180;20523:77;20520:1;20513:88;20620:4;20617:1;20610:15;20644:4;20641:1;20634:15;20661:85;20706:7;20735:5;20724:16;;20661:85;;;:::o;20752:60::-;20780:3;20801:5;20794:12;;20752:60;;;:::o;20818:158::-;20876:9;20909:61;20927:42;20936:32;20962:5;20936:32;:::i;:::-;20927:42;:::i;:::-;20909:61;:::i;:::-;20896:74;;20818:158;;;:::o;20982:147::-;21077:45;21116:5;21077:45;:::i;:::-;21072:3;21065:58;20982:147;;:::o;21135:114::-;21202:6;21236:5;21230:12;21220:22;;21135:114;;;:::o;21255:184::-;21354:11;21388:6;21383:3;21376:19;21428:4;21423:3;21419:14;21404:29;;21255:184;;;;:::o;21445:132::-;21512:4;21535:3;21527:11;;21565:4;21560:3;21556:14;21548:22;;21445:132;;;:::o;21583:108::-;21660:24;21678:5;21660:24;:::i;:::-;21655:3;21648:37;21583:108;;:::o;21697:179::-;21766:10;21787:46;21829:3;21821:6;21787:46;:::i;:::-;21865:4;21860:3;21856:14;21842:28;;21697:179;;;;:::o;21882:113::-;21952:4;21984;21979:3;21975:14;21967:22;;21882:113;;;:::o;22031:732::-;22150:3;22179:54;22227:5;22179:54;:::i;:::-;22249:86;22328:6;22323:3;22249:86;:::i;:::-;22242:93;;22359:56;22409:5;22359:56;:::i;:::-;22438:7;22469:1;22454:284;22479:6;22476:1;22473:13;22454:284;;;22555:6;22549:13;22582:63;22641:3;22626:13;22582:63;:::i;:::-;22575:70;;22668:60;22721:6;22668:60;:::i;:::-;22658:70;;22514:224;22501:1;22498;22494:9;22489:14;;22454:284;;;22458:14;22754:3;22747:10;;22155:608;;;22031:732;;;;:::o;22769:831::-;23032:4;23070:3;23059:9;23055:19;23047:27;;23084:71;23152:1;23141:9;23137:17;23128:6;23084:71;:::i;:::-;23165:80;23241:2;23230:9;23226:18;23217:6;23165:80;:::i;:::-;23292:9;23286:4;23282:20;23277:2;23266:9;23262:18;23255:48;23320:108;23423:4;23414:6;23320:108;:::i;:::-;23312:116;;23438:72;23506:2;23495:9;23491:18;23482:6;23438:72;:::i;:::-;23520:73;23588:3;23577:9;23573:19;23564:6;23520:73;:::i;:::-;22769:831;;;;;;;;:::o;23606:180::-;23654:77;23651:1;23644:88;23751:4;23748:1;23741:15;23775:4;23772:1;23765:15;23792:185;23832:1;23849:20;23867:1;23849:20;:::i;:::-;23844:25;;23883:20;23901:1;23883:20;:::i;:::-;23878:25;;23922:1;23912:35;;23927:18;;:::i;:::-;23912:35;23969:1;23966;23962:9;23957:14;;23792:185;;;;:::o;23983:220::-;24123:34;24119:1;24111:6;24107:14;24100:58;24192:3;24187:2;24179:6;24175:15;24168:28;23983:220;:::o;24209:366::-;24351:3;24372:67;24436:2;24431:3;24372:67;:::i;:::-;24365:74;;24448:93;24537:3;24448:93;:::i;:::-;24566:2;24561:3;24557:12;24550:19;;24209:366;;;:::o;24581:419::-;24747:4;24785:2;24774:9;24770:18;24762:26;;24834:9;24828:4;24824:20;24820:1;24809:9;24805:17;24798:47;24862:131;24988:4;24862:131;:::i;:::-;24854:139;;24581:419;;;:::o;25006:177::-;25146:29;25142:1;25134:6;25130:14;25123:53;25006:177;:::o;25189:366::-;25331:3;25352:67;25416:2;25411:3;25352:67;:::i;:::-;25345:74;;25428:93;25517:3;25428:93;:::i;:::-;25546:2;25541:3;25537:12;25530:19;;25189:366;;;:::o;25561:419::-;25727:4;25765:2;25754:9;25750:18;25742:26;;25814:9;25808:4;25804:20;25800:1;25789:9;25785:17;25778:47;25842:131;25968:4;25842:131;:::i;:::-;25834:139;;25561:419;;;:::o

Swarm Source

ipfs://f178ea2a61d7723f7ec95b8089d63b7d85e0887201cfbc50c79939fd690511e2
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.