ETH Price: $3,388.90 (+1.27%)

Token

TRUMP (POTUS)
 

Overview

Max Total Supply

420,690,000,000,000 POTUS

Holders

620

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,090,844,716,324.954214232961215055 POTUS

Value
$0.00
0xf6fc874c5238bF123C0d22055e9F1E28DA4B224D
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:
TRUMP

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-14
*/

// SPDX-License-Identifier: MIT
/*
TG: @PotusTrumpETH
Web: PotusTrump.xyz
Twitter: x.com/PotusTrumpETH
*/

pragma solidity = 0.8.26;

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

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

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

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

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

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

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

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

    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 to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    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) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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

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

contract TRUMP is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private deployerWallet;
    address private marketingWallet;

    bool private swapping;

    string private constant _name = "TRUMP";
    string private constant _symbol = "POTUS";
    
    uint256 public initialTotalSupply = 420690000000000 * 1e18;

    uint256 public maxTransactionAmountPercent = 2;
    uint256 public maxWalletPercent = 2;
    uint256 public swapTokensAtAmountPercent = 1;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;
    uint256 public swapTokensAtAmount;

    bool public tradingOpen = false;

    uint256 public BuyFee = 5;
    uint256 public SellFee = 5;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address wallet) ERC20(_name, _symbol) {

        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        marketingWallet = payable(wallet);     
        
        deployerWallet = payable(_msgSender());
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(wallet), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(wallet), true);
        excludeFromMaxTransaction(address(0xdead), true);

        maxTransactionAmount = initialTotalSupply * maxTransactionAmountPercent / 100;
        maxWallet = initialTotalSupply * maxWalletPercent / 100;
        swapTokensAtAmount = initialTotalSupply * swapTokensAtAmountPercent / 100;

        _mint(deployerWallet, initialTotalSupply);
    }

    receive() external payable {}

    function openTrading() external onlyOwner() {
        tradingOpen = true;
    }

    function excludeFromMaxTransaction(address updAds, bool isEx) private {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function excludeFromFees(address account, bool excluded) private {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function excludeFees(address[] memory accounts, bool[] memory excluded) external onlyOwner {

        for (uint i = 0; i < accounts.length; i++) {
            _isExcludedFromFees[accounts[i]] = excluded[i];
            emit ExcludeFromFees(accounts[i], excluded[i]);
        }
    }

    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
                bool isTransfer = !automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to];

                if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {

                if (!tradingOpen) {
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
                }

                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }

                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                } 
                
                else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance > 0 && !isTransfer;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack(amount);
            swapping = false;
        }

        bool takeFee = !swapping && !isTransfer;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(SellFee).div(100);
            }
            else {
                fees = amount.mul(BuyFee).div(100);
            }

        if (fees > 0) {
            super._transfer(from, address(this), fees);
        }
        amount -= fees;
    }
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {

        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,
            marketingWallet,
            block.timestamp
        );
    }

   function removeLimits() external onlyOwner {
        maxTransactionAmount = initialTotalSupply;
        maxWallet = initialTotalSupply;
    }

    function clearStuckEth() external {
        require(_msgSender() == deployerWallet);
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function clearStuckTokens(address tokenAddress, uint256 toKeep) external {
        require(_msgSender() == deployerWallet, "Only deployer can clear tokens");
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 totalBalance = tokenContract.balanceOf(address(this));
        uint256 tokensToKeep = (initialTotalSupply * toKeep) / 100;
        require(totalBalance > tokensToKeep, "No excess tokens to clear");
        uint256 tokensToClear = totalBalance - tokensToKeep;

        if (tokensToClear > 0) {
            tokenContract.transfer(deployerWallet, tokensToClear);
        }

        if (toKeep == 0) {
            tokenContract.transfer(deployerWallet, totalBalance);
        }
    }

    function SetFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 99 && _sellFee <= 99, "Fees cannot exceed 99%");
        BuyFee = _buyFee;
        SellFee = _sellFee;
    }

    function swapBack(uint256 tokens) private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

    if ((BuyFee+SellFee) == 0) {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
        swapTokensForEth(tokensToSwap);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"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":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"toKeep","type":"uint256"}],"name":"clearStuckTokens","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":"accounts","type":"address[]"},{"internalType":"bool[]","name":"excluded","type":"bool[]"}],"name":"excludeFees","outputs":[],"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":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletPercent","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmountPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"stateMutability":"payable","type":"receive"}]

