ETH Price: $3,121.58 (-0.39%)

Token

BLUE (BLUE)
 

Overview

Max Total Supply

69,000,000,000,000 BLUE

Holders

284

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
351,190,012,333.754113664382698163 BLUE

Value
$0.00
0xed5511f763f66db7861f98b9f7df873db6b89fe9
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:
BLUE

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-17
*/

// File: contracts/IUniswapV2Router01.sol

pragma solidity ^0.8.9;


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

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}
// File: contracts/IUniswapV2Router02.sol

pragma solidity ^0.8.9;



interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
// File: contracts/SafeMath.sol

pragma solidity ^0.8.9;


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

        return c;
    }

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

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

        return c;
    }

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

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

// File: contracts/IERC20.sol

pragma solidity ^0.8.9;


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

// File: contracts/Context.sol

pragma solidity ^0.8.9;


/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
// File: contracts/Ownable.sol

pragma solidity ^0.8.9;



/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
// File: contracts/ERC20.sol

pragma solidity ^0.8.9;






contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    IUniswapV2Router02 public uniswapRouter;
    address public wethAddress;
    address[] public pairsList;
    address public lpPair;

    uint256 public tradingEnabledAt;

    bool public isTradingEnabled = false;

    mapping (address => uint256) private _balances;
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isPair;

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

    
    uint256 private _totalSupply;

    uint256 public transferFee = 0;
    uint256 public buyFee = 20;
    uint256 public sellFee = 20;

    string private _name;
    string private _symbol;   
    uint8 private _decimals; 

    bool inSwap;
    bool public contractSwapEnabled = false;
    uint256 public swapThreshold;
    uint256 public swapAmount;
    bool public piContractSwapsEnabled;
    uint256 public piSwapPercent;

    struct TaxWallets {
        address payable marketing;
    }

    TaxWallets public _taxWallets = TaxWallets({
        marketing: payable(0x0B2f4aa8C2b2bC7b878b2e9a92C1958A5042b3C0)
        });

    event SwapTokensForETH(uint256 tokenAmount, address[] path);
    event LiquidityAdded(uint256 amountTokenA, uint256 amountETH);
    event ContractSwapEnabledUpdated(bool enabled);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

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

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

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

    function balanceOf(address account) public view 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(msg.sender, spender, amount);
        return true;
    }

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

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

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

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        bool buy = false;
        bool sell = false;
        bool other = false;
        if (isPair[sender]) {
            buy = true;
        } else if (isPair[recipient]) {
            sell = true;
        } else {
            other = true;
        }

        _beforeTokenTransfer(sender, recipient, amount);
        uint256 maxTokenAmount = totalSupply().mul(15).div(1e3);
        uint256 recipientBalance = balanceOf(recipient);
        if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
            require(isTradingEnabled, "ERC20: Trading is not enabled yet..");
            if (block.timestamp <= tradingEnabledAt.add(5 minutes)) {
            require(recipientBalance.add(amount) <= maxTokenAmount,"ERC20: Exceed maximum wallet..");            
            }
                if (sell) {
                    if (!inSwap) {
                        if (contractSwapEnabled) {
                            uint256 contractTokenBalance = balanceOf(address(this));
                            if (contractTokenBalance >= swapThreshold) {
                                uint256 swapAmt = swapAmount;
                                if (piContractSwapsEnabled) { swapAmt = (balanceOf(lpPair) * piSwapPercent); }
                                if (contractTokenBalance >= swapAmt) { contractTokenBalance = swapAmt; }
                                contractSwap(contractTokenBalance);
                            }
                        }
                    }
                }
                if (!isPair[sender] && !isPair[recipient]) {
                    uint256 fee = amount.mul(transferFee).div(100);
                    if (block.timestamp <= tradingEnabledAt.add(2 minutes)) {
                        fee = amount.mul(99).div(100);
                    }                    
                    amount = amount.sub(fee);
                    _balances[sender] = _balances[sender].sub(fee, "ERC20: transfer amount exceeds balance");
                    _balances[address(this)] = _balances[address(this)].add(fee);
                    emit Transfer(sender, address(this), fee);
                }
                if (isPair[sender]) {
                    uint256 fee = amount.mul(buyFee).div(100);
                    if (block.timestamp <= tradingEnabledAt.add(2 minutes)) {
                        fee = amount.mul(99).div(100);
                    } 
                    amount = amount.sub(fee);
                    _balances[sender] = _balances[sender].sub(fee, "ERC20: transfer amount exceeds balance");
                    _balances[address(this)] = _balances[address(this)].add(fee);
                    emit Transfer(sender, address(this), fee);
                }
                if (isPair[recipient]) {
                    uint256 fee = amount.mul(sellFee).div(100);
                    if (block.timestamp <= tradingEnabledAt.add(2 minutes)) {
                        fee = amount.mul(99).div(100);
                    }                     
                    amount = amount.sub(fee);
                    _balances[sender] = _balances[sender].sub(fee, "ERC20: transfer amount exceeds balance");
                    _balances[address(this)] = _balances[address(this)].add(fee);
                    emit Transfer(sender, address(this), fee);
                }
        }
        
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function contractSwap(uint256 contractTokenBalance) internal lockTheSwap {

        if(_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractTokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        uint256 amtBalance = address(this).balance;
        bool success;
        uint256 marketingBalance = amtBalance;
        (success,) = _taxWallets.marketing.call{value: marketingBalance, gas: 35000}("");
    }    


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

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

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(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);

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

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}
// File: contracts/Blue.sol

pragma solidity ^0.8.9;


//website: entervalhalla.com

//twitter: https://x.com/1f37dc?s=21&t=ixGbrgwcn3D9FnhNAo-ncQ

//tg: https://t.me/mongmob



