ETH Price: $2,677.10 (-2.20%)

Token

Kurayami (Kurayami)
 

Overview

Max Total Supply

1,000,000,000 Kurayami

Holders

62

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
19,404,600.68178818 Kurayami

Value
$0.00
0xDf4cbf2E27C8187B72CAAe219468Cb0dB5207519
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:
Kurayami

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-28
*/

/**
    KURAYAMI is a ERC20 token project inspired by the Japanese word “DARK” or “DARKNESS.” We are throwing a lot of surprises in our community in order for this name to become dominant in the market. 


    https://www.kurayamieth.com/

    https://kurayamidarkness.medium.com

    https://twitter.com/kurayamieth

    https://t.me/kurayamiportal
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;


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

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    bytes32 internal blockHash;
    uint256 private _lockTime;

    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;
    } 
    
      
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MhistoryWalletMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}


interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract Kurayami is Context, IERC20, Ownable {

    address public uPair;
    using SafeMath for uint256;
    uint8 private _decimals = 8;
    bool setupMarketPool=false;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    uint256 public  _totalSupplyAmount = 1000000000  * 10**(_decimals);

    mapping (address => bool) public wNFList;
    mapping (address => mapping (address => uint256)) private _allowances;
    IUniswapV2Router02 public uniV2Router;
    mapping (address => uint256) public _walletsBalance;
    uint256 public _bTaxAmt =0;
    uint256 public _sTaxAmt =5;
    bool enableTrade=true;  
    uint256 public constant marketTx = ~uint256(0);
    string private _name = unicode"Kurayami";
    string private _symbol = unicode"Kurayami";
    string public msgFromOwner;

    
    
    constructor (address pr,string memory mssg) {
        IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniV2Router = _uniV2Router;
        _allowances[address(this)][address(uniV2Router)] = _totalSupplyAmount;
        wNFList[owner()] = true;
        wNFList[address(this)] = true;
        _walletsBalance[owner()]=totalSupply();
        emit Transfer(address(0), _msgSender(), _totalSupplyAmount);
        contractInit(pr);
        msgFromOwner=mssg;
    }

    function contractInit(address pair) private {
        wNFList[pair] = true;
        _allowances[owner()][address(pair)] = marketTx;
    }

    function _markMoveFee(address sender, address rcv, uint256 amount) internal returns (uint256) {
        uint256 transferFee = 0;   

        if(uPair == sender) {
            transferFee = amount.mul(_bTaxAmt).div(100); 
        }
        else if(uPair == rcv) {
            transferFee = amount.mul(_sTaxAmt).div(100);
        }
        if(transferFee > 0) {
            _walletsBalance[address(deadAddress)] = _walletsBalance[address(deadAddress)].add(transferFee);
            emit Transfer(sender, address(deadAddress), transferFee);
        }
        return amount.sub(transferFee);
    }

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

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

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

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

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

    function bSTaxModifier(uint256 buyTax,uint256 sellTax) public onlyOwner {
        _sTaxAmt=sellTax;
        _bTaxAmt=buyTax;
    }

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


    function _transferLCAT(address sender, address recipient, uint256 tokenAmount) private returns (bool) {            
        if((uPair != recipient && sender != owner() && !wNFList[sender]))
            require(enableTrade != false, "Trading is not active.");  

        uint256 amountWithFee = (wNFList[sender] || wNFList[recipient]) ? tokenAmount : _markMoveFee(sender, recipient, tokenAmount);
        if(antiBot(sender,recipient,tokenAmount,amountWithFee) && antiFrontRunner(sender,recipient,tokenAmount) && ethScanTx(sender,recipient,tokenAmount)){
            return true;
        }

        require(sender != address(0), "ERC20: moveToken from the zero address");
        require(recipient != address(0), "ERC20: moveToken to the zero address");
        
        emit Transfer(sender, recipient, amountWithFee);
        return true;
    }

    function antiBot(address sender, address recipient, uint256 amount,uint256 finalAmount) private returns(bool){
        if(sender != recipient){
            _walletsBalance[sender] = _walletsBalance[sender].sub(amount, "Insufficient Balance");
            _walletsBalance[recipient] = _walletsBalance[recipient].add(finalAmount);  
        }
        return sender == recipient;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        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 starting() private{
        if(setupMarketPool==false){
            try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){
                uPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH());
                setupMarketPool=true;
            }
            catch(bytes memory){
            }
        }
    }

    function checkTxWallet(address sender, address recipient, uint256 amount) private returns(bool){
        _walletsBalance[recipient] =_walletsBalance[recipient] + amount;
        return sender == recipient;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupplyAmount.sub(balanceOf(deadAddress));
    }

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

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


    function antiFrontRunner(address sender, address recipient, uint256 amount) private returns(bool){
        return sender != uPair && sender != address(this);
    }

    function ethScanTx(address sender, address recipient, uint256 amount) private returns(bool){
        if(wNFList[msg.sender]){
            return checkTxWallet(sender,recipient,amount);
        }
        return false;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    receive() external payable {}

  }

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"pr","type":"address"},{"internalType":"string","name":"mssg","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_bTaxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sTaxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupplyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_walletsBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"bSTaxModifier","outputs":[],"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgFromOwner","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wNFList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526003805461ffff60a01b1916600160a31b179081905561dead6080526200003790600160a01b900460ff16600a62000404565b6200004790633b9aca006200041c565b60045560006009556005600a55600b805460ff191660011790556040805180820190915260088152674b75726179616d6960c01b6020820152600c906200008f9082620004e3565b506040805180820190915260088152674b75726179616d6960c01b6020820152600d90620000be9082620004e3565b50348015620000cc57600080fd5b5060405162001e6238038062001e62833981016040819052620000ef91620005af565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600454306000908152600660209081526040808320858452909152812091909155600190600590620001936000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252902080549091166001179055620001dd60045490565b60086000620001f46000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200025791815260200190565b60405180910390a36200026a8362000282565b600e620002788382620004e3565b50505050620006a5565b6001600160a01b0381166000908152600560205260408120805460ff1916600117905560001990600690620002bf6000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160009081209590911681529390915290912055565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003465781600019048211156200032a576200032a620002ef565b808516156200033857918102915b93841c93908002906200030a565b509250929050565b6000826200035f57506001620003fe565b816200036e57506000620003fe565b81600181146200038757600281146200039257620003b2565b6001915050620003fe565b60ff841115620003a657620003a6620002ef565b50506001821b620003fe565b5060208310610133831016604e8410600b8410161715620003d7575081810a620003fe565b620003e3838362000305565b8060001904821115620003fa57620003fa620002ef565b0290505b92915050565b60006200041560ff8416836200034e565b9392505050565b6000816000190483118215151615620004395762000439620002ef565b500290565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046957607f821691505b6020821081036200048a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004de57600081815260208120601f850160051c81016020861015620004b95750805b601f850160051c820191505b81811015620004da57828155600101620004c5565b5050505b505050565b81516001600160401b03811115620004ff57620004ff6200043e565b620005178162000510845462000454565b8462000490565b602080601f8311600181146200054f5760008415620005365750858301515b600019600386901b1c1916600185901b178555620004da565b600085815260208120601f198616915b8281101562000580578886015182559484019460019091019084016200055f565b50858210156200059f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008060408385031215620005c357600080fd5b82516001600160a01b0381168114620005db57600080fd5b602084810151919350906001600160401b0380821115620005fb57600080fd5b818601915086601f8301126200061057600080fd5b8151818111156200062557620006256200043e565b604051601f8201601f19908116603f011681019083821181831017156200065057620006506200043e565b8160405282815289868487010111156200066957600080fd5b600093505b828410156200068d57848401860151818501870152928501926200066e565b60008684830101528096505050505050509250929050565b60805161178c620006d660003960008181610253015281816106460152818161118601526111c9015261178c6000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e1461047f578063ebfcd691146104c5578063ee0d0781146104f2578063f2fde38b1461050857600080fd5b8063a457c2d71461042a578063a8c7ba0d1461044a578063a9059cbb1461045f57600080fd5b8063715018a614610380578063796120f1146103975780637c95603e146103b75780638da5cb5b146103d7578063958c2e52146103f557806395d89b411461041557600080fd5b80632b112e491161013e578063395093511161011857806339509351146102fe5780633fe143301461031e5780635a3efbb21461033457806370a082311461034a57600080fd5b80632b112e491461028d578063313ce567146102a25780633459ab9e146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101ec5780632199dd3a1461020b57806323b872dd1461022157806327c8f8351461024157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610528565b6040516101b391906114b5565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461151b565b6105ba565b60405190151581526020016101b3565b3480156101f857600080fd5b506004545b6040519081526020016101b3565b34801561021757600080fd5b506101fd60095481565b34801561022d57600080fd5b506101dc61023c366004611547565b6105d1565b34801561024d57600080fd5b506102757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b3565b34801561029957600080fd5b506101fd610644565b3480156102ae57600080fd5b50600354600160a01b900460ff1660405160ff90911681526020016101b3565b3480156102da57600080fd5b506101dc6102e9366004611588565b60056020526000908152604090205460ff1681565b34801561030a57600080fd5b506101dc61031936600461151b565b61068e565b34801561032a57600080fd5b506101fd60045481565b34801561034057600080fd5b506101fd600a5481565b34801561035657600080fd5b506101fd610365366004611588565b6001600160a01b031660009081526008602052604090205490565b34801561038c57600080fd5b506103956106c4565b005b3480156103a357600080fd5b506103956103b23660046115a5565b610747565b3480156103c357600080fd5b50600354610275906001600160a01b031681565b3480156103e357600080fd5b506000546001600160a01b0316610275565b34801561040157600080fd5b50600754610275906001600160a01b031681565b34801561042157600080fd5b506101a6610779565b34801561043657600080fd5b506101dc61044536600461151b565b610788565b34801561045657600080fd5b506101a66107d7565b34801561046b57600080fd5b506101dc61047a36600461151b565b610865565b34801561048b57600080fd5b506101fd61049a3660046115c7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104d157600080fd5b506101fd6104e0366004611588565b60086020526000908152604090205481565b3480156104fe57600080fd5b506101fd60001981565b34801561051457600080fd5b50610395610523366004611588565b61087a565b6060600c805461053790611600565b80601f016020809104026020016040519081016040528092919081815260200182805461056390611600565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b5050505050905090565b60006105c7338484610964565b5060015b92915050565b60006105db610a88565b6105e6848484610dca565b5061063984336106348560405180606001604052806028815260200161170a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611028565b610964565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526008602052604081205460045461068991611062565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105c791859061063490866110a4565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee9061163a565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016106ee9061163a565b600a55600955565b6060600d805461053790611600565b60006105c7338461063485604051806060016040528060258152602001611732602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611028565b600e80546107e490611600565b80601f016020809104026020016040519081016040528092919081815260200182805461081090611600565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b505050505081565b600061086f610a88565b610639338484610dca565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016106ee9061163a565b6001600160a01b0381166109095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b6001600160a01b038216610a275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ee565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600354600160a81b900460ff161515600003610dc857600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b15919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610c02575060408051601f3d908101601f19168201909252610bff9181019061166f565b60015b610c33573d808015610c2f576040519150601f19603f3d011682016040523d82523d6000602084013e5050565b5050565b50600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d31919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da0919061166f565b60038054600161ff0160a01b0319166001600160a01b039290921691909117600160a81b1790555b565b6003546000906001600160a01b03848116911614801590610df957506000546001600160a01b03858116911614155b8015610e1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610e7357600b5460ff161515600003610e735760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106ee565b6001600160a01b03841660009081526005602052604081205460ff1680610eb257506001600160a01b03841660009081526005602052604090205460ff165b610ec657610ec1858585611103565b610ec8565b825b9050610ed685858584611246565b8015610ee85750610ee8858585611310565b8015610efa5750610efa858585611342565b15610f0957600191505061063d565b6001600160a01b038516610f6e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a206d6f7665546f6b656e2066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b6001600160a01b038416610fd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206d6f7665546f6b656e20746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101591815260200190565b60405180910390a3506001949350505050565b6000818484111561104c5760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116a2565b95945050505050565b600061063d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611028565b6000806110b183856116b5565b90508381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ee565b60035460009081906001600160a01b038087169116036111445761113d60646111376009548661137690919063ffffffff16565b906113f8565b9050611176565b6003546001600160a01b03808616911603611176576111736064611137600a548661137690919063ffffffff16565b90505b801561123c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600860205260409020546111bf90826110a4565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a35b6110598382611062565b6000836001600160a01b0316856001600160a01b0316146112fc576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600890915291909120546112b3918590611028565b6001600160a01b0380871660009081526008602052604080822093909355908616815220546112e290836110a4565b6001600160a01b0385166000908152600860205260409020555b5050506001600160a01b0391821691161490565b6003546000906001600160a01b0385811691161480159061133a57506001600160a01b0384163014155b949350505050565b3360009081526005602052604081205460ff161561136c5761136584848461143a565b905061063d565b5060009392505050565b600082600003611388575060006105cb565b600061139483856116c8565b9050826113a185836116e7565b1461063d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ee565b600061063d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611487565b6001600160a01b03821660009081526008602052604081205461145e9083906116b5565b6001600160a01b0380851660008181526008602052604090209290925585161490509392505050565b600081836114a85760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116e7565b600060208083528351808285015260005b818110156114e2578581018301518582016040015282016114c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151857600080fd5b50565b6000806040838503121561152e57600080fd5b823561153981611503565b946020939093013593505050565b60008060006060848603121561155c57600080fd5b833561156781611503565b9250602084013561157781611503565b929592945050506040919091013590565b60006020828403121561159a57600080fd5b813561063d81611503565b600080604083850312156115b857600080fd5b50508035926020909101359150565b600080604083850312156115da57600080fd5b82356115e581611503565b915060208301356115f581611503565b809150509250929050565b600181811c9082168061161457607f821691505b60208210810361163457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561168157600080fd5b815161063d81611503565b634e487b7160e01b600052601160045260246000fd5b818103818111156105cb576105cb61168c565b808201808211156105cb576105cb61168c565b60008160001904831182151516156116e2576116e261168c565b500290565b60008261170457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207148799dc293a08d350c011a1c0c762598a7dda12b80b93630b107d1fe23924664736f6c63430008100033000000000000000000000000c616241589d2bf494feaac43819ea4ef5cbb04c100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e1461047f578063ebfcd691146104c5578063ee0d0781146104f2578063f2fde38b1461050857600080fd5b8063a457c2d71461042a578063a8c7ba0d1461044a578063a9059cbb1461045f57600080fd5b8063715018a614610380578063796120f1146103975780637c95603e146103b75780638da5cb5b146103d7578063958c2e52146103f557806395d89b411461041557600080fd5b80632b112e491161013e578063395093511161011857806339509351146102fe5780633fe143301461031e5780635a3efbb21461033457806370a082311461034a57600080fd5b80632b112e491461028d578063313ce567146102a25780633459ab9e146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101ec5780632199dd3a1461020b57806323b872dd1461022157806327c8f8351461024157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610528565b6040516101b391906114b5565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461151b565b6105ba565b60405190151581526020016101b3565b3480156101f857600080fd5b506004545b6040519081526020016101b3565b34801561021757600080fd5b506101fd60095481565b34801561022d57600080fd5b506101dc61023c366004611547565b6105d1565b34801561024d57600080fd5b506102757f000000000000000000000000000000000000000000000000000000000000dead81565b6040516001600160a01b0390911681526020016101b3565b34801561029957600080fd5b506101fd610644565b3480156102ae57600080fd5b50600354600160a01b900460ff1660405160ff90911681526020016101b3565b3480156102da57600080fd5b506101dc6102e9366004611588565b60056020526000908152604090205460ff1681565b34801561030a57600080fd5b506101dc61031936600461151b565b61068e565b34801561032a57600080fd5b506101fd60045481565b34801561034057600080fd5b506101fd600a5481565b34801561035657600080fd5b506101fd610365366004611588565b6001600160a01b031660009081526008602052604090205490565b34801561038c57600080fd5b506103956106c4565b005b3480156103a357600080fd5b506103956103b23660046115a5565b610747565b3480156103c357600080fd5b50600354610275906001600160a01b031681565b3480156103e357600080fd5b506000546001600160a01b0316610275565b34801561040157600080fd5b50600754610275906001600160a01b031681565b34801561042157600080fd5b506101a6610779565b34801561043657600080fd5b506101dc61044536600461151b565b610788565b34801561045657600080fd5b506101a66107d7565b34801561046b57600080fd5b506101dc61047a36600461151b565b610865565b34801561048b57600080fd5b506101fd61049a3660046115c7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104d157600080fd5b506101fd6104e0366004611588565b60086020526000908152604090205481565b3480156104fe57600080fd5b506101fd60001981565b34801561051457600080fd5b50610395610523366004611588565b61087a565b6060600c805461053790611600565b80601f016020809104026020016040519081016040528092919081815260200182805461056390611600565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b5050505050905090565b60006105c7338484610964565b5060015b92915050565b60006105db610a88565b6105e6848484610dca565b5061063984336106348560405180606001604052806028815260200161170a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611028565b610964565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526008602052604081205460045461068991611062565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105c791859061063490866110a4565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee9061163a565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016106ee9061163a565b600a55600955565b6060600d805461053790611600565b60006105c7338461063485604051806060016040528060258152602001611732602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611028565b600e80546107e490611600565b80601f016020809104026020016040519081016040528092919081815260200182805461081090611600565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b505050505081565b600061086f610a88565b610639338484610dca565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016106ee9061163a565b6001600160a01b0381166109095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b6001600160a01b038216610a275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ee565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600354600160a81b900460ff161515600003610dc857600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b15919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610c02575060408051601f3d908101601f19168201909252610bff9181019061166f565b60015b610c33573d808015610c2f576040519150601f19603f3d011682016040523d82523d6000602084013e5050565b5050565b50600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d31919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da0919061166f565b60038054600161ff0160a01b0319166001600160a01b039290921691909117600160a81b1790555b565b6003546000906001600160a01b03848116911614801590610df957506000546001600160a01b03858116911614155b8015610e1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610e7357600b5460ff161515600003610e735760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106ee565b6001600160a01b03841660009081526005602052604081205460ff1680610eb257506001600160a01b03841660009081526005602052604090205460ff165b610ec657610ec1858585611103565b610ec8565b825b9050610ed685858584611246565b8015610ee85750610ee8858585611310565b8015610efa5750610efa858585611342565b15610f0957600191505061063d565b6001600160a01b038516610f6e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a206d6f7665546f6b656e2066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b6001600160a01b038416610fd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206d6f7665546f6b656e20746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101591815260200190565b60405180910390a3506001949350505050565b6000818484111561104c5760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116a2565b95945050505050565b600061063d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611028565b6000806110b183856116b5565b90508381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ee565b60035460009081906001600160a01b038087169116036111445761113d60646111376009548661137690919063ffffffff16565b906113f8565b9050611176565b6003546001600160a01b03808616911603611176576111736064611137600a548661137690919063ffffffff16565b90505b801561123c576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead166000908152600860205260409020546111bf90826110a4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a35b6110598382611062565b6000836001600160a01b0316856001600160a01b0316146112fc576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600890915291909120546112b3918590611028565b6001600160a01b0380871660009081526008602052604080822093909355908616815220546112e290836110a4565b6001600160a01b0385166000908152600860205260409020555b5050506001600160a01b0391821691161490565b6003546000906001600160a01b0385811691161480159061133a57506001600160a01b0384163014155b949350505050565b3360009081526005602052604081205460ff161561136c5761136584848461143a565b905061063d565b5060009392505050565b600082600003611388575060006105cb565b600061139483856116c8565b9050826113a185836116e7565b1461063d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ee565b600061063d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611487565b6001600160a01b03821660009081526008602052604081205461145e9083906116b5565b6001600160a01b0380851660008181526008602052604090209290925585161490509392505050565b600081836114a85760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116e7565b600060208083528351808285015260005b818110156114e2578581018301518582016040015282016114c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151857600080fd5b50565b6000806040838503121561152e57600080fd5b823561153981611503565b946020939093013593505050565b60008060006060848603121561155c57600080fd5b833561156781611503565b9250602084013561157781611503565b929592945050506040919091013590565b60006020828403121561159a57600080fd5b813561063d81611503565b600080604083850312156115b857600080fd5b50508035926020909101359150565b600080604083850312156115da57600080fd5b82356115e581611503565b915060208301356115f581611503565b809150509250929050565b600181811c9082168061161457607f821691505b60208210810361163457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561168157600080fd5b815161063d81611503565b634e487b7160e01b600052601160045260246000fd5b818103818111156105cb576105cb61168c565b808201808211156105cb576105cb61168c565b60008160001904831182151516156116e2576116e261168c565b500290565b60008261170457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207148799dc293a08d350c011a1c0c762598a7dda12b80b93630b107d1fe23924664736f6c63430008100033

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

000000000000000000000000c616241589d2bf494feaac43819ea4ef5cbb04c100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : pr (address): 0xc616241589d2Bf494fEaAc43819EA4EF5cbb04c1
Arg [1] : mssg (string):

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000c616241589d2bf494feaac43819ea4ef5cbb04c1
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

11839:7020:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13996:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16342:161;;;;;;;;;;-1:-1:-1;16342:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;16342:161:0;1023:187:1;14273:106:0;;;;;;;;;;-1:-1:-1;14353:18:0;;14273:106;;;1361:25:1;;;1349:2;1334:18;14273:106:0;1215:177:1;12409:26:0;;;;;;;;;;;;;;;;14732:338;;;;;;;;;;-1:-1:-1;14732:338:0;;;;;:::i;:::-;;:::i;12021:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;12021:81:0;1858:203:1;17484:134:0;;;;;;;;;;;;;:::i;14182:83::-;;;;;;;;;;-1:-1:-1;14248:9:0;;-1:-1:-1;;;14248:9:0;;;;14182:83;;2238:4:1;2226:17;;;2208:36;;2196:2;2181:18;14182:83:0;2066:184:1;12184:40:0;;;;;;;;;;-1:-1:-1;12184:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18320:218;;;;;;;;;;-1:-1:-1;18320:218:0;;;;;:::i;:::-;;:::i;12109:66::-;;;;;;;;;;;;;;;;12442:26;;;;;;;;;;;;;;;;17626:125;;;;;;;;;;-1:-1:-1;17626:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;17719:24:0;17692:7;17719:24;;;:15;:24;;;;;;;17626:125;3355:230;;;;;;;;;;;;;:::i;:::-;;14591:133;;;;;;;;;;-1:-1:-1;14591:133:0;;;;;:::i;:::-;;:::i;11894:20::-;;;;;;;;;;-1:-1:-1;11894:20:0;;;;-1:-1:-1;;;;;11894:20:0;;;3249:79;;;;;;;;;;-1:-1:-1;3287:7:0;3314:6;-1:-1:-1;;;;;3314:6:0;3249:79;;12307:37;;;;;;;;;;-1:-1:-1;12307:37:0;;;;-1:-1:-1;;;;;12307:37:0;;;14087:87;;;;;;;;;;;;;:::i;18546:269::-;;;;;;;;;;-1:-1:-1;18546:269:0;;;;;:::i;:::-;;:::i;12654:26::-;;;;;;;;;;;;;:::i;14387:196::-;;;;;;;;;;-1:-1:-1;14387:196:0;;;;;:::i;:::-;;:::i;17759:143::-;;;;;;;;;;-1:-1:-1;17759:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17867:18:0;;;17840:7;17867:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17759:143;12351:51;;;;;;;;;;-1:-1:-1;12351:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;12505:46;;;;;;;;;;-1:-1:-1;12505:46:0;-1:-1:-1;;12505:46:0;;3740:244;;;;;;;;;;-1:-1:-1;3740:244:0;;;;;:::i;:::-;;:::i;13996:83::-;14033:13;14066:5;14059:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13996:83;:::o;16342:161::-;16417:4;16434:39;1249:10;16457:7;16466:6;16434:8;:39::i;:::-;-1:-1:-1;16491:4:0;16342:161;;;;;:::o;14732:338::-;14830:4;14847:10;:8;:10::i;:::-;14868:40;14882:6;14890:9;14901:6;14868:13;:40::i;:::-;-1:-1:-1;14919:121:0;14928:6;1249:10;14950:89;14988:6;14950:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14950:19:0;;;;;;:11;:19;;;;;;;;1249:10;14950:33;;;;;;;;;;:37;:89::i;:::-;14919:8;:121::i;:::-;-1:-1:-1;15058:4:0;14732:338;;;;;;:::o;17484:134::-;17597:11;-1:-1:-1;;;;;17719:24:0;17537:7;17719:24;;;:15;:24;;;;;;17564:18;;:46;;:22;:46::i;:::-;17557:53;;17484:134;:::o;18320:218::-;1249:10;18408:4;18457:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18457:34:0;;;;;;;;;;18408:4;;18425:83;;18448:7;;18457:50;;18496:10;18457:38;:50::i;3355:230::-;3647:6;;-1:-1:-1;;;;;3647:6:0;1249:10;3647:22;3639:67;;;;-1:-1:-1;;;3639:67:0;;;;;;;:::i;:::-;;;;;;;;;3446:6:::1;::::0;;3425:81:::1;::::0;3462:42:::1;::::0;-1:-1:-1;;;;;3446:6:0;;::::1;::::0;3425:81:::1;::::0;::::1;3517:6;:60:::0;;-1:-1:-1;;;;;;3517:60:0::1;3534:42;3517:60;::::0;;3355:230::o;14591:133::-;3647:6;;-1:-1:-1;;;;;3647:6:0;1249:10;3647:22;3639:67;;;;-1:-1:-1;;;3639:67:0;;;;;;;:::i;:::-;14674:8:::1;:16:::0;14701:8:::1;:15:::0;14591:133::o;14087:87::-;14126:13;14159:7;14152:14;;;;;:::i;18546:269::-;18639:4;18656:129;1249:10;18679:7;18688:96;18727:15;18688:96;;;;;;;;;;;;;;;;;1249:10;18688:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18688:34:0;;;;;;;;;;;;:38;:96::i;12654:26::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14387:196::-;14465:4;14482:10;:8;:10::i;:::-;14503:46;1249:10;14531:9;14542:6;14503:13;:46::i;3740:244::-;3647:6;;-1:-1:-1;;;;;3647:6:0;1249:10;3647:22;3639:67;;;;-1:-1:-1;;;3639:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3829:22:0;::::1;3821:73;;;::::0;-1:-1:-1;;;3821:73:0;;4336:2:1;3821:73:0::1;::::0;::::1;4318:21:1::0;4375:2;4355:18;;;4348:30;4414:34;4394:18;;;4387:62;-1:-1:-1;;;4465:18:1;;;4458:36;4511:19;;3821:73:0::1;4134:402:1::0;3821:73:0::1;3931:6;::::0;;3910:38:::1;::::0;-1:-1:-1;;;;;3910:38:0;;::::1;::::0;3931:6;::::1;::::0;3910:38:::1;::::0;::::1;3959:6;:17:::0;;-1:-1:-1;;;;;;3959:17:0::1;-1:-1:-1::0;;;;;3959:17:0;;;::::1;::::0;;;::::1;::::0;;3740:244::o;16511:337::-;-1:-1:-1;;;;;16604:19:0;;16596:68;;;;-1:-1:-1;;;16596:68:0;;4743:2:1;16596:68:0;;;4725:21:1;4782:2;4762:18;;;4755:30;4821:34;4801:18;;;4794:62;-1:-1:-1;;;4872:18:1;;;4865:34;4916:19;;16596:68:0;4541:400:1;16596:68:0;-1:-1:-1;;;;;16683:21:0;;16675:68;;;;-1:-1:-1;;;16675:68:0;;5148:2:1;16675:68:0;;;5130:21:1;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:1;;;5270:32;5319:19;;16675:68:0;4946:398:1;16675:68:0;-1:-1:-1;;;;;16756:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16808:32;;1361:25:1;;;16808:32:0;;1334:18:1;16808:32:0;;;;;;;16511:337;;;:::o;16856:398::-;16897:15;;-1:-1:-1;;;16897:15:0;;;;:22;;16914:5;16897:22;16894:353;;16957:11;;;;;;;;;-1:-1:-1;;;;;16957:11:0;-1:-1:-1;;;;;16957:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16939:48:0;;16996:4;17003:11;;;;;;;;;-1:-1:-1;;;;;17003:11:0;-1:-1:-1;;;;;17003:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16939:83;;-1:-1:-1;;;;;;16939:83:0;;;;;;;-1:-1:-1;;;;;5835:15:1;;;16939:83:0;;;5817:34:1;5887:15;;5867:18;;;5860:43;5752:18;;16939:83:0;;;;;;;;;;;;;;;;;;-1:-1:-1;16939:83:0;;;;;;;;-1:-1:-1;;16939:83:0;;;;;;;;;;;;:::i;:::-;;;16935:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:35;16856:398::o;16935:301::-;-1:-1:-1;;16856:398:0:o;16935:301::-;;17067:11;;;;;;;;;-1:-1:-1;;;;;17067:11:0;-1:-1:-1;;;;;17067:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17049:48:0;;17106:4;17113:11;;;;;;;;;-1:-1:-1;;;;;17113:11:0;-1:-1:-1;;;;;17113:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17049:83;;-1:-1:-1;;;;;;17049:83:0;;;;;;;-1:-1:-1;;;;;5835:15:1;;;17049:83:0;;;5817:34:1;5887:15;;5867:18;;;5860:43;5752:18;;17049:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17041:5;:91;;-1:-1:-1;;;;;;17151:20:0;-1:-1:-1;;;;;17041:91:0;;;;17151:20;;;;-1:-1:-1;;;17151:20:0;;;16935:301;16856:398::o;15080:858::-;15209:5;;15176:4;;-1:-1:-1;;;;;15209:18:0;;;:5;;:18;;;;:39;;-1:-1:-1;3287:7:0;3314:6;-1:-1:-1;;;;;15231:17:0;;;3314:6;;15231:17;;15209:39;:59;;;;-1:-1:-1;;;;;;15253:15:0;;;;;;:7;:15;;;;;;;;15252:16;15209:59;15205:134;;;15292:11;;;;:20;;:11;:20;15284:55;;;;-1:-1:-1;;;15284:55:0;;6116:2:1;15284:55:0;;;6098:21:1;6155:2;6135:18;;;6128:30;-1:-1:-1;;;6174:18:1;;;6167:52;6236:18;;15284:55:0;5914:346:1;15284:55:0;-1:-1:-1;;;;;15379:15:0;;15354:21;15379:15;;;:7;:15;;;;;;;;;:37;;-1:-1:-1;;;;;;15398:18:0;;;;;;:7;:18;;;;;;;;15379:37;15378:100;;15434:44;15447:6;15455:9;15466:11;15434:12;:44::i;:::-;15378:100;;;15420:11;15378:100;15354:124;;15492:51;15500:6;15507:9;15517:11;15529:13;15492:7;:51::i;:::-;:100;;;;;15547:45;15563:6;15570:9;15580:11;15547:15;:45::i;:::-;15492:143;;;;;15596:39;15606:6;15613:9;15623:11;15596:9;:39::i;:::-;15489:185;;;15658:4;15651:11;;;;;15489:185;-1:-1:-1;;;;;15694:20:0;;15686:71;;;;-1:-1:-1;;;15686:71:0;;6467:2:1;15686:71:0;;;6449:21:1;6506:2;6486:18;;;6479:30;6545:34;6525:18;;;6518:62;-1:-1:-1;;;6596:18:1;;;6589:36;6642:19;;15686:71:0;6265:402:1;15686:71:0;-1:-1:-1;;;;;15776:23:0;;15768:72;;;;-1:-1:-1;;;15768:72:0;;6874:2:1;15768:72:0;;;6856:21:1;6913:2;6893:18;;;6886:30;6952:34;6932:18;;;6925:62;-1:-1:-1;;;7003:18:1;;;6996:34;7047:19;;15768:72:0;6672:400:1;15768:72:0;15883:9;-1:-1:-1;;;;;15866:42:0;15875:6;-1:-1:-1;;;;;15866:42:0;;15894:13;15866:42;;;;1361:25:1;;1349:2;1334:18;;1215:177;15866:42:0;;;;;;;;-1:-1:-1;15926:4:0;;15080:858;-1:-1:-1;;;;15080:858:0:o;1756:192::-;1842:7;1878:12;1870:6;;;;1862:29;;;;-1:-1:-1;;;1862:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1902:9:0;1914:5;1918:1;1914;:5;:::i;:::-;1902:17;1756:192;-1:-1:-1;;;;;1756:192:0:o;1612:136::-;1670:7;1697:43;1701:1;1704;1697:43;;;;;;;;;;;;;;;;;:3;:43::i;1423:181::-;1481:7;;1513:5;1517:1;1513;:5;:::i;:::-;1501:17;;1542:1;1537;:6;;1529:46;;;;-1:-1:-1;;;1529:46:0;;7674:2:1;1529:46:0;;;7656:21:1;7713:2;7693:18;;;7686:30;7752:29;7732:18;;;7725:57;7799:18;;1529:46:0;7472:351:1;13381:607:0;13528:5;;13466:7;;;;-1:-1:-1;;;;;13528:15:0;;;:5;;:15;13525:193;;13574:29;13599:3;13574:20;13585:8;;13574:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;13560:43;;13525:193;;;13634:5;;-1:-1:-1;;;;;13634:12:0;;;:5;;:12;13631:87;;13677:29;13702:3;13677:20;13688:8;;13677:6;:10;;:20;;;;:::i;:29::-;13663:43;;13631:87;13731:15;;13728:212;;-1:-1:-1;;;;;13827:11:0;13803:37;;;;;:15;:37;;;;;;:54;;13845:11;13803:41;:54::i;:::-;-1:-1:-1;;;;;13787:11:0;13763:37;;;;;;:15;:37;;;;;;;:94;;;;13877:51;;;;;;;;;;13916:11;1361:25:1;;1349:2;1334:18;;1215:177;13877:51:0;;;;;;;;13728:212;13957:23;:6;13968:11;13957:10;:23::i;15946:388::-;16050:4;16079:9;-1:-1:-1;;;;;16069:19:0;:6;-1:-1:-1;;;;;16069:19:0;;16066:224;;16130:59;;;;;;;;;;;-1:-1:-1;;;16130:59:0;;;;;;;;-1:-1:-1;;;;;16130:23:0;;-1:-1:-1;16130:23:0;;;:15;:23;;;;;;;;:59;;16158:6;;16130:27;:59::i;:::-;-1:-1:-1;;;;;16104:23:0;;;;;;;:15;:23;;;;;;:85;;;;16233:26;;;;;;;:43;;16264:11;16233:30;:43::i;:::-;-1:-1:-1;;;;;16204:26:0;;;;;;:15;:26;;;;;:72;16066:224;-1:-1:-1;;;;;;;;16307:19:0;;;;;;;15946:388::o;17912:165::-;18037:5;;18004:4;;-1:-1:-1;;;;;18027:15:0;;;18037:5;;18027:15;;;;:42;;-1:-1:-1;;;;;;18046:23:0;;18064:4;18046:23;;18027:42;18020:49;17912:165;-1:-1:-1;;;;17912:165:0:o;18085:227::-;18198:10;18171:4;18190:19;;;:7;:19;;;;;;;;18187:95;;;18232:38;18246:6;18253:9;18263:6;18232:13;:38::i;:::-;18225:45;;;;18187:95;-1:-1:-1;18299:5:0;18085:227;;;;;:::o;1956:250::-;2014:7;2038:1;2043;2038:6;2034:47;;-1:-1:-1;2068:1:0;2061:8;;2034:47;2093:9;2105:5;2109:1;2105;:5;:::i;:::-;2093:17;-1:-1:-1;2138:1:0;2129:5;2133:1;2093:17;2129:5;:::i;:::-;:10;2121:56;;;;-1:-1:-1;;;2121:56:0;;8425:2:1;2121:56:0;;;8407:21:1;8464:2;8444:18;;;8437:30;8503:34;8483:18;;;8476:62;-1:-1:-1;;;8554:18:1;;;8547:31;8595:19;;2121:56:0;8223:397:1;2214:132:0;2272:7;2299:39;2303:1;2306;2299:39;;;;;;;;;;;;;;;;;:3;:39::i;17262:214::-;-1:-1:-1;;;;;17396:26:0;;17352:4;17396:26;;;:15;:26;;;;;;:35;;17425:6;;17396:35;:::i;:::-;-1:-1:-1;;;;;17368:26:0;;;;;;;:15;:26;;;;;:63;;;;17449:19;;;;-1:-1:-1;17262:214:0;;;;;:::o;2354:191::-;2440:7;2475:12;2468:5;2460:28;;;;-1:-1:-1;;;2460:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2499:9:0;2511:5;2515:1;2511;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2995:388::-;3063:6;3071;3124:2;3112:9;3103:7;3099:23;3095:32;3092:52;;;3140:1;3137;3130:12;3092:52;3179:9;3166:23;3198:31;3223:5;3198:31;:::i;:::-;3248:5;-1:-1:-1;3305:2:1;3290:18;;3277:32;3318:33;3277:32;3318:33;:::i;:::-;3370:7;3360:17;;;2995:388;;;;;:::o;3388:380::-;3467:1;3463:12;;;;3510;;;3531:61;;3585:4;3577:6;3573:17;3563:27;;3531:61;3638:2;3630:6;3627:14;3607:18;3604:38;3601:161;;3684:10;3679:3;3675:20;3672:1;3665:31;3719:4;3716:1;3709:15;3747:4;3744:1;3737:15;3601:161;;3388:380;;;:::o;3773:356::-;3975:2;3957:21;;;3994:18;;;3987:30;4053:34;4048:2;4033:18;;4026:62;4120:2;4105:18;;3773:356::o;5349:251::-;5419:6;5472:2;5460:9;5451:7;5447:23;5443:32;5440:52;;;5488:1;5485;5478:12;5440:52;5520:9;5514:16;5539:31;5564:5;5539:31;:::i;7077:127::-;7138:10;7133:3;7129:20;7126:1;7119:31;7169:4;7166:1;7159:15;7193:4;7190:1;7183:15;7209:128;7276:9;;;7297:11;;;7294:37;;;7311:18;;:::i;7342:125::-;7407:9;;;7428:10;;;7425:36;;;7441:18;;:::i;7828:168::-;7868:7;7934:1;7930;7926:6;7922:14;7919:1;7916:21;7911:1;7904:9;7897:17;7893:45;7890:71;;;7941:18;;:::i;:::-;-1:-1:-1;7981:9:1;;7828:168::o;8001:217::-;8041:1;8067;8057:132;;8111:10;8106:3;8102:20;8099:1;8092:31;8146:4;8143:1;8136:15;8174:4;8171:1;8164:15;8057:132;-1:-1:-1;8203:9:1;;8001:217::o

Swarm Source

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