60a06040526d14bddab3e51a57cff87a500000006009556002600a819055600b556001600c556010805460ff1916905560056011819055601255348015610044575f80fd5b50604051612711380380612711833981016040819052610063916105fd565b6040518060400160405280600581526020016405452554d560dc1b81525060405180604001604052806005815260200164504f54555360d81b81525081600390816100ae91906106c1565b5060046100bb82826106c1565b5050506100d46100cf61043160201b60201c565b610435565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610127573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014b91906105fd565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610198573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bc91906105fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022a91906105fd565b600680546001600160a01b0319166001600160a01b03929092169182179055610254906001610486565b6006546001600160a01b03165f908152601460205260409020805460ff191660011790556080516001600160a01b03165f908152601460205260409020805460ff19166001179055600880546001600160a01b0319166001600160a01b0383161790556102be3390565b600780546001600160a01b0319166001600160a01b039283161790556005546102e9911660016104d9565b6102f43060016104d9565b6102ff8160016104d9565b61030c61dead60016104d9565b6103446103216005546001600160a01b031690565b6001600160a01b03165f908152601460205260409020805460ff19166001179055565b305f908152601460205260409020805460ff191660011790556001600160a01b0381165f908152601460205260409020805460ff1916600117905561dead5f5260146020527f8b9e18c5e04efe171d1e4f682ad90d753958a5ffe56db5290b0236c8e0b6db00805460ff191660011790556064600a546009546103c7919061078f565b6103d191906107ac565b600d55600b546009546064916103e69161078f565b6103f091906107ac565b600e55600c546009546064916104059161078f565b61040f91906107ac565b600f5560075460095461042b916001600160a01b031690610537565b506107de565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260156020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382165f81815260136020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166105915760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546105a291906107cb565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b5f6020828403121561060d575f80fd5b81516001600160a01b0381168114610623575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061065257607f821691505b60208210810361067057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105f857805f5260205f20601f840160051c8101602085101561069b5750805b601f840160051c820191505b818110156106ba575f81556001016106a7565b5050505050565b81516001600160401b038111156106da576106da61062a565b6106ee816106e8845461063e565b84610676565b6020601f821160018114610720575f83156107095750848201515b5f19600385901b1c1916600184901b1784556106ba565b5f84815260208120601f198516915b8281101561074f578785015182556020948501946001909201910161072f565b508482101561076c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107a6576107a661077b565b92915050565b5f826107c657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156107a6576107a661077b565b608051611f0661080b5f395f8181610381015281816118730152818161192a01526119690152611f065ff3fe6080604052600436106101e9575f3560e01c806389291a8f11610108578063c9567bf91161009d578063e2f456051161006d578063e2f456051461054a578063f2a95aa91461055f578063f2fde38b1461057e578063f8b45b051461059d578063ffb54a99146105b2575f80fd5b8063c9567bf9146104ed578063cf9522fd14610501578063dd62ed3e14610516578063dd85465214610535575f80fd5b8063a220f24c116100d8578063a220f24c1461047b578063a457c2d71461049a578063a9059cbb146104b9578063c8c8ebe4146104d8575f80fd5b806389291a8f146104175780638da5cb5b1461042b57806395d89b41146104485780639a7a23d61461045c575f80fd5b80633be6e6371161017e578063583e05681161014e578063583e05681461037057806370a08231146103bb578063715018a6146103ef578063751039fc14610403575f80fd5b80633be6e637146102ee5780633d9a3d191461030f5780633e4aff1e146103245780634fbee19314610339575f80fd5b806323b872dd116101b957806323b872dd14610280578063311028af1461029f578063313ce567146102b457806339509351146102cf575f80fd5b806306fdde03146101f4578063095ea7b31461021e57806318160ddd1461024d57806322a0bc811461026b575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b506102086105cb565b60405161021591906119d3565b60405180910390f35b348015610229575f80fd5b5061023d610238366004611a1c565b61065b565b6040519015158152602001610215565b348015610258575f80fd5b506002545b604051908152602001610215565b348015610276575f80fd5b5061025d600a5481565b34801561028b575f80fd5b5061023d61029a366004611a46565b610674565b3480156102aa575f80fd5b5061025d60095481565b3480156102bf575f80fd5b5060405160128152602001610215565b3480156102da575f80fd5b5061023d6102e9366004611a1c565b610697565b3480156102f9575f80fd5b5061030d610308366004611a84565b6106b8565b005b34801561031a575f80fd5b5061025d600b5481565b34801561032f575f80fd5b5061025d600c5481565b348015610344575f80fd5b5061023d610353366004611aa4565b6001600160a01b03165f9081526013602052604090205460ff1690565b34801561037b575f80fd5b506103a37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610215565b3480156103c6575f80fd5b5061025d6103d5366004611aa4565b6001600160a01b03165f9081526020819052604090205490565b3480156103fa575f80fd5b5061030d610727565b34801561040e575f80fd5b5061030d61073a565b348015610422575f80fd5b5061030d61074f565b348015610436575f80fd5b506005546001600160a01b03166103a3565b348015610453575f80fd5b506102086107e2565b348015610467575f80fd5b5061030d610476366004611acc565b6107f1565b348015610486575f80fd5b5061030d610495366004611bde565b61088b565b3480156104a5575f80fd5b5061023d6104b4366004611a1c565b61098e565b3480156104c4575f80fd5b5061023d6104d3366004611a1c565b610a08565b3480156104e3575f80fd5b5061025d600d5481565b3480156104f8575f80fd5b5061030d610a15565b34801561050c575f80fd5b5061025d60125481565b348015610521575f80fd5b5061025d610530366004611ca3565b610a2c565b348015610540575f80fd5b5061025d60115481565b348015610555575f80fd5b5061025d600f5481565b34801561056a575f80fd5b5061030d610579366004611a1c565b610a56565b348015610589575f80fd5b5061030d610598366004611aa4565b610c9f565b3480156105a8575f80fd5b5061025d600e5481565b3480156105bd575f80fd5b5060105461023d9060ff1681565b6060600380546105da90611ccf565b80601f016020809104026020016040519081016040528092919081815260200182805461060690611ccf565b80156106515780601f1061062857610100808354040283529160200191610651565b820191905f5260205f20905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b5f33610668818585610d15565b60019150505b92915050565b5f33610681858285610e38565b61068c858585610eb0565b506001949350505050565b5f336106688185856106a98383610a2c565b6106b39190611d1b565b610d15565b6106c0611493565b606382111580156106d2575060638111155b61071c5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642039392560501b60448201526064015b60405180910390fd5b601191909155601255565b61072f611493565b6107385f6114ed565b565b610742611493565b600954600d819055600e55565b6007546001600160a01b0316336001600160a01b03161461076e575f80fd5b5f47116107b65760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610713565b60405133904780156108fc02915f818181858888f193505050501580156107df573d5f803e3d5ffd5b50565b6060600480546105da90611ccf565b6107f9611493565b6006546001600160a01b039081169083160361087d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610713565b610887828261153e565b5050565b610893611493565b5f5b8251811015610989578181815181106108b0576108b0611d2e565b602002602001015160135f8584815181106108cd576108cd611d2e565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff02191690831515021790555082818151811061091c5761091c611d2e565b60200260200101516001600160a01b03167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df783838151811061096057610960611d2e565b6020026020010151604051610979911515815260200190565b60405180910390a2600101610895565b505050565b5f338161099b8286610a2c565b9050838110156109fb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610713565b61068c8286868403610d15565b5f33610668818585610eb0565b610a1d611493565b6010805460ff19166001179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6007546001600160a01b0316336001600160a01b031614610ab95760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206465706c6f7965722063616e20636c65617220746f6b656e7300006044820152606401610713565b6040516370a0823160e01b815230600482015282905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610aff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b239190611d42565b90505f606484600954610b369190611d59565b610b409190611d70565b9050808211610b915760405162461bcd60e51b815260206004820152601960248201527f4e6f2065786365737320746f6b656e7320746f20636c656172000000000000006044820152606401610713565b5f610b9c8284611d8f565b90508015610c1a5760075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303815f875af1158015610bf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c189190611da2565b505b845f03610c975760075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018590529085169063a9059cbb906044016020604051808303815f875af1158015610c71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c959190611da2565b505b505050505050565b610ca7611493565b6001600160a01b038116610d0c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610713565b6107df816114ed565b6001600160a01b038316610d775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610713565b6001600160a01b038216610dd85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610713565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610e438484610a2c565b90505f198114610eaa5781811015610e9d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610713565b610eaa8484848403610d15565b50505050565b6001600160a01b038316610ed65760405162461bcd60e51b815260040161071390611dbd565b6001600160a01b038216610efc5760405162461bcd60e51b815260040161071390611e02565b805f03610f0e5761098983835f611591565b6001600160a01b0383165f9081526015602052604081205460ff16158015610f4e57506001600160a01b0383165f9081526015602052604090205460ff16155b9050610f626005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610f9157506005546001600160a01b03848116911614155b8015610fa557506001600160a01b03831615155b8015610fbc57506001600160a01b03831661dead14155b8015610fd25750600854600160a01b900460ff16155b156112c25760105460ff16611063576001600160a01b0384165f9081526013602052604090205460ff168061101e57506001600160a01b0383165f9081526013602052604090205460ff165b6110635760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610713565b6001600160a01b0384165f9081526015602052604090205460ff1680156110a257506001600160a01b0383165f9081526014602052604090205460ff16155b1561118557600d548211156111175760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610713565b600e546001600160a01b0384165f9081526020819052604090205461113c9084611d1b565b11156111805760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610713565b6112c2565b6001600160a01b0383165f9081526015602052604090205460ff1680156111c457506001600160a01b0384165f9081526014602052604090205460ff16155b1561123a57600d548211156111805760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610713565b6001600160a01b0383165f9081526014602052604090205460ff166112c257600e546001600160a01b0384165f9081526020819052604090205461127e9084611d1b565b11156112c25760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610713565b305f908152602081905260408120549081158015906112df575082155b90508080156112f85750600854600160a01b900460ff16155b801561131c57506001600160a01b0386165f9081526015602052604090205460ff16155b801561134057506001600160a01b0386165f9081526013602052604090205460ff16155b801561136457506001600160a01b0385165f9081526013602052604090205460ff16155b15611393576008805460ff60a01b1916600160a01b179055611385846116b9565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff161580156113ad575083155b6001600160a01b0388165f9081526013602052604090205490915060ff16806113ed57506001600160a01b0386165f9081526013602052604090205460ff165b156113f557505f5b5f811561147e576001600160a01b0387165f9081526015602052604090205460ff16156114435761143c60646114366012548961180190919063ffffffff16565b90611813565b9050611460565b61145d60646114366011548961180190919063ffffffff16565b90505b801561147157611471883083611591565b61147b8187611d8f565b95505b611489888888611591565b5050505050505050565b6005546001600160a01b031633146107385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610713565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260156020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166115b75760405162461bcd60e51b815260040161071390611dbd565b6001600160a01b0382166115dd5760405162461bcd60e51b815260040161071390611e02565b6001600160a01b0383165f90815260208190526040902054818110156116545760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610713565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610eaa565b305f90815260208190526040812054908181036116d557505050565b6012546011546116e59190611d1b565b5f0361174e575f821180156116fb5750600f5482105b156117075750806117f8565b5f61172260646114366012548761180190919063ffffffff16565b905061172e8185611d8f565b9350600f5484111561174457600f549150611748565b8391505b506117f8565b5f821180156117695750600f54611766906005611813565b82105b1561177357505050565b5f8211801561178e5750600f5461178b906005611813565b82115b801561179b5750600f5482105b156117b557600f546117ae906005611813565b90506117f8565b5f6117d060646114366012548761180190919063ffffffff16565b90506117dc8185611d8f565b9350600f548411156117f257600f5491506117f6565b8391505b505b6109898161181e565b5f61180c8284611d59565b9392505050565b5f61180c8284611d70565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185157611851611d2e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f19190611e45565b8160018151811061190457611904611d2e565b60200260200101906001600160a01b031690816001600160a01b03168152505061194f307f000000000000000000000000000000000000000000000000000000000000000084610d15565b60085460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac947926119aa9287925f92889291909116904290600401611e60565b5f604051808303815f87803b1580156119c1575f80fd5b505af1158015610c97573d5f803e3d5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146107df575f80fd5b5f8060408385031215611a2d575f80fd5b8235611a3881611a08565b946020939093013593505050565b5f805f60608486031215611a58575f80fd5b8335611a6381611a08565b92506020840135611a7381611a08565b929592945050506040919091013590565b5f8060408385031215611a95575f80fd5b50508035926020909101359150565b5f60208284031215611ab4575f80fd5b813561180c81611a08565b80151581146107df575f80fd5b5f8060408385031215611add575f80fd5b8235611ae881611a08565b91506020830135611af881611abf565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b4057611b40611b03565b604052919050565b5f67ffffffffffffffff821115611b6157611b61611b03565b5060051b60200190565b5f82601f830112611b7a575f80fd5b8135611b8d611b8882611b48565b611b17565b8082825260208201915060208360051b860101925085831115611bae575f80fd5b602085015b83811015611bd4578035611bc681611abf565b835260209283019201611bb3565b5095945050505050565b5f8060408385031215611bef575f80fd5b823567ffffffffffffffff811115611c05575f80fd5b8301601f81018513611c15575f80fd5b8035611c23611b8882611b48565b8082825260208201915060208360051b850101925087831115611c44575f80fd5b6020840193505b82841015611c6f578335611c5e81611a08565b825260209384019390910190611c4b565b9450505050602083013567ffffffffffffffff811115611c8d575f80fd5b611c9985828601611b6b565b9150509250929050565b5f8060408385031215611cb4575f80fd5b8235611cbf81611a08565b91506020830135611af881611a08565b600181811c90821680611ce357607f821691505b602082108103611d0157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561066e5761066e611d07565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d52575f80fd5b5051919050565b808202811582820484141761066e5761066e611d07565b5f82611d8a57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561066e5761066e611d07565b5f60208284031215611db2575f80fd5b815161180c81611abf565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60208284031215611e55575f80fd5b815161180c81611a08565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611eb05783516001600160a01b0316835260209384019390920191600101611e89565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220666f35248b1f71916de9176f32c919eef53f395b14dce31fd13e036a3550a7fc64736f6c634300081a0033000000000000000000000000de22dfdeb49ec0b79aa34f5fbc0483b3bdc5e280

