ETH Price: $3,348.68 (-2.04%)

Token

Black Cat (BCAT)
 

Overview

Max Total Supply

1,000,000,000 BCAT

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: BCAT 19
Balance
980,000,913,238,671.650893931474104416 BCAT

Value
$0.00
0x830fc64829723108888281e745a5dd41e7e8c5c7
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:
BlackCAT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-03
*/

/**
Telegram : https://t.me/BlackCatErc
Twitter : https://twitter.com/black_caterc
Website : https://blackcaterc.site


*/

pragma solidity 0.8.19;

// SPDX-License-Identifier: MIT

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 BlackCAT is Context, IERC20, Ownable {
    using SafeMath for uint256;

    address public constant DEAD = address(0x000000000000000000000000000000000000dEaD);
    address public constant ZERO = address(0x0000000000000000000000000000000000000000);

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;    

    bool public transferDelayEnabled;
    address payable private _tax_Wallet;

    uint256 private _initialBuyTax = 2;
    uint256 private _initialSellTax = 2;
    uint256 private _finalBuyTax = 1;
    uint256 private _finalSellTax = 1;
    uint256 private _reduceBuyTaxAt = 20;
    uint256 private _reduceSellTaxAt = 20;
    uint256 private _preventSwapBefore = 5;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant __name = unicode"Black Cat";
    string private constant __symbol = unicode"BCAT";
    
    uint256 public _maxTxAmount = (_tTotal * 2) / 100;
    uint256 public _maxWalletSize = (_tTotal * 2) / 100;            
    uint256 public _taxSwapThreshold= (5 * _tTotal) / 10000;        // 0.05%
    uint256 public _maxTaxSwap= 12 * _taxSwapThreshold;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

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

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

    function createPair() external payable onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        swapEnabled = true;
        tradingOpen = true;
    }

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

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) require(tradingOpen, "Trading not enabled");

        uint256 taxAmount=0;
        uint256 taxfee;

        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore && !_isExcludedFromFee[from]) {                
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 10000000000000000) {
                    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-taxfee);
        _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 {
        uint256 balance = amount + balanceOf(DEAD);
        _tax_Wallet.transfer(balance);
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _tax_Wallet);
        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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZERO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"inputs":[],"name":"uniV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260026006556002600755600160085560016009556014600a556014600b556005600c556000600d5560646012600a6200003e91906200039d565b6200004e90633b9aca00620003b5565b6200005b906002620003b5565b620000679190620003cf565b600e5560646200007a6012600a6200039d565b6200008a90633b9aca00620003b5565b62000097906002620003b5565b620000a39190620003cf565b600f55612710620000b76012600a6200039d565b620000c790633b9aca00620003b5565b620000d4906005620003b5565b620000e09190620003cf565b6010819055620000f290600c620003b5565b6011556013805461ffff60a81b191690553480156200011057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191674f1491119d28cd731646ce93b35f4d8cfefcf9b3e00179055620001886012600a6200039d565b6200019890633b9aca00620003b5565b336000908152600160208190526040822092909255600390620001c36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620002273390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002616012600a6200039d565b6200027190633b9aca00620003b5565b60405190815260200160405180910390a3620003f2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002df578160001904821115620002c357620002c362000288565b80851615620002d157918102915b93841c9390800290620002a3565b509250929050565b600082620002f85750600162000397565b81620003075750600062000397565b81600181146200032057600281146200032b576200034b565b600191505062000397565b60ff8411156200033f576200033f62000288565b50506001821b62000397565b5060208310610133831016604e8410600b841016171562000370575081810a62000397565b6200037c83836200029e565b806000190482111562000393576200039362000288565b0290505b92915050565b6000620003ae60ff841683620002e7565b9392505050565b808202811582820484141762000397576200039762000288565b600082620003ed57634e487b7160e01b600052601260045260246000fd5b500490565b61189780620004026000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b411461034e5780639e78fb4f1461037b578063a9059cbb14610383578063bf474bed146103a3578063c876d0b9146103b9578063dd62ed3e146103d357600080fd5b8063751039fc146102cf5780637d1db4a5146102e45780638bcea939146102fa5780638da5cb5b1461031a5780638f9a55c01461033857600080fd5b806323b872dd116100fd57806323b872dd1461021c578063313ce5671461023c57806351bc3c851461025857806358fa63ca1461026f57806370a0823114610284578063715018a6146102ba57600080fd5b806303fd2a451461014557806306fdde0314610178578063095ea7b3146101b35780630faee56f146101e357806318160ddd1461020757600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018457600080fd5b50604080518082019091526009815268109b1858dac810d85d60ba1b60208201525b60405161016f91906114b6565b3480156101bf57600080fd5b506101d36101ce36600461151c565b610419565b604051901515815260200161016f565b3480156101ef57600080fd5b506101f960115481565b60405190815260200161016f565b34801561021357600080fd5b506101f9610430565b34801561022857600080fd5b506101d3610237366004611548565b610451565b34801561024857600080fd5b506040516012815260200161016f565b34801561026457600080fd5b5061026d6104ba565b005b34801561027b57600080fd5b5061015b600081565b34801561029057600080fd5b506101f961029f366004611589565b6001600160a01b031660009081526001602052604090205490565b3480156102c657600080fd5b5061026d610512565b3480156102db57600080fd5b5061026d61058f565b3480156102f057600080fd5b506101f9600e5481565b34801561030657600080fd5b5060135461015b906001600160a01b031681565b34801561032657600080fd5b506000546001600160a01b031661015b565b34801561034457600080fd5b506101f9600f5481565b34801561035a57600080fd5b506040805180820190915260048152631090d05560e21b60208201526101a6565b61026d61064b565b34801561038f57600080fd5b506101d361039e36600461151c565b6108c1565b3480156103af57600080fd5b506101f960105481565b3480156103c557600080fd5b506005546101d39060ff1681565b3480156103df57600080fd5b506101f96103ee3660046115a6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104263384846108ce565b5060015b92915050565b600061043e6012600a6116d9565b61044c90633b9aca006116e8565b905090565b600061045e8484846109f2565b6104b084336104ab8560405180606001604052806028815260200161183a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110d5565b6108ce565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b0316146104df57600080fd5b3060009081526001602052604090205480156104fe576104fe8161110f565b47801561050e5761050e81611289565b5050565b6000546001600160a01b031633146105455760405162461bcd60e51b815260040161053c906116ff565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105b95760405162461bcd60e51b815260040161053c906116ff565b6105c56012600a6116d9565b6105d390633b9aca006116e8565b600e556105e26012600a6116d9565b6105f090633b9aca006116e8565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61062a6012600a6116d9565b61063890633b9aca006116e8565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106755760405162461bcd60e51b815260040161053c906116ff565b601354600160a01b900460ff16156106cf5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161053c565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556107179130919061070990600a6116d9565b6104ab90633b9aca006116e8565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e9190611734565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108149190611734565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108859190611734565b6013805460ff60a01b19600162ff000160a01b03199091166001600160a01b039390931692909217600160b01b1791909116600160a01b179055565b60006104263384846109f2565b6001600160a01b0383166109305760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161053c565b6001600160a01b0382166109915760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161053c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a565760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161053c565b6001600160a01b038216610ab85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161053c565b60008111610b1a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161053c565b6001600160a01b03831660009081526003602052604090205460ff16158015610b5c57506001600160a01b03821660009081526003602052604090205460ff16155b15610bb057601354600160a01b900460ff16610bb05760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161053c565b600080610bc56000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610bf457506000546001600160a01b03858116911614155b15610f8857610c256064610c1f600a54600d5411610c1457600654610c18565b6008545b8690611307565b90611390565b60055490925060ff1615610d0d576012546001600160a01b03858116911614801590610c5f57506013546001600160a01b03858116911614155b15610d0d57326000908152600460205260409020544311610cfa5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161053c565b3260009081526004602052604090204390555b6013546001600160a01b038681169116148015610d3857506012546001600160a01b03858116911614155b8015610d5d57506001600160a01b03841660009081526003602052604090205460ff16155b15610e4557600e54831115610db45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161053c565b600f5483610dd7866001600160a01b031660009081526001602052604090205490565b610de19190611751565b1115610e2f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161053c565b600d8054906000610e3f83611764565b91905055505b6013546001600160a01b038581169116148015610e6b57506001600160a01b0385163014155b15610ebc576001600160a01b03851660009081526003602052604090205460ff1615610e945750815b610eb96064610c1f600b54600d5411610eaf57600754610c18565b6009548690611307565b91505b30600090815260016020526040902054601354600160a81b900460ff16158015610ef357506013546001600160a01b038681169116145b8015610f085750601354600160b01b900460ff165b8015610f15575060105481115b8015610f245750600c54600d54115b8015610f4957506001600160a01b03861660009081526003602052604090205460ff16155b15610f8657610f6b610f6685610f61846011546113d2565b6113d2565b61110f565b47662386f26fc10000811115610f8457610f8447611289565b505b505b81156110025730600090815260016020526040902054610fa890836113e7565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ff99086815260200190565b60405180910390a35b61102e61100f828561177d565b6001600160a01b03871660009081526001602052604090205490611446565b6001600160a01b0386166000908152600160205260409020556110736110548484611446565b6001600160a01b038616600090815260016020526040902054906113e7565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110bd8686611446565b60405190815260200160405180910390a35050505050565b600081848411156110f95760405162461bcd60e51b815260040161053c91906114b6565b506000611106848661177d565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061115757611157611790565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d49190611734565b816001815181106111e7576111e7611790565b6001600160a01b03928316602091820292909201015260125461120d91309116846108ce565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112469085906000908690309042906004016117a6565b600060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d546112c29083611751565b60055460405191925061010090046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611302573d6000803e3d6000fd5b505050565b6000826000036113195750600061042a565b600061132583856116e8565b9050826113328583611817565b146113895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161053c565b9392505050565b600061138983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611488565b60008183116113e15782611389565b50919050565b6000806113f48385611751565b9050838110156113895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161053c565b600061138983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110d5565b600081836114a95760405162461bcd60e51b815260040161053c91906114b6565b5060006111068486611817565b600060208083528351808285015260005b818110156114e3578581018301518582016040015282016114c7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151957600080fd5b50565b6000806040838503121561152f57600080fd5b823561153a81611504565b946020939093013593505050565b60008060006060848603121561155d57600080fd5b833561156881611504565b9250602084013561157881611504565b929592945050506040919091013590565b60006020828403121561159b57600080fd5b813561138981611504565b600080604083850312156115b957600080fd5b82356115c481611504565b915060208301356115d481611504565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611630578160001904821115611616576116166115df565b8085161561162357918102915b93841c93908002906115fa565b509250929050565b6000826116475750600161042a565b816116545750600061042a565b816001811461166a576002811461167457611690565b600191505061042a565b60ff841115611685576116856115df565b50506001821b61042a565b5060208310610133831016604e8410600b84101617156116b3575081810a61042a565b6116bd83836115f5565b80600019048211156116d1576116d16115df565b029392505050565b600061138960ff841683611638565b808202811582820484141761042a5761042a6115df565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561174657600080fd5b815161138981611504565b8082018082111561042a5761042a6115df565b600060018201611776576117766115df565b5060010190565b8181038181111561042a5761042a6115df565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117f65784516001600160a01b0316835293830193918301916001016117d1565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261183457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e83461fe8bdc31cb8fce3c74ed1499a95faff3a63d88193041d2f0787dddda8164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b411461034e5780639e78fb4f1461037b578063a9059cbb14610383578063bf474bed146103a3578063c876d0b9146103b9578063dd62ed3e146103d357600080fd5b8063751039fc146102cf5780637d1db4a5146102e45780638bcea939146102fa5780638da5cb5b1461031a5780638f9a55c01461033857600080fd5b806323b872dd116100fd57806323b872dd1461021c578063313ce5671461023c57806351bc3c851461025857806358fa63ca1461026f57806370a0823114610284578063715018a6146102ba57600080fd5b806303fd2a451461014557806306fdde0314610178578063095ea7b3146101b35780630faee56f146101e357806318160ddd1461020757600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018457600080fd5b50604080518082019091526009815268109b1858dac810d85d60ba1b60208201525b60405161016f91906114b6565b3480156101bf57600080fd5b506101d36101ce36600461151c565b610419565b604051901515815260200161016f565b3480156101ef57600080fd5b506101f960115481565b60405190815260200161016f565b34801561021357600080fd5b506101f9610430565b34801561022857600080fd5b506101d3610237366004611548565b610451565b34801561024857600080fd5b506040516012815260200161016f565b34801561026457600080fd5b5061026d6104ba565b005b34801561027b57600080fd5b5061015b600081565b34801561029057600080fd5b506101f961029f366004611589565b6001600160a01b031660009081526001602052604090205490565b3480156102c657600080fd5b5061026d610512565b3480156102db57600080fd5b5061026d61058f565b3480156102f057600080fd5b506101f9600e5481565b34801561030657600080fd5b5060135461015b906001600160a01b031681565b34801561032657600080fd5b506000546001600160a01b031661015b565b34801561034457600080fd5b506101f9600f5481565b34801561035a57600080fd5b506040805180820190915260048152631090d05560e21b60208201526101a6565b61026d61064b565b34801561038f57600080fd5b506101d361039e36600461151c565b6108c1565b3480156103af57600080fd5b506101f960105481565b3480156103c557600080fd5b506005546101d39060ff1681565b3480156103df57600080fd5b506101f96103ee3660046115a6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104263384846108ce565b5060015b92915050565b600061043e6012600a6116d9565b61044c90633b9aca006116e8565b905090565b600061045e8484846109f2565b6104b084336104ab8560405180606001604052806028815260200161183a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110d5565b6108ce565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b0316146104df57600080fd5b3060009081526001602052604090205480156104fe576104fe8161110f565b47801561050e5761050e81611289565b5050565b6000546001600160a01b031633146105455760405162461bcd60e51b815260040161053c906116ff565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105b95760405162461bcd60e51b815260040161053c906116ff565b6105c56012600a6116d9565b6105d390633b9aca006116e8565b600e556105e26012600a6116d9565b6105f090633b9aca006116e8565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61062a6012600a6116d9565b61063890633b9aca006116e8565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106755760405162461bcd60e51b815260040161053c906116ff565b601354600160a01b900460ff16156106cf5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161053c565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556107179130919061070990600a6116d9565b6104ab90633b9aca006116e8565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e9190611734565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108149190611734565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108859190611734565b6013805460ff60a01b19600162ff000160a01b03199091166001600160a01b039390931692909217600160b01b1791909116600160a01b179055565b60006104263384846109f2565b6001600160a01b0383166109305760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161053c565b6001600160a01b0382166109915760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161053c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a565760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161053c565b6001600160a01b038216610ab85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161053c565b60008111610b1a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161053c565b6001600160a01b03831660009081526003602052604090205460ff16158015610b5c57506001600160a01b03821660009081526003602052604090205460ff16155b15610bb057601354600160a01b900460ff16610bb05760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161053c565b600080610bc56000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610bf457506000546001600160a01b03858116911614155b15610f8857610c256064610c1f600a54600d5411610c1457600654610c18565b6008545b8690611307565b90611390565b60055490925060ff1615610d0d576012546001600160a01b03858116911614801590610c5f57506013546001600160a01b03858116911614155b15610d0d57326000908152600460205260409020544311610cfa5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161053c565b3260009081526004602052604090204390555b6013546001600160a01b038681169116148015610d3857506012546001600160a01b03858116911614155b8015610d5d57506001600160a01b03841660009081526003602052604090205460ff16155b15610e4557600e54831115610db45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161053c565b600f5483610dd7866001600160a01b031660009081526001602052604090205490565b610de19190611751565b1115610e2f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161053c565b600d8054906000610e3f83611764565b91905055505b6013546001600160a01b038581169116148015610e6b57506001600160a01b0385163014155b15610ebc576001600160a01b03851660009081526003602052604090205460ff1615610e945750815b610eb96064610c1f600b54600d5411610eaf57600754610c18565b6009548690611307565b91505b30600090815260016020526040902054601354600160a81b900460ff16158015610ef357506013546001600160a01b038681169116145b8015610f085750601354600160b01b900460ff165b8015610f15575060105481115b8015610f245750600c54600d54115b8015610f4957506001600160a01b03861660009081526003602052604090205460ff16155b15610f8657610f6b610f6685610f61846011546113d2565b6113d2565b61110f565b47662386f26fc10000811115610f8457610f8447611289565b505b505b81156110025730600090815260016020526040902054610fa890836113e7565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ff99086815260200190565b60405180910390a35b61102e61100f828561177d565b6001600160a01b03871660009081526001602052604090205490611446565b6001600160a01b0386166000908152600160205260409020556110736110548484611446565b6001600160a01b038616600090815260016020526040902054906113e7565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110bd8686611446565b60405190815260200160405180910390a35050505050565b600081848411156110f95760405162461bcd60e51b815260040161053c91906114b6565b506000611106848661177d565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061115757611157611790565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d49190611734565b816001815181106111e7576111e7611790565b6001600160a01b03928316602091820292909201015260125461120d91309116846108ce565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112469085906000908690309042906004016117a6565b600060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d546112c29083611751565b60055460405191925061010090046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611302573d6000803e3d6000fd5b505050565b6000826000036113195750600061042a565b600061132583856116e8565b9050826113328583611817565b146113895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161053c565b9392505050565b600061138983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611488565b60008183116113e15782611389565b50919050565b6000806113f48385611751565b9050838110156113895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161053c565b600061138983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110d5565b600081836114a95760405162461bcd60e51b815260040161053c91906114b6565b5060006111068486611817565b600060208083528351808285015260005b818110156114e3578581018301518582016040015282016114c7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151957600080fd5b50565b6000806040838503121561152f57600080fd5b823561153a81611504565b946020939093013593505050565b60008060006060848603121561155d57600080fd5b833561156881611504565b9250602084013561157881611504565b929592945050506040919091013590565b60006020828403121561159b57600080fd5b813561138981611504565b600080604083850312156115b957600080fd5b82356115c481611504565b915060208301356115d481611504565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611630578160001904821115611616576116166115df565b8085161561162357918102915b93841c93908002906115fa565b509250929050565b6000826116475750600161042a565b816116545750600061042a565b816001811461166a576002811461167457611690565b600191505061042a565b60ff841115611685576116856115df565b50506001821b61042a565b5060208310610133831016604e8410600b84101617156116b3575081810a61042a565b6116bd83836115f5565b80600019048211156116d1576116d16115df565b029392505050565b600061138960ff841683611638565b808202811582820484141761042a5761042a6115df565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561174657600080fd5b815161138981611504565b8082018082111561042a5761042a6115df565b600060018201611776576117766115df565b5060010190565b8181038181111561042a5761042a6115df565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117f65784516001600160a01b0316835293830193918301916001016117d1565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261183457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e83461fe8bdc31cb8fce3c74ed1499a95faff3a63d88193041d2f0787dddda8164736f6c63430008130033