contract BLUE is ERC20, Ownable {
    
    uint256 constant private startingSupply = 69_000_000_000_000;
    uint256 constant private _tTotal = startingSupply * 10 **18;
    constructor(address _router) ERC20("BLUE", "BLUE") {
        _mint(msg.sender, _tTotal);

        uniswapRouter = IUniswapV2Router02(_router); 

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
    }

    function enableTrading() public onlyOwner {
        require(!isTradingEnabled, "BLUE: Trading is alredy enabled");
        require(pairsList.length > 0, "BLUE: Please add all the pairs first");
        isTradingEnabled = true;
        tradingEnabledAt = block.timestamp;
        contractSwapEnabled = true;
        emit ContractSwapEnabledUpdated(true);
    }

    function excludeOrInclude(address user, bool value) public onlyOwner {
        require(isExcludedFromFee[user] != value, "BLUE: Already set as same value");
        isExcludedFromFee[user] = value;
    }

    function addOrRemovePairs(address pair, bool value) public onlyOwner {
        require(isPair[pair] != value, "BLUE: Already set as same value");
        isPair[pair] = value;
        pairsList.push(pair);
        if (lpPair == address(0)) {
            lpPair = pair;
        }
    }

    function setSwapSettings(uint256 thresholdPercent, uint256 thresholdDivisor, uint256 amountPercent, uint256 amountDivisor) external onlyOwner {
        swapThreshold = (_tTotal * thresholdPercent) / thresholdDivisor;
        swapAmount = (_tTotal * amountPercent) / amountDivisor;
        require(swapThreshold <= swapAmount, "Threshold cannot be above amount.");
        require(swapAmount <= (balanceOf(lpPair) * 20) / 1000, "Cannot be above 2% of current PI.");
        require(swapAmount >= _tTotal / 10_000_000, "Cannot be lower than 0.00001% of total supply.");
        require(swapThreshold >= _tTotal / 10_000_000, "Cannot be lower than 0.00001% of total supply.");
    }

    function setPriceImpactSwapAmount(uint256 priceImpactSwapPercent) external onlyOwner {
        require(priceImpactSwapPercent <= 300, "Cannot set above 3%.");
        piSwapPercent = priceImpactSwapPercent;
    }

    function setContractSwapEnabled(bool swapEnabled, bool priceImpactSwapEnabled) external onlyOwner {
        contractSwapEnabled = swapEnabled;
        piContractSwapsEnabled = priceImpactSwapEnabled;
        emit ContractSwapEnabledUpdated(swapEnabled);
    }

    function updateMarketingAddress(address payable marketing) public onlyOwner {
        require(_taxWallets.marketing != marketing, "BLUE: Already set as same address");
        _taxWallets.marketing = payable(marketing);
    }

    function updateFees(uint256 transfer, uint256 buy, uint256 sell) public onlyOwner {
        transferFee = transfer;
        buyFee = buy;
        sellFee = sell;
    }

    function transferEther() public onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
    
    // function to allow admin to transfer *any* ERC20 tokens from this contract..
    function transferAnyERC20Tokens(address tokenAddress, address recipient, uint256 amount) public onlyOwner {
        require(amount > 0, "BLUE: amount must be greater than 0");
        require(recipient != address(0), "BLUE: recipient is the zero address");
        IERC20(tokenAddress).transfer(recipient, amount);
    }

    receive() external payable { }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_router","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":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountTokenA","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"LiquidityAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_taxWallets","outputs":[{"internalType":"address payable","name":"marketing","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemovePairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeOrInclude","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":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"uint256","name":"","type":"uint256"}],"name":"pairsList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piContractSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piSwapPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"swapEnabled","type":"bool"},{"internalType":"bool","name":"priceImpactSwapEnabled","type":"bool"}],"name":"setContractSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"priceImpactSwapPercent","type":"uint256"}],"name":"setPriceImpactSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"thresholdPercent","type":"uint256"},{"internalType":"uint256","name":"thresholdDivisor","type":"uint256"},{"internalType":"uint256","name":"amountPercent","type":"uint256"},{"internalType":"uint256","name":"amountDivisor","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","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":"tradingEnabledAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"transfer","type":"uint256"},{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketing","type":"address"}],"name":"updateMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wethAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6005805460ff191690555f600b556014600c819055600d556010805462ff00001916905560a0604052730b2f4aa8c2b2bc7b878b2e9a92c1958a5042b3c06080819052601580546001600160a01b031916909117905534801562000061575f80fd5b506040516200291b3803806200291b83398101604081905262000084916200030c565b604080518082018252600480825263424c554560e01b602080840182905284518086019095529184529083015290600e620000c08382620003d1565b50600f620000cf8282620003d1565b50506010805460ff19166012179055505f620000e83390565b601680546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200015a3362000154653ec1507d5000670de0b6b3a7640000620004b1565b620001ad565b5f80546001600160a01b0319166001600160a01b039290921691909117815530815260076020526040808220805460ff1990811660019081179092553384529190922080549091169091179055620004e1565b6001600160a01b038216620002095760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b600a54620002189082620002a1565b600a556001600160a01b0382165f908152600660205260409020546200023f9082620002a1565b6001600160a01b0383165f818152600660205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002909085815260200190565b60405180910390a35050565b505050565b5f80620002af8385620004cb565b905083811015620003035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000200565b90505b92915050565b5f602082840312156200031d575f80fd5b81516001600160a01b038116811462000303575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200035d57607f821691505b6020821081036200037c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200029c57805f5260205f20601f840160051c81016020851015620003a95750805b601f840160051c820191505b81811015620003ca575f8155600101620003b5565b5050505050565b81516001600160401b03811115620003ed57620003ed62000334565b6200040581620003fe845462000348565b8462000382565b602080601f8311600181146200043b575f8415620004235750858301515b5f19600386901b1c1916600185901b17855562000495565b5f85815260208120601f198616915b828110156200046b578886015182559484019460019091019084016200044a565b50858210156200048957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176200030657620003066200049d565b808201808211156200030657620003066200049d565b61242c80620004ef5f395ff3fe608060405260043610610241575f3560e01c80636a58f23f11610134578063b7df8b36116100b3578063e1b724a811610078578063e1b724a814610687578063e5e31b13146106a6578063f2fde38b146106d4578063f94aa1b4146106f3578063fb78680d14610712578063fdb78c0e14610731575f80fd5b8063b7df8b36146105e2578063bfc2fc35146105fb578063c31fe80a1461061a578063c9b25f0f1461062f578063dd62ed3e14610643575f80fd5b80638da5cb5b116100f95780638da5cb5b1461055e57806395d89b411461057b578063a457c2d71461058f578063a9059cbb146105ae578063acb2ad6f146105cd575f80fd5b80636a58f23f146104c557806370a08231146104e4578063715018a614610518578063735de9f71461052c5780638a8c523c1461054a575f80fd5b80632e8fa821116101c0578063470624021161018557806347062402146104255780634e718e481461043a5780634f0e0ef3146104595780635342acb4146104785780636a395ccb146104a6575f80fd5b80632e8fa8211461037a578063313ce5671461038f57806332e19252146103b057806339509351146103cf578063452ed4f1146103ee575f80fd5b8063224290851161020657806322429085146102f15780632369bf831461031257806323b872dd1461033157806328577751146103505780632b14ca5614610365575f80fd5b80630445b6671461024c578063064a59d01461027457806306fdde031461029d578063095ea7b3146102be57806318160ddd146102dd575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b5061026160115481565b6040519081526020015b60405180910390f35b34801561027f575f80fd5b5060055461028d9060ff1681565b604051901515815260200161026b565b3480156102a8575f80fd5b506102b1610750565b60405161026b9190611f9f565b3480156102c9575f80fd5b5061028d6102d8366004611fff565b6107e0565b3480156102e8575f80fd5b50600a54610261565b3480156102fc575f80fd5b5061031061030b366004612029565b6107f6565b005b34801561031d575f80fd5b5061031061032c366004612052565b610837565b34801561033c575f80fd5b5061028d61034b36600461206d565b6108ea565b34801561035b575f80fd5b5061026160145481565b348015610370575f80fd5b50610261600d5481565b348015610385575f80fd5b5061026160125481565b34801561039a575f80fd5b5060105460405160ff909116815260200161026b565b3480156103bb575f80fd5b506103106103ca3660046120b8565b610951565b3480156103da575f80fd5b5061028d6103e9366004611fff565b610a75565b3480156103f9575f80fd5b5060035461040d906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610430575f80fd5b50610261600c5481565b348015610445575f80fd5b506103106104543660046120ef565b610aaa565b348015610464575f80fd5b5060015461040d906001600160a01b031681565b348015610483575f80fd5b5061028d610492366004612052565b60076020525f908152604090205460ff1681565b3480156104b1575f80fd5b506103106104c036600461206d565b610b22565b3480156104d0575f80fd5b5061040d6104df3660046120ef565b610c7f565b3480156104ef575f80fd5b506102616104fe366004612052565b6001600160a01b03165f9081526006602052604090205490565b348015610523575f80fd5b50610310610ca7565b348015610537575f80fd5b505f5461040d906001600160a01b031681565b348015610555575f80fd5b50610310610d1a565b348015610569575f80fd5b506016546001600160a01b031661040d565b348015610586575f80fd5b506102b1610e4c565b34801561059a575f80fd5b5061028d6105a9366004611fff565b610e5b565b3480156105b9575f80fd5b5061028d6105c8366004611fff565b610ea8565b3480156105d8575f80fd5b50610261600b5481565b3480156105ed575f80fd5b5060135461028d9060ff1681565b348015610606575f80fd5b50610310610615366004612106565b610eb4565b348015610625575f80fd5b5061026160045481565b34801561063a575f80fd5b50610310610f3e565b34801561064e575f80fd5b5061026161065d366004612122565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610692575f80fd5b506103106106a13660046120b8565b610fa1565b3480156106b1575f80fd5b5061028d6106c0366004612052565b60086020525f908152604090205460ff1681565b3480156106df575f80fd5b506103106106ee366004612052565b611064565b3480156106fe575f80fd5b5060155461040d906001600160a01b031681565b34801561071d575f80fd5b5061031061072c36600461214e565b61114e565b34801561073c575f80fd5b5060105461028d9062010000900460ff1681565b6060600e805461075f9061217d565b80601f016020809104026020016040519081016040528092919081815260200182805461078b9061217d565b80156107d65780601f106107ad576101008083540402835291602001916107d6565b820191905f5260205f20905b8154815290600101906020018083116107b957829003601f168201915b5050505050905090565b5f6107ec338484611353565b5060015b92915050565b6016546001600160a01b031633146108295760405162461bcd60e51b8152600401610820906121b5565b60405180910390fd5b600b92909255600c55600d55565b6016546001600160a01b031633146108615760405162461bcd60e51b8152600401610820906121b5565b6015546001600160a01b038083169116036108c85760405162461bcd60e51b815260206004820152602160248201527f424c55453a20416c7265616479207365742061732073616d65206164647265736044820152607360f81b6064820152608401610820565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6108f6848484611476565b61094784336109428560405180606001604052806028815260200161238a602891396001600160a01b038a165f9081526009602090815260408083203384529091529020549190611bb8565b611353565b5060019392505050565b6016546001600160a01b0316331461097b5760405162461bcd60e51b8152600401610820906121b5565b6001600160a01b0382165f9081526008602052604090205481151560ff9091161515036109ea5760405162461bcd60e51b815260206004820152601f60248201527f424c55453a20416c7265616479207365742061732073616d652076616c7565006044820152606401610820565b6001600160a01b038281165f818152600860205260408120805460ff19168515151790556002805460018101825591527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905560035416610a7157600380546001600160a01b0319166001600160a01b0384161790555b5050565b335f8181526009602090815260408083206001600160a01b038716845290915281205490916107ec9185906109429086611bf0565b6016546001600160a01b03163314610ad45760405162461bcd60e51b8152600401610820906121b5565b61012c811115610b1d5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba1039b2ba1030b137bb329019929760611b6044820152606401610820565b601455565b6016546001600160a01b03163314610b4c5760405162461bcd60e51b8152600401610820906121b5565b5f8111610ba75760405162461bcd60e51b815260206004820152602360248201527f424c55453a20616d6f756e74206d75737420626520677265617465722074686160448201526206e20360ec1b6064820152608401610820565b6001600160a01b038216610c095760405162461bcd60e51b815260206004820152602360248201527f424c55453a20726563697069656e7420697320746865207a65726f206164647260448201526265737360e81b6064820152608401610820565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610c55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7991906121ea565b50505050565b60028181548110610c8e575f80fd5b5f918252602090912001546001600160a01b0316905081565b6016546001600160a01b03163314610cd15760405162461bcd60e51b8152600401610820906121b5565b6016546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3601680546001600160a01b0319169055565b6016546001600160a01b03163314610d445760405162461bcd60e51b8152600401610820906121b5565b60055460ff1615610d975760405162461bcd60e51b815260206004820152601f60248201527f424c55453a2054726164696e6720697320616c7265647920656e61626c6564006044820152606401610820565b600254610df25760405162461bcd60e51b8152602060048201526024808201527f424c55453a20506c656173652061646420616c6c2074686520706169727320666044820152631a5c9cdd60e21b6064820152608401610820565b6005805460ff19166001908117909155426004556010805462ff00001916620100001790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a1565b6060600f805461075f9061217d565b5f6107ec3384610942856040518060600160405280602581526020016123d260259139335f9081526009602090815260408083206001600160a01b038d1684529091529020549190611bb8565b5f6107ec338484611476565b6016546001600160a01b03163314610ede5760405162461bcd60e51b8152600401610820906121b5565b6010805462ff0000191662010000841515908102919091179091556013805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6016546001600160a01b03163314610f685760405162461bcd60e51b8152600401610820906121b5565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f9e573d5f803e3d5ffd5b50565b6016546001600160a01b03163314610fcb5760405162461bcd60e51b8152600401610820906121b5565b6001600160a01b0382165f9081526007602052604090205481151560ff90911615150361103a5760405162461bcd60e51b815260206004820152601f60248201527f424c55453a20416c7265616479207365742061732073616d652076616c7565006044820152606401610820565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b0316331461108e5760405162461bcd60e51b8152600401610820906121b5565b6001600160a01b0381166110f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610820565b6016546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3601680546001600160a01b0319166001600160a01b0392909216919091179055565b6016546001600160a01b031633146111785760405162461bcd60e51b8152600401610820906121b5565b8284611192653ec1507d5000670de0b6b3a7640000612219565b61119c9190612219565b6111a69190612230565b60115580826111c3653ec1507d5000670de0b6b3a7640000612219565b6111cd9190612219565b6111d79190612230565b601281905560115411156112375760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610820565b6003546001600160a01b03165f908152600660205260409020546103e890611260906014612219565b61126a9190612230565b60125411156112c55760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f742062652061626f7665203225206f662063757272656e742050496044820152601760f91b6064820152608401610820565b629896806112e1653ec1507d5000670de0b6b3a7640000612219565b6112eb9190612230565b601254101561130c5760405162461bcd60e51b81526004016108209061224f565b62989680611328653ec1507d5000670de0b6b3a7640000612219565b6113329190612230565b6011541015610c795760405162461bcd60e51b81526004016108209061224f565b6001600160a01b0383166113b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610820565b6001600160a01b0382166114165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610820565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610820565b6001600160a01b03821661153c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610820565b6001600160a01b0383165f908152600860205260408120548190819060ff16156115695760019250611596565b6001600160a01b0385165f9081526008602052604090205460ff16156115925760019150611596565b5060015b5f6115b76103e86115b1600f6115ab600a5490565b90611c55565b90611cd3565b90505f6115d8876001600160a01b03165f9081526006602052604090205490565b6001600160a01b0389165f9081526007602052604090205490915060ff1615801561161b57506001600160a01b0387165f9081526007602052604090205460ff16155b15611afc5760055460ff1661167e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a2054726164696e67206973206e6f7420656e61626c65642079656044820152623a171760e91b6064820152608401610820565b60045461168d9061012c611bf0565b42116116ec578161169e8288611bf0565b11156116ec5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20457863656564206d6178696d756d2077616c6c65742e2e00006044820152606401610820565b831561177a57601054610100900460ff1661177a5760105462010000900460ff161561177a57305f9081526006602052604090205460115481106117785760125460135460ff1615611762576014546003546001600160a01b03165f9081526006602052604090205461175f9190612219565b90505b80821061176d578091505b61177682611d14565b505b505b6001600160a01b0388165f9081526008602052604090205460ff161580156117ba57506001600160a01b0387165f9081526008602052604090205460ff16155b156118be575f6117da60646115b1600b548a611c5590919063ffffffff16565b6004549091506117eb906078611bf0565b42116118045761180160646115b1896063611c55565b90505b61180e8782611f32565b965061184c81604051806060016040528060268152602001612364602691396001600160a01b038c165f908152600660205260409020549190611bb8565b6001600160a01b038a165f908152600660205260408082209290925530815220546118779082611bf0565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123b2833981519152906118b49085815260200190565b60405180910390a3505b6001600160a01b0388165f9081526008602052604090205460ff16156119dd575f6118f960646115b1600c548a611c5590919063ffffffff16565b60045490915061190a906078611bf0565b42116119235761192060646115b1896063611c55565b90505b61192d8782611f32565b965061196b81604051806060016040528060268152602001612364602691396001600160a01b038c165f908152600660205260409020549190611bb8565b6001600160a01b038a165f908152600660205260408082209290925530815220546119969082611bf0565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123b2833981519152906119d39085815260200190565b60405180910390a3505b6001600160a01b0387165f9081526008602052604090205460ff1615611afc575f611a1860646115b1600d548a611c5590919063ffffffff16565b600454909150611a29906078611bf0565b4211611a4257611a3f60646115b1896063611c55565b90505b611a4c8782611f32565b9650611a8a81604051806060016040528060268152602001612364602691396001600160a01b038c165f908152600660205260409020549190611bb8565b6001600160a01b038a165f90815260066020526040808220929092553081522054611ab59082611bf0565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123b283398151915290611af29085815260200190565b60405180910390a3505b611b3886604051806060016040528060268152602001612364602691396001600160a01b038b165f908152600660205260409020549190611bb8565b6001600160a01b03808a165f908152600660205260408082209390935590891681522054611b669087611bf0565b6001600160a01b038089165f8181526006602052604090819020939093559151908a16905f805160206123b283398151915290611ba6908a815260200190565b60405180910390a35050505050505050565b5f8184841115611bdb5760405162461bcd60e51b81526004016108209190611f9f565b505f611be7848661229d565b95945050505050565b5f80611bfc83856122b0565b905083811015611c4e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610820565b9392505050565b5f825f03611c6457505f6107f0565b5f611c6f8385612219565b905082611c7c8583612230565b14611c4e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610820565b5f611c4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f73565b6010805461ff001916610100179055305f90815260096020908152604080832083546001600160a01b031684529091529020545f1914611d7657305f90815260096020908152604080832083546001600160a01b0316845290915290205f1990555b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611da957611da96122c3565b60200260200101906001600160a01b031690816001600160a01b0316815250505f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3b91906122d7565b81600181518110611e4e57611e4e6122c3565b6001600160a01b0392831660209182029290920101525f805460405163791ac94760e01b815292169163791ac94791611e92918691908690309042906004016122f2565b5f604051808303815f87803b158015611ea9575f80fd5b505af1925050508015611eba575060015b611ec45750611f24565b60155460405147915f9183916001600160a01b0316906188b890839085818181858888f193505050503d805f8114611f17576040519150601f19603f3d011682016040523d82523d5f602084013e611f1c565b606091505b505050505050505b506010805461ff0019169055565b5f611c4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bb8565b5f8183611f935760405162461bcd60e51b81526004016108209190611f9f565b505f611be78486612230565b5f602080835283518060208501525f5b81811015611fcb57858101830151858201604001528201611faf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9e575f80fd5b5f8060408385031215612010575f80fd5b823561201b81611feb565b946020939093013593505050565b5f805f6060848603121561203b575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215612062575f80fd5b8135611c4e81611feb565b5f805f6060848603121561207f575f80fd5b833561208a81611feb565b9250602084013561209a81611feb565b929592945050506040919091013590565b8015158114610f9e575f80fd5b5f80604083850312156120c9575f80fd5b82356120d481611feb565b915060208301356120e4816120ab565b809150509250929050565b5f602082840312156120ff575f80fd5b5035919050565b5f8060408385031215612117575f80fd5b82356120d4816120ab565b5f8060408385031215612133575f80fd5b823561213e81611feb565b915060208301356120e481611feb565b5f805f8060808587031215612161575f80fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061219157607f821691505b6020821081036121af57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156121fa575f80fd5b8151611c4e816120ab565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107f0576107f0612205565b5f8261224a57634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b818103818111156107f0576107f0612205565b808201808211156107f0576107f0612205565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156122e7575f80fd5b8151611c4e81611feb565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123425784516001600160a01b03168352938301939183019160010161231d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201e2cb2150e278733106da9c9cdee7f9354ef1b58b75e85339092a843c5c4f8ad64736f6c634300081600330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405260043610610241575f3560e01c80636a58f23f11610134578063b7df8b36116100b3578063e1b724a811610078578063e1b724a814610687578063e5e31b13146106a6578063f2fde38b146106d4578063f94aa1b4146106f3578063fb78680d14610712578063fdb78c0e14610731575f80fd5b8063b7df8b36146105e2578063bfc2fc35146105fb578063c31fe80a1461061a578063c9b25f0f1461062f578063dd62ed3e14610643575f80fd5b80638da5cb5b116100f95780638da5cb5b1461055e57806395d89b411461057b578063a457c2d71461058f578063a9059cbb146105ae578063acb2ad6f146105cd575f80fd5b80636a58f23f146104c557806370a08231146104e4578063715018a614610518578063735de9f71461052c5780638a8c523c1461054a575f80fd5b80632e8fa821116101c0578063470624021161018557806347062402146104255780634e718e481461043a5780634f0e0ef3146104595780635342acb4146104785780636a395ccb146104a6575f80fd5b80632e8fa8211461037a578063313ce5671461038f57806332e19252146103b057806339509351146103cf578063452ed4f1146103ee575f80fd5b8063224290851161020657806322429085146102f15780632369bf831461031257806323b872dd1461033157806328577751146103505780632b14ca5614610365575f80fd5b80630445b6671461024c578063064a59d01461027457806306fdde031461029d578063095ea7b3146102be57806318160ddd146102dd575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b5061026160115481565b6040519081526020015b60405180910390f35b34801561027f575f80fd5b5060055461028d9060ff1681565b604051901515815260200161026b565b3480156102a8575f80fd5b506102b1610750565b60405161026b9190611f9f565b3480156102c9575f80fd5b5061028d6102d8366004611fff565b6107e0565b3480156102e8575f80fd5b50600a54610261565b3480156102fc575f80fd5b5061031061030b366004612029565b6107f6565b005b34801561031d575f80fd5b5061031061032c366004612052565b610837565b34801561033c575f80fd5b5061028d61034b36600461206d565b6108ea565b34801561035b575f80fd5b5061026160145481565b348015610370575f80fd5b50610261600d5481565b348015610385575f80fd5b5061026160125481565b34801561039a575f80fd5b5060105460405160ff909116815260200161026b565b3480156103bb575f80fd5b506103106103ca3660046120b8565b610951565b3480156103da575f80fd5b5061028d6103e9366004611fff565b610a75565b3480156103f9575f80fd5b5060035461040d906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610430575f80fd5b50610261600c5481565b348015610445575f80fd5b506103106104543660046120ef565b610aaa565b348015610464575f80fd5b5060015461040d906001600160a01b031681565b348015610483575f80fd5b5061028d610492366004612052565b60076020525f908152604090205460ff1681565b3480156104b1575f80fd5b506103106104c036600461206d565b610b22565b3480156104d0575f80fd5b5061040d6104df3660046120ef565b610c7f565b3480156104ef575f80fd5b506102616104fe366004612052565b6001600160a01b03165f9081526006602052604090205490565b348015610523575f80fd5b50610310610ca7565b348015610537575f80fd5b505f5461040d906001600160a01b031681565b348015610555575f80fd5b50610310610d1a565b348015610569575f80fd5b506016546001600160a01b031661040d565b348015610586575f80fd5b506102b1610e4c565b34801561059a575f80fd5b5061028d6105a9366004611fff565b610e5b565b3480156105b9575f80fd5b5061028d6105c8366004611fff565b610ea8565b3480156105d8575f80fd5b50610261600b5481565b3480156105ed575f80fd5b5060135461028d9060ff1681565b348015610606575f80fd5b50610310610615366004612106565b610eb4565b348015610625575f80fd5b5061026160045481565b34801561063a575f80fd5b50610310610f3e565b34801561064e575f80fd5b5061026161065d366004612122565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610692575f80fd5b506103106106a13660046120b8565b610fa1565b3480156106b1575f80fd5b5061028d6106c0366004612052565b60086020525f908152604090205460ff1681565b3480156106df575f80fd5b506103106106ee366004612052565b611064565b3480156106fe575f80fd5b5060155461040d906001600160a01b031681565b34801561071d575f80fd5b5061031061072c36600461214e565b61114e565b34801561073c575f80fd5b5060105461028d9062010000900460ff1681565b6060600e805461075f9061217d565b80601f016020809104026020016040519081016040528092919081815260200182805461078b9061217d565b80156107d65780601f106107ad576101008083540402835291602001916107d6565b820191905f5260205f20905b8154815290600101906020018083116107b957829003601f168201915b5050505050905090565b5f6107ec338484611353565b5060015b92915050565b6016546001600160a01b031633146108295760405162461bcd60e51b8152600401610820906121b5565b60405180910390fd5b600b92909255600c55600d55565b6016546001600160a01b031633146108615760405162461bcd60e51b8152600401610820906121b5565b6015546001600160a01b038083169116036108c85760405162461bcd60e51b815260206004820152602160248201527f424c55453a20416c7265616479207365742061732073616d65206164647265736044820152607360f81b6064820152608401610820565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6108f6848484611476565b61094784336109428560405180606001604052806028815260200161238a602891396001600160a01b038a165f9081526009602090815260408083203384529091529020549190611bb8565b611353565b5060019392505050565b6016546001600160a01b0316331461097b5760405162461bcd60e51b8152600401610820906121b5565b6001600160a01b0382165f9081526008602052604090205481151560ff9091161515036109ea5760405162461bcd60e51b815260206004820152601f60248201527f424c55453a20416c7265616479207365742061732073616d652076616c7565006044820152606401610820565b6001600160a01b038281165f818152600860205260408120805460ff19168515151790556002805460018101825591527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905560035416610a7157600380546001600160a01b0319166001600160a01b0384161790555b5050565b335f8181526009602090815260408083206001600160a01b038716845290915281205490916107ec9185906109429086611bf0565b6016546001600160a01b03163314610ad45760405162461bcd60e51b8152600401610820906121b5565b61012c811115610b1d5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba1039b2ba1030b137bb329019929760611b6044820152606401610820565b601455565b6016546001600160a01b03163314610b4c5760405162461bcd60e51b8152600401610820906121b5565b5f8111610ba75760405162461bcd60e51b815260206004820152602360248201527f424c55453a20616d6f756e74206d75737420626520677265617465722074686160448201526206e20360ec1b6064820152608401610820565b6001600160a01b038216610c095760405162461bcd60e51b815260206004820152602360248201527f424c55453a20726563697069656e7420697320746865207a65726f206164647260448201526265737360e81b6064820152608401610820565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610c55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7991906121ea565b50505050565b60028181548110610c8e575f80fd5b5f918252602090912001546001600160a01b0316905081565b6016546001600160a01b03163314610cd15760405162461bcd60e51b8152600401610820906121b5565b6016546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3601680546001600160a01b0319169055565b6016546001600160a01b03163314610d445760405162461bcd60e51b8152600401610820906121b5565b60055460ff1615610d975760405162461bcd60e51b815260206004820152601f60248201527f424c55453a2054726164696e6720697320616c7265647920656e61626c6564006044820152606401610820565b600254610df25760405162461bcd60e51b8152602060048201526024808201527f424c55453a20506c656173652061646420616c6c2074686520706169727320666044820152631a5c9cdd60e21b6064820152608401610820565b6005805460ff19166001908117909155426004556010805462ff00001916620100001790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a1565b6060600f805461075f9061217d565b5f6107ec3384610942856040518060600160405280602581526020016123d260259139335f9081526009602090815260408083206001600160a01b038d1684529091529020549190611bb8565b5f6107ec338484611476565b6016546001600160a01b03163314610ede5760405162461bcd60e51b8152600401610820906121b5565b6010805462ff0000191662010000841515908102919091179091556013805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6016546001600160a01b03163314610f685760405162461bcd60e51b8152600401610820906121b5565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f9e573d5f803e3d5ffd5b50565b6016546001600160a01b03163314610fcb5760405162461bcd60e51b8152600401610820906121b5565b6001600160a01b0382165f9081526007602052604090205481151560ff90911615150361103a5760405162461bcd60e51b815260206004820152601f60248201527f424c55453a20416c7265616479207365742061732073616d652076616c7565006044820152606401610820565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b0316331461108e5760405162461bcd60e51b8152600401610820906121b5565b6001600160a01b0381166110f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610820565b6016546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3601680546001600160a01b0319166001600160a01b0392909216919091179055565b6016546001600160a01b031633146111785760405162461bcd60e51b8152600401610820906121b5565b8284611192653ec1507d5000670de0b6b3a7640000612219565b61119c9190612219565b6111a69190612230565b60115580826111c3653ec1507d5000670de0b6b3a7640000612219565b6111cd9190612219565b6111d79190612230565b601281905560115411156112375760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610820565b6003546001600160a01b03165f908152600660205260409020546103e890611260906014612219565b61126a9190612230565b60125411156112c55760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f742062652061626f7665203225206f662063757272656e742050496044820152601760f91b6064820152608401610820565b629896806112e1653ec1507d5000670de0b6b3a7640000612219565b6112eb9190612230565b601254101561130c5760405162461bcd60e51b81526004016108209061224f565b62989680611328653ec1507d5000670de0b6b3a7640000612219565b6113329190612230565b6011541015610c795760405162461bcd60e51b81526004016108209061224f565b6001600160a01b0383166113b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610820565b6001600160a01b0382166114165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610820565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610820565b6001600160a01b03821661153c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610820565b6001600160a01b0383165f908152600860205260408120548190819060ff16156115695760019250611596565b6001600160a01b0385165f9081526008602052604090205460ff16156115925760019150611596565b5060015b5f6115b76103e86115b1600f6115ab600a5490565b90611c55565b90611cd3565b90505f6115d8876001600160a01b03165f9081526006602052604090205490565b6001600160a01b0389165f9081526007602052604090205490915060ff1615801561161b57506001600160a01b0387165f9081526007602052604090205460ff16155b15611afc5760055460ff1661167e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a2054726164696e67206973206e6f7420656e61626c65642079656044820152623a171760e91b6064820152608401610820565b60045461168d9061012c611bf0565b42116116ec578161169e8288611bf0565b11156116ec5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20457863656564206d6178696d756d2077616c6c65742e2e00006044820152606401610820565b831561177a57601054610100900460ff1661177a5760105462010000900460ff161561177a57305f9081526006602052604090205460115481106117785760125460135460ff1615611762576014546003546001600160a01b03165f9081526006602052604090205461175f9190612219565b90505b80821061176d578091505b61177682611d14565b505b505b6001600160a01b0388165f9081526008602052604090205460ff161580156117ba57506001600160a01b0387165f9081526008602052604090205460ff16155b156118be575f6117da60646115b1600b548a611c5590919063ffffffff16565b6004549091506117eb906078611bf0565b42116118045761180160646115b1896063611c55565b90505b61180e8782611f32565b965061184c81604051806060016040528060268152602001612364602691396001600160a01b038c165f908152600660205260409020549190611bb8565b6001600160a01b038a165f908152600660205260408082209290925530815220546118779082611bf0565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123b2833981519152906118b49085815260200190565b60405180910390a3505b6001600160a01b0388165f9081526008602052604090205460ff16156119dd575f6118f960646115b1600c548a611c5590919063ffffffff16565b60045490915061190a906078611bf0565b42116119235761192060646115b1896063611c55565b90505b61192d8782611f32565b965061196b81604051806060016040528060268152602001612364602691396001600160a01b038c165f908152600660205260409020549190611bb8565b6001600160a01b038a165f908152600660205260408082209290925530815220546119969082611bf0565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123b2833981519152906119d39085815260200190565b60405180910390a3505b6001600160a01b0387165f9081526008602052604090205460ff1615611afc575f611a1860646115b1600d548a611c5590919063ffffffff16565b600454909150611a29906078611bf0565b4211611a4257611a3f60646115b1896063611c55565b90505b611a4c8782611f32565b9650611a8a81604051806060016040528060268152602001612364602691396001600160a01b038c165f908152600660205260409020549190611bb8565b6001600160a01b038a165f90815260066020526040808220929092553081522054611ab59082611bf0565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123b283398151915290611af29085815260200190565b60405180910390a3505b611b3886604051806060016040528060268152602001612364602691396001600160a01b038b165f908152600660205260409020549190611bb8565b6001600160a01b03808a165f908152600660205260408082209390935590891681522054611b669087611bf0565b6001600160a01b038089165f8181526006602052604090819020939093559151908a16905f805160206123b283398151915290611ba6908a815260200190565b60405180910390a35050505050505050565b5f8184841115611bdb5760405162461bcd60e51b81526004016108209190611f9f565b505f611be7848661229d565b95945050505050565b5f80611bfc83856122b0565b905083811015611c4e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610820565b9392505050565b5f825f03611c6457505f6107f0565b5f611c6f8385612219565b905082611c7c8583612230565b14611c4e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610820565b5f611c4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f73565b6010805461ff001916610100179055305f90815260096020908152604080832083546001600160a01b031684529091529020545f1914611d7657305f90815260096020908152604080832083546001600160a01b0316845290915290205f1990555b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611da957611da96122c3565b60200260200101906001600160a01b031690816001600160a01b0316815250505f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3b91906122d7565b81600181518110611e4e57611e4e6122c3565b6001600160a01b0392831660209182029290920101525f805460405163791ac94760e01b815292169163791ac94791611e92918691908690309042906004016122f2565b5f604051808303815f87803b158015611ea9575f80fd5b505af1925050508015611eba575060015b611ec45750611f24565b60155460405147915f9183916001600160a01b0316906188b890839085818181858888f193505050503d805f8114611f17576040519150601f19603f3d011682016040523d82523d5f602084013e611f1c565b606091505b505050505050505b506010805461ff0019169055565b5f611c4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bb8565b5f8183611f935760405162461bcd60e51b81526004016108209190611f9f565b505f611be78486612230565b5f602080835283518060208501525f5b81811015611fcb57858101830151858201604001528201611faf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9e575f80fd5b5f8060408385031215612010575f80fd5b823561201b81611feb565b946020939093013593505050565b5f805f6060848603121561203b575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215612062575f80fd5b8135611c4e81611feb565b5f805f6060848603121561207f575f80fd5b833561208a81611feb565b9250602084013561209a81611feb565b929592945050506040919091013590565b8015158114610f9e575f80fd5b5f80604083850312156120c9575f80fd5b82356120d481611feb565b915060208301356120e4816120ab565b809150509250929050565b5f602082840312156120ff575f80fd5b5035919050565b5f8060408385031215612117575f80fd5b82356120d4816120ab565b5f8060408385031215612133575f80fd5b823561213e81611feb565b915060208301356120e481611feb565b5f805f8060808587031215612161575f80fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061219157607f821691505b6020821081036121af57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156121fa575f80fd5b8151611c4e816120ab565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107f0576107f0612205565b5f8261224a57634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b818103818111156107f0576107f0612205565b808201808211156107f0576107f0612205565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156122e7575f80fd5b8151611c4e81611feb565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123425784516001600160a01b03168352938301939183019160010161231d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201e2cb2150e278733106da9c9cdee7f9354ef1b58b75e85339092a843c5c4f8ad64736f6c63430008160033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