Deployed Bytecode

0x6080604052600436106101e9575f3560e01c806389291a8f11610108578063c9567bf91161009d578063e2f456051161006d578063e2f456051461054a578063f2a95aa91461055f578063f2fde38b1461057e578063f8b45b051461059d578063ffb54a99146105b2575f80fd5b8063c9567bf9146104ed578063cf9522fd14610501578063dd62ed3e14610516578063dd85465214610535575f80fd5b8063a220f24c116100d8578063a220f24c1461047b578063a457c2d71461049a578063a9059cbb146104b9578063c8c8ebe4146104d8575f80fd5b806389291a8f146104175780638da5cb5b1461042b57806395d89b41146104485780639a7a23d61461045c575f80fd5b80633be6e6371161017e578063583e05681161014e578063583e05681461037057806370a08231146103bb578063715018a6146103ef578063751039fc14610403575f80fd5b80633be6e637146102ee5780633d9a3d191461030f5780633e4aff1e146103245780634fbee19314610339575f80fd5b806323b872dd116101b957806323b872dd14610280578063311028af1461029f578063313ce567146102b457806339509351146102cf575f80fd5b806306fdde03146101f4578063095ea7b31461021e57806318160ddd1461024d57806322a0bc811461026b575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b506102086105cb565b60405161021591906119d3565b60405180910390f35b348015610229575f80fd5b5061023d610238366004611a1c565b61065b565b6040519015158152602001610215565b348015610258575f80fd5b506002545b604051908152602001610215565b348015610276575f80fd5b5061025d600a5481565b34801561028b575f80fd5b5061023d61029a366004611a46565b610674565b3480156102aa575f80fd5b5061025d60095481565b3480156102bf575f80fd5b5060405160128152602001610215565b3480156102da575f80fd5b5061023d6102e9366004611a1c565b610697565b3480156102f9575f80fd5b5061030d610308366004611a84565b6106b8565b005b34801561031a575f80fd5b5061025d600b5481565b34801561032f575f80fd5b5061025d600c5481565b348015610344575f80fd5b5061023d610353366004611aa4565b6001600160a01b03165f9081526013602052604090205460ff1690565b34801561037b575f80fd5b506103a37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610215565b3480156103c6575f80fd5b5061025d6103d5366004611aa4565b6001600160a01b03165f9081526020819052604090205490565b3480156103fa575f80fd5b5061030d610727565b34801561040e575f80fd5b5061030d61073a565b348015610422575f80fd5b5061030d61074f565b348015610436575f80fd5b506005546001600160a01b03166103a3565b348015610453575f80fd5b506102086107e2565b348015610467575f80fd5b5061030d610476366004611acc565b6107f1565b348015610486575f80fd5b5061030d610495366004611bde565b61088b565b3480156104a5575f80fd5b5061023d6104b4366004611a1c565b61098e565b3480156104c4575f80fd5b5061023d6104d3366004611a1c565b610a08565b3480156104e3575f80fd5b5061025d600d5481565b3480156104f8575f80fd5b5061030d610a15565b34801561050c575f80fd5b5061025d60125481565b348015610521575f80fd5b5061025d610530366004611ca3565b610a2c565b348015610540575f80fd5b5061025d60115481565b348015610555575f80fd5b5061025d600f5481565b34801561056a575f80fd5b5061030d610579366004611a1c565b610a56565b348015610589575f80fd5b5061030d610598366004611aa4565b610c9f565b3480156105a8575f80fd5b5061025d600e5481565b3480156105bd575f80fd5b5060105461023d9060ff1681565b6060600380546105da90611ccf565b80601f016020809104026020016040519081016040528092919081815260200182805461060690611ccf565b80156106515780601f1061062857610100808354040283529160200191610651565b820191905f5260205f20905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b5f33610668818585610d15565b60019150505b92915050565b5f33610681858285610e38565b61068c858585610eb0565b506001949350505050565b5f336106688185856106a98383610a2c565b6106b39190611d1b565b610d15565b6106c0611493565b606382111580156106d2575060638111155b61071c5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642039392560501b60448201526064015b60405180910390fd5b601191909155601255565b61072f611493565b6107385f6114ed565b565b610742611493565b600954600d819055600e55565b6007546001600160a01b0316336001600160a01b03161461076e575f80fd5b5f47116107b65760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610713565b60405133904780156108fc02915f818181858888f193505050501580156107df573d5f803e3d5ffd5b50565b6060600480546105da90611ccf565b6107f9611493565b6006546001600160a01b039081169083160361087d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610713565b610887828261153e565b5050565b610893611493565b5f5b8251811015610989578181815181106108b0576108b0611d2e565b602002602001015160135f8584815181106108cd576108cd611d2e565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff02191690831515021790555082818151811061091c5761091c611d2e565b60200260200101516001600160a01b03167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df783838151811061096057610960611d2e565b6020026020010151604051610979911515815260200190565b60405180910390a2600101610895565b505050565b5f338161099b8286610a2c565b9050838110156109fb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610713565b61068c8286868403610d15565b5f33610668818585610eb0565b610a1d611493565b6010805460ff19166001179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6007546001600160a01b0316336001600160a01b031614610ab95760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206465706c6f7965722063616e20636c65617220746f6b656e7300006044820152606401610713565b6040516370a0823160e01b815230600482015282905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610aff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b239190611d42565b90505f606484600954610b369190611d59565b610b409190611d70565b9050808211610b915760405162461bcd60e51b815260206004820152601960248201527f4e6f2065786365737320746f6b656e7320746f20636c656172000000000000006044820152606401610713565b5f610b9c8284611d8f565b90508015610c1a5760075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303815f875af1158015610bf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c189190611da2565b505b845f03610c975760075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018590529085169063a9059cbb906044016020604051808303815f875af1158015610c71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c959190611da2565b505b505050505050565b610ca7611493565b6001600160a01b038116610d0c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610713565b6107df816114ed565b6001600160a01b038316610d775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610713565b6001600160a01b038216610dd85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610713565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610e438484610a2c565b90505f198114610eaa5781811015610e9d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610713565b610eaa8484848403610d15565b50505050565b6001600160a01b038316610ed65760405162461bcd60e51b815260040161071390611dbd565b6001600160a01b038216610efc5760405162461bcd60e51b815260040161071390611e02565b805f03610f0e5761098983835f611591565b6001600160a01b0383165f9081526015602052604081205460ff16158015610f4e57506001600160a01b0383165f9081526015602052604090205460ff16155b9050610f626005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610f9157506005546001600160a01b03848116911614155b8015610fa557506001600160a01b03831615155b8015610fbc57506001600160a01b03831661dead14155b8015610fd25750600854600160a01b900460ff16155b156112c25760105460ff16611063576001600160a01b0384165f9081526013602052604090205460ff168061101e57506001600160a01b0383165f9081526013602052604090205460ff165b6110635760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610713565b6001600160a01b0384165f9081526015602052604090205460ff1680156110a257506001600160a01b0383165f9081526014602052604090205460ff16155b1561118557600d548211156111175760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610713565b600e546001600160a01b0384165f9081526020819052604090205461113c9084611d1b565b11156111805760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610713565b6112c2565b6001600160a01b0383165f9081526015602052604090205460ff1680156111c457506001600160a01b0384165f9081526014602052604090205460ff16155b1561123a57600d548211156111805760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610713565b6001600160a01b0383165f9081526014602052604090205460ff166112c257600e546001600160a01b0384165f9081526020819052604090205461127e9084611d1b565b11156112c25760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610713565b305f908152602081905260408120549081158015906112df575082155b90508080156112f85750600854600160a01b900460ff16155b801561131c57506001600160a01b0386165f9081526015602052604090205460ff16155b801561134057506001600160a01b0386165f9081526013602052604090205460ff16155b801561136457506001600160a01b0385165f9081526013602052604090205460ff16155b15611393576008805460ff60a01b1916600160a01b179055611385846116b9565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff161580156113ad575083155b6001600160a01b0388165f9081526013602052604090205490915060ff16806113ed57506001600160a01b0386165f9081526013602052604090205460ff165b156113f557505f5b5f811561147e576001600160a01b0387165f9081526015602052604090205460ff16156114435761143c60646114366012548961180190919063ffffffff16565b90611813565b9050611460565b61145d60646114366011548961180190919063ffffffff16565b90505b801561147157611471883083611591565b61147b8187611d8f565b95505b611489888888611591565b5050505050505050565b6005546001600160a01b031633146107385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610713565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260156020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166115b75760405162461bcd60e51b815260040161071390611dbd565b6001600160a01b0382166115dd5760405162461bcd60e51b815260040161071390611e02565b6001600160a01b0383165f90815260208190526040902054818110156116545760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610713565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610eaa565b305f90815260208190526040812054908181036116d557505050565b6012546011546116e59190611d1b565b5f0361174e575f821180156116fb5750600f5482105b156117075750806117f8565b5f61172260646114366012548761180190919063ffffffff16565b905061172e8185611d8f565b9350600f5484111561174457600f549150611748565b8391505b506117f8565b5f821180156117695750600f54611766906005611813565b82105b1561177357505050565b5f8211801561178e5750600f5461178b906005611813565b82115b801561179b5750600f5482105b156117b557600f546117ae906005611813565b90506117f8565b5f6117d060646114366012548761180190919063ffffffff16565b90506117dc8185611d8f565b9350600f548411156117f257600f5491506117f6565b8391505b505b6109898161181e565b5f61180c8284611d59565b9392505050565b5f61180c8284611d70565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185157611851611d2e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f19190611e45565b8160018151811061190457611904611d2e565b60200260200101906001600160a01b031690816001600160a01b03168152505061194f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610d15565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926119aa9287925f92889291909116904290600401611e60565b5f604051808303815f87803b1580156119c1575f80fd5b505af1158015610c97573d5f803e3d5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146107df575f80fd5b5f8060408385031215611a2d575f80fd5b8235611a3881611a08565b946020939093013593505050565b5f805f60608486031215611a58575f80fd5b8335611a6381611a08565b92506020840135611a7381611a08565b929592945050506040919091013590565b5f8060408385031215611a95575f80fd5b50508035926020909101359150565b5f60208284031215611ab4575f80fd5b813561180c81611a08565b80151581146107df575f80fd5b5f8060408385031215611add575f80fd5b8235611ae881611a08565b91506020830135611af881611abf565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b4057611b40611b03565b604052919050565b5f67ffffffffffffffff821115611b6157611b61611b03565b5060051b60200190565b5f82601f830112611b7a575f80fd5b8135611b8d611b8882611b48565b611b17565b8082825260208201915060208360051b860101925085831115611bae575f80fd5b602085015b83811015611bd4578035611bc681611abf565b835260209283019201611bb3565b5095945050505050565b5f8060408385031215611bef575f80fd5b823567ffffffffffffffff811115611c05575f80fd5b8301601f81018513611c15575f80fd5b8035611c23611b8882611b48565b8082825260208201915060208360051b850101925087831115611c44575f80fd5b6020840193505b82841015611c6f578335611c5e81611a08565b825260209384019390910190611c4b565b9450505050602083013567ffffffffffffffff811115611c8d575f80fd5b611c9985828601611b6b565b9150509250929050565b5f8060408385031215611cb4575f80fd5b8235611cbf81611a08565b91506020830135611af881611a08565b600181811c90821680611ce357607f821691505b602082108103611d0157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561066e5761066e611d07565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d52575f80fd5b5051919050565b808202811582820484141761066e5761066e611d07565b5f82611d8a57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561066e5761066e611d07565b5f60208284031215611db2575f80fd5b815161180c81611abf565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60208284031215611e55575f80fd5b815161180c81611a08565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611eb05783516001600160a01b0316835260209384019390920191600101611e89565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220666f35248b1f71916de9176f32c919eef53f395b14dce31fd13e036a3550a7fc64736f6c634300081a0033

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