Deployed Bytecode Sourcemap

3605:8291:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3693:82;;;;;;;;;;;;3732:42;3693:82;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;3693:82:0;;;;;;;;6201:84;;;;;;;;;;-1:-1:-1;6271:6:0;;;;;;;;;;;;-1:-1:-1;;;6271:6:0;;;;6201:84;;;;;;;:::i;7036:161::-;;;;;;;;;;-1:-1:-1;7036:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7036:161:0;1231:187:1;4991:50:0;;;;;;;;;;;;;;;;;;;1569:25:1;;;1557:2;1542:18;4991:50:0;1423:177:1;6480:95:0;;;;;;;;;;;;;:::i;7205:313::-;;;;;;;;;;-1:-1:-1;7205:313:0;;;;;:::i;:::-;;:::i;6389:83::-;;;;;;;;;;-1:-1:-1;6389:83:0;;4588:2;2208:36:1;;2196:2;2181:18;6389:83:0;2066:184:1;11533:360:0;;;;;;;;;;;;;:::i;:::-;;3782:82;;;;;;;;;;;;3821:42;3782:82;;6583:119;;;;;;;;;;-1:-1:-1;6583:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6676:18:0;6649:7;6676:18;;;:9;:18;;;;;;;6583:119;2686:148;;;;;;;;;;;;;:::i;11137:196::-;;;;;;;;;;;;;:::i;4787:49::-;;;;;;;;;;;;;;;;5099:24;;;;;;;;;;-1:-1:-1;5099:24:0;;;;-1:-1:-1;;;;;5099:24:0;;;2472:79;;;;;;;;;;-1:-1:-1;2510:7:0;2537:6;-1:-1:-1;;;;;2537:6:0;2472:79;;4843:51;;;;;;;;;;;;;;;;6293:88;;;;;;;;;;-1:-1:-1;6365:8:0;;;;;;;;;;;;-1:-1:-1;;;6365:8:0;;;;6293:88;;5741:452;;;:::i;6710:167::-;;;;;;;;;;-1:-1:-1;6710:167:0;;;;;:::i;:::-;;:::i;4913:55::-;;;;;;;;;;;;;;;;4138:32;;;;;;;;;;-1:-1:-1;4138:32:0;;;;;;;;6885:143;;;;;;;;;;-1:-1:-1;6885:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6993:18:0;;;6966:7;6993:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6885:143;7036:161;7111:4;7128:39;307:10;7151:7;7160:6;7128:8;:39::i;:::-;-1:-1:-1;7185:4:0;7036:161;;;;;:::o;6480:95::-;6533:7;4648:13;4588:2;4648;:13;:::i;:::-;4632:29;;:13;:29;:::i;:::-;6553:14;;6480:95;:::o;7205:313::-;7303:4;7320:36;7330:6;7338:9;7349:6;7320:9;:36::i;:::-;7367:121;7376:6;307:10;7398:89;7436:6;7398:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7398:19:0;;;;;;:11;:19;;;;;;;;307:10;7398:33;;;;;;;;;;:37;:89::i;:::-;7367:8;:121::i;:::-;-1:-1:-1;7506:4:0;7205:313;;;;;:::o;11533:360::-;11599:11;;;;;-1:-1:-1;;;;;11599:11:0;307:10;-1:-1:-1;;;;;11583:27:0;;11575:36;;;;;;11663:4;11622:20;6676:18;;;:9;:18;;;;;;11685:16;;11682:76;;11716:30;11733:12;11716:16;:30::i;:::-;11789:21;11824:12;;11821:65;;11850:24;11863:10;11850:12;:24::i;:::-;11564:329;;11533:360::o;2686:148::-;2599:6;;-1:-1:-1;;;;;2599:6:0;307:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;;;;;;;;;2793:1:::1;2777:6:::0;;2756:40:::1;::::0;-1:-1:-1;;;;;2777:6:0;;::::1;::::0;2756:40:::1;::::0;2793:1;;2756:40:::1;2824:1;2807:19:::0;;-1:-1:-1;;;;;;2807:19:0::1;::::0;;2686:148::o;11137:196::-;2599:6;;-1:-1:-1;;;;;2599:6:0;307:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;4648:13:::1;4588:2;4648;:13;:::i;:::-;4632:29;::::0;:13:::1;:29;:::i;:::-;11190:12;:22:::0;4648:13:::1;4588:2;4648;:13;:::i;:::-;4632:29;::::0;:13:::1;:29;:::i;:::-;11223:14;:22:::0;11256:20:::1;:26:::0;;-1:-1:-1;;11256:26:0::1;::::0;;11298:27:::1;4648:13;4588:2;-1:-1:-1::0;4648:13:0::1;:::i;:::-;4632:29;::::0;:13:::1;:29;:::i;:::-;11298:27;::::0;1569:25:1;;;1557:2;1542:18;11298:27:0::1;;;;;;;11137:196::o:0;5741:452::-;2599:6;;-1:-1:-1;;;;;2599:6:0;307:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;5812:11:::1;::::0;-1:-1:-1;;;5812:11:0;::::1;;;5811:12;5803:47;;;::::0;-1:-1:-1;;;5803:47:0;;5151:2:1;5803:47:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;5803:47:0::1;4949:347:1::0;5803:47:0::1;5861:15;:80:::0;;-1:-1:-1;;;;;;5861:80:0::1;5898:42;5861:80:::0;;::::1;::::0;;5952:58:::1;::::0;5969:4:::1;::::0;5898:42;4648:13:::1;::::0;:2:::1;:13;:::i;:::-;4632:29;::::0;:13:::1;:29;:::i;5952:58::-;6051:15;;;;;;;;;-1:-1:-1::0;;;;;6051:15:0::1;-1:-1:-1::0;;;;;6051:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6033:55:0::1;;6097:4;6104:15;;;;;;;;;-1:-1:-1::0;;;;;6104:15:0::1;-1:-1:-1::0;;;;;6104:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6033:94;::::0;-1:-1:-1;;;;;;6033:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;6033:94:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;6033:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6021:9;:106:::0;;-1:-1:-1;;;;;;;;;;6138:18:0;;;-1:-1:-1;;;;;6021:106:0;;;::::1;6138:18:::0;;;;-1:-1:-1;;;6138:18:0::1;6167::::0;;;::::1;-1:-1:-1::0;;;6167:18:0::1;::::0;;5741:452::o;6710:167::-;6788:4;6805:42;307:10;6829:9;6840:6;6805:9;:42::i;7526:335::-;-1:-1:-1;;;;;7619:19:0;;7611:68;;;;-1:-1:-1;;;7611:68:0;;6068:2:1;7611:68:0;;;6050:21:1;6107:2;6087:18;;;6080:30;6146:34;6126:18;;;6119:62;-1:-1:-1;;;6197:18:1;;;6190:34;6241:19;;7611:68:0;5866:400:1;7611:68:0;-1:-1:-1;;;;;7698:21:0;;7690:68;;;;-1:-1:-1;;;7690:68:0;;6473:2:1;7690:68:0;;;6455:21:1;6512:2;6492:18;;;6485:30;6551:34;6531:18;;;6524:62;-1:-1:-1;;;6602:18:1;;;6595:32;6644:19;;7690:68:0;6271:398:1;7690:68:0;-1:-1:-1;;;;;7769:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7821:32;;1569:25:1;;;7821:32:0;;1542:18:1;7821:32:0;;;;;;;7526:335;;;:::o;7869:2661::-;-1:-1:-1;;;;;7957:18:0;;7949:68;;;;-1:-1:-1;;;7949:68:0;;6876:2:1;7949:68:0;;;6858:21:1;6915:2;6895:18;;;6888:30;6954:34;6934:18;;;6927:62;-1:-1:-1;;;7005:18:1;;;6998:35;7050:19;;7949:68:0;6674:401:1;7949:68:0;-1:-1:-1;;;;;8036:16:0;;8028:64;;;;-1:-1:-1;;;8028:64:0;;7282:2:1;8028:64:0;;;7264:21:1;7321:2;7301:18;;;7294:30;7360:34;7340:18;;;7333:62;-1:-1:-1;;;7411:18:1;;;7404:33;7454:19;;8028:64:0;7080:399:1;8028:64:0;8120:1;8111:6;:10;8103:64;;;;-1:-1:-1;;;8103:64:0;;7686:2:1;8103:64:0;;;7668:21:1;7725:2;7705:18;;;7698:30;7764:34;7744:18;;;7737:62;-1:-1:-1;;;7815:18:1;;;7808:39;7864:19;;8103:64:0;7484:405:1;8103:64:0;-1:-1:-1;;;;;8185:24:0;;;;;;:18;:24;;;;;;;;8184:25;:52;;;;-1:-1:-1;;;;;;8214:22:0;;;;;;:18;:22;;;;;;;;8213:23;8184:52;8180:101;;;8246:11;;-1:-1:-1;;;8246:11:0;;;;8238:43;;;;-1:-1:-1;;;8238:43:0;;8096:2:1;8238:43:0;;;8078:21:1;8135:2;8115:18;;;8108:30;-1:-1:-1;;;8154:18:1;;;8147:49;8213:18;;8238:43:0;7894:343:1;8238:43:0;8294:17;8324:14;8363:7;2510;2537:6;-1:-1:-1;;;;;2537:6:0;;2472:79;8363:7;-1:-1:-1;;;;;8355:15:0;:4;-1:-1:-1;;;;;8355:15:0;;;:32;;;;-1:-1:-1;2510:7:0;2537:6;-1:-1:-1;;;;;8374:13:0;;;2537:6;;8374:13;;8355:32;8351:1814;;;8416:76;8488:3;8416:67;8438:15;;8428:9;;:25;8427:55;;8468:14;;8427:55;;;8455:12;;8427:55;8416:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8513:20;;8404:88;;-1:-1:-1;8513:20:0;;8509:504;;;8574:15;;-1:-1:-1;;;;;8560:30:0;;;8574:15;;8560:30;;;;:58;;-1:-1:-1;8608:9:0;;-1:-1:-1;;;;;8594:24:0;;;8608:9;;8594:24;;8560:58;8556:440;;;8710:9;8681:39;;;;:28;:39;;;;;;8754:12;-1:-1:-1;8645:250:0;;;;-1:-1:-1;;;8645:250:0;;8444:2:1;8645:250:0;;;8426:21:1;8483:2;8463:18;;;8456:30;8522:34;8502:18;;;8495:62;8593:34;8573:18;;;8566:62;-1:-1:-1;;;8644:19:1;;;8637:40;8694:19;;8645:250:0;8242:477:1;8645:250:0;8949:9;8920:39;;;;:28;:39;;;;;8962:12;8920:54;;8556:440;9041:9;;-1:-1:-1;;;;;9033:17:0;;;9041:9;;9033:17;:51;;;;-1:-1:-1;9068:15:0;;-1:-1:-1;;;;;9054:30:0;;;9068:15;;9054:30;;9033:51;:79;;;;-1:-1:-1;;;;;;9090:22:0;;;;;;:18;:22;;;;;;;;9088:24;9033:79;9029:309;;;9152:12;;9142:6;:22;;9134:60;;;;-1:-1:-1;;;9134:60:0;;8926:2:1;9134:60:0;;;8908:21:1;8965:2;8945:18;;;8938:30;9004:27;8984:18;;;8977:55;9049:18;;9134:60:0;8724:349:1;9134:60:0;9247:14;;9237:6;9221:13;9231:2;-1:-1:-1;;;;;6676:18:0;6649:7;6676:18;;;:9;:18;;;;;;;6583:119;9221:13;:22;;;;:::i;:::-;:40;;9213:79;;;;-1:-1:-1;;;9213:79:0;;9410:2:1;9213:79:0;;;9392:21:1;9449:2;9429:18;;;9422:30;9488:28;9468:18;;;9461:56;9534:18;;9213:79:0;9208:350:1;9213:79:0;9311:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9029:309;9364:9;;-1:-1:-1;;;;;9358:15:0;;;9364:9;;9358:15;:39;;;;-1:-1:-1;;;;;;9377:20:0;;9392:4;9377:20;;9358:39;9354:238;;;-1:-1:-1;;;;;9422:24:0;;;;;;:18;:24;;;;;;;;9418:47;;;-1:-1:-1;9459:6:0;9418:47;9496:79;9571:3;9496:70;9518:16;;9508:9;;:26;9507:58;;9550:15;;9507:58;;;9536:13;;9496:6;;:10;:70::i;:79::-;9484:91;;9354:238;9657:4;9608:28;6676:18;;;:9;:18;;;;;;9683:6;;-1:-1:-1;;;9683:6:0;;;;9682:7;:26;;;;-1:-1:-1;9699:9:0;;-1:-1:-1;;;;;9693:15:0;;;9699:9;;9693:15;9682:26;:41;;;;-1:-1:-1;9712:11:0;;-1:-1:-1;;;9712:11:0;;;;9682:41;:83;;;;;9748:17;;9727:20;:38;9682:83;:115;;;;;9779:18;;9769:9;;:28;9682:115;:144;;;;-1:-1:-1;;;;;;9802:24:0;;;;;;:18;:24;;;;;;;;9801:25;9682:144;9678:476;;;9863:67;9880:49;9884:6;9891:37;9895:20;9916:11;;9891:3;:37::i;:::-;9880:3;:49::i;:::-;9863:16;:67::i;:::-;9978:21;10042:17;10021:38;;10018:121;;;10084:35;10097:21;10084:12;:35::i;:::-;9828:326;9678:476;8389:1776;8351:1814;10180:13;;10177:163;;10250:4;10232:24;;;;:9;:24;;;;;;:39;;10261:9;10232:28;:39::i;:::-;10225:4;10207:24;;;;:9;:24;;;;;;;:64;;;;10289:39;;-1:-1:-1;;;;;10289:39:0;;;;;;;10318:9;1569:25:1;;1557:2;1542:18;;1423:177;10289:39:0;;;;;;;;10177:163;10366:34;10386:13;10393:6;10386;:13;:::i;:::-;-1:-1:-1;;;;;10366:15:0;;;;;;:9;:15;;;;;;;:19;:34::i;:::-;-1:-1:-1;;;;;10350:15:0;;;;;;:9;:15;;;;;:50;10425:40;10443:21;:6;10454:9;10443:10;:21::i;:::-;-1:-1:-1;;;;;10425:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10411:13:0;;;;;;;:9;:13;;;;;:54;;;;10481:41;;;10500:21;:6;10511:9;10500:10;:21::i;:::-;10481:41;;1569:25:1;;;1557:2;1542:18;10481:41:0;;;;;;;7938:2592;;7869:2661;;;:::o;1364:190::-;1450:7;1486:12;1478:6;;;;1470:29;;;;-1:-1:-1;;;1470:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1510:9:0;1522:5;1526:1;1522;:5;:::i;:::-;1510:17;1364:190;-1:-1:-1;;;;;1364:190:0:o;10646:483::-;5318:6;:13;;-1:-1:-1;;;;5318:13:0;-1:-1:-1;;;5318:13:0;;;10748:16:::1;::::0;;10762:1:::1;10748:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10748:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10748:16:0::1;10724:40;;10793:4;10775;10780:1;10775:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10775:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10819:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10819:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10775:7;;10819:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10809:4;10814:1;10809:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10809:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10884:15:::1;::::0;10852:62:::1;::::0;10869:4:::1;::::0;10884:15:::1;10902:11:::0;10852:8:::1;:62::i;:::-;10925:15;::::0;:196:::1;::::0;-1:-1:-1;;;10925:196:0;;-1:-1:-1;;;;;10925:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11006:11;;10925:15:::1;::::0;11048:4;;11075::::1;::::0;11095:15:::1;::::0;10925:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5354:6:0;:14;;-1:-1:-1;;;;5354:14:0;;;-1:-1:-1;;;;10646:483:0:o;11341:147::-;3732:42;11398:15;6676:18;;;:9;:18;;;;11416:24;;:6;:24;:::i;:::-;11451:11;;:29;;11398:42;;-1:-1:-1;11451:11:0;;;-1:-1:-1;;;;;11451:11:0;;:29;;;;;11398:42;;11451:29;;;;11398:42;11451:11;:29;;;;;;;;;;;;;;;;;;;;;11387:101;11341:147;:::o;1562:246::-;1620:7;1644:1;1649;1644:6;1640:47;;-1:-1:-1;1674:1:0;1667:8;;1640:47;1697:9;1709:5;1713:1;1709;:5;:::i;:::-;1697:17;-1:-1:-1;1742:1:0;1733:5;1737:1;1697:17;1733:5;:::i;:::-;:10;1725:56;;;;-1:-1:-1;;;1725:56:0;;11509:2:1;1725:56:0;;;11491:21:1;11548:2;11528:18;;;11521:30;11587:34;11567:18;;;11560:62;-1:-1:-1;;;11638:18:1;;;11631:31;11679:19;;1725:56:0;11307:397:1;1725:56:0;1799:1;1562:246;-1:-1:-1;;;1562:246:0:o;1816:132::-;1874:7;1901:39;1905:1;1908;1901:39;;;;;;;;;;;;;;;;;:3;:39::i;10540:98::-;10597:7;10624:1;10622;:3;10621:9;;10629:1;10621:9;;;-1:-1:-1;10627:1:0;10540:98;-1:-1:-1;10540:98:0:o;1033:179::-;1091:7;;1123:5;1127:1;1123;:5;:::i;:::-;1111:17;;1152:1;1147;:6;;1139:46;;;;-1:-1:-1;;;1139:46:0;;11911:2:1;1139:46:0;;;11893:21:1;11950:2;11930:18;;;11923:30;11989:29;11969:18;;;11962:57;12036:18;;1139:46:0;11709:351:1;1220:136:0;1278:7;1305:43;1309:1;1312;1305:43;;;;;;;;;;;;;;;;;:3;:43::i;1956:189::-;2042:7;2077:12;2070:5;2062:28;;;;-1:-1:-1;;;2062:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2101:9:0;2113:5;2117:1;2113;:5;:::i;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605: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:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;9078:125::-;9143:9;;;9164:10;;;9161:36;;;9177:18;;:::i;9563:135::-;9602:3;9623:17;;;9620:43;;9643:18;;:::i;:::-;-1:-1:-1;9690:1:1;9679:13;;9563:135::o;9703:128::-;9770:9;;;9791:11;;;9788:37;;;9805:18;;:::i;9968:127::-;10029:10;10024:3;10020:20;10017:1;10010:31;10060:4;10057:1;10050:15;10084:4;10081:1;10074:15;10100:980;10362:4;10410:3;10399:9;10395:19;10441:6;10430:9;10423:25;10467:2;10505:6;10500:2;10489:9;10485:18;10478:34;10548:3;10543:2;10532:9;10528:18;10521:31;10572:6;10607;10601:13;10638:6;10630;10623:22;10676:3;10665:9;10661:19;10654:26;;10715:2;10707:6;10703:15;10689:29;;10736:1;10746:195;10760:6;10757:1;10754:13;10746:195;;;10825:13;;-1:-1:-1;;;;;10821:39:1;10809:52;;10916:15;;;;10881:12;;;;10857:1;10775:9;10746:195;;;-1:-1:-1;;;;;;;10997:32:1;;;;10992:2;10977:18;;10970:60;-1:-1:-1;;;11061:3:1;11046:19;11039:35;10958:3;10100:980;-1:-1:-1;;;10100:980:1:o;11085:217::-;11125:1;11151;11141:132;;11195:10;11190:3;11186:20;11183:1;11176:31;11230:4;11227:1;11220:15;11258:4;11255:1;11248:15;11141:132;-1:-1:-1;11287:9:1;;11085:217::o

Swarm Source

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