ETH Price: $2,406.56 (-0.74%)

Token

Black Friday (BFCM)
 

Overview

Max Total Supply

69,420,000 BFCM

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
275,237.330323631263021404 BFCM

Value
$0.00
0x5abbc66af123319b72ece7ed4ab68de97fb18d7f
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:
BLACKFRIDAYCOIN

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

        //TELEGRAM: https://t.me/blackfridayerc20
        //TWITTER(X): https://twitter.com/BlackFridayErc20

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface BFCM20 {
    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);
}

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


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

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


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }


    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

enum TokenType {
    standard
}

pragma solidity =0.8.18;

contract BLACKFRIDAYCOIN is BFCM20, Ownable {

  using SafeMath for uint256;

    uint256 private constant VERSION = 1;
    uint256 public Burn = 9900; 
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromTax;
    uint256 public maxTxAmount;
    uint256 public Tax = 0;  // 0%
    address public BFCMdeployer;
    address constant taxwallet = 0x9EFB61A54063Ce5a856264Cd5cF0324fC1788869; 
    event BurnAmount(uint256 oldAmount, uint256 newAmount);

    event TaxRate(uint256 oldRate, uint256 newRate);

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private swapping = true;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    constructor() payable {
    _name = unicode"Black Friday";
    _symbol = unicode"BFCM";
    _decimals = 18;
    _totalSupply = 69420000 * (10 ** uint256(_decimals));
    _balances[owner()] = _totalSupply;
    _isExcludedFromTax[taxwallet] = true;
    
    maxTxAmount = 69420000 * (10 ** uint256(_decimals));
    BFCMdeployer = 0xaEc2C6D3Ceb5F3B0781E5782a31CF0A0C605F769;
    _isExcludedFromTax[BFCMdeployer] = true;
    
    uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

    }

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

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

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

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

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

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

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

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

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

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

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

   function _transfer(
    address sender,
    address recipient,
    uint256 amount
) internal virtual {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");
     uint256 taxRate = 0;
    if (recipient == uniswapV2Pair && !_isExcludedFromTax[sender]) {
        taxRate = Burn;
    } else if (sender == uniswapV2Pair && !_isExcludedFromTax[recipient]) {
        taxRate = Tax;
    }
    uint256 taxAmount = amount.mul(taxRate).div(10000);
    uint256 newAmount = amount.sub(taxAmount);
    if (!_isExcludedFromTax[sender]) {
        require(newAmount <= maxTxAmount, "Amount after tax exceeds the maxTxAmount");
    }

    _beforeTokenTransfer(sender, recipient, newAmount);

    if (taxAmount > 0) {
        _balances[sender] = _balances[sender].sub(taxAmount, "ERC20: tax amount exceeds balance");
        _balances[taxwallet] = _balances[taxwallet].add(taxAmount);
        emit Transfer(sender, taxwallet, taxAmount);
    }

    _balances[sender] = _balances[sender].sub(newAmount, "ERC20: transfer amount exceeds balance");
    _balances[recipient] = _balances[recipient].add(newAmount);
    emit Transfer(sender, recipient, newAmount);
    }

    function setTaxRate(uint256 newRate) external onlyOwner {
    require(newRate >= 0 && newRate <= 10000, "Invalid tax rate"); // 100%
    uint256 oldRate = Tax;
    Tax = newRate;
    emit TaxRate(oldRate, newRate);
    }

    function setMaxTxAmount(uint256 amount) external onlyOwner {
    require(_msgSender() == owner(), "Not authorized");
        maxTxAmount = amount;
    }
    
    function burn(uint256 newAmount) external onlyOwner {
    require(newAmount >= 0 && newAmount <= 10000, "Burn to the Zero Address");
    uint256 oldAmount = Burn;
        Burn = newAmount;
    emit BurnAmount(oldAmount, newAmount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _setupDecimals(uint8 decimals_) internal virtual {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"oldAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"BurnAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"TaxRate","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":"BFCMdeployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Tax","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":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"setTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526126ac60015560006006556009805460ff60a01b1916600160a01b179055620000346200002e3390565b62000369565b60408051808201909152600c81526b426c61636b2046726964617960a01b6020820152600a906200006690826200045e565b506040805180820190915260048152634246434d60e01b6020820152600b906200009190826200045e565b50600c805460ff19166012908117909155620000af90600a6200063f565b620000bf9063042343e062000654565b600d81905560026000620000db6000546001600160a01b031690565b6001600160a01b03168152602080820192909252604001600090812092909255739efb61a54063ce5a856264cd5cf0324fc1788869909152600490527fd05e042f6d500eb46c70d9ce31b3bbd0890817b05321ed6712508aa17b204a68805460ff19166001179055600c54620001569060ff16600a6200063f565b620001669063042343e062000654565b6005556007805473aec2c6d3ceb5f3b0781e5782a31cf0a0c605f7696001600160a01b03199182168117909255600091909152600460208181527fa9e6cc224c6fef2ff00d52946810b2551dc9e9c36e0f964569bbec1bece3844c805460ff1916600117905560088054737a250d5630b4cf539739df2c5dacb4c659f2488d9416841790556040805163c45a015560e01b8152905163c45a01559382810193928290030181865afa15801562000220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024691906200066e565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cf91906200066e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200031d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034391906200066e565b600980546001600160a01b0319166001600160a01b039290921691909117905562000699565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003e457607f821691505b6020821081036200040557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200045957600081815260208120601f850160051c81016020861015620004345750805b601f850160051c820191505b81811015620004555782815560010162000440565b5050505b505050565b81516001600160401b038111156200047a576200047a620003b9565b62000492816200048b8454620003cf565b846200040b565b602080601f831160018114620004ca5760008415620004b15750858301515b600019600386901b1c1916600185901b17855562000455565b600085815260208120601f198616915b82811015620004fb57888601518255948401946001909101908401620004da565b50858210156200051a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005815781600019048211156200056557620005656200052a565b808516156200057357918102915b93841c939080029062000545565b509250929050565b6000826200059a5750600162000639565b81620005a95750600062000639565b8160018114620005c25760028114620005cd57620005ed565b600191505062000639565b60ff841115620005e157620005e16200052a565b50506001821b62000639565b5060208310610133831016604e8410600b841016171562000612575081810a62000639565b6200061e838362000540565b80600019048211156200063557620006356200052a565b0290505b92915050565b60006200064d838362000589565b9392505050565b80820281158282048414176200063957620006396200052a565b6000602082840312156200068157600080fd5b81516001600160a01b03811681146200064d57600080fd5b61104c80620006a96000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d71461028d578063a9059cbb146102a0578063c6d69a30146102b3578063dd62ed3e146102c6578063ec28438a146102ff578063f2fde38b1461031257600080fd5b806370a082311461023a578063715018a6146102635780638c0b5e221461026b5780638da5cb5b1461027457806395d89b411461028557600080fd5b8063313ce5671161010a578063313ce567146101d857806339509351146101ed578063396ed0ab1461020057806342966c681461020957806349bd5a5e1461021e5780636ea405d31461023157600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd146101885780631c383d681461019a57806323b872dd146101c5575b600080fd5b61014f610325565b60405161015c9190610d67565b60405180910390f35b610178610173366004610dd1565b6103b7565b604051901515815260200161015c565b600d545b60405190815260200161015c565b6007546101ad906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b6101786101d3366004610dfb565b6103ce565b600c5460405160ff909116815260200161015c565b6101786101fb366004610dd1565b610437565b61018c60015481565b61021c610217366004610e37565b61046d565b005b6009546101ad906001600160a01b031681565b61018c60065481565b61018c610248366004610e50565b6001600160a01b031660009081526002602052604090205490565b61021c610538565b61018c60055481565b6000546001600160a01b03166101ad565b61014f61056e565b61017861029b366004610dd1565b61057d565b6101786102ae366004610dd1565b6105cc565b61021c6102c1366004610e37565b6105d9565b61018c6102d4366004610e6b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61021c61030d366004610e37565b610686565b61021c610320366004610e50565b610700565b6060600a805461033490610e9e565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610e9e565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b5050505050905090565b60006103c433848461079b565b5060015b92915050565b60006103db8484846108bf565b61042d843361042885604051806060016040528060288152602001610fa9602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610cb4565b61079b565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103c49185906104289086610ce0565b6000546001600160a01b031633146104a05760405162461bcd60e51b815260040161049790610ed8565b60405180910390fd5b6127108111156104f25760405162461bcd60e51b815260206004820152601860248201527f4275726e20746f20746865205a65726f204164647265737300000000000000006044820152606401610497565b600180549082905560408051828152602081018490527f28d50d8e79f9b3e7e98b793ec2ce4c89095c23e2d7d5ac1511ffb345c684c7de91015b60405180910390a15050565b6000546001600160a01b031633146105625760405162461bcd60e51b815260040161049790610ed8565b61056c6000610cf3565b565b6060600b805461033490610e9e565b60006103c4338461042885604051806060016040528060258152602001610ff2602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190610cb4565b60006103c43384846108bf565b6000546001600160a01b031633146106035760405162461bcd60e51b815260040161049790610ed8565b6127108111156106485760405162461bcd60e51b815260206004820152601060248201526f496e76616c696420746178207261746560801b6044820152606401610497565b600680549082905560408051828152602081018490527f7927dc01e0e63778c47ab7e42d5af6555a774cc1707fc00433810f65d18e98c6910161052c565b6000546001600160a01b031633146106b05760405162461bcd60e51b815260040161049790610ed8565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610497565b600555565b6000546001600160a01b0316331461072a5760405162461bcd60e51b815260040161049790610ed8565b6001600160a01b03811661078f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610497565b61079881610cf3565b50565b6001600160a01b0383166107fd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610497565b6001600160a01b03821661085e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610497565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610497565b6001600160a01b0382166109855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610497565b6009546000906001600160a01b0384811691161480156109be57506001600160a01b03841660009081526004602052604090205460ff16155b156109cc5750600154610a0c565b6009546001600160a01b038581169116148015610a0257506001600160a01b03831660009081526004602052604090205460ff16155b15610a0c57506006545b6000610a24612710610a1e8585610d43565b90610d4f565b90506000610a328483610d5b565b6001600160a01b03871660009081526004602052604090205490915060ff16610ab857600554811115610ab85760405162461bcd60e51b815260206004820152602860248201527f416d6f756e7420616674657220746178206578636565647320746865206d6178604482015267151e105b5bdd5b9d60c21b6064820152608401610497565b8115610be457610afb82604051806060016040528060218152602001610fd1602191396001600160a01b0389166000908152600260205260409020549190610cb4565b6001600160a01b038716600090815260026020526040812091909155739efb61a54063ce5a856264cd5cf0324fc178886990527f06561011e63fdf90025640ad8422a59885a2d62b1a90d0753f8376309fde4d2654610b5a9083610ce0565b739efb61a54063ce5a856264cd5cf0324fc1788869600081905260026020527f06561011e63fdf90025640ad8422a59885a2d62b1a90d0753f8376309fde4d26919091556040516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bdb9086815260200190565b60405180910390a35b610c2181604051806060016040528060268152602001610f83602691396001600160a01b0389166000908152600260205260409020549190610cb4565b6001600160a01b038088166000908152600260205260408082209390935590871681522054610c509082610ce0565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca49085815260200190565b60405180910390a3505050505050565b60008184841115610cd85760405162461bcd60e51b81526004016104979190610d67565b505050900390565b6000610cec8284610f23565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610cec8284610f36565b6000610cec8284610f4d565b6000610cec8284610f6f565b600060208083528351808285015260005b81811015610d9457858101830151858201604001528201610d78565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610dcc57600080fd5b919050565b60008060408385031215610de457600080fd5b610ded83610db5565b946020939093013593505050565b600080600060608486031215610e1057600080fd5b610e1984610db5565b9250610e2760208501610db5565b9150604084013590509250925092565b600060208284031215610e4957600080fd5b5035919050565b600060208284031215610e6257600080fd5b610cec82610db5565b60008060408385031215610e7e57600080fd5b610e8783610db5565b9150610e9560208401610db5565b90509250929050565b600181811c90821680610eb257607f821691505b602082108103610ed257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103c8576103c8610f0d565b80820281158282048414176103c8576103c8610f0d565b600082610f6a57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103c8576103c8610f0d56fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2074617820616d6f756e7420657863656564732062616c616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202a78f4a8c3e30ea1ee23d0fe057eab66772b31588f02d669a4d3305b768e811d64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d71461028d578063a9059cbb146102a0578063c6d69a30146102b3578063dd62ed3e146102c6578063ec28438a146102ff578063f2fde38b1461031257600080fd5b806370a082311461023a578063715018a6146102635780638c0b5e221461026b5780638da5cb5b1461027457806395d89b411461028557600080fd5b8063313ce5671161010a578063313ce567146101d857806339509351146101ed578063396ed0ab1461020057806342966c681461020957806349bd5a5e1461021e5780636ea405d31461023157600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd146101885780631c383d681461019a57806323b872dd146101c5575b600080fd5b61014f610325565b60405161015c9190610d67565b60405180910390f35b610178610173366004610dd1565b6103b7565b604051901515815260200161015c565b600d545b60405190815260200161015c565b6007546101ad906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b6101786101d3366004610dfb565b6103ce565b600c5460405160ff909116815260200161015c565b6101786101fb366004610dd1565b610437565b61018c60015481565b61021c610217366004610e37565b61046d565b005b6009546101ad906001600160a01b031681565b61018c60065481565b61018c610248366004610e50565b6001600160a01b031660009081526002602052604090205490565b61021c610538565b61018c60055481565b6000546001600160a01b03166101ad565b61014f61056e565b61017861029b366004610dd1565b61057d565b6101786102ae366004610dd1565b6105cc565b61021c6102c1366004610e37565b6105d9565b61018c6102d4366004610e6b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61021c61030d366004610e37565b610686565b61021c610320366004610e50565b610700565b6060600a805461033490610e9e565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610e9e565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b5050505050905090565b60006103c433848461079b565b5060015b92915050565b60006103db8484846108bf565b61042d843361042885604051806060016040528060288152602001610fa9602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610cb4565b61079b565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103c49185906104289086610ce0565b6000546001600160a01b031633146104a05760405162461bcd60e51b815260040161049790610ed8565b60405180910390fd5b6127108111156104f25760405162461bcd60e51b815260206004820152601860248201527f4275726e20746f20746865205a65726f204164647265737300000000000000006044820152606401610497565b600180549082905560408051828152602081018490527f28d50d8e79f9b3e7e98b793ec2ce4c89095c23e2d7d5ac1511ffb345c684c7de91015b60405180910390a15050565b6000546001600160a01b031633146105625760405162461bcd60e51b815260040161049790610ed8565b61056c6000610cf3565b565b6060600b805461033490610e9e565b60006103c4338461042885604051806060016040528060258152602001610ff2602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190610cb4565b60006103c43384846108bf565b6000546001600160a01b031633146106035760405162461bcd60e51b815260040161049790610ed8565b6127108111156106485760405162461bcd60e51b815260206004820152601060248201526f496e76616c696420746178207261746560801b6044820152606401610497565b600680549082905560408051828152602081018490527f7927dc01e0e63778c47ab7e42d5af6555a774cc1707fc00433810f65d18e98c6910161052c565b6000546001600160a01b031633146106b05760405162461bcd60e51b815260040161049790610ed8565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610497565b600555565b6000546001600160a01b0316331461072a5760405162461bcd60e51b815260040161049790610ed8565b6001600160a01b03811661078f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610497565b61079881610cf3565b50565b6001600160a01b0383166107fd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610497565b6001600160a01b03821661085e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610497565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610497565b6001600160a01b0382166109855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610497565b6009546000906001600160a01b0384811691161480156109be57506001600160a01b03841660009081526004602052604090205460ff16155b156109cc5750600154610a0c565b6009546001600160a01b038581169116148015610a0257506001600160a01b03831660009081526004602052604090205460ff16155b15610a0c57506006545b6000610a24612710610a1e8585610d43565b90610d4f565b90506000610a328483610d5b565b6001600160a01b03871660009081526004602052604090205490915060ff16610ab857600554811115610ab85760405162461bcd60e51b815260206004820152602860248201527f416d6f756e7420616674657220746178206578636565647320746865206d6178604482015267151e105b5bdd5b9d60c21b6064820152608401610497565b8115610be457610afb82604051806060016040528060218152602001610fd1602191396001600160a01b0389166000908152600260205260409020549190610cb4565b6001600160a01b038716600090815260026020526040812091909155739efb61a54063ce5a856264cd5cf0324fc178886990527f06561011e63fdf90025640ad8422a59885a2d62b1a90d0753f8376309fde4d2654610b5a9083610ce0565b739efb61a54063ce5a856264cd5cf0324fc1788869600081905260026020527f06561011e63fdf90025640ad8422a59885a2d62b1a90d0753f8376309fde4d26919091556040516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bdb9086815260200190565b60405180910390a35b610c2181604051806060016040528060268152602001610f83602691396001600160a01b0389166000908152600260205260409020549190610cb4565b6001600160a01b038088166000908152600260205260408082209390935590871681522054610c509082610ce0565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca49085815260200190565b60405180910390a3505050505050565b60008184841115610cd85760405162461bcd60e51b81526004016104979190610d67565b505050900390565b6000610cec8284610f23565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610cec8284610f36565b6000610cec8284610f4d565b6000610cec8284610f6f565b600060208083528351808285015260005b81811015610d9457858101830151858201604001528201610d78565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610dcc57600080fd5b919050565b60008060408385031215610de457600080fd5b610ded83610db5565b946020939093013593505050565b600080600060608486031215610e1057600080fd5b610e1984610db5565b9250610e2760208501610db5565b9150604084013590509250925092565b600060208284031215610e4957600080fd5b5035919050565b600060208284031215610e6257600080fd5b610cec82610db5565b60008060408385031215610e7e57600080fd5b610e8783610db5565b9150610e9560208401610db5565b90509250929050565b600181811c90821680610eb257607f821691505b602082108103610ed257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103c8576103c8610f0d565b80820281158282048414176103c8576103c8610f0d565b600082610f6a57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103c8576103c8610f0d56fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2074617820616d6f756e7420657863656564732062616c616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202a78f4a8c3e30ea1ee23d0fe057eab66772b31588f02d669a4d3305b768e811d64736f6c63430008120033

Deployed Bytecode Sourcemap

5583:7044:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7128:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8218:210;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;8218:210:0;1004:187:1;7429:108:0;7517:12;;7429:108;;;1342:25:1;;;1330:2;1315:18;7429:108:0;1196:177:1;5999:27:0;;;;;-1:-1:-1;;;;;5999:27:0;;;;;;-1:-1:-1;;;;;1542:32:1;;;1524:51;;1512:2;1497:18;5999:27:0;1378:203:1;8436:452:0;;;;;;:::i;:::-;;:::i;7330:91::-;7404:9;;7330:91;;7404:9;;;;2061:36:1;;2049:2;2034:18;7330:91:0;1919:184:1;8896:300:0;;;;;;:::i;:::-;;:::i;5712:26::-;;;;;;11292:242;;;;;;:::i;:::-;;:::i;:::-;;6280:28;;;;;-1:-1:-1;;;;;6280:28:0;;;5963:22;;;;;;7545:177;;;;;;:::i;:::-;-1:-1:-1;;;;;7696:18:0;7664:7;7696:18;;;:9;:18;;;;;;;7545:177;2386:94;;;:::i;5930:26::-;;;;;;2078:87;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;2078:87;;7227:95;;;:::i;9204:400::-;;;;;;:::i;:::-;;:::i;7730:216::-;;;;;;:::i;:::-;;:::i;10892:225::-;;;;;;:::i;:::-;;:::i;8009:201::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8175:18:0;;;8143:7;8175:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8009:201;11125:155;;;;;;:::i;:::-;;:::i;2488:192::-;;;;;;:::i;:::-;;:::i;7128:91::-;7173:13;7206:5;7199:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7128:91;:::o;8218:210::-;8337:4;8359:39;1539:10;8382:7;8391:6;8359:8;:39::i;:::-;-1:-1:-1;8416:4:0;8218:210;;;;;:::o;8436:452::-;8576:4;8593:36;8603:6;8611:9;8622:6;8593:9;:36::i;:::-;8640:220;8663:6;1539:10;8711:138;8767:6;8711:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8711:19:0;;;;;;:11;:19;;;;;;;;1539:10;8711:33;;;;;;;;;;:37;:138::i;:::-;8640:8;:220::i;:::-;-1:-1:-1;8878:4:0;8436:452;;;;;:::o;8896:300::-;1539:10;9011:4;9105:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9105:34:0;;;;;;;;;;9011:4;;9033:133;;9083:7;;9105:50;;9144:10;9105:38;:50::i;11292:242::-;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;1539:10;2298:23;2290:68;;;;-1:-1:-1;;;2290:68:0;;;;;;;:::i;:::-;;;;;;;;;11390:5:::1;11377:9;:18;;11351:73;;;::::0;-1:-1:-1;;;11351:73:0;;3697:2:1;11351:73:0::1;::::0;::::1;3679:21:1::0;3736:2;3716:18;;;3709:30;3775:26;3755:18;;;3748:54;3819:18;;11351:73:0::1;3495:348:1::0;11351:73:0::1;11451:4;::::0;;11466:16;;;;11494:32:::1;::::0;;4022:25:1;;;4078:2;4063:18;;4056:34;;;11494:32:0::1;::::0;3995:18:1;11494:32:0::1;;;;;;;;11344:190;11292:242:::0;:::o;2386:94::-;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;1539:10;2298:23;2290:68;;;;-1:-1:-1;;;2290:68:0;;;;;;;:::i;:::-;2451:21:::1;2469:1;2451:9;:21::i;:::-;2386:94::o:0;7227:95::-;7274:13;7307:7;7300:14;;;;;:::i;9204:400::-;9324:4;9346:228;1539:10;9396:7;9418:145;9475:15;9418:145;;;;;;;;;;;;;;;;;1539:10;9418:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9418:34:0;;;;;;;;;;;;:38;:145::i;7730:216::-;7852:4;7874:42;1539:10;7898:9;7909:6;7874:9;:42::i;10892:225::-;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;1539:10;2298:23;2290:68;;;;-1:-1:-1;;;2290:68:0;;;;;;;:::i;:::-;10990:5:::1;10979:7;:16;;10955:61;;;::::0;-1:-1:-1;;;10955:61:0;;4303:2:1;10955:61:0::1;::::0;::::1;4285:21:1::0;4342:2;4322:18;;;4315:30;-1:-1:-1;;;4361:18:1;;;4354:46;4417:18;;10955:61:0::1;4101:340:1::0;10955:61:0::1;11049:3;::::0;;11059:13;;;;11084:25:::1;::::0;;4022::1;;;4078:2;4063:18;;4056:34;;;11084:25:0::1;::::0;3995:18:1;11084:25:0::1;3848:248:1::0;11125:155:0;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;1539:10;2298:23;2290:68;;;;-1:-1:-1;;;2290:68:0;;;;;;;:::i;:::-;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;1539:10;11199:23:::1;11191:50;;;::::0;-1:-1:-1;;;11191:50:0;;4648:2:1;11191:50:0::1;::::0;::::1;4630:21:1::0;4687:2;4667:18;;;4660:30;-1:-1:-1;;;4706:18:1;;;4699:44;4760:18;;11191:50:0::1;4446:338:1::0;11191:50:0::1;11252:11;:20:::0;11125:155::o;2488:192::-;2124:7;2151:6;-1:-1:-1;;;;;2151:6:0;1539:10;2298:23;2290:68;;;;-1:-1:-1;;;2290:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2577:22:0;::::1;2569:73;;;::::0;-1:-1:-1;;;2569:73:0;;4991:2:1;2569:73:0::1;::::0;::::1;4973:21:1::0;5030:2;5010:18;;;5003:30;5069:34;5049:18;;;5042:62;-1:-1:-1;;;5120:18:1;;;5113:36;5166:19;;2569:73:0::1;4789:402:1::0;2569:73:0::1;2653:19;2663:8;2653:9;:19::i;:::-;2488:192:::0;:::o;12005:380::-;-1:-1:-1;;;;;12141:19:0;;12133:68;;;;-1:-1:-1;;;12133:68:0;;5398:2:1;12133:68:0;;;5380:21:1;5437:2;5417:18;;;5410:30;5476:34;5456:18;;;5449:62;-1:-1:-1;;;5527:18:1;;;5520:34;5571:19;;12133:68:0;5196:400:1;12133:68:0;-1:-1:-1;;;;;12220:21:0;;12212:68;;;;-1:-1:-1;;;12212:68:0;;5803:2:1;12212:68:0;;;5785:21:1;5842:2;5822:18;;;5815:30;5881:34;5861:18;;;5854:62;-1:-1:-1;;;5932:18:1;;;5925:32;5974:19;;12212:68:0;5601:398:1;12212:68:0;-1:-1:-1;;;;;12293:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12345:32;;1342:25:1;;;12345:32:0;;1315:18:1;12345:32:0;;;;;;;12005:380;;;:::o;9611:1273::-;-1:-1:-1;;;;;9731:20:0;;9723:70;;;;-1:-1:-1;;;9723:70:0;;6206:2:1;9723:70:0;;;6188:21:1;6245:2;6225:18;;;6218:30;6284:34;6264:18;;;6257:62;-1:-1:-1;;;6335:18:1;;;6328:35;6380:19;;9723:70:0;6004:401:1;9723:70:0;-1:-1:-1;;;;;9808:23:0;;9800:71;;;;-1:-1:-1;;;9800:71:0;;6612:2:1;9800:71:0;;;6594:21:1;6651:2;6631:18;;;6624:30;6690:34;6670:18;;;6663:62;-1:-1:-1;;;6741:18:1;;;6734:33;6784:19;;9800:71:0;6410:399:1;9800:71:0;9922:13;;9879:15;;-1:-1:-1;;;;;9909:26:0;;;9922:13;;9909:26;:57;;;;-1:-1:-1;;;;;;9940:26:0;;;;;;:18;:26;;;;;;;;9939:27;9909:57;9905:197;;;-1:-1:-1;9989:4:0;;9905:197;;;10021:13;;-1:-1:-1;;;;;10011:23:0;;;10021:13;;10011:23;:57;;;;-1:-1:-1;;;;;;10039:29:0;;;;;;:18;:29;;;;;;;;10038:30;10011:57;10007:95;;;-1:-1:-1;10091:3:0;;10007:95;10108:17;10128:30;10152:5;10128:19;:6;10139:7;10128:10;:19::i;:::-;:23;;:30::i;:::-;10108:50;-1:-1:-1;10165:17:0;10185:21;:6;10108:50;10185:10;:21::i;:::-;-1:-1:-1;;;;;10218:26:0;;;;;;:18;:26;;;;;;10165:41;;-1:-1:-1;10218:26:0;;10213:129;;10278:11;;10265:9;:24;;10257:77;;;;-1:-1:-1;;;10257:77:0;;7016:2:1;10257:77:0;;;6998:21:1;7055:2;7035:18;;;7028:30;7094:34;7074:18;;;7067:62;-1:-1:-1;;;7145:18:1;;;7138:38;7193:19;;10257:77:0;6814:404:1;10257:77:0;10413:13;;10409:250;;10459:69;10481:9;10459:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10459:17:0;;;;;;:9;:17;;;;;;;:69;:21;:69::i;:::-;-1:-1:-1;;;;;10439:17:0;;;;;;:9;:17;;;;;:89;;;;6062:42;10562:20;;;;:35;;10587:9;10562:24;:35::i;:::-;6062:42;10539:20;;;;:9;:20;;;:58;;;;:20;10613:38;-1:-1:-1;;;;;10613:38:0;;;;;;;10641:9;1342:25:1;;1330:2;1315:18;;1196:177;10613:38:0;;;;;;;;10409:250;10687:74;10709:9;10687:74;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10687:17:0;;;;;;:9;:17;;;;;;;:74;:21;:74::i;:::-;-1:-1:-1;;;;;10667:17:0;;;;;;;:9;:17;;;;;;:94;;;;10791:20;;;;;;;:35;;10816:9;10791:24;:35::i;:::-;-1:-1:-1;;;;;10768:20:0;;;;;;;:9;:20;;;;;;;:58;;;;10838:38;;;;;;;;;;10866:9;1342:25:1;;1330:2;1315:18;;1196:177;10838:38:0;;;;;;;;9716:1168;;;9611:1273;;;:::o;4777:240::-;4897:7;4958:12;4950:6;;;;4942:29;;;;-1:-1:-1;;;4942:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;4993:5:0;;;4777:240::o;4247:98::-;4305:7;4332:5;4336:1;4332;:5;:::i;:::-;4325:12;4247:98;-1:-1:-1;;;4247:98:0:o;2688:173::-;2744:16;2763:6;;-1:-1:-1;;;;;2780:17:0;;;-1:-1:-1;;;;;;2780:17:0;;;;;;2813:40;;2763:6;;;;;;;2813:40;;2744:16;2813:40;2733:128;2688:173;:::o;4459:98::-;4517:7;4544:5;4548:1;4544;:5;:::i;4565:98::-;4623:7;4650:5;4654:1;4650;:5;:::i;4353:98::-;4411:7;4438:5;4442:1;4438;: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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1586:328::-;1663:6;1671;1679;1732:2;1720:9;1711:7;1707:23;1703:32;1700:52;;;1748:1;1745;1738:12;1700:52;1771:29;1790:9;1771:29;:::i;:::-;1761:39;;1819:38;1853:2;1842:9;1838:18;1819:38;:::i;:::-;1809:48;;1904:2;1893:9;1889:18;1876:32;1866:42;;1586:328;;;;;:::o;2108:180::-;2167:6;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;-1:-1:-1;2259:23:1;;2108:180;-1:-1:-1;2108:180:1:o;2293:186::-;2352:6;2405:2;2393:9;2384:7;2380:23;2376:32;2373:52;;;2421:1;2418;2411:12;2373:52;2444:29;2463:9;2444:29;:::i;2484:260::-;2552:6;2560;2613:2;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;2652:29;2671:9;2652:29;:::i;:::-;2642:39;;2700:38;2734:2;2723:9;2719:18;2700:38;:::i;:::-;2690:48;;2484:260;;;;;:::o;2749:380::-;2828:1;2824:12;;;;2871;;;2892:61;;2946:4;2938:6;2934:17;2924:27;;2892:61;2999:2;2991:6;2988:14;2968:18;2965:38;2962:161;;3045:10;3040:3;3036:20;3033:1;3026:31;3080:4;3077:1;3070:15;3108:4;3105:1;3098:15;2962:161;;2749:380;;;:::o;3134:356::-;3336:2;3318:21;;;3355:18;;;3348:30;3414:34;3409:2;3394:18;;3387:62;3481:2;3466:18;;3134:356::o;7223:127::-;7284:10;7279:3;7275:20;7272:1;7265:31;7315:4;7312:1;7305:15;7339:4;7336:1;7329:15;7355:125;7420:9;;;7441:10;;;7438:36;;;7454:18;;:::i;7485:168::-;7558:9;;;7589;;7606:15;;;7600:22;;7586:37;7576:71;;7627:18;;:::i;7658:217::-;7698:1;7724;7714:132;;7768:10;7763:3;7759:20;7756:1;7749:31;7803:4;7800:1;7793:15;7831:4;7828:1;7821:15;7714:132;-1:-1:-1;7860:9:1;;7658:217::o;7880:128::-;7947:9;;;7968:11;;;7965:37;;;7982:18;;:::i

Swarm Source

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