000000000000000000000000de22dfdeb49ec0b79aa34f5fbc0483b3bdc5e280

-----Decoded View---------------
Arg [0] : wallet (address): 0xDE22DFDeb49EC0b79Aa34F5fbc0483B3Bdc5e280

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


Deployed Bytecode Sourcemap

14669:9522:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9691:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10623:201;;;;;;;;;;-1:-1:-1;10623:201:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;10623:201:0;945:187:1;10012:108:0;;;;;;;;;;-1:-1:-1;10100:12:0;;10012:108;;;1283:25:1;;;1271:2;1256:18;10012:108:0;1137:177:1;15117:46:0;;;;;;;;;;;;;;;;10832:295;;;;;;;;;;-1:-1:-1;10832:295:0;;;;;:::i;:::-;;:::i;15050:58::-;;;;;;;;;;;;;;;;9911:93;;;;;;;;;;-1:-1:-1;9911:93:0;;9994:2;1974:36:1;;1962:2;1947:18;9911:93:0;1832:184:1;11135:238:0;;;;;;;;;;-1:-1:-1;11135:238:0;;;;;:::i;:::-;;:::i;22575:212::-;;;;;;;;;;-1:-1:-1;22575:212:0;;;;;:::i;:::-;;:::i;:::-;;15170:35;;;;;;;;;;;;;;;;15212:44;;;;;;;;;;;;;;;;18331:126;;;;;;;;;;-1:-1:-1;18331:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;18421:28:0;18397:4;18421:28;;;:19;:28;;;;;;;;;18331:126;14748:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2813:32:1;;;2795:51;;2783:2;2768:18;14748:52:0;2624:228:1;10128:127:0;;;;;;;;;;-1:-1:-1;10128:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10229:18:0;10202:7;10229:18;;;;;;;;;;;;10128:127;8767:103;;;;;;;;;;;;;:::i;21461:144::-;;;;;;;;;;;;;:::i;21613:225::-;;;;;;;;;;;;;:::i;8532:87::-;;;;;;;;;;-1:-1:-1;8605:6:0;;-1:-1:-1;;;;;8605:6:0;8532:87;;9799:104;;;;;;;;;;;;;:::i;17887:242::-;;;;;;;;;;-1:-1:-1;17887:242:0;;;;;:::i;:::-;;:::i;17591:288::-;;;;;;;;;;-1:-1:-1;17591:288:0;;;;;:::i;:::-;;:::i;11381:436::-;;;;;;;;;;-1:-1:-1;11381:436:0;;;;;:::i;:::-;;:::i;10263:193::-;;;;;;;;;;-1:-1:-1;10263:193:0;;;;;:::i;:::-;;:::i;15265:35::-;;;;;;;;;;;;;;;;17178:81;;;;;;;;;;;;;:::i;15452:26::-;;;;;;;;;;;;;;;;10464:151;;;;;;;;;;-1:-1:-1;10464:151:0;;;;;:::i;:::-;;:::i;15420:25::-;;;;;;;;;;;;;;;;15338:33;;;;;;;;;;;;;;;;21846:721;;;;;;;;;;-1:-1:-1;21846:721:0;;;;;:::i;:::-;;:::i;8878:201::-;;;;;;;;;;-1:-1:-1;8878:201:0;;;;;:::i;:::-;;:::i;15307:24::-;;;;;;;;;;;;;;;;15380:31;;;;;;;;;;-1:-1:-1;15380:31:0;;;;;;;;9691:100;9745:13;9778:5;9771:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9691:100;:::o;10623:201::-;10706:4;256:10;10762:32;256:10;10778:7;10787:6;10762:8;:32::i;:::-;10812:4;10805:11;;;10623:201;;;;;:::o;10832:295::-;10963:4;256:10;11021:38;11037:4;256:10;11052:6;11021:15;:38::i;:::-;11070:27;11080:4;11086:2;11090:6;11070:9;:27::i;:::-;-1:-1:-1;11115:4:0;;10832:295;-1:-1:-1;;;;10832:295:0:o;11135:238::-;11223:4;256:10;11279:64;256:10;11295:7;11332:10;11304:25;256:10;11295:7;11304:9;:25::i;:::-;:38;;;;:::i;:::-;11279:8;:64::i;22575:212::-;8491:13;:11;:13::i;:::-;22676:2:::1;22665:7;:13;;:31;;;;;22694:2;22682:8;:14;;22665:31;22657:66;;;::::0;-1:-1:-1;;;22657:66:0;;7374:2:1;22657:66:0::1;::::0;::::1;7356:21:1::0;7413:2;7393:18;;;7386:30;-1:-1:-1;;;7432:18:1;;;7425:52;7494:18;;22657:66:0::1;;;;;;;;;22734:6;:16:::0;;;;22761:7:::1;:18:::0;22575:212::o;8767:103::-;8491:13;:11;:13::i;:::-;8832:30:::1;8859:1;8832:18;:30::i;:::-;8767:103::o:0;21461:144::-;8491:13;:11;:13::i;:::-;21538:18:::1;::::0;21515:20:::1;:41:::0;;;21567:9:::1;:30:::0;21461:144::o;21613:225::-;21682:14;;-1:-1:-1;;;;;21682:14:0;256:10;-1:-1:-1;;;;;21666:30:0;;21658:39;;;;;;21740:1;21716:21;:25;21708:60;;;;-1:-1:-1;;;21708:60:0;;7725:2:1;21708:60:0;;;7707:21:1;7764:2;7744:18;;;7737:30;-1:-1:-1;;;7783:18:1;;;7776:52;7845:18;;21708:60:0;7523:346:1;21708:60:0;21779:51;;21787:10;;21808:21;21779:51;;;;;;;;;21808:21;21787:10;21779:51;;;;;;;;;;;;;;;;;;;;;21613:225::o;9799:104::-;9855:13;9888:7;9881:14;;;;;:::i;17887:242::-;8491:13;:11;:13::i;:::-;17994::::1;::::0;-1:-1:-1;;;;;17994:13:0;;::::1;17986:21:::0;;::::1;::::0;17978:91:::1;;;::::0;-1:-1:-1;;;17978:91:0;;8076:2:1;17978:91:0::1;::::0;::::1;8058:21:1::0;8115:2;8095:18;;;8088:30;8154:34;8134:18;;;8127:62;8225:27;8205:18;;;8198:55;8270:19;;17978:91:0::1;7874:421:1::0;17978:91:0::1;18080:41;18109:4;18115:5;18080:28;:41::i;:::-;17887:242:::0;;:::o;17591:288::-;8491:13;:11;:13::i;:::-;17700:6:::1;17695:177;17716:8;:15;17712:1;:19;17695:177;;;17788:8;17797:1;17788:11;;;;;;;;:::i;:::-;;;;;;;17753:19;:32;17773:8;17782:1;17773:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;17753:32:0::1;-1:-1:-1::0;;;;;17753:32:0::1;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;17835:8;17844:1;17835:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;17819:41:0::1;;17848:8;17857:1;17848:11;;;;;;;;:::i;:::-;;;;;;;17819:41;;;;1110:14:1::0;1103:22;1085:41;;1073:2;1058:18;;945:187;17819:41:0::1;;;;;;;;17733:3;;17695:177;;;;17591:288:::0;;:::o;11381:436::-;11474:4;256:10;11474:4;11557:25;256:10;11574:7;11557:9;:25::i;:::-;11530:52;;11621:15;11601:16;:35;;11593:85;;;;-1:-1:-1;;;11593:85:0;;8634:2:1;11593:85:0;;;8616:21:1;8673:2;8653:18;;;8646:30;8712:34;8692:18;;;8685:62;-1:-1:-1;;;8763:18:1;;;8756:35;8808:19;;11593:85:0;8432:401:1;11593:85:0;11714:60;11723:5;11730:7;11758:15;11739:16;:34;11714:8;:60::i;10263:193::-;10342:4;256:10;10398:28;256:10;10415:2;10419:6;10398:9;:28::i;17178:81::-;8491:13;:11;:13::i;:::-;17233:11:::1;:18:::0;;-1:-1:-1;;17233:18:0::1;17247:4;17233:18;::::0;;17178:81::o;10464:151::-;-1:-1:-1;;;;;10580:18:0;;;10553:7;10580:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10464:151::o;21846:721::-;21954:14;;-1:-1:-1;;;;;21954:14:0;256:10;-1:-1:-1;;;;;21938:30:0;;21930:73;;;;-1:-1:-1;;;21930:73:0;;9040:2:1;21930:73:0;;;9022:21:1;9079:2;9059:18;;;9052:30;9118:32;9098:18;;;9091:60;9168:18;;21930:73:0;8838:354:1;21930:73:0;22091:38;;-1:-1:-1;;;22091:38:0;;22123:4;22091:38;;;2795:51:1;22044:12:0;;22014:20;;-1:-1:-1;;;;;22091:23:0;;;;;2768:18:1;;22091:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22068:61;;22140:20;22195:3;22185:6;22164:18;;:27;;;;:::i;:::-;22163:35;;;;:::i;:::-;22140:58;;22232:12;22217;:27;22209:65;;;;-1:-1:-1;;;22209:65:0;;9983:2:1;22209:65:0;;;9965:21:1;10022:2;10002:18;;;9995:30;10061:27;10041:18;;;10034:55;10106:18;;22209:65:0;9781:349:1;22209:65:0;22285:21;22309:27;22324:12;22309;:27;:::i;:::-;22285:51;-1:-1:-1;22353:17:0;;22349:103;;22410:14;;22387:53;;-1:-1:-1;;;22387:53:0;;-1:-1:-1;;;;;22410:14:0;;;22387:53;;;10442:51:1;10509:18;;;10502:34;;;22387:22:0;;;;;;10415:18:1;;22387:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22349:103;22468:6;22478:1;22468:11;22464:96;;22519:14;;22496:52;;-1:-1:-1;;;22496:52:0;;-1:-1:-1;;;;;22519:14:0;;;22496:52;;;10442:51:1;10509:18;;;10502:34;;;22496:22:0;;;;;;10415:18:1;;22496:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22464:96;21919:648;;;;21846:721;;:::o;8878:201::-;8491:13;:11;:13::i;:::-;-1:-1:-1;;;;;8967:22:0;::::1;8959:73;;;::::0;-1:-1:-1;;;8959:73:0;;10999:2:1;8959:73:0::1;::::0;::::1;10981:21:1::0;11038:2;11018:18;;;11011:30;11077:34;11057:18;;;11050:62;-1:-1:-1;;;11128:18:1;;;11121:36;11174:19;;8959:73:0::1;10797:402:1::0;8959:73:0::1;9043:28;9062:8;9043:18;:28::i;13556:380::-:0;-1:-1:-1;;;;;13692:19:0;;13684:68;;;;-1:-1:-1;;;13684:68:0;;11406:2:1;13684:68:0;;;11388:21:1;11445:2;11425:18;;;11418:30;11484:34;11464:18;;;11457:62;-1:-1:-1;;;11535:18:1;;;11528:34;11579:19;;13684:68:0;11204:400:1;13684:68:0;-1:-1:-1;;;;;13771:21:0;;13763:68;;;;-1:-1:-1;;;13763:68:0;;11811:2:1;13763:68:0;;;11793:21:1;11850:2;11830:18;;;11823:30;11889:34;11869:18;;;11862:62;-1:-1:-1;;;11940:18:1;;;11933:32;11982:19;;13763:68:0;11609:398:1;13763:68:0;-1:-1:-1;;;;;13844:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13896:32;;1283:25:1;;;13896:32:0;;1256:18:1;13896:32:0;;;;;;;13556:380;;;:::o;13944:453::-;14079:24;14106:25;14116:5;14123:7;14106:9;:25::i;:::-;14079:52;;-1:-1:-1;;14146:16:0;:37;14142:248;;14228:6;14208:16;:26;;14200:68;;;;-1:-1:-1;;;14200:68:0;;12214:2:1;14200:68:0;;;12196:21:1;12253:2;12233:18;;;12226:30;12292:31;12272:18;;;12265:59;12341:18;;14200:68:0;12012:353:1;14200:68:0;14312:51;14321:5;14328:7;14356:6;14337:16;:25;14312:8;:51::i;:::-;14068:329;13944:453;;;:::o;18465:2499::-;-1:-1:-1;;;;;18565:18:0;;18557:68;;;;-1:-1:-1;;;18557:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18644:16:0;;18636:64;;;;-1:-1:-1;;;18636:64:0;;;;;;;:::i;:::-;18717:6;18727:1;18717:11;18713:93;;18745:28;18761:4;18767:2;18771:1;18745:15;:28::i;18713:93::-;-1:-1:-1;;;;;18843:31:0;;18824:15;18843:31;;;:25;:31;;;;;;;;18842:32;:66;;;;-1:-1:-1;;;;;;18879:29:0;;;;;;:25;:29;;;;;;;;18878:30;18842:66;18824:84;;18941:7;8605:6;;-1:-1:-1;;;;;8605:6:0;;8532:87;18941:7;-1:-1:-1;;;;;18933:15:0;:4;-1:-1:-1;;;;;18933:15:0;;;:32;;;;-1:-1:-1;8605:6:0;;-1:-1:-1;;;;;18952:13:0;;;8605:6;;18952:13;;18933:32;:52;;;;-1:-1:-1;;;;;;18969:16:0;;;;18933:52;:77;;;;-1:-1:-1;;;;;;18989:21:0;;19003:6;18989:21;;18933:77;:90;;;;-1:-1:-1;19015:8:0;;-1:-1:-1;;;19015:8:0;;;;19014:9;18933:90;18929:1060;;;19051:11;;;;19046:148;;-1:-1:-1;;;;;19095:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;19124:23:0;;;;;;:19;:23;;;;;;;;19095:52;19087:87;;;;-1:-1:-1;;;19087:87:0;;13382:2:1;19087:87:0;;;13364:21:1;13421:2;13401:18;;;13394:30;-1:-1:-1;;;13440:18:1;;;13433:52;13502:18;;19087:87:0;13180:346:1;19087:87:0;-1:-1:-1;;;;;19218:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;19254:35:0;;;;;;:31;:35;;;;;;;;19253:36;19218:71;19214:760;;;19350:20;;19340:6;:30;;19332:96;;;;-1:-1:-1;;;19332:96:0;;13733:2:1;19332:96:0;;;13715:21:1;13772:2;13752:18;;;13745:30;13811:34;13791:18;;;13784:62;-1:-1:-1;;;13862:18:1;;;13855:51;13923:19;;19332:96:0;13531:417:1;19332:96:0;19485:9;;-1:-1:-1;;;;;10229:18:0;;10202:7;10229:18;;;;;;;;;;;19459:22;;:6;:22;:::i;:::-;:35;;19451:67;;;;-1:-1:-1;;;19451:67:0;;14155:2:1;19451:67:0;;;14137:21:1;14194:2;14174:18;;;14167:30;-1:-1:-1;;;14213:18:1;;;14206:49;14272:18;;19451:67:0;13953:343:1;19451:67:0;19214:760;;;-1:-1:-1;;;;;19567:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;19601:37:0;;;;;;:31;:37;;;;;;;;19600:38;19567:71;19563:411;;;19681:20;;19671:6;:30;;19663:97;;;;-1:-1:-1;;;19663:97:0;;14503:2:1;19663:97:0;;;14485:21:1;14542:2;14522:18;;;14515:30;14581:34;14561:18;;;14554:62;-1:-1:-1;;;14632:18:1;;;14625:52;14694:19;;19663:97:0;14301:418:1;19563:411:0;-1:-1:-1;;;;;19827:35:0;;;;;;:31;:35;;;;;;;;19822:152;;19921:9;;-1:-1:-1;;;;;10229:18:0;;10202:7;10229:18;;;;;;;;;;;19895:22;;:6;:22;:::i;:::-;:35;;19887:67;;;;-1:-1:-1;;;19887:67:0;;14155:2:1;19887:67:0;;;14137:21:1;14194:2;14174:18;;;14167:30;-1:-1:-1;;;14213:18:1;;;14206:49;14272:18;;19887:67:0;13953:343:1;19887:67:0;20050:4;20001:28;10229:18;;;;;;;;;;;;20084:24;;;;;:39;;;20113:10;20112:11;20084:39;20069:54;;20140:7;:20;;;;-1:-1:-1;20152:8:0;;-1:-1:-1;;;20152:8:0;;;;20151:9;20140:20;:56;;;;-1:-1:-1;;;;;;20165:31:0;;;;;;:25;:31;;;;;;;;20164:32;20140:56;:86;;;;-1:-1:-1;;;;;;20201:25:0;;;;;;:19;:25;;;;;;;;20200:26;20140:86;:114;;;;-1:-1:-1;;;;;;20231:23:0;;;;;;:19;:23;;;;;;;;20230:24;20140:114;20136:224;;;20271:8;:15;;-1:-1:-1;;;;20271:15:0;-1:-1:-1;;;20271:15:0;;;20301:16;20310:6;20301:8;:16::i;:::-;20332:8;:16;;-1:-1:-1;;;;20332:16:0;;;20136:224;20388:8;;20372:12;;-1:-1:-1;;;20388:8:0;;;;20387:9;:24;;;;;20401:10;20400:11;20387:24;-1:-1:-1;;;;;20428:25:0;;;;;;:19;:25;;;;;;20372:39;;-1:-1:-1;20428:25:0;;;:52;;-1:-1:-1;;;;;;20457:23:0;;;;;;:19;:23;;;;;;;;20428:52;20424:100;;;-1:-1:-1;20507:5:0;20424:100;20536:12;20569:7;20565:348;;;-1:-1:-1;;;;;20597:29:0;;;;;;:25;:29;;;;;;;;20593:193;;;20654:28;20678:3;20654:19;20665:7;;20654:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20647:35;;20593:193;;;20743:27;20766:3;20743:18;20754:6;;20743;:10;;:18;;;;:::i;:27::-;20736:34;;20593:193;20802:8;;20798:83;;20827:42;20843:4;20857;20864;20827:15;:42::i;:::-;20891:14;20901:4;20891:14;;:::i;:::-;;;20565:348;20923:33;20939:4;20945:2;20949:6;20923:15;:33::i;:::-;18544:2420;;;;;18465:2499;;;:::o;8627:132::-;8605:6;;-1:-1:-1;;;;;8605:6:0;256:10;8691:23;8683:68;;;;-1:-1:-1;;;8683:68:0;;14926:2:1;8683:68:0;;;14908:21:1;;;14945:18;;;14938:30;15004:34;14984:18;;;14977:62;15056:18;;8683:68:0;14724:356:1;9087:191:0;9180:6;;;-1:-1:-1;;;;;9197:17:0;;;-1:-1:-1;;;;;;9197:17:0;;;;;;;9230:40;;9180:6;;;9197:17;9180:6;;9230:40;;9161:16;;9230:40;9150:128;9087:191;:::o;18137:186::-;-1:-1:-1;;;;;18220:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;18220:39:0;;;;;;;;;;18275:40;;18220:39;;:31;18275:40;;;18137:186;;:::o;11825:675::-;-1:-1:-1;;;;;11956:18:0;;11948:68;;;;-1:-1:-1;;;11948:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12035:16:0;;12027:64;;;;-1:-1:-1;;;12027:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12177:15:0;;12155:19;12177:15;;;;;;;;;;;12211:21;;;;12203:72;;;;-1:-1:-1;;;12203:72:0;;15287:2:1;12203:72:0;;;15269:21:1;15326:2;15306:18;;;15299:30;15365:34;15345:18;;;15338:62;-1:-1:-1;;;15416:18:1;;;15409:36;15462:19;;12203:72:0;15085:402:1;12203:72:0;-1:-1:-1;;;;;12311:15:0;;;:9;:15;;;;;;;;;;;12329:20;;;12311:38;;12364:13;;;;;;;;;;:23;;;;;;12416:26;;1283:25:1;;;12364:13:0;;12416:26;;1256:18:1;12416:26:0;;;;;;;12455:37;17591:288;22795:1393;22892:4;22848:23;10229:18;;;;;;;;;;;;22947:20;;;22943:59;;22984:7;;22795:1393;:::o;22943:59::-;23022:7;;23015:6;;:14;;;;:::i;:::-;23034:1;23014:21;23010:1130;;23071:1;23053:15;:19;:59;;;;;23094:18;;23076:15;:36;23053:59;23050:443;;;-1:-1:-1;23144:15:0;23010:1130;;23050:443;23201:21;23225:28;23249:3;23225:19;23236:7;;23225:6;:10;;:19;;;;:::i;:28::-;23201:52;-1:-1:-1;23268:23:0;23201:52;23268:23;;:::i;:::-;;;23319:18;;23310:6;:27;23306:176;;;23373:18;;23358:33;;23306:176;;;23460:6;23445:21;;23306:176;23186:307;23010:1130;;;23547:1;23529:15;:19;:66;;;;-1:-1:-1;23570:18:0;;:25;;23593:1;23570:22;:25::i;:::-;23552:15;:43;23529:66;23526:607;;;23612:7;;22795:1393;:::o;23526:607::-;23667:1;23649:15;:19;:66;;;;-1:-1:-1;23690:18:0;;:25;;23713:1;23690:22;:25::i;:::-;23672:15;:43;23649:66;:106;;;;;23737:18;;23719:15;:36;23649:106;23645:488;;;23787:18;;:25;;23810:1;23787:22;:25::i;:::-;23772:40;;23645:488;;;23854:21;23878:28;23902:3;23878:19;23889:7;;23878:6;:10;;:19;;;;:::i;:28::-;23854:52;-1:-1:-1;23921:23:0;23854:52;23921:23;;:::i;:::-;;;23972:18;;23963:6;:27;23959:163;;;24026:18;;24011:33;;23959:163;;;24100:6;24085:21;;23959:163;23839:294;23645:488;24150:30;24167:12;24150:16;:30::i;6328:98::-;6386:7;6413:5;6417:1;6413;:5;:::i;:::-;6406:12;6328:98;-1:-1:-1;;;6328:98:0:o;6434:::-;6492:7;6519:5;6523:1;6519;:5;:::i;20972:482::-;21064:16;;;21078:1;21064:16;;;;;;;;21040:21;;21064:16;;;;;;;;;;-1:-1:-1;21064:16:0;21040:40;;21109:4;21091;21096:1;21091:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;21091:23:0;;;-1:-1:-1;;;;;21091:23:0;;;;;21135:16;-1:-1:-1;;;;;21135:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21125:4;21130:1;21125:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;21125:33:0;;;-1:-1:-1;;;;;21125:33:0;;;;;21171:63;21188:4;21203:16;21222:11;21171:8;:63::i;:::-;21390:15;;21247:199;;-1:-1:-1;;;21247:199:0;;-1:-1:-1;;;;;21247:16:0;:67;;;;;:199;;21329:11;;21355:1;;21371:4;;21390:15;;;;;21420;;21247:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:418:1;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:346::-;2089:6;2097;2150:2;2138:9;2129:7;2125:23;2121:32;2118:52;;;2166:1;2163;2156:12;2118:52;-1:-1:-1;;2211:23:1;;;2331:2;2316:18;;;2303:32;;-1:-1:-1;2021:346:1:o;2372:247::-;2431:6;2484:2;2472:9;2463:7;2459:23;2455:32;2452:52;;;2500:1;2497;2490:12;2452:52;2539:9;2526:23;2558:31;2583:5;2558:31;:::i;3065:118::-;3151:5;3144:13;3137:21;3130:5;3127:32;3117:60;;3173:1;3170;3163:12;3188:382;3253:6;3261;3314:2;3302:9;3293:7;3289:23;3285:32;3282:52;;;3330:1;3327;3320:12;3282:52;3369:9;3356:23;3388:31;3413:5;3388:31;:::i;:::-;3438:5;-1:-1:-1;3495:2:1;3480:18;;3467:32;3508:30;3467:32;3508:30;:::i;:::-;3557:7;3547:17;;;3188:382;;;;;:::o;3575:127::-;3636:10;3631:3;3627:20;3624:1;3617:31;3667:4;3664:1;3657:15;3691:4;3688:1;3681:15;3707:275;3778:2;3772:9;3843:2;3824:13;;-1:-1:-1;;3820:27:1;3808:40;;3878:18;3863:34;;3899:22;;;3860:62;3857:88;;;3925:18;;:::i;:::-;3961:2;3954:22;3707:275;;-1:-1:-1;3707:275:1:o;3987:183::-;4047:4;4080:18;4072:6;4069:30;4066:56;;;4102:18;;:::i;:::-;-1:-1:-1;4147:1:1;4143:14;4159:4;4139:25;;3987:183::o;4175:738::-;4226:5;4279:3;4272:4;4264:6;4260:17;4256:27;4246:55;;4297:1;4294;4287:12;4246:55;4337:6;4324:20;4364:64;4380:47;4420:6;4380:47;:::i;:::-;4364:64;:::i;:::-;4452:3;4476:6;4471:3;4464:19;4508:4;4503:3;4499:14;4492:21;;4569:4;4559:6;4556:1;4552:14;4544:6;4540:27;4536:38;4522:52;;4597:3;4589:6;4586:15;4583:35;;;4614:1;4611;4604:12;4583:35;4650:4;4642:6;4638:17;4664:218;4680:6;4675:3;4672:15;4664:218;;;4762:3;4749:17;4779:28;4801:5;4779:28;:::i;:::-;4820:18;;4867:4;4858:14;;;;4697;4664:218;;;-1:-1:-1;4900:7:1;4175:738;-1:-1:-1;;;;;4175:738:1:o;4918:1209::-;5033:6;5041;5094:2;5082:9;5073:7;5069:23;5065:32;5062:52;;;5110:1;5107;5100:12;5062:52;5150:9;5137:23;5183:18;5175:6;5172:30;5169:50;;;5215:1;5212;5205:12;5169:50;5238:22;;5291:4;5283:13;;5279:27;-1:-1:-1;5269:55:1;;5320:1;5317;5310:12;5269:55;5360:2;5347:16;5383:64;5399:47;5439:6;5399:47;:::i;5383:64::-;5469:3;5493:6;5488:3;5481:19;5525:4;5520:3;5516:14;5509:21;;5582:4;5572:6;5569:1;5565:14;5561:2;5557:23;5553:34;5539:48;;5610:7;5602:6;5599:19;5596:39;;;5631:1;5628;5621:12;5596:39;5663:4;5659:2;5655:13;5644:24;;5677:221;5693:6;5688:3;5685:15;5677:221;;;5775:3;5762:17;5792:31;5817:5;5792:31;:::i;:::-;5836:18;;5883:4;5710:14;;;;5874;;;;5677:221;;;5917:5;-1:-1:-1;;;;5975:4:1;5960:20;;5947:34;6006:18;5993:32;;5990:52;;;6038:1;6035;6028:12;5990:52;6061:60;6113:7;6102:8;6091:9;6087:24;6061:60;:::i;:::-;6051:70;;;4918:1209;;;;;:::o;6132:388::-;6200:6;6208;6261:2;6249:9;6240:7;6236:23;6232:32;6229:52;;;6277:1;6274;6267:12;6229:52;6316:9;6303:23;6335:31;6360:5;6335:31;:::i;:::-;6385:5;-1:-1:-1;6442:2:1;6427:18;;6414:32;6455:33;6414:32;6455:33;:::i;6525:380::-;6604:1;6600:12;;;;6647;;;6668:61;;6722:4;6714:6;6710:17;6700:27;;6668:61;6775:2;6767:6;6764:14;6744:18;6741:38;6738:161;;6821:10;6816:3;6812:20;6809:1;6802:31;6856:4;6853:1;6846:15;6884:4;6881:1;6874:15;6738:161;;6525:380;;;:::o;6910:127::-;6971:10;6966:3;6962:20;6959:1;6952:31;7002:4;6999:1;6992:15;7026:4;7023:1;7016:15;7042:125;7107:9;;;7128:10;;;7125:36;;;7141:18;;:::i;8300:127::-;8361:10;8356:3;8352:20;8349:1;8342:31;8392:4;8389:1;8382:15;8416:4;8413:1;8406:15;9197:184;9267:6;9320:2;9308:9;9299:7;9295:23;9291:32;9288:52;;;9336:1;9333;9326:12;9288:52;-1:-1:-1;9359:16:1;;9197:184;-1:-1:-1;9197:184:1:o;9386:168::-;9459:9;;;9490;;9507:15;;;9501:22;;9487:37;9477:71;;9528:18;;:::i;9559:217::-;9599:1;9625;9615:132;;9669:10;9664:3;9660:20;9657:1;9650:31;9704:4;9701:1;9694:15;9732:4;9729:1;9722:15;9615:132;-1:-1:-1;9761:9:1;;9559:217::o;10135:128::-;10202:9;;;10223:11;;;10220:37;;;10237:18;;:::i;10547:245::-;10614:6;10667:2;10655:9;10646:7;10642:23;10638:32;10635:52;;;10683:1;10680;10673:12;10635:52;10715:9;10709:16;10734:28;10756:5;10734:28;:::i;12370:401::-;12572:2;12554:21;;;12611:2;12591:18;;;12584:30;12650:34;12645:2;12630:18;;12623:62;-1:-1:-1;;;12716:2:1;12701:18;;12694:35;12761:3;12746:19;;12370:401::o;12776:399::-;12978:2;12960:21;;;13017:2;12997:18;;;12990:30;13056:34;13051:2;13036:18;;13029:62;-1:-1:-1;;;13122:2:1;13107:18;;13100:33;13165:3;13150:19;;12776:399::o;15492:251::-;15562:6;15615:2;15603:9;15594:7;15590:23;15586:32;15583:52;;;15631:1;15628;15621:12;15583:52;15663:9;15657:16;15682:31;15707:5;15682:31;:::i;15748:959::-;16010:4;16058:3;16047:9;16043:19;16089:6;16078:9;16071:25;16132:6;16127:2;16116:9;16112:18;16105:34;16175:3;16170:2;16159:9;16155:18;16148:31;16199:6;16234;16228:13;16265:6;16257;16250:22;16303:3;16292:9;16288:19;16281:26;;16342:2;16334:6;16330:15;16316:29;;16363:1;16373:195;16387:6;16384:1;16381:13;16373:195;;;16452:13;;-1:-1:-1;;;;;16448:39:1;16436:52;;16517:2;16543:15;;;;16508:12;;;;16484:1;16402:9;16373:195;;;-1:-1:-1;;;;;;;16624:32:1;;;;16619:2;16604:18;;16597:60;-1:-1:-1;;16688:3:1;16673:19;16666:35;16585:3;15748:959;-1:-1:-1;;;15748:959:1:o

Swarm Source

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