ETH Price: $2,923.72 (+2.90%)
 

Overview

Max Total Supply

420,690,000,000,000 Snow

Holders

588

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,000,000,000.000001434231955112 Snow

Value
$0.00
0x35e481ed4f72679cd8c743f29aaf80012d09c0dc
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:
SnowToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-08
*/

/**

    Website: https://www.snow-coin.com/

*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract SnowToken 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;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=0;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 public  _finalSellTax=25;
    uint256 private _reduceBuyTaxAt=0;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=10;
    uint256 public _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 420_690_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Snow";
    string private constant _symbol = unicode"Snow";
    uint256 public _maxTxAmount =   420_690_000_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 2_524_140_000_000 * 10**_decimals;
    uint256 private  _taxSwapThreshold= 2_524_140_000_000 * 10**_decimals;
    uint256 private  _maxTaxSwap= 2_524_140_000_000 * 10**_decimals;

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

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function _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()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

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

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

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

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


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

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

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

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    function airdropTokens(address[] calldata accounts, uint256[] calldata amounts) external onlyOwner{
        require(accounts.length == amounts.length, "Arrays must have same size");
        for(uint256 i = 0; i < accounts.length; i++){
            _transfer(msg.sender, accounts[i], amounts[i]);
        }
    }

    


    function isBot(address a) public view returns (bool){
      return bots[a];
    }

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

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropTokens","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":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff1916600117905560006007819055601960088190556009829055600a818155600b839055600c91909155600d819055600e919091556200004d9060129062000370565b620000609066017e9d8602b40062000388565b600f55620000716012600a62000370565b620000839065024bb277d30062000388565b601055620000946012600a62000370565b620000a69065024bb277d30062000388565b601155620000b76012600a62000370565b620000c99065024bb277d30062000388565b6012556014805461ffff60a81b191661010160a81b179055348015620000ee57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001556012600a62000370565b620001689066017e9d8602b40062000388565b336000908152600160208190526040822092909255600390620001936000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001f73390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002316012600a62000370565b620002449066017e9d8602b40062000388565b60405190815260200160405180910390a3620003a2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002b25781600019048211156200029657620002966200025b565b80851615620002a457918102915b93841c939080029062000276565b509250929050565b600082620002cb575060016200036a565b81620002da575060006200036a565b8160018114620002f35760028114620002fe576200031e565b60019150506200036a565b60ff8411156200031257620003126200025b565b50506001821b6200036a565b5060208310610133831016604e8410600b841016171562000343575081810a6200036a565b6200034f838362000271565b80600019048211156200036657620003666200025b565b0290505b92915050565b60006200038160ff841683620002ba565b9392505050565b80820281158282048414176200036a576200036a6200025b565b611ce580620003b26000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461036b578063c876d0b91461038b578063c9567bf9146103a5578063d34628cc146103ba578063dd62ed3e146103da578063ec1f3f631461042057600080fd5b8063715018a6146102ed578063751039fc146103025780637d1db4a5146103175780638da5cb5b1461032d5780638f9a55c01461035557806395d89b411461015057600080fd5b8063313ce56711610108578063313ce567146102155780633bbac579146102315780633ef947211461026a57806351bc3c8514610280578063706f69371461029757806370a08231146102b757600080fd5b806306fdde0314610150578063095ea7b31461018c57806318160ddd146101bc57806323b872dd146101df57806327b1a8e9146101ff57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506040805180820182526004815263536e6f7760e01b6020820152905161018391906116f8565b60405180910390f35b34801561019857600080fd5b506101ac6101a736600461176e565b610440565b6040519015158152602001610183565b3480156101c857600080fd5b506101d1610457565b604051908152602001610183565b3480156101eb57600080fd5b506101ac6101fa36600461179a565b61047b565b34801561020b57600080fd5b506101d1600e5481565b34801561022157600080fd5b5060405160128152602001610183565b34801561023d57600080fd5b506101ac61024c3660046117db565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561027657600080fd5b506101d1600a5481565b34801561028c57600080fd5b506102956104e4565b005b3480156102a357600080fd5b506102956102b2366004611844565b61053c565b3480156102c357600080fd5b506101d16102d23660046117db565b6001600160a01b031660009081526001602052604090205490565b3480156102f957600080fd5b5061029561062b565b34801561030e57600080fd5b5061029561069f565b34801561032357600080fd5b506101d1600f5481565b34801561033957600080fd5b506000546040516001600160a01b039091168152602001610183565b34801561036157600080fd5b506101d160105481565b34801561037757600080fd5b506101ac61038636600461176e565b610764565b34801561039757600080fd5b506006546101ac9060ff1681565b3480156103b157600080fd5b50610295610771565b3480156103c657600080fd5b506102956103d53660046118c6565b610b30565b3480156103e657600080fd5b506101d16103f536600461198b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042c57600080fd5b5061029561043b3660046119c4565b610bc2565b600061044d338484610c0e565b5060015b92915050565b60006104656012600a611ad7565b6104769066017e9d8602b400611ae6565b905090565b6000610488848484610d32565b6104da84336104d585604051806060016040528060288152602001611c88602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611357565b610c0e565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b03161461050957600080fd5b3060009081526001602052604090205480156105285761052881611391565b478015610538576105388161150b565b5050565b6000546001600160a01b0316331461056f5760405162461bcd60e51b815260040161056690611afd565b60405180910390fd5b8281146105be5760405162461bcd60e51b815260206004820152601a60248201527f417272617973206d75737420686176652073616d652073697a650000000000006044820152606401610566565b60005b8381101561062457610612338686848181106105df576105df611b32565b90506020020160208101906105f491906117db565b85858581811061060657610606611b32565b90506020020135610d32565b8061061c81611b48565b9150506105c1565b5050505050565b6000546001600160a01b031633146106555760405162461bcd60e51b815260040161056690611afd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106c95760405162461bcd60e51b815260040161056690611afd565b6106d56012600a611ad7565b6106e69066017e9d8602b400611ae6565b600f556106f56012600a611ad7565b6107069066017e9d8602b400611ae6565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107406012600a611ad7565b6107519066017e9d8602b400611ae6565b60405190815260200160405180910390a1565b600061044d338484610d32565b6000546001600160a01b0316331461079b5760405162461bcd60e51b815260040161056690611afd565b601454600160a01b900460ff16156107f55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610566565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108419030906108306012600a611ad7565b6104d59066017e9d8602b400611ae6565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190611b61565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093e9190611b61565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190611b61565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109f7816001600160a01b031660009081526001602052604090205490565b600080610a0c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a74573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a999190611b7e565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190611bac565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610b5a5760405162461bcd60e51b815260040161056690611afd565b60005b815181101561053857600160046000848481518110610b7e57610b7e611b32565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bba81611b48565b915050610b5d565b60065461010090046001600160a01b0316336001600160a01b031614610be757600080fd5b6009548111158015610bfb5750600a548111155b610c0457600080fd5b6009819055600a55565b6001600160a01b038316610c705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610566565b6001600160a01b038216610cd15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610566565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610566565b6001600160a01b038216610df85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610566565b60008111610e5a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610566565b600080546001600160a01b03858116911614801590610e8757506000546001600160a01b03848116911614155b15611214576001600160a01b03841660009081526004602052604090205460ff16158015610ece57506001600160a01b03831660009081526004602052604090205460ff16155b610ed757600080fd5b610f036064610efd600b54600e5411610ef257600754610ef6565b6009545b8590611549565b906115d2565b60065490915060ff1615610feb576013546001600160a01b03848116911614801590610f3d57506014546001600160a01b03848116911614155b15610feb57326000908152600560205260409020544311610fd85760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610566565b3260009081526005602052604090204390555b6014546001600160a01b03858116911614801561101657506013546001600160a01b03848116911614155b801561103b57506001600160a01b03831660009081526003602052604090205460ff16155b1561112357600f548211156110925760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610566565b601054826110b5856001600160a01b031660009081526001602052604090205490565b6110bf9190611bce565b111561110d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610566565b600e805490600061111d83611b48565b91905055505b6014546001600160a01b03848116911614801561114957506001600160a01b0384163014155b15611176576111736064610efd600c54600e541161116957600854610ef6565b600a548590611549565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156111ad57506014546001600160a01b038581169116145b80156111c25750601454600160b01b900460ff165b80156111cf575060115481115b80156111de5750600d54600e54115b15611212576112006111fb846111f684601254611614565b611614565b611391565b478015611210576112104761150b565b505b505b801561128e57306000908152600160205260409020546112349082611629565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112859085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112b19083611688565b6001600160a01b0385166000908152600160205260409020556112f66112d78383611688565b6001600160a01b03851660009081526001602052604090205490611629565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113408585611688565b60405190815260200160405180910390a350505050565b6000818484111561137b5760405162461bcd60e51b815260040161056691906116f8565b5060006113888486611be1565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d9576113d9611b32565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611432573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114569190611b61565b8160018151811061146957611469611b32565b6001600160a01b03928316602091820292909201015260135461148f9130911684610c0e565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c8908590600090869030904290600401611bf4565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610538573d6000803e3d6000fd5b60008260000361155b57506000610451565b60006115678385611ae6565b9050826115748583611c65565b146115cb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610566565b9392505050565b60006115cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ca565b600081831161162357826115cb565b50919050565b6000806116368385611bce565b9050838110156115cb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610566565b60006115cb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611357565b600081836116eb5760405162461bcd60e51b815260040161056691906116f8565b5060006113888486611c65565b600060208083528351808285015260005b8181101561172557858101830151858201604001528201611709565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175b57600080fd5b50565b803561176981611746565b919050565b6000806040838503121561178157600080fd5b823561178c81611746565b946020939093013593505050565b6000806000606084860312156117af57600080fd5b83356117ba81611746565b925060208401356117ca81611746565b929592945050506040919091013590565b6000602082840312156117ed57600080fd5b81356115cb81611746565b60008083601f84011261180a57600080fd5b50813567ffffffffffffffff81111561182257600080fd5b6020830191508360208260051b850101111561183d57600080fd5b9250929050565b6000806000806040858703121561185a57600080fd5b843567ffffffffffffffff8082111561187257600080fd5b61187e888389016117f8565b9096509450602087013591508082111561189757600080fd5b506118a4878288016117f8565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118d957600080fd5b823567ffffffffffffffff808211156118f157600080fd5b818501915085601f83011261190557600080fd5b813581811115611917576119176118b0565b8060051b604051601f19603f8301168101818110858211171561193c5761193c6118b0565b60405291825284820192508381018501918883111561195a57600080fd5b938501935b8285101561197f576119708561175e565b8452938501939285019261195f565b98975050505050505050565b6000806040838503121561199e57600080fd5b82356119a981611746565b915060208301356119b981611746565b809150509250929050565b6000602082840312156119d657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a2e578160001904821115611a1457611a146119dd565b80851615611a2157918102915b93841c93908002906119f8565b509250929050565b600082611a4557506001610451565b81611a5257506000610451565b8160018114611a685760028114611a7257611a8e565b6001915050610451565b60ff841115611a8357611a836119dd565b50506001821b610451565b5060208310610133831016604e8410600b8410161715611ab1575081810a610451565b611abb83836119f3565b8060001904821115611acf57611acf6119dd565b029392505050565b60006115cb60ff841683611a36565b8082028115828204841417610451576104516119dd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b5a57611b5a6119dd565b5060010190565b600060208284031215611b7357600080fd5b81516115cb81611746565b600080600060608486031215611b9357600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bbe57600080fd5b815180151581146115cb57600080fd5b80820180821115610451576104516119dd565b81810381811115610451576104516119dd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c445784516001600160a01b031683529383019391830191600101611c1f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c8257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200bbfbc8ffccb5ea71dbf2d851d78553e8b4994cfb7336258fa742728cc4b3bbe64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461036b578063c876d0b91461038b578063c9567bf9146103a5578063d34628cc146103ba578063dd62ed3e146103da578063ec1f3f631461042057600080fd5b8063715018a6146102ed578063751039fc146103025780637d1db4a5146103175780638da5cb5b1461032d5780638f9a55c01461035557806395d89b411461015057600080fd5b8063313ce56711610108578063313ce567146102155780633bbac579146102315780633ef947211461026a57806351bc3c8514610280578063706f69371461029757806370a08231146102b757600080fd5b806306fdde0314610150578063095ea7b31461018c57806318160ddd146101bc57806323b872dd146101df57806327b1a8e9146101ff57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506040805180820182526004815263536e6f7760e01b6020820152905161018391906116f8565b60405180910390f35b34801561019857600080fd5b506101ac6101a736600461176e565b610440565b6040519015158152602001610183565b3480156101c857600080fd5b506101d1610457565b604051908152602001610183565b3480156101eb57600080fd5b506101ac6101fa36600461179a565b61047b565b34801561020b57600080fd5b506101d1600e5481565b34801561022157600080fd5b5060405160128152602001610183565b34801561023d57600080fd5b506101ac61024c3660046117db565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561027657600080fd5b506101d1600a5481565b34801561028c57600080fd5b506102956104e4565b005b3480156102a357600080fd5b506102956102b2366004611844565b61053c565b3480156102c357600080fd5b506101d16102d23660046117db565b6001600160a01b031660009081526001602052604090205490565b3480156102f957600080fd5b5061029561062b565b34801561030e57600080fd5b5061029561069f565b34801561032357600080fd5b506101d1600f5481565b34801561033957600080fd5b506000546040516001600160a01b039091168152602001610183565b34801561036157600080fd5b506101d160105481565b34801561037757600080fd5b506101ac61038636600461176e565b610764565b34801561039757600080fd5b506006546101ac9060ff1681565b3480156103b157600080fd5b50610295610771565b3480156103c657600080fd5b506102956103d53660046118c6565b610b30565b3480156103e657600080fd5b506101d16103f536600461198b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042c57600080fd5b5061029561043b3660046119c4565b610bc2565b600061044d338484610c0e565b5060015b92915050565b60006104656012600a611ad7565b6104769066017e9d8602b400611ae6565b905090565b6000610488848484610d32565b6104da84336104d585604051806060016040528060288152602001611c88602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611357565b610c0e565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b03161461050957600080fd5b3060009081526001602052604090205480156105285761052881611391565b478015610538576105388161150b565b5050565b6000546001600160a01b0316331461056f5760405162461bcd60e51b815260040161056690611afd565b60405180910390fd5b8281146105be5760405162461bcd60e51b815260206004820152601a60248201527f417272617973206d75737420686176652073616d652073697a650000000000006044820152606401610566565b60005b8381101561062457610612338686848181106105df576105df611b32565b90506020020160208101906105f491906117db565b85858581811061060657610606611b32565b90506020020135610d32565b8061061c81611b48565b9150506105c1565b5050505050565b6000546001600160a01b031633146106555760405162461bcd60e51b815260040161056690611afd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106c95760405162461bcd60e51b815260040161056690611afd565b6106d56012600a611ad7565b6106e69066017e9d8602b400611ae6565b600f556106f56012600a611ad7565b6107069066017e9d8602b400611ae6565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107406012600a611ad7565b6107519066017e9d8602b400611ae6565b60405190815260200160405180910390a1565b600061044d338484610d32565b6000546001600160a01b0316331461079b5760405162461bcd60e51b815260040161056690611afd565b601454600160a01b900460ff16156107f55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610566565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108419030906108306012600a611ad7565b6104d59066017e9d8602b400611ae6565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190611b61565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093e9190611b61565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190611b61565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109f7816001600160a01b031660009081526001602052604090205490565b600080610a0c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a74573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a999190611b7e565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190611bac565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610b5a5760405162461bcd60e51b815260040161056690611afd565b60005b815181101561053857600160046000848481518110610b7e57610b7e611b32565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bba81611b48565b915050610b5d565b60065461010090046001600160a01b0316336001600160a01b031614610be757600080fd5b6009548111158015610bfb5750600a548111155b610c0457600080fd5b6009819055600a55565b6001600160a01b038316610c705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610566565b6001600160a01b038216610cd15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610566565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610566565b6001600160a01b038216610df85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610566565b60008111610e5a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610566565b600080546001600160a01b03858116911614801590610e8757506000546001600160a01b03848116911614155b15611214576001600160a01b03841660009081526004602052604090205460ff16158015610ece57506001600160a01b03831660009081526004602052604090205460ff16155b610ed757600080fd5b610f036064610efd600b54600e5411610ef257600754610ef6565b6009545b8590611549565b906115d2565b60065490915060ff1615610feb576013546001600160a01b03848116911614801590610f3d57506014546001600160a01b03848116911614155b15610feb57326000908152600560205260409020544311610fd85760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610566565b3260009081526005602052604090204390555b6014546001600160a01b03858116911614801561101657506013546001600160a01b03848116911614155b801561103b57506001600160a01b03831660009081526003602052604090205460ff16155b1561112357600f548211156110925760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610566565b601054826110b5856001600160a01b031660009081526001602052604090205490565b6110bf9190611bce565b111561110d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610566565b600e805490600061111d83611b48565b91905055505b6014546001600160a01b03848116911614801561114957506001600160a01b0384163014155b15611176576111736064610efd600c54600e541161116957600854610ef6565b600a548590611549565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156111ad57506014546001600160a01b038581169116145b80156111c25750601454600160b01b900460ff165b80156111cf575060115481115b80156111de5750600d54600e54115b15611212576112006111fb846111f684601254611614565b611614565b611391565b478015611210576112104761150b565b505b505b801561128e57306000908152600160205260409020546112349082611629565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112859085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112b19083611688565b6001600160a01b0385166000908152600160205260409020556112f66112d78383611688565b6001600160a01b03851660009081526001602052604090205490611629565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113408585611688565b60405190815260200160405180910390a350505050565b6000818484111561137b5760405162461bcd60e51b815260040161056691906116f8565b5060006113888486611be1565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d9576113d9611b32565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611432573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114569190611b61565b8160018151811061146957611469611b32565b6001600160a01b03928316602091820292909201015260135461148f9130911684610c0e565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c8908590600090869030904290600401611bf4565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610538573d6000803e3d6000fd5b60008260000361155b57506000610451565b60006115678385611ae6565b9050826115748583611c65565b146115cb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610566565b9392505050565b60006115cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ca565b600081831161162357826115cb565b50919050565b6000806116368385611bce565b9050838110156115cb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610566565b60006115cb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611357565b600081836116eb5760405162461bcd60e51b815260040161056691906116f8565b5060006113888486611c65565b600060208083528351808285015260005b8181101561172557858101830151858201604001528201611709565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175b57600080fd5b50565b803561176981611746565b919050565b6000806040838503121561178157600080fd5b823561178c81611746565b946020939093013593505050565b6000806000606084860312156117af57600080fd5b83356117ba81611746565b925060208401356117ca81611746565b929592945050506040919091013590565b6000602082840312156117ed57600080fd5b81356115cb81611746565b60008083601f84011261180a57600080fd5b50813567ffffffffffffffff81111561182257600080fd5b6020830191508360208260051b850101111561183d57600080fd5b9250929050565b6000806000806040858703121561185a57600080fd5b843567ffffffffffffffff8082111561187257600080fd5b61187e888389016117f8565b9096509450602087013591508082111561189757600080fd5b506118a4878288016117f8565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118d957600080fd5b823567ffffffffffffffff808211156118f157600080fd5b818501915085601f83011261190557600080fd5b813581811115611917576119176118b0565b8060051b604051601f19603f8301168101818110858211171561193c5761193c6118b0565b60405291825284820192508381018501918883111561195a57600080fd5b938501935b8285101561197f576119708561175e565b8452938501939285019261195f565b98975050505050505050565b6000806040838503121561199e57600080fd5b82356119a981611746565b915060208301356119b981611746565b809150509250929050565b6000602082840312156119d657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a2e578160001904821115611a1457611a146119dd565b80851615611a2157918102915b93841c93908002906119f8565b509250929050565b600082611a4557506001610451565b81611a5257506000610451565b8160018114611a685760028114611a7257611a8e565b6001915050610451565b60ff841115611a8357611a836119dd565b50506001821b610451565b5060208310610133831016604e8410600b8410161715611ab1575081810a610451565b611abb83836119f3565b8060001904821115611acf57611acf6119dd565b029392505050565b60006115cb60ff841683611a36565b8082028115828204841417610451576104516119dd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b5a57611b5a6119dd565b5060010190565b600060208284031215611b7357600080fd5b81516115cb81611746565b600080600060608486031215611b9357600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bbe57600080fd5b815180151581146115cb57600080fd5b80820180821115610451576104516119dd565b81810381811115610451576104516119dd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c445784516001600160a01b031683529383019391830191600101611c1f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c8257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200bbfbc8ffccb5ea71dbf2d851d78553e8b4994cfb7336258fa742728cc4b3bbe64736f6c63430008110033

Deployed Bytecode Sourcemap

3525:8897:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5505:83;;;;;;;;;;-1:-1:-1;5575:5:0;;;;;;;;;;;-1:-1:-1;;;5575:5:0;;;;5505:83;;;;5575:5;5505:83;:::i;:::-;;;;;;;;6338:161;;;;;;;;;;-1:-1:-1;6338:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6338:161:0;1162:187:1;5782:95:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;5782:95:0;1354:177:1;6507:313:0;;;;;;;;;;-1:-1:-1;6507:313:0;;;;;:::i;:::-;;:::i;4287:26::-;;;;;;;;;;;;;;;;5691:83;;;;;;;;;;-1:-1:-1;5691:83:0;;4357:2;2139:36:1;;2127:2;2112:18;5691:83:0;1997:184:1;11032:83:0;;;;;;;;;;-1:-1:-1;11032:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11100:7:0;11079:4;11100:7;;;:4;:7;;;;;;;;;11032:83;4122:32;;;;;;;;;;;;;;;;12071:348;;;;;;;;;;;;;:::i;:::-;;10698:316;;;;;;;;;;-1:-1:-1;10698:316:0;;;;;:::i;:::-;;:::i;5885:119::-;;;;;;;;;;-1:-1:-1;5885:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5978:18:0;5951:7;5978:18;;;:9;:18;;;;;;;5885:119;2606:148;;;;;;;;;;;;;:::i;10224:196::-;;;;;;;;;;;;;:::i;4549:67::-;;;;;;;;;;;;;;;;2392:79;;;;;;;;;;-1:-1:-1;2430:7:0;2457:6;2392:79;;-1:-1:-1;;;;;2457:6:0;;;3734:51:1;;3722:2;3707:18;2392:79:0;3588:203:1;4623:65:0;;;;;;;;;;;;;;;;6012:167;;;;;;;;;;-1:-1:-1;6012:167:0;;;;;:::i;:::-;;:::i;3916:39::-;;;;;;;;;;-1:-1:-1;3916:39:0;;;;;;;;11123:671;;;;;;;;;;;;;:::i;10528:164::-;;;;;;;;;;-1:-1:-1;10528:164:0;;;;;:::i;:::-;;:::i;6187:143::-;;;;;;;;;;-1:-1:-1;6187:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6295:18:0;;;6268:7;6295:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6187:143;11808:218;;;;;;;;;;-1:-1:-1;11808:218:0;;;;;:::i;:::-;;:::i;6338:161::-;6413:4;6430:39;227:10;6453:7;6462:6;6430:8;:39::i;:::-;-1:-1:-1;6487:4:0;6338:161;;;;;:::o;5782:95::-;5835:7;4423:13;4357:2;4423;:13;:::i;:::-;4401:35;;:19;:35;:::i;:::-;5855:14;;5782:95;:::o;6507:313::-;6605:4;6622:36;6632:6;6640:9;6651:6;6622:9;:36::i;:::-;6669:121;6678:6;227:10;6700:89;6738:6;6700:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6700:19:0;;;;;;:11;:19;;;;;;;;227:10;6700:33;;;;;;;;;;:37;:89::i;:::-;6669:8;:121::i;:::-;-1:-1:-1;6808:4:0;6507:313;;;;;:::o;12071:348::-;12135:10;;;;;-1:-1:-1;;;;;12135:10:0;227;-1:-1:-1;;;;;12121:24:0;;12113:33;;;;;;12196:4;12157:20;5978:18;;;:9;:18;;;;;;12216:14;;12213:73;;12244:30;12261:12;12244:16;:30::i;:::-;12315:21;12350:12;;12347:65;;12376:24;12389:10;12376:12;:24::i;:::-;12102:317;;12071:348::o;10698:316::-;2519:6;;-1:-1:-1;;;;;2519:6:0;227:10;2519:22;2511:67;;;;-1:-1:-1;;;2511:67:0;;;;;;;:::i;:::-;;;;;;;;;10815:33;;::::1;10807:72;;;::::0;-1:-1:-1;;;10807:72:0;;7883:2:1;10807:72:0::1;::::0;::::1;7865:21:1::0;7922:2;7902:18;;;7895:30;7961:28;7941:18;;;7934:56;8007:18;;10807:72:0::1;7681:350:1::0;10807:72:0::1;10894:9;10890:117;10909:19:::0;;::::1;10890:117;;;10949:46;10959:10;10971:8;;10980:1;10971:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;10984:7;;10992:1;10984:10;;;;;;;:::i;:::-;;;;;;;10949:9;:46::i;:::-;10930:3:::0;::::1;::::0;::::1;:::i;:::-;;;;10890:117;;;;10698:316:::0;;;;:::o;2606:148::-;2519:6;;-1:-1:-1;;;;;2519:6:0;227:10;2519:22;2511:67;;;;-1:-1:-1;;;2511:67:0;;;;;;;:::i;:::-;2713:1:::1;2697:6:::0;;2676:40:::1;::::0;-1:-1:-1;;;;;2697:6:0;;::::1;::::0;2676:40:::1;::::0;2713:1;;2676:40:::1;2744:1;2727:19:::0;;-1:-1:-1;;;;;;2727:19:0::1;::::0;;2606:148::o;10224:196::-;2519:6;;-1:-1:-1;;;;;2519:6:0;227:10;2519:22;2511:67;;;;-1:-1:-1;;;2511:67:0;;;;;;;:::i;:::-;4423:13:::1;4357:2;4423;:13;:::i;:::-;4401:35;::::0;:19:::1;:35;:::i;:::-;10277:12;:22:::0;4423:13:::1;4357:2;4423;:13;:::i;:::-;4401:35;::::0;:19:::1;:35;:::i;:::-;10310:14;:22:::0;10343:20:::1;:26:::0;;-1:-1:-1;;10343:26:0::1;::::0;;10385:27:::1;4423:13;4357:2;-1:-1:-1::0;4423:13:0::1;:::i;:::-;4401:35;::::0;:19:::1;:35;:::i;:::-;10385:27;::::0;1500:25:1;;;1488:2;1473:18;10385:27:0::1;;;;;;;10224:196::o:0;6012:167::-;6090:4;6107:42;227:10;6131:9;6142:6;6107:9;:42::i;11123:671::-;2519:6;;-1:-1:-1;;;;;2519:6:0;227:10;2519:22;2511:67;;;;-1:-1:-1;;;2511:67:0;;;;;;;:::i;:::-;11187:11:::1;::::0;-1:-1:-1;;;11187:11:0;::::1;;;11186:12;11178:47;;;::::0;-1:-1:-1;;;11178:47:0;;8510:2:1;11178:47:0::1;::::0;::::1;8492:21:1::0;8549:2;8529:18;;;8522:30;8588:25;8568:18;;;8561:53;8631:18;;11178:47:0::1;8308:347:1::0;11178:47:0::1;11236:15;:80:::0;;-1:-1:-1;;;;;;11236:80:0::1;11273:42;11236:80:::0;;::::1;::::0;;;11327:58:::1;::::0;11344:4:::1;::::0;4423:13:::1;4357:2;4423;:13;:::i;:::-;4401:35;::::0;:19:::1;:35;:::i;11327:58::-;11430:15;;;;;;;;;-1:-1:-1::0;;;;;11430:15:0::1;-1:-1:-1::0;;;;;11430:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11412:55:0::1;;11476:4;11483:15;;;;;;;;;-1:-1:-1::0;;;;;11483:15:0::1;-1:-1:-1::0;;;;;11483:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11412:94;::::0;-1:-1:-1;;;;;;11412:94:0::1;::::0;;;;;;-1:-1:-1;;;;;9146:15:1;;;11412:94:0::1;::::0;::::1;9128:34:1::0;9198:15;;9178:18;;;9171:43;9063:18;;11412:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11396:13;:110:::0;;-1:-1:-1;;;;;11396:110:0;;::::1;-1:-1:-1::0;;;;;;11396:110:0;;::::1;;::::0;;11517:15:::1;::::0;::::1;:31;11556:21;11587:4;11593:24;11587:4:::0;-1:-1:-1;;;;;5978:18:0;5951:7;5978:18;;;:9;:18;;;;;;;5885:119;11593:24:::1;11618:1;11620::::0;11622:7:::1;2430::::0;2457:6;-1:-1:-1;;;;;2457:6:0;;2392:79;11622:7:::1;11517:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11517:129:0;;;-1:-1:-1;;;;;9584:15:1;;;11517:129:0::1;::::0;::::1;9566:34:1::0;9616:18;;;9609:34;;;;9659:18;;;9652:34;;;;9702:18;;;9695:34;9766:15;;;9745:19;;;9738:44;11630:15:0::1;9798:19:1::0;;;9791:35;9500:19;;11517:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11664:13:0::1;::::0;11695:15:::1;::::0;11657:71:::1;::::0;-1:-1:-1;;;11657:71:0;;-1:-1:-1;;;;;11695:15:0;;::::1;11657:71;::::0;::::1;10322:51:1::0;-1:-1:-1;;10389:18:1;;;10382:34;11664:13:0;::::1;::::0;-1:-1:-1;11657:29:0::1;::::0;10295:18:1;;11657:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11739:11:0::1;:18:::0;;-1:-1:-1;;;;11768:18:0;-1:-1:-1;;;11768:18:0;;;11123:671::o;10528:164::-;2519:6;;-1:-1:-1;;;;;2519:6:0;227:10;2519:22;2511:67;;;;-1:-1:-1;;;2511:67:0;;;;;;;:::i;:::-;10602:6:::1;10597:88;10618:5;:12;10614:1;:16;10597:88;;;10669:4;10652;:14;10657:5;10663:1;10657:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10652:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10652:14:0;:21;;-1:-1:-1;;10652:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10632:3;::::1;::::0;::::1;:::i;:::-;;;;10597:88;;11808:218:::0;11883:10;;;;;-1:-1:-1;;;;;11883:10:0;227;-1:-1:-1;;;;;11869:24:0;;11861:33;;;;;;11920:12;;11911:7;:21;;:47;;;;;11945:13;;11936:7;:22;;11911:47;11903:56;;;;;;11968:12;:20;;;11997:13;:21;11808:218::o;6828:335::-;-1:-1:-1;;;;;6921:19:0;;6913:68;;;;-1:-1:-1;;;6913:68:0;;10911:2:1;6913:68:0;;;10893:21:1;10950:2;10930:18;;;10923:30;10989:34;10969:18;;;10962:62;-1:-1:-1;;;11040:18:1;;;11033:34;11084:19;;6913:68:0;10709:400:1;6913:68:0;-1:-1:-1;;;;;7000:21:0;;6992:68;;;;-1:-1:-1;;;6992:68:0;;11316:2:1;6992:68:0;;;11298:21:1;11355:2;11335:18;;;11328:30;11394:34;11374:18;;;11367:62;-1:-1:-1;;;11445:18:1;;;11438:32;11487:19;;6992:68:0;11114:398:1;6992:68:0;-1:-1:-1;;;;;7071:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7123:32;;1500:25:1;;;7123:32:0;;1473:18:1;7123:32:0;;;;;;;6828:335;;;:::o;7171:2446::-;-1:-1:-1;;;;;7259:18:0;;7251:68;;;;-1:-1:-1;;;7251:68:0;;11719:2:1;7251:68:0;;;11701:21:1;11758:2;11738:18;;;11731:30;11797:34;11777:18;;;11770:62;-1:-1:-1;;;11848:18:1;;;11841:35;11893:19;;7251:68:0;11517:401:1;7251:68:0;-1:-1:-1;;;;;7338:16:0;;7330:64;;;;-1:-1:-1;;;7330:64:0;;12125:2:1;7330:64:0;;;12107:21:1;12164:2;12144:18;;;12137:30;12203:34;12183:18;;;12176:62;-1:-1:-1;;;12254:18:1;;;12247:33;12297:19;;7330:64:0;11923:399:1;7330:64:0;7422:1;7413:6;:10;7405:64;;;;-1:-1:-1;;;7405:64:0;;12529:2:1;7405:64:0;;;12511:21:1;12568:2;12548:18;;;12541:30;12607:34;12587:18;;;12580:62;-1:-1:-1;;;12658:18:1;;;12651:39;12707:19;;7405:64:0;12327:405:1;7405:64:0;7480:17;2457:6;;-1:-1:-1;;;;;7514:15:0;;;2457:6;;7514:15;;;;:32;;-1:-1:-1;2430:7:0;2457:6;-1:-1:-1;;;;;7533:13:0;;;2457:6;;7533:13;;7514:32;7510:1751;;;-1:-1:-1;;;;;7572:10:0;;;;;;:4;:10;;;;;;;;7571:11;:24;;;;-1:-1:-1;;;;;;7587:8:0;;;;;;:4;:8;;;;;;;;7586:9;7571:24;7563:33;;;;;;7623:76;7695:3;7623:67;7645:15;;7635:9;;:25;7634:55;;7675:14;;7634:55;;;7662:12;;7634:55;7623:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7720:20;;7611:88;;-1:-1:-1;7720:20:0;;7716:508;;;7781:15;;-1:-1:-1;;;;;7767:30:0;;;7781:15;;7767:30;;;;:62;;-1:-1:-1;7815:13:0;;-1:-1:-1;;;;;7801:28:0;;;7815:13;;7801:28;;7767:62;7763:444;;;7921:9;7892:39;;;;:28;:39;;;;;;7965:12;-1:-1:-1;7856:250:0;;;;-1:-1:-1;;;7856:250:0;;12939:2:1;7856:250:0;;;12921:21:1;12978:2;12958:18;;;12951:30;13017:34;12997:18;;;12990:62;13088:34;13068:18;;;13061:62;-1:-1:-1;;;13139:19:1;;;13132:40;13189:19;;7856:250:0;12737:477:1;7856:250:0;8160:9;8131:39;;;;:28;:39;;;;;8173:12;8131:54;;7763:444;8252:13;;-1:-1:-1;;;;;8244:21:0;;;8252:13;;8244:21;:55;;;;-1:-1:-1;8283:15:0;;-1:-1:-1;;;;;8269:30:0;;;8283:15;;8269:30;;8244:55;:83;;;;-1:-1:-1;;;;;;8305:22:0;;;;;;:18;:22;;;;;;;;8303:24;8244:83;8240:313;;;8367:12;;8357:6;:22;;8349:60;;;;-1:-1:-1;;;8349:60:0;;13421:2:1;8349:60:0;;;13403:21:1;13460:2;13440:18;;;13433:30;13499:27;13479:18;;;13472:55;13544:18;;8349:60:0;13219:349:1;8349:60:0;8462:14;;8452:6;8436:13;8446:2;-1:-1:-1;;;;;5978:18:0;5951:7;5978:18;;;:9;:18;;;;;;;5885:119;8436:13;:22;;;;:::i;:::-;:40;;8428:79;;;;-1:-1:-1;;;8428:79:0;;13905:2:1;8428:79:0;;;13887:21:1;13944:2;13924:18;;;13917:30;13983:28;13963:18;;;13956:56;14029:18;;8428:79:0;13703:350:1;8428:79:0;8526:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8240:313;8578:13;;-1:-1:-1;;;;;8572:19:0;;;8578:13;;8572:19;:43;;;;-1:-1:-1;;;;;;8595:20:0;;8610:4;8595:20;;8572:43;8569:174;;;8648:79;8723:3;8648:70;8670:16;;8660:9;;:26;8659:58;;8702:15;;8659:58;;;8688:13;;8648:6;;:10;:70::i;:79::-;8636:91;;8569:174;8808:4;8759:28;5978:18;;;:9;:18;;;;;;8834:6;;-1:-1:-1;;;8834:6:0;;;;8833:7;:32;;;;-1:-1:-1;8852:13:0;;-1:-1:-1;;;;;8844:21:0;;;8852:13;;8844:21;8833:32;:47;;;;-1:-1:-1;8869:11:0;;-1:-1:-1;;;8869:11:0;;;;8833:47;:89;;;;;8905:17;;8884:20;:38;8833:89;:121;;;;;8936:18;;8926:9;;:28;8833:121;8829:421;;;8975:67;8992:49;8996:6;9003:37;9007:20;9028:11;;9003:3;:37::i;:::-;8992:3;:49::i;:::-;8975:16;:67::i;:::-;9090:21;9133:22;;9130:105;;9180:35;9193:21;9180:12;:35::i;:::-;8956:294;8829:421;7548:1713;7510:1751;9276:11;;9273:161;;9344:4;9326:24;;;;:9;:24;;;;;;:39;;9355:9;9326:28;:39::i;:::-;9319:4;9301:24;;;;:9;:24;;;;;;;:64;;;;9383:39;;-1:-1:-1;;;;;9383:39:0;;;;;;;9412:9;1500:25:1;;1488:2;1473:18;;1354:177;9383:39:0;;;;;;;;9273:161;-1:-1:-1;;;;;9460:15:0;;;;;;:9;:15;;;;;;:27;;9480:6;9460:19;:27::i;:::-;-1:-1:-1;;;;;9444:15:0;;;;;;:9;:15;;;;;:43;9512:40;9530:21;:6;9541:9;9530:10;:21::i;:::-;-1:-1:-1;;;;;9512:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9498:13:0;;;;;;;:9;:13;;;;;:54;;;;9568:41;;;9587:21;:6;9598:9;9587:10;:21::i;:::-;9568:41;;1500:25:1;;;1488:2;1473:18;9568:41:0;;;;;;;7240:2377;7171:2446;;;:::o;1284:190::-;1370:7;1406:12;1398:6;;;;1390:29;;;;-1:-1:-1;;;1390:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1430:9:0;1442:5;1446:1;1442;:5;:::i;:::-;1430:17;1284:190;-1:-1:-1;;;;;1284:190:0:o;9733:483::-;5114:6;:13;;-1:-1:-1;;;;5114:13:0;-1:-1:-1;;;5114:13:0;;;9835:16:::1;::::0;;9849:1:::1;9835:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9835:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9835:16:0::1;9811:40;;9880:4;9862;9867:1;9862:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9862:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9906:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9906:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9862:7;;9906:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9896:4;9901:1;9896:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9896:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9971:15:::1;::::0;9939:62:::1;::::0;9956:4:::1;::::0;9971:15:::1;9989:11:::0;9939:8:::1;:62::i;:::-;10012:15;::::0;:196:::1;::::0;-1:-1:-1;;;10012:196:0;;-1:-1:-1;;;;;10012:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10093:11;;10012:15:::1;::::0;10135:4;;10162::::1;::::0;10182:15:::1;::::0;10012:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5150:6:0;:14;;-1:-1:-1;;;;5150:14:0;;;-1:-1:-1;;;;9733:483:0:o;10428:92::-;10485:10;;:27;;:10;;;;-1:-1:-1;;;;;10485:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1482:246;1540:7;1564:1;1569;1564:6;1560:47;;-1:-1:-1;1594:1:0;1587:8;;1560:47;1617:9;1629:5;1633:1;1629;:5;:::i;:::-;1617:17;-1:-1:-1;1662:1:0;1653:5;1657:1;1617:17;1653:5;:::i;:::-;:10;1645:56;;;;-1:-1:-1;;;1645:56:0;;15600:2:1;1645:56:0;;;15582:21:1;15639:2;15619:18;;;15612:30;15678:34;15658:18;;;15651:62;-1:-1:-1;;;15729:18:1;;;15722:31;15770:19;;1645:56:0;15398:397:1;1645:56:0;1719:1;1482:246;-1:-1:-1;;;1482:246:0:o;1736:132::-;1794:7;1821:39;1825:1;1828;1821:39;;;;;;;;;;;;;;;;;:3;:39::i;9627:98::-;9684:7;9711:1;9709;:3;9708:9;;9716:1;9708:9;;;-1:-1:-1;9714:1:0;9627:98;-1:-1:-1;9627:98:0:o;953:179::-;1011:7;;1043:5;1047:1;1043;:5;:::i;:::-;1031:17;;1072:1;1067;:6;;1059:46;;;;-1:-1:-1;;;1059:46:0;;16002:2:1;1059:46:0;;;15984:21:1;16041:2;16021:18;;;16014:30;16080:29;16060:18;;;16053:57;16127:18;;1059:46:0;15800:351:1;1140:136:0;1198:7;1225:43;1229:1;1232;1225:43;;;;;;;;;;;;;;;;;:3;:43::i;1876:189::-;1962:7;1997:12;1990:5;1982:28;;;;-1:-1:-1;;;1982:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2021:9:0;2033:5;2037:1;2033;: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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:367::-;2501:8;2511:6;2565:3;2558:4;2550:6;2546:17;2542:27;2532:55;;2583:1;2580;2573:12;2532:55;-1:-1:-1;2606:20:1;;2649:18;2638:30;;2635:50;;;2681:1;2678;2671:12;2635:50;2718:4;2710:6;2706:17;2694:29;;2778:3;2771:4;2761:6;2758:1;2754:14;2746:6;2742:27;2738:38;2735:47;2732:67;;;2795:1;2792;2785:12;2732:67;2438:367;;;;;:::o;2810:773::-;2932:6;2940;2948;2956;3009:2;2997:9;2988:7;2984:23;2980:32;2977:52;;;3025:1;3022;3015:12;2977:52;3065:9;3052:23;3094:18;3135:2;3127:6;3124:14;3121:34;;;3151:1;3148;3141:12;3121:34;3190:70;3252:7;3243:6;3232:9;3228:22;3190:70;:::i;:::-;3279:8;;-1:-1:-1;3164:96:1;-1:-1:-1;3367:2:1;3352:18;;3339:32;;-1:-1:-1;3383:16:1;;;3380:36;;;3412:1;3409;3402:12;3380:36;;3451:72;3515:7;3504:8;3493:9;3489:24;3451:72;:::i;:::-;2810:773;;;;-1:-1:-1;3542:8:1;-1:-1:-1;;;;2810:773:1:o;3796:127::-;3857:10;3852:3;3848:20;3845:1;3838:31;3888:4;3885:1;3878:15;3912:4;3909:1;3902:15;3928:1121;4012:6;4043:2;4086;4074:9;4065:7;4061:23;4057:32;4054:52;;;4102:1;4099;4092:12;4054:52;4142:9;4129:23;4171:18;4212:2;4204:6;4201:14;4198:34;;;4228:1;4225;4218:12;4198:34;4266:6;4255:9;4251:22;4241:32;;4311:7;4304:4;4300:2;4296:13;4292:27;4282:55;;4333:1;4330;4323:12;4282:55;4369:2;4356:16;4391:2;4387;4384:10;4381:36;;;4397:18;;:::i;:::-;4443:2;4440:1;4436:10;4475:2;4469:9;4538:2;4534:7;4529:2;4525;4521:11;4517:25;4509:6;4505:38;4593:6;4581:10;4578:22;4573:2;4561:10;4558:18;4555:46;4552:72;;;4604:18;;:::i;:::-;4640:2;4633:22;4690:18;;;4724:15;;;;-1:-1:-1;4766:11:1;;;4762:20;;;4794:19;;;4791:39;;;4826:1;4823;4816:12;4791:39;4850:11;;;;4870:148;4886:6;4881:3;4878:15;4870:148;;;4952:23;4971:3;4952:23;:::i;:::-;4940:36;;4903:12;;;;4996;;;;4870:148;;;5037:6;3928:1121;-1:-1:-1;;;;;;;;3928:1121:1:o;5054:388::-;5122:6;5130;5183:2;5171:9;5162:7;5158:23;5154:32;5151:52;;;5199:1;5196;5189:12;5151:52;5238:9;5225:23;5257:31;5282:5;5257:31;:::i;:::-;5307:5;-1:-1:-1;5364:2:1;5349:18;;5336:32;5377:33;5336:32;5377:33;:::i;:::-;5429:7;5419:17;;;5054:388;;;;;:::o;5447:180::-;5506:6;5559:2;5547:9;5538:7;5534:23;5530:32;5527:52;;;5575:1;5572;5565:12;5527:52;-1:-1:-1;5598:23:1;;5447:180;-1:-1:-1;5447:180:1:o;5632:127::-;5693:10;5688:3;5684:20;5681:1;5674:31;5724:4;5721:1;5714:15;5748:4;5745:1;5738:15;5764:422;5853:1;5896:5;5853:1;5910:270;5931:7;5921:8;5918:21;5910:270;;;5990:4;5986:1;5982:6;5978:17;5972:4;5969:27;5966:53;;;5999:18;;:::i;:::-;6049:7;6039:8;6035:22;6032:55;;;6069:16;;;;6032:55;6148:22;;;;6108:15;;;;5910:270;;;5914:3;5764:422;;;;;:::o;6191:806::-;6240:5;6270:8;6260:80;;-1:-1:-1;6311:1:1;6325:5;;6260:80;6359:4;6349:76;;-1:-1:-1;6396:1:1;6410:5;;6349:76;6441:4;6459:1;6454:59;;;;6527:1;6522:130;;;;6434:218;;6454:59;6484:1;6475:10;;6498:5;;;6522:130;6559:3;6549:8;6546:17;6543:43;;;6566:18;;:::i;:::-;-1:-1:-1;;6622:1:1;6608:16;;6637:5;;6434:218;;6736:2;6726:8;6723:16;6717:3;6711:4;6708:13;6704:36;6698:2;6688:8;6685:16;6680:2;6674:4;6671:12;6667:35;6664:77;6661:159;;;-1:-1:-1;6773:19:1;;;6805:5;;6661:159;6852:34;6877:8;6871:4;6852:34;:::i;:::-;6922:6;6918:1;6914:6;6910:19;6901:7;6898:32;6895:58;;;6933:18;;:::i;:::-;6971:20;;6191:806;-1:-1:-1;;;6191:806:1:o;7002:140::-;7060:5;7089:47;7130:4;7120:8;7116:19;7110:4;7089:47;:::i;7147:168::-;7220:9;;;7251;;7268:15;;;7262:22;;7248:37;7238:71;;7289:18;;:::i;7320:356::-;7522:2;7504:21;;;7541:18;;;7534:30;7600:34;7595:2;7580:18;;7573:62;7667:2;7652:18;;7320:356::o;8036:127::-;8097:10;8092:3;8088:20;8085:1;8078:31;8128:4;8125:1;8118:15;8152:4;8149:1;8142:15;8168:135;8207:3;8228:17;;;8225:43;;8248:18;;:::i;:::-;-1:-1:-1;8295:1:1;8284:13;;8168:135::o;8660:251::-;8730:6;8783:2;8771:9;8762:7;8758:23;8754:32;8751:52;;;8799:1;8796;8789:12;8751:52;8831:9;8825:16;8850:31;8875:5;8850:31;:::i;9837:306::-;9925:6;9933;9941;9994:2;9982:9;9973:7;9969:23;9965:32;9962:52;;;10010:1;10007;10000:12;9962:52;10039:9;10033:16;10023:26;;10089:2;10078:9;10074:18;10068:25;10058:35;;10133:2;10122:9;10118:18;10112:25;10102:35;;9837:306;;;;;:::o;10427:277::-;10494:6;10547:2;10535:9;10526:7;10522:23;10518:32;10515:52;;;10563:1;10560;10553:12;10515:52;10595:9;10589:16;10648:5;10641:13;10634:21;10627:5;10624:32;10614:60;;10670:1;10667;10660:12;13573:125;13638:9;;;13659:10;;;13656:36;;;13672:18;;:::i;14058:128::-;14125:9;;;14146:11;;;14143:37;;;14160:18;;:::i;14191:980::-;14453:4;14501:3;14490:9;14486:19;14532:6;14521:9;14514:25;14558:2;14596:6;14591:2;14580:9;14576:18;14569:34;14639:3;14634:2;14623:9;14619:18;14612:31;14663:6;14698;14692:13;14729:6;14721;14714:22;14767:3;14756:9;14752:19;14745:26;;14806:2;14798:6;14794:15;14780:29;;14827:1;14837:195;14851:6;14848:1;14845:13;14837:195;;;14916:13;;-1:-1:-1;;;;;14912:39:1;14900:52;;15007:15;;;;14972:12;;;;14948:1;14866:9;14837:195;;;-1:-1:-1;;;;;;;15088:32:1;;;;15083:2;15068:18;;15061:60;-1:-1:-1;;;15152:3:1;15137:19;15130:35;15049:3;14191:980;-1:-1:-1;;;14191:980:1:o;15176:217::-;15216:1;15242;15232:132;;15286:10;15281:3;15277:20;15274:1;15267:31;15321:4;15318:1;15311:15;15349:4;15346:1;15339:15;15232:132;-1:-1:-1;15378:9:1;;15176:217::o

Swarm Source

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