16782:3498:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7820:28;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7820:28:0;;;;;;;;7234:36;;;;;;;;;;-1:-1:-1;7234:36:0;;;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;7234:36:0;196:187:1;8609:83:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9463:167::-;;;;;;;;;;-1:-1:-1;9463:167:0;;;;;:::i;:::-;;:::i;8886:100::-;;;;;;;;;;-1:-1:-1;8966:12:0;;8886:100;;19531:171;;;;;;;;;;-1:-1:-1;19531:171:0;;;;;:::i;:::-;;:::i;:::-;;19295:228;;;;;;;;;;-1:-1:-1;19295:228:0;;;;;:::i;:::-;;:::i;9638:321::-;;;;;;;;;;-1:-1:-1;9638:321:0;;;;;:::i;:::-;;:::i;7928:28::-;;;;;;;;;;;;;;;;7628:27;;;;;;;;;;;;;;;;7855:25;;;;;;;;;;;;;;;;8795:83;;;;;;;;;;-1:-1:-1;8861:9:0;;8795:83;;8861:9;;;;2581:36:1;;2569:2;2554:18;8795:83:0;2439:184:1;17808:291:0;;;;;;;;;;-1:-1:-1;17808:291:0;;;;;:::i;:::-;;:::i;9967:218::-;;;;;;;;;;-1:-1:-1;9967:218:0;;;;;:::i;:::-;;:::i;7164:21::-;;;;;;;;;;-1:-1:-1;7164:21:0;;;;-1:-1:-1;;;;;7164:21:0;;;;;;-1:-1:-1;;;;;3302:32:1;;;3284:51;;3272:2;3257:18;7164:21:0;3138:203:1;7595:26:0;;;;;;;;;;;;;;;;18801:215;;;;;;;;;;-1:-1:-1;18801:215:0;;;;;:::i;:::-;;:::i;7098:26::-;;;;;;;;;;-1:-1:-1;7098:26:0;;;;-1:-1:-1;;;;;7098:26:0;;;7332:50;;;;;;;;;;-1:-1:-1;7332:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19915:324;;;;;;;;;;-1:-1:-1;19915:324:0;;;;;:::i;:::-;;:::i;7131:26::-;;;;;;;;;;-1:-1:-1;7131:26:0;;;;;:::i;:::-;;:::i;8994:119::-;;;;;;;;;;-1:-1:-1;8994:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9087:18:0;9060:7;9087:18;;;:9;:18;;;;;;;8994:119;6355:148;;;;;;;;;;;;;:::i;7052:39::-;;;;;;;;;;-1:-1:-1;7052:39:0;;;;-1:-1:-1;;;;;7052:39:0;;;17220:366;;;;;;;;;;;;;:::i;5713:79::-;;;;;;;;;;-1:-1:-1;5778:6:0;;-1:-1:-1;;;;;5778:6:0;5713:79;;8700:87;;;;;;;;;;;;;:::i;10193:269::-;;;;;;;;;;-1:-1:-1;10193:269:0;;;;;:::i;:::-;;:::i;9121:175::-;;;;;;;;;;-1:-1:-1;9121:175:0;;;;;:::i;:::-;;:::i;7558:30::-;;;;;;;;;;;;;;;;7887:34;;;;;;;;;;-1:-1:-1;7887:34:0;;;;;;;;19024:263;;;;;;;;;;-1:-1:-1;19024:263:0;;;;;:::i;:::-;;:::i;7194:31::-;;;;;;;;;;;;;;;;19710:109;;;;;;;;;;;;;:::i;9304:151::-;;;;;;;;;;-1:-1:-1;9304:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;9420:18:0;;;9393:7;9420:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9304:151;17594:206;;;;;;;;;;-1:-1:-1;17594:206:0;;;;;:::i;:::-;;:::i;7389:39::-;;;;;;;;;;-1:-1:-1;7389:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6658:244;;;;;;;;;;-1:-1:-1;6658:244:0;;;;;:::i;:::-;;:::i;8035:128::-;;;;;;;;;;-1:-1:-1;8035:128:0;;;;-1:-1:-1;;;;;8035:128:0;;;18107:686;;;;;;;;;;-1:-1:-1;18107:686:0;;;;;:::i;:::-;;:::i;7774:39::-;;;;;;;;;;-1:-1:-1;7774:39:0;;;;;;;;;;;8609:83;8646:13;8679:5;8672:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8609:83;:::o;9463:167::-;9546:4;9563:37;9572:10;9584:7;9593:6;9563:8;:37::i;:::-;-1:-1:-1;9618:4:0;9463:167;;;;;:::o;19531:171::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;;;;;;;;;19624:11:::1;:22:::0;;;;19657:6:::1;:12:::0;19680:7:::1;:14:::0;19531:171::o;19295:228::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;19390:11:::1;:21:::0;-1:-1:-1;;;;;19390:34:0;;::::1;:21:::0;::::1;:34:::0;19382:80:::1;;;::::0;-1:-1:-1;;;19382:80:0;;6352:2:1;19382:80:0::1;::::0;::::1;6334:21:1::0;6391:2;6371:18;;;6364:30;6430:34;6410:18;;;6403:62;-1:-1:-1;;;6481:18:1;;;6474:31;6522:19;;19382:80:0::1;6150:397:1::0;19382:80:0::1;19473:11;:42:::0;;-1:-1:-1;;;;;;19473:42:0::1;-1:-1:-1::0;;;;;19473:42:0;;;::::1;::::0;;;::::1;::::0;;19295:228::o;9638:321::-;9744:4;9761:36;9771:6;9779:9;9790:6;9761:9;:36::i;:::-;9808:121;9817:6;4375:10;9839:89;9877:6;9839:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9839:19:0;;;;;;:11;:19;;;;;;;;4375:10;9839:33;;;;;;;;;;:37;:89::i;:::-;9808:8;:121::i;:::-;-1:-1:-1;9947:4:0;9638:321;;;;;:::o;17808:291::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17896:12:0;::::1;;::::0;;;:6:::1;:12;::::0;;;;;:21;::::1;;:12;::::0;;::::1;:21;;::::0;17888:65:::1;;;::::0;-1:-1:-1;;;17888:65:0;;6754:2:1;17888:65:0::1;::::0;::::1;6736:21:1::0;6793:2;6773:18;;;6766:30;6832:33;6812:18;;;6805:61;6883:18;;17888:65:0::1;6552:355:1::0;17888:65:0::1;-1:-1:-1::0;;;;;17964:12:0;;::::1;;::::0;;;:6:::1;:12;::::0;;;;:20;;-1:-1:-1;;17964:20:0::1;::::0;::::1;;;::::0;;17995:9:::1;:20:::0;;-1:-1:-1;17995:20:0;::::1;::::0;;;;;::::1;::::0;;-1:-1:-1;;;;;;17995:20:0::1;::::0;;::::1;::::0;;18030:6:::1;::::0;::::1;18026:66;;18067:6;:13:::0;;-1:-1:-1;;;;;;18067:13:0::1;-1:-1:-1::0;;;;;18067:13:0;::::1;;::::0;;18026:66:::1;17808:291:::0;;:::o;9967:218::-;4375:10;10055:4;10104:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10104:34:0;;;;;;;;;;10055:4;;10072:83;;10095:7;;10104:50;;10143:10;10104:38;:50::i;18801:215::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;18931:3:::1;18905:22;:29;;18897:62;;;::::0;-1:-1:-1;;;18897:62:0;;7114:2:1;18897:62:0::1;::::0;::::1;7096:21:1::0;7153:2;7133:18;;;7126:30;-1:-1:-1;;;7172:18:1;;;7165:50;7232:18;;18897:62:0::1;6912:344:1::0;18897:62:0::1;18970:13;:38:::0;18801:215::o;19915:324::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;20049:1:::1;20040:6;:10;20032:58;;;::::0;-1:-1:-1;;;20032:58:0;;7463:2:1;20032:58:0::1;::::0;::::1;7445:21:1::0;7502:2;7482:18;;;7475:30;7541:34;7521:18;;;7514:62;-1:-1:-1;;;7592:18:1;;;7585:33;7635:19;;20032:58:0::1;7261:399:1::0;20032:58:0::1;-1:-1:-1::0;;;;;20109:23:0;::::1;20101:71;;;::::0;-1:-1:-1;;;20101:71:0;;7867:2:1;20101:71:0::1;::::0;::::1;7849:21:1::0;7906:2;7886:18;;;7879:30;7945:34;7925:18;;;7918:62;-1:-1:-1;;;7996:18:1;;;7989:33;8039:19;;20101:71:0::1;7665:399:1::0;20101:71:0::1;20183:48;::::0;-1:-1:-1;;;20183:48:0;;-1:-1:-1;;;;;8261:32:1;;;20183:48:0::1;::::0;::::1;8243:51:1::0;8310:18;;;8303:34;;;20183:29:0;::::1;::::0;::::1;::::0;8216:18:1;;20183:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19915:324:::0;;;:::o;7131:26::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7131:26:0;;-1:-1:-1;7131:26:0;:::o;6355:148::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;6446:6:::1;::::0;6425:40:::1;::::0;6462:1:::1;::::0;-1:-1:-1;;;;;6446:6:0::1;::::0;6425:40:::1;::::0;6462:1;;6425:40:::1;6476:6;:19:::0;;-1:-1:-1;;;;;;6476:19:0::1;::::0;;6355:148::o;17220:366::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;17282:16:::1;::::0;::::1;;17281:17;17273:61;;;::::0;-1:-1:-1;;;17273:61:0;;8800:2:1;17273:61:0::1;::::0;::::1;8782:21:1::0;8839:2;8819:18;;;8812:30;8878:33;8858:18;;;8851:61;8929:18;;17273:61:0::1;8598:355:1::0;17273:61:0::1;17353:9;:16:::0;17345:69:::1;;;::::0;-1:-1:-1;;;17345:69:0;;9160:2:1;17345:69:0::1;::::0;::::1;9142:21:1::0;9199:2;9179:18;;;9172:30;9238:34;9218:18;;;9211:62;-1:-1:-1;;;9289:18:1;;;9282:34;9333:19;;17345:69:0::1;8958:400:1::0;17345:69:0::1;17425:16;:23:::0;;-1:-1:-1;;17425:23:0::1;17444:4;17425:23:::0;;::::1;::::0;;;17478:15:::1;17459:16;:34:::0;17504:19:::1;:26:::0;;-1:-1:-1;;17504:26:0::1;::::0;::::1;::::0;;17546:32:::1;::::0;336:41:1;;;17546:32:0::1;::::0;324:2:1;309:18;17546:32:0::1;;;;;;;17220:366::o:0;8700:87::-;8739:13;8772:7;8765:14;;;;;:::i;10193:269::-;10286:4;10303:129;4375:10;10326:7;10335:96;10374:15;10335:96;;;;;;;;;;;;;;;;;4375:10;10335:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10335:34:0;;;;;;;;;;;;:38;:96::i;9121:175::-;9207:4;9224:42;4375:10;9248:9;9259:6;9224:9;:42::i;19024:263::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;19133:19:::1;:33:::0;;-1:-1:-1;;19133:33:0::1;::::0;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;19177:22:::1;:47:::0;;-1:-1:-1;;19177:47:0::1;::::0;::::1;;;::::0;;19240:39:::1;::::0;336:41:1;;;19240:39:0::1;::::0;324:2:1;309:18;19240:39:0::1;;;;;;;19024:263:::0;;:::o;19710:109::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;5778:6;;19763:48:::1;::::0;-1:-1:-1;;;;;5778:6:0;;;;19789:21:::1;19763:48:::0;::::1;;;::::0;::::1;::::0;;;19789:21;5778:6;19763:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;19710:109::o:0;17594:206::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17682:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;:32;::::1;;:23;::::0;;::::1;:32;;::::0;17674:76:::1;;;::::0;-1:-1:-1;;;17674:76:0;;6754:2:1;17674:76:0::1;::::0;::::1;6736:21:1::0;6793:2;6773:18;;;6766:30;6832:33;6812:18;;;6805:61;6883:18;;17674:76:0::1;6552:355:1::0;17674:76:0::1;-1:-1:-1::0;;;;;17761:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:31;;-1:-1:-1;;17761:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17594:206::o;6658:244::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6747:22:0;::::1;6739:73;;;::::0;-1:-1:-1;;;6739:73:0;;9565:2:1;6739:73:0::1;::::0;::::1;9547:21:1::0;9604:2;9584:18;;;9577:30;9643:34;9623:18;;;9616:62;-1:-1:-1;;;9694:18:1;;;9687:36;9740:19;;6739:73:0::1;9363:402:1::0;6739:73:0::1;6849:6;::::0;6828:38:::1;::::0;-1:-1:-1;;;;;6828:38:0;;::::1;::::0;6849:6:::1;::::0;6828:38:::1;::::0;6849:6:::1;::::0;6828:38:::1;6877:6;:17:::0;;-1:-1:-1;;;;;;6877:17:0::1;-1:-1:-1::0;;;;;6877:17:0;;;::::1;::::0;;;::::1;::::0;;6658:244::o;18107:686::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;18307:16;18287;16929:24:::1;16869:18;16946:7;16929:24;:::i;:::-;18277:26;;;;:::i;:::-;18276:47;;;;:::i;:::-;18260:13;:63:::0;18375:13;18358;16929:24:::1;16869:18;16946:7;16929:24;:::i;:::-;18348:23;;;;:::i;:::-;18347:41;;;;:::i;:::-;18334:10;:54:::0;;;18407:13:::1;::::0;:27:::1;;18399:73;;;::::0;-1:-1:-1;;;18399:73:0;;10499:2:1;18399:73:0::1;::::0;::::1;10481:21:1::0;10538:2;10518:18;;;10511:30;10577:34;10557:18;;;10550:62;-1:-1:-1;;;10628:18:1;;;10621:31;10669:19;;18399:73:0::1;10297:397:1::0;18399:73:0::1;18516:6;::::0;-1:-1:-1;;;;;18516:6:0::1;9060:7:::0;9087:18;;;:9;:18;;;;;;18532:4:::1;::::0;18506:22:::1;::::0;18526:2:::1;18506:22;:::i;:::-;18505:31;;;;:::i;:::-;18491:10;;:45;;18483:91;;;::::0;-1:-1:-1;;;18483:91:0;;10901:2:1;18483:91:0::1;::::0;::::1;10883:21:1::0;10940:2;10920:18;;;10913:30;10979:34;10959:18;;;10952:62;-1:-1:-1;;;11030:18:1;;;11023:31;11071:19;;18483:91:0::1;10699:397:1::0;18483:91:0::1;18617:10;16929:24;16869:18;16946:7;16929:24;:::i;:::-;18607:20;;;;:::i;:::-;18593:10;;:34;;18585:93;;;;-1:-1:-1::0;;;18585:93:0::1;;;;;;;:::i;:::-;18724:10;16929:24;16869:18;16946:7;16929:24;:::i;:::-;18714:20;;;;:::i;:::-;18697:13;;:37;;18689:96;;;;-1:-1:-1::0;;;18689:96:0::1;;;;;;;:::i;16042:346::-:0;-1:-1:-1;;;;;16144:19:0;;16136:68;;;;-1:-1:-1;;;16136:68:0;;11718:2:1;16136:68:0;;;11700:21:1;11757:2;11737:18;;;11730:30;11796:34;11776:18;;;11769:62;-1:-1:-1;;;11847:18:1;;;11840:34;11891:19;;16136:68:0;11516:400:1;16136:68:0;-1:-1:-1;;;;;16223:21:0;;16215:68;;;;-1:-1:-1;;;16215:68:0;;12123:2:1;16215:68:0;;;12105:21:1;12162:2;12142:18;;;12135:30;12201:34;12181:18;;;12174:62;-1:-1:-1;;;12252:18:1;;;12245:32;12294:19;;16215:68:0;11921:398:1;16215:68:0;-1:-1:-1;;;;;16296:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16348:32;;160:25:1;;;16348:32:0;;133:18:1;16348:32:0;;;;;;;16042:346;;;:::o;10470:3857::-;-1:-1:-1;;;;;10576:20:0;;10568:70;;;;-1:-1:-1;;;10568:70:0;;12526:2:1;10568:70:0;;;12508:21:1;12565:2;12545:18;;;12538:30;12604:34;12584:18;;;12577:62;-1:-1:-1;;;12655:18:1;;;12648:35;12700:19;;10568:70:0;12324:401:1;10568:70:0;-1:-1:-1;;;;;10657:23:0;;10649:71;;;;-1:-1:-1;;;10649:71:0;;12932:2:1;10649:71:0;;;12914:21:1;12971:2;12951:18;;;12944:30;13010:34;12990:18;;;12983:62;-1:-1:-1;;;13061:18:1;;;13054:33;13104:19;;10649:71:0;12730:399:1;10649:71:0;-1:-1:-1;;;;;10819:14:0;;10731:8;10819:14;;;:6;:14;;;;;;10731:8;;;;10819:14;;10815:169;;;10856:4;10850:10;;10815:169;;;-1:-1:-1;;;;;10882:17:0;;;;;;:6;:17;;;;;;;;10878:106;;;10923:4;10916:11;;10878:106;;;-1:-1:-1;10968:4:0;10878:106;11054:22;11079:30;11105:3;11079:21;11097:2;11079:13;8966:12;;;8886:100;11079:13;:17;;:21::i;:::-;:25;;:30::i;:::-;11054:55;;11120:24;11147:20;11157:9;-1:-1:-1;;;;;9087:18:0;9060:7;9087:18;;;:9;:18;;;;;;;8994:119;11147:20;-1:-1:-1;;;;;11183:25:0;;;;;;:17;:25;;;;;;11120:47;;-1:-1:-1;11183:25:0;;11182:26;:59;;;;-1:-1:-1;;;;;;11213:28:0;;;;;;:17;:28;;;;;;;;11212:29;11182:59;11178:2913;;;11266:16;;;;11258:64;;;;-1:-1:-1;;;11258:64:0;;13336:2:1;11258:64:0;;;13318:21:1;13375:2;13355:18;;;13348:30;13414:34;13394:18;;;13387:62;-1:-1:-1;;;13465:18:1;;;13458:33;13508:19;;11258:64:0;13134:399:1;11258:64:0;11360:16;;:31;;11381:9;11360:20;:31::i;:::-;11341:15;:50;11337:187;;11448:14;11416:28;:16;11437:6;11416:20;:28::i;:::-;:46;;11408:88;;;;-1:-1:-1;;;11408:88:0;;13740:2:1;11408:88:0;;;13722:21:1;13779:2;13759:18;;;13752:30;13818:32;13798:18;;;13791:60;13868:18;;11408:88:0;13538:354:1;11408:88:0;11546:4;11542:709;;;11580:6;;;;;;;11575:657;;11619:19;;;;;;;11615:594;;;11720:4;11671:28;9087:18;;;:9;:18;;;;;;11785:13;;11761:37;;11757:425;;11853:10;;11902:22;;;;11898:78;;;11959:13;;11949:6;;-1:-1:-1;;;;;11949:6:0;9060:7;9087:18;;;:9;:18;;;;;;11939:33;;;;:::i;:::-;11928:45;;11898:78;12038:7;12014:20;:31;12010:72;;12072:7;12049:30;;12010:72;12116:34;12129:20;12116:12;:34::i;:::-;11800:382;11757:425;11640:569;11615:594;-1:-1:-1;;;;;12274:14:0;;;;;;:6;:14;;;;;;;;12273:15;:37;;;;-1:-1:-1;;;;;;12293:17:0;;;;;;:6;:17;;;;;;;;12292:18;12273:37;12269:615;;;12335:11;12349:32;12377:3;12349:23;12360:11;;12349:6;:10;;:23;;;;:::i;:32::-;12427:16;;12335:46;;-1:-1:-1;12427:31:0;;12448:9;12427:20;:31::i;:::-;12408:15;:50;12404:136;;12493:23;12512:3;12493:14;:6;12504:2;12493:10;:14::i;:23::-;12487:29;;12404:136;12591:15;:6;12602:3;12591:10;:15::i;:::-;12582:24;;12649:68;12671:3;12649:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12649:17:0;;;;;;:9;:17;;;;;;;:68;:21;:68::i;:::-;-1:-1:-1;;;;;12629:17:0;;;;;;:9;:17;;;;;;:88;;;;12785:4;12767:24;;;;:33;;12796:3;12767:28;:33::i;:::-;12758:4;12740:24;;;;:9;:24;;;;;;;:60;;;;12828:36;;-1:-1:-1;;;;;12828:36:0;;;-1:-1:-1;;;;;;;;;;;12828:36:0;;;12860:3;160:25:1;;148:2;133:18;;14:177;12828:36:0;;;;;;;;12312:572;12269:615;-1:-1:-1;;;;;12906:14:0;;;;;;:6;:14;;;;;;;;12902:568;;;12945:11;12959:27;12982:3;12959:18;12970:6;;12959;:10;;:18;;;;:::i;:27::-;13032:16;;12945:41;;-1:-1:-1;13032:31:0;;13053:9;13032:20;:31::i;:::-;13013:15;:50;13009:136;;13098:23;13117:3;13098:14;:6;13109:2;13098:10;:14::i;:23::-;13092:29;;13009:136;13177:15;:6;13188:3;13177:10;:15::i;:::-;13168:24;;13235:68;13257:3;13235:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13235:17:0;;;;;;:9;:17;;;;;;;:68;:21;:68::i;:::-;-1:-1:-1;;;;;13215:17:0;;;;;;:9;:17;;;;;;:88;;;;13371:4;13353:24;;;;:33;;13382:3;13353:28;:33::i;:::-;13344:4;13326:24;;;;:9;:24;;;;;;;:60;;;;13414:36;;-1:-1:-1;;;;;13414:36:0;;;-1:-1:-1;;;;;;;;;;;13414:36:0;;;13446:3;160:25:1;;148:2;133:18;;14:177;13414:36:0;;;;;;;;12922:548;12902:568;-1:-1:-1;;;;;13492:17:0;;;;;;:6;:17;;;;;;;;13488:592;;;13534:11;13548:28;13572:3;13548:19;13559:7;;13548:6;:10;;:19;;;;:::i;:28::-;13622:16;;13534:42;;-1:-1:-1;13622:31:0;;13643:9;13622:20;:31::i;:::-;13603:15;:50;13599:136;;13688:23;13707:3;13688:14;:6;13699:2;13688:10;:14::i;:23::-;13682:29;;13599:136;13787:15;:6;13798:3;13787:10;:15::i;:::-;13778:24;;13845:68;13867:3;13845:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13845:17:0;;;;;;:9;:17;;;;;;;:68;:21;:68::i;:::-;-1:-1:-1;;;;;13825:17:0;;;;;;:9;:17;;;;;;:88;;;;13981:4;13963:24;;;;:33;;13992:3;13963:28;:33::i;:::-;13954:4;13936:24;;;;:9;:24;;;;;;;:60;;;;14024:36;;-1:-1:-1;;;;;14024:36:0;;;-1:-1:-1;;;;;;;;;;;14024:36:0;;;14056:3;160:25:1;;148:2;133:18;;14:177;14024:36:0;;;;;;;;13511:569;13488:592;14131:71;14153:6;14131:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14131:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;14111:17:0;;;;;;;:9;:17;;;;;;:91;;;;14236:20;;;;;;;:32;;14261:6;14236:24;:32::i;:::-;-1:-1:-1;;;;;14213:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14284:35;;;;;;-1:-1:-1;;;;;;;;;;;14284:35:0;;;14312:6;160:25:1;;148:2;133:18;;14:177;14284:35:0;;;;;;;;10557:3770;;;;;10470:3857;;;:::o;1498:192::-;1584:7;1620:12;1612:6;;;;1604:29;;;;-1:-1:-1;;;1604:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1644:9:0;1656:5;1660:1;1656;:5;:::i;:::-;1644:17;1498:192;-1:-1:-1;;;;;1498:192:0:o;1165:181::-;1223:7;;1255:5;1259:1;1255;:5;:::i;:::-;1243:17;;1284:1;1279;:6;;1271:46;;;;-1:-1:-1;;;1271:46:0;;14362:2:1;1271:46:0;;;14344:21:1;14401:2;14381:18;;;14374:30;14440:29;14420:18;;;14413:57;14487:18;;1271:46:0;14160:351:1;1271:46:0;1337:1;1165:181;-1:-1:-1;;;1165:181:0:o;1698:471::-;1756:7;2001:1;2006;2001:6;1997:47;;-1:-1:-1;2031:1:0;2024:8;;1997:47;2056:9;2068:5;2072:1;2068;:5;:::i;:::-;2056:17;-1:-1:-1;2101:1:0;2092:5;2096:1;2056:17;2092:5;:::i;:::-;:10;2084:56;;;;-1:-1:-1;;;2084:56:0;;14718:2:1;2084:56:0;;;14700:21:1;14757:2;14737:18;;;14730:30;14796:34;14776:18;;;14769:62;-1:-1:-1;;;14847:18:1;;;14840:31;14888:19;;2084:56:0;14516:397:1;2177:132:0;2235:7;2262:39;2266:1;2269;2262:39;;;;;;;;;;;;;;;;;:3;:39::i;14335:881::-;8393:6;:13;;-1:-1:-1;;8393:13:0;;;;;14444:4:::1;8393:13:::0;14424:26;;;:11:::1;:26;::::0;;;;;;;14459:13;;-1:-1:-1;;;;;14459:13:0::1;14424:50:::0;;;;;;;;-1:-1:-1;;14424:71:0::1;14421:173;;14532:4;14512:26;::::0;;;:11:::1;:26;::::0;;;;;;;14547:13;;-1:-1:-1;;;;;14547:13:0::1;14512:50:::0;;;;;;;-1:-1:-1;;14512:70:0;;14421:173:::1;14638:16;::::0;;14652:1:::1;14638:16:::0;;;;;::::1;::::0;;14614:21:::1;::::0;14638:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14638:16:0::1;14614:40;;14683:4;14665;14670:1;14665:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;14665:23:0::1;;;-1:-1:-1::0;;;;;14665:23:0::1;;;::::0;::::1;14709:13;::::0;::::1;;;;;;-1:-1:-1::0;;;;;14709:13:0::1;-1:-1:-1::0;;;;;14709:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14699:4;14704:1;14699:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14699:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;14746:13:::1;::::0;;:203:::1;::::0;-1:-1:-1;;;14746:203:0;;:13;::::1;::::0;:64:::1;::::0;:203:::1;::::0;14825:20;;14746:13;14876:4;;14903::::1;::::0;14923:15:::1;::::0;14746:203:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;14742:250;;14974:7;;;14742:250;15141:11;:21:::0;:67:::1;::::0;15025:21:::1;::::0;15004:18:::1;::::0;15025:21;;-1:-1:-1;;;;;15141:21:0::1;::::0;15198:5:::1;::::0;15025:21;;15004:18;15141:67;15004:18;15141:67;15025:21;15141;15198:5;15141:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;8417:1:0::1;-1:-1:-1::0;8429:6:0;:14;;-1:-1:-1;;8429:14:0;;;14335:881::o;1354:136::-;1412:7;1439:43;1443:1;1446;1439:43;;;;;;;;;;;;;;;;;:3;:43::i;2317:278::-;2403:7;2438:12;2431:5;2423:28;;;;-1:-1:-1;;;2423:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2462:9:0;2474:5;2478:1;2474;:5;:::i;388:548:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;672:3;857:1;852:2;843:6;832:9;828:22;824:31;817:42;927:2;920;916:7;911:2;903:6;899:15;895:29;884:9;880:45;876:54;868:62;;;;388:548;;;;:::o;941:131::-;-1:-1:-1;;;;;1016:31:1;;1006:42;;996:70;;1062:1;1059;1052:12;1077:315;1145:6;1153;1206:2;1194:9;1185:7;1181:23;1177:32;1174:52;;;1222:1;1219;1212:12;1174:52;1261:9;1248:23;1280:31;1305:5;1280:31;:::i;:::-;1330:5;1382:2;1367:18;;;;1354:32;;-1:-1:-1;;;1077:315:1:o;1397:316::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;-1:-1:-1;;1582:23:1;;;1652:2;1637:18;;1624:32;;-1:-1:-1;1703:2:1;1688:18;;;1675:32;;1397:316;-1:-1:-1;1397:316:1:o;1718:255::-;1785:6;1838:2;1826:9;1817:7;1813:23;1809:32;1806:52;;;1854:1;1851;1844:12;1806:52;1893:9;1880:23;1912:31;1937:5;1912:31;:::i;1978:456::-;2055:6;2063;2071;2124:2;2112:9;2103:7;2099:23;2095:32;2092:52;;;2140:1;2137;2130:12;2092:52;2179:9;2166:23;2198:31;2223:5;2198:31;:::i;:::-;2248:5;-1:-1:-1;2305:2:1;2290:18;;2277:32;2318:33;2277:32;2318:33;:::i;:::-;1978:456;;2370:7;;-1:-1:-1;;;2424:2:1;2409:18;;;;2396:32;;1978:456::o;2628:118::-;2714:5;2707:13;2700:21;2693:5;2690:32;2680:60;;2736:1;2733;2726:12;2751:382;2816:6;2824;2877:2;2865:9;2856:7;2852:23;2848:32;2845:52;;;2893:1;2890;2883:12;2845:52;2932:9;2919:23;2951:31;2976:5;2951:31;:::i;:::-;3001:5;-1:-1:-1;3058:2:1;3043:18;;3030:32;3071:30;3030:32;3071:30;:::i;:::-;3120:7;3110:17;;;2751:382;;;;;:::o;3346:180::-;3405:6;3458:2;3446:9;3437:7;3433:23;3429:32;3426:52;;;3474:1;3471;3464:12;3426:52;-1:-1:-1;3497:23:1;;3346:180;-1:-1:-1;3346:180:1:o;4016:376::-;4078:6;4086;4139:2;4127:9;4118:7;4114:23;4110:32;4107:52;;;4155:1;4152;4145:12;4107:52;4194:9;4181:23;4213:28;4235:5;4213:28;:::i;4397:388::-;4465:6;4473;4526:2;4514:9;4505:7;4501:23;4497:32;4494:52;;;4542:1;4539;4532:12;4494:52;4581:9;4568:23;4600:31;4625:5;4600:31;:::i;:::-;4650:5;-1:-1:-1;4707:2:1;4692:18;;4679:32;4720:33;4679:32;4720:33;:::i;5014:385::-;5100:6;5108;5116;5124;5177:3;5165:9;5156:7;5152:23;5148:33;5145:53;;;5194:1;5191;5184:12;5145:53;-1:-1:-1;;5217:23:1;;;5287:2;5272:18;;5259:32;;-1:-1:-1;5338:2:1;5323:18;;5310:32;;5389:2;5374:18;5361:32;;-1:-1:-1;5014:385:1;-1:-1:-1;5014:385:1:o;5404:380::-;5483:1;5479:12;;;;5526;;;5547:61;;5601:4;5593:6;5589:17;5579:27;;5547:61;5654:2;5646:6;5643:14;5623:18;5620:38;5617:161;;5700:10;5695:3;5691:20;5688:1;5681:31;5735:4;5732:1;5725:15;5763:4;5760:1;5753:15;5617:161;;5404:380;;;:::o;5789:356::-;5991:2;5973:21;;;6010:18;;;6003:30;6069:34;6064:2;6049:18;;6042:62;6136:2;6121:18;;5789:356::o;8348:245::-;8415:6;8468:2;8456:9;8447:7;8443:23;8439:32;8436:52;;;8484:1;8481;8474:12;8436:52;8516:9;8510:16;8535:28;8557:5;8535:28;:::i;9770:127::-;9831:10;9826:3;9822:20;9819:1;9812:31;9862:4;9859:1;9852:15;9886:4;9883:1;9876:15;9902:168;9975:9;;;10006;;10023:15;;;10017:22;;10003:37;9993:71;;10044:18;;:::i;10075:217::-;10115:1;10141;10131:132;;10185:10;10180:3;10176:20;10173:1;10166:31;10220:4;10217:1;10210:15;10248:4;10245:1;10238:15;10131:132;-1:-1:-1;10277:9:1;;10075:217::o;11101:410::-;11303:2;11285:21;;;11342:2;11322:18;;;11315:30;11381:34;11376:2;11361:18;;11354:62;-1:-1:-1;;;11447:2:1;11432:18;;11425:44;11501:3;11486:19;;11101:410::o;13897:128::-;13964:9;;;13985:11;;;13982:37;;;13999:18;;:::i;14030:125::-;14095:9;;;14116:10;;;14113:36;;;14129:18;;:::i;15050:127::-;15111:10;15106:3;15102:20;15099:1;15092:31;15142:4;15139:1;15132:15;15166:4;15163:1;15156:15;15182:251;15252:6;15305:2;15293:9;15284:7;15280:23;15276:32;15273:52;;;15321:1;15318;15311:12;15273:52;15353:9;15347:16;15372:31;15397:5;15372:31;:::i;15438:980::-;15700:4;15748:3;15737:9;15733:19;15779:6;15768:9;15761:25;15805:2;15843:6;15838:2;15827:9;15823:18;15816:34;15886:3;15881:2;15870:9;15866:18;15859:31;15910:6;15945;15939:13;15976:6;15968;15961:22;16014:3;16003:9;15999:19;15992:26;;16053:2;16045:6;16041:15;16027:29;;16074:1;16084:195;16098:6;16095:1;16092:13;16084:195;;;16163:13;;-1:-1:-1;;;;;16159:39:1;16147:52;;16254:15;;;;16219:12;;;;16195:1;16113:9;16084:195;;;-1:-1:-1;;;;;;;16335:32:1;;;;16330:2;16315:18;;16308:60;-1:-1:-1;;;16399:3:1;16384:19;16377:35;16296:3;15438:980;-1:-1:-1;;;15438:980:1:o

Swarm Source

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