ETH Price: $3,454.60 (+1.64%)

Token

HoppyPepeKermit (FROGS)
 

Overview

Max Total Supply

100,000,000 FROGS

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,631,672.135884644965840211 FROGS

Value
$0.00
0xa187a3129b9bb8741980427091b223718508536b
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:
HPK

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 400 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-18
*/

/*

Telegram: https://t.me/hoppypepekermit
Website: https://hoppypepekermit.com/
Twitter: https://twitter.com/hoppypepekermit

*/

// SPDX-License-Identifier: NONE

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

interface IERC20 {
    function totalSupply() 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 balanceOf(address account) external view returns (uint256);
    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);
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {return _owner;}
    modifier onlyOwner() {require(_owner == _msgSender(), "Ownable: caller is not the owner");_;}
    function renounceOwnership() public virtual onlyOwner {emit OwnershipTransferred(_owner, address(0)); _owner = address(0);}
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

contract HPK is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private constant _name = "HoppyPepeKermit";
    string private constant _symbol = "FROGS";
    uint8 private constant _decimals = 18;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100_000_000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    mapping (address => bool) public preTrader;
    uint256 private _tFeeTotal;
    uint256 public _redisFeeOnBuy = 0;
    uint256 public _taxFeeOnBuy = 15;
    uint256 public _liquidityFeeOnBuy = 0;
    uint256 public _burnFeeOnBuy = 0;
    uint256 public _redisFeeOnSell = 0;
    uint256 public _taxFeeOnSell = 15;
    uint256 public _liquidityFeeOnSell = 0;
    uint256 public _burnFeeOnSell = 0;
    address payable private _developmentAddress = payable(0xdC1a61506D3aCf5828f1c5568DC1DC47421630E9);
    address payable private _marketingAddress = payable(0xdC1a61506D3aCf5828f1c5568DC1DC47421630E9);
    address public constant deadAddress = address(0xdead);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool public swapable = true;

    uint256 public _maxTxAmount = 3_000_001 * 10**18;
    uint256 public _maxWalletSize = 3_000_001 * 10**18;
    uint256 public _swapTokensAtAmount = 500_000 * 10**18;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        preTrader[owner()] = true;
        preTrader[deadAddress] = true;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[deadAddress] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

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

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function setIsSwappable(bool _swapable) external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        swapable = _swapable;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to] && swapable) {
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                if (contractTokenBalance >= _swapTokensAtAmount * 20) {
                    contractTokenBalance = _swapTokensAtAmount * 20;}
                uint256 sellTax = _burnFeeOnSell + _liquidityFeeOnSell + _taxFeeOnSell;
                uint256 burnTokens = (contractTokenBalance * _burnFeeOnSell) / sellTax;
                _tokenTransfer(address(this), deadAddress, burnTokens, false);
                uint256 liquidityTokens = (contractTokenBalance * _liquidityFeeOnSell) / sellTax / 2;
                uint256 amountToSwapForETH = contractTokenBalance.sub(burnTokens).sub(liquidityTokens);
                uint256 initialETHBalance = address(this).balance;
                swapTokensForEth(amountToSwapForETH);
                uint256 ethBalance = address(this).balance.sub(initialETHBalance);
                uint ethForMarketing = ethBalance.mul(_taxFeeOnSell).div(_taxFeeOnSell + _liquidityFeeOnSell);
                uint256 ethForLiquidity = ethBalance - ethForMarketing;
                if (liquidityTokens > 0 && ethForLiquidity > 0) {
                    addLiquidity(liquidityTokens, ethForLiquidity);}
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function enableTrading() public onlyOwner {
        tradingOpen = true;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function changeFees(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell, uint256 liquidityFeeOnBuy, uint256 liquidityFeeOnSell, uint256 burnFeeOnBuy, uint256 burnFeeOnSell) public onlyOwner {
        require(redisFeeOnBuy + taxFeeOnBuy + liquidityFeeOnBuy + burnFeeOnBuy <= 200, "TOKEN: Buy tax too high. Maximum of 20%");
        require(redisFeeOnSell + taxFeeOnSell + liquidityFeeOnSell + burnFeeOnSell <= 200, "TOKEN: Sell tax too high. Maximum of 20%");
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
        _liquidityFeeOnBuy = liquidityFeeOnBuy;
        _liquidityFeeOnSell = liquidityFeeOnSell;
        _burnFeeOnBuy = burnFeeOnBuy;
        _burnFeeOnSell = burnFeeOnSell;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function enableSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function setMaxAmount(uint256 maxTxAmount,uint256 maxWalletSize) public onlyOwner {
        require(maxTxAmount >= (_tTotal / 1000), "Cannot set maxTransactionAmount lower than 0.1%");
        _maxTxAmount = maxTxAmount;
        require(maxWalletSize >= (_tTotal * 5 / 1000), "Cannot set maxWallet lower than 0.5%");
        _maxWalletSize = maxWalletSize;
    }

    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        require(maxTxAmount >= (_tTotal / 1000), "Cannot set maxTransactionAmount lower than 0.1%");
        _maxTxAmount = maxTxAmount;
    }    

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        require(maxWalletSize >= (_tTotal * 5 / 1000), "Cannot set maxWallet lower than 0.5%");
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            deadAddress,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_burnFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"liquidityFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"liquidityFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"burnFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"burnFeeOnSell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"enableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapable","type":"bool"}],"name":"setIsSwappable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001c6a52b7d2dcc80cd2e40000005f19620003f9565b62000029905f1962000419565b600255601180546007819055601280546008819055600992909255600a919091555f600d819055600f600e81905581815560108290559281905591905560138190556014556015805473dc1a61506d3acf5828f1c5568dc1dc47421630e96001600160a01b031991821681179092556016805490911690911790556018805463ffffffff60a01b191661010160b01b1790556a027b46614d1d7c8a6400006019819055601a556969e10de76676d0800000601b55348015620000e9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600254335f90815260036020908152604080832093909355601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915582546001600160a01b03168352600b8252838320805460ff19908116600190811790925561dead9094527f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac3415805490941617909255825163c45a015560e01b815292519192839263c45a0155926004808401939192918290030181865afa158015620001f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021e91906200043f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029091906200043f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200030191906200043f565b601880546001600160a01b0319166001600160a01b039283161790555f80548216815260066020526040808220805460ff1990811660019081179092557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548216831790553084528284208054821683179055601554851684528284208054821683179055601654909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e4000000604051620003ea91815260200190565b60405180910390a3506200046e565b5f826200041457634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200043957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f6020828403121562000450575f80fd5b81516001600160a01b038116811462000467575f80fd5b9392505050565b6122a0806200047c5f395ff3fe608060405260043610610220575f3560e01c806374010ece1161011e578063a9059cbb116100a8578063d52dfc141161006d578063d52dfc141461060e578063dd62ed3e14610623578063e7b86a2e14610667578063ea1644d514610686578063f2fde38b146106a5575f80fd5b8063a9059cbb1461056e578063bdd795ef1461058d578063bf5976d3146105bb578063c492f046146105d0578063d2a09c71146105ef575f80fd5b80638da5cb5b116100ee5780638da5cb5b146104dc5780638f9a55c0146104f857806395d89b411461050d57806398a5c3151461053a578063a01abe5c14610559575f80fd5b806374010ece1461047f5780637d1db4a51461049e5780638199040e146104b35780638a8c523c146104c8575f80fd5b80632fd689e3116101aa57806349bd5a5e1161016f57806349bd5a5e146104045780635fbb95a3146104235780636fc3eaec1461043857806370a082311461044c578063715018a61461046b575f80fd5b80632fd689e31461038b578063313ce567146103a057806331cc43bd146103bb5780633c0a73ae146103d0578063400343e7146103e5575f80fd5b806318160ddd116101f057806318160ddd146102fa5780632188650e1461032157806323b872dd14610342578063240bdd2a1461036157806327c8f83514610376575f80fd5b806306fdde031461022b578063095ea7b3146102745780630b232728146102a35780631694505e146102c3575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5060408051808201909152600f81526e121bdc1c1e54195c1952d95c9b5a5d608a1b60208201525b60405161026b9190611e87565b60405180910390f35b34801561027f575f80fd5b5061029361028e366004611ee6565b6106c4565b604051901515815260200161026b565b3480156102ae575f80fd5b5060185461029390600160b81b900460ff1681565b3480156102ce575f80fd5b506017546102e2906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610305575f80fd5b506a52b7d2dcc80cd2e40000005b60405190815260200161026b565b34801561032c575f80fd5b5061034061033b366004611f10565b6106da565b005b34801561034d575f80fd5b5061029361035c366004611f30565b61082c565b34801561036c575f80fd5b5061031360105481565b348015610381575f80fd5b506102e261dead81565b348015610396575f80fd5b50610313601b5481565b3480156103ab575f80fd5b506040516012815260200161026b565b3480156103c6575f80fd5b50610313600d5481565b3480156103db575f80fd5b50610313600f5481565b3480156103f0575f80fd5b506103406103ff366004611f6e565b610893565b34801561040f575f80fd5b506018546102e2906001600160a01b031681565b34801561042e575f80fd5b5061031360145481565b348015610443575f80fd5b50610340610a00565b348015610457575f80fd5b50610313610466366004611fbe565b610a4a565b348015610476575f80fd5b50610340610a6b565b34801561048a575f80fd5b50610340610499366004611fd9565b610af9565b3480156104a9575f80fd5b5061031360195481565b3480156104be575f80fd5b5061031360125481565b3480156104d3575f80fd5b50610340610bc2565b3480156104e7575f80fd5b505f546001600160a01b03166102e2565b348015610503575f80fd5b50610313601a5481565b348015610518575f80fd5b5060408051808201909152600581526446524f475360d81b602082015261025e565b348015610545575f80fd5b50610340610554366004611fd9565b610c1d565b348015610564575f80fd5b5061031360115481565b348015610579575f80fd5b50610293610588366004611ee6565b610c68565b348015610598575f80fd5b506102936105a7366004611fbe565b600b6020525f908152604090205460ff1681565b3480156105c6575f80fd5b50610313600e5481565b3480156105db575f80fd5b506103406105ea366004612004565b610c74565b3480156105fa575f80fd5b50610340610609366004612081565b610d2e565b348015610619575f80fd5b5061031360135481565b34801561062e575f80fd5b5061031361063d36600461209a565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610672575f80fd5b50610340610681366004612081565b610d92565b348015610691575f80fd5b506103406106a0366004611fd9565b610ded565b3480156106b0575f80fd5b506103406106bf366004611fbe565b610eb6565b5f6106d0338484610fba565b5060015b92915050565b5f546001600160a01b031633146107255760405162461bcd60e51b815260206004820181905260248201525f8051602061224b83398151915260448201526064015b60405180910390fd5b61073c6103e86a52b7d2dcc80cd2e40000006120e5565b8210156107a35760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b606482015260840161071c565b60198290556103e86107c16a52b7d2dcc80cd2e40000006005612104565b6107cb91906120e5565b8110156108265760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161071c565b601a5550565b5f6108388484846110dd565b610889843361088485604051806060016040528060288152602001612223602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906116e6565b610fba565b5060019392505050565b5f546001600160a01b031633146108d95760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b60c882856108e7898c61211b565b6108f1919061211b565b6108fb919061211b565b11156109595760405162461bcd60e51b815260206004820152602760248201527f544f4b454e3a204275792074617820746f6f20686967682e204d6178696d756d604482015266206f662032302560c81b606482015260840161071c565b60c88184610967888b61211b565b610971919061211b565b61097b919061211b565b11156109da5760405162461bcd60e51b815260206004820152602860248201527f544f4b454e3a2053656c6c2074617820746f6f20686967682e204d6178696d756044820152676d206f662032302560c01b606482015260840161071c565b600d97909755601195909555600e93909355601291909155600f55601355601055601455565b6015546001600160a01b0316336001600160a01b03161480610a3557506016546001600160a01b0316336001600160a01b0316145b610a3d575f80fd5b47610a478161171e565b50565b6001600160a01b0381165f908152600360205260408120546106d490611759565b5f546001600160a01b03163314610ab15760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b3f5760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b610b566103e86a52b7d2dcc80cd2e40000006120e5565b811015610bbd5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b606482015260840161071c565b601955565b5f546001600160a01b03163314610c085760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b6018805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c635760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b601b55565b5f6106d03384846110dd565b5f546001600160a01b03163314610cba5760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b5f5b82811015610d28578160065f868685818110610cda57610cda61212e565b9050602002016020810190610cef9190611fbe565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610d2081612142565b915050610cbc565b50505050565b5f546001600160a01b03163314610d745760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b60188054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b03161480610dc757506016546001600160a01b0316336001600160a01b0316145b610dcf575f80fd5b60188054911515600160b81b0260ff60b81b19909216919091179055565b5f546001600160a01b03163314610e335760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b6103e8610e4c6a52b7d2dcc80cd2e40000006005612104565b610e5691906120e5565b811015610eb15760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161071c565b601a55565b5f546001600160a01b03163314610efc5760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b6001600160a01b038116610f615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661101c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071c565b6001600160a01b03821661107d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071c565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071c565b6001600160a01b0382166111a35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071c565b5f81116112045760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071c565b5f546001600160a01b0384811691161480159061122e57505f546001600160a01b03838116911614155b801561125257506001600160a01b0383165f908152600b602052604090205460ff16155b801561127657506001600160a01b0382165f908152600b602052604090205460ff16155b801561128b5750601854600160b81b900460ff165b156115e257601854600160a01b900460ff1661132e576001600160a01b0383165f908152600b602052604090205460ff1661132e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161071c565b6019548111156113805760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071c565b6018546001600160a01b0383811691161461140557601a54816113a284610a4a565b6113ac919061211b565b106114055760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071c565b5f61140f30610a4a565b601b54909150811080159081906114305750601854600160a81b900460ff16155b801561144a57506018546001600160a01b03868116911614155b801561145f5750601854600160b01b900460ff165b801561148357506001600160a01b0385165f9081526006602052604090205460ff16155b80156114a757506001600160a01b0384165f9081526006602052604090205460ff16155b156115df57601b546114ba906014612104565b82106114d157601b546114ce906014612104565b91505b5f6012546013546014546114e5919061211b565b6114ef919061211b565b90505f81601454856115019190612104565b61150b91906120e5565b905061151b3061dead835f6117db565b5f6002836013548761152d9190612104565b61153791906120e5565b61154191906120e5565b90505f611558826115528886611809565b90611809565b9050476115648261184a565b5f61156f4783611809565b90505f611599601354601254611585919061211b565b6012546115939085906119ba565b90611a38565b90505f6115a6828461215a565b90505f861180156115b657505f81115b156115c5576115c58682611a79565b4780156115d5576115d54761171e565b5050505050505050505b50505b6001600160a01b0383165f9081526006602052604090205460019060ff168061162257506001600160a01b0383165f9081526006602052604090205460ff165b8061165457506018546001600160a01b0385811691161480159061165457506018546001600160a01b03848116911614155b1561166057505f6116da565b6018546001600160a01b03858116911614801561168b57506017546001600160a01b03848116911614155b1561169d57600d54600755600e546008555b6018546001600160a01b0384811691161480156116c857506017546001600160a01b03858116911614155b156116da576011546007556012546008555b610d28848484846117db565b5f81848411156117095760405162461bcd60e51b815260040161071c9190611e87565b505f611715848661215a565b95945050505050565b6016546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611755573d5f803e3d5ffd5b5050565b5f6002548211156117bf5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161071c565b5f6117c8611b28565b90506117d48382611a38565b9392505050565b806117e8576117e8611b49565b6117f3848484611b76565b80610d2857610d28600954600755600a54600855565b5f6117d483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116e6565b6018805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106118905761189061212e565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156118e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061190b919061216d565b8160018151811061191e5761191e61212e565b6001600160a01b0392831660209182029290920101526017546119449130911684610fba565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac9479061197c9085905f90869030904290600401612188565b5f604051808303815f87803b158015611993575f80fd5b505af11580156119a5573d5f803e3d5ffd5b50506018805460ff60a81b1916905550505050565b5f825f036119c957505f6106d4565b5f6119d48385612104565b9050826119e185836120e5565b146117d45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071c565b5f6117d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c67565b601754611a919030906001600160a01b031684610fba565b60175460405163f305d71960e01b8152306004820152602481018490525f60448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611afc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b2191906121f7565b5050505050565b5f805f611b33611c93565b9092509050611b428282611a38565b9250505090565b600754158015611b595750600854155b15611b6057565b6007805460095560088054600a555f9182905555565b5f805f805f80611b8587611cd8565b6001600160a01b038f165f90815260036020526040902054959b50939950919750955093509150611bb69087611809565b6001600160a01b03808b165f9081526003602052604080822093909355908a1681522054611be49086611d2d565b6001600160a01b0389165f90815260036020526040902055611c0581611d8b565b611c0f8483611dd1565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c5491815260200190565b60405180910390a3505050505050505050565b5f8183611c875760405162461bcd60e51b815260040161071c9190611e87565b505f61171584866120e5565b6002545f9081906a52b7d2dcc80cd2e4000000611cb08282611a38565b821015611ccf575050600254926a52b7d2dcc80cd2e400000092509050565b90939092509050565b5f805f805f805f805f611cf08a600754600854611df5565b9250925092505f611cff611b28565b90505f805f611d108e878787611e3b565b919e509c509a509598509396509194505050505091939550919395565b5f80611d39838561211b565b9050838110156117d45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071c565b5f611d94611b28565b90505f611da183836119ba565b305f90815260036020526040902054909150611dbd9082611d2d565b305f90815260036020526040902055505050565b600254611dde9083611809565b600255600c54611dee9082611d2d565b600c555050565b5f808080611e08606461159389896119ba565b90505f611e1a60646115938a896119ba565b90505f611e2b826115528b86611809565b9992985090965090945050505050565b5f808080611e4988866119ba565b90505f611e5688876119ba565b90505f611e6388886119ba565b90505f611e74826115528686611809565b939b939a50919850919650505050505050565b5f6020808352835180828501525f5b81811015611eb257858101830151858201604001528201611e96565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a47575f80fd5b5f8060408385031215611ef7575f80fd5b8235611f0281611ed2565b946020939093013593505050565b5f8060408385031215611f21575f80fd5b50508035926020909101359150565b5f805f60608486031215611f42575f80fd5b8335611f4d81611ed2565b92506020840135611f5d81611ed2565b929592945050506040919091013590565b5f805f805f805f80610100898b031215611f86575f80fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b5f60208284031215611fce575f80fd5b81356117d481611ed2565b5f60208284031215611fe9575f80fd5b5035919050565b80358015158114611fff575f80fd5b919050565b5f805f60408486031215612016575f80fd5b833567ffffffffffffffff8082111561202d575f80fd5b818601915086601f830112612040575f80fd5b81358181111561204e575f80fd5b8760208260051b8501011115612062575f80fd5b6020928301955093506120789186019050611ff0565b90509250925092565b5f60208284031215612091575f80fd5b6117d482611ff0565b5f80604083850312156120ab575f80fd5b82356120b681611ed2565b915060208301356120c681611ed2565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b5f826120ff57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106d4576106d46120d1565b808201808211156106d4576106d46120d1565b634e487b7160e01b5f52603260045260245ffd5b5f60018201612153576121536120d1565b5060010190565b818103818111156106d4576106d46120d1565b5f6020828403121561217d575f80fd5b81516117d481611ed2565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121d65784516001600160a01b0316835293830193918301916001016121b1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612209575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220f0d966004617c3d3f62e52a6a80d2ed9764de0ffecea73310a5432b71ce2e24964736f6c63430008140033

Deployed Bytecode

0x608060405260043610610220575f3560e01c806374010ece1161011e578063a9059cbb116100a8578063d52dfc141161006d578063d52dfc141461060e578063dd62ed3e14610623578063e7b86a2e14610667578063ea1644d514610686578063f2fde38b146106a5575f80fd5b8063a9059cbb1461056e578063bdd795ef1461058d578063bf5976d3146105bb578063c492f046146105d0578063d2a09c71146105ef575f80fd5b80638da5cb5b116100ee5780638da5cb5b146104dc5780638f9a55c0146104f857806395d89b411461050d57806398a5c3151461053a578063a01abe5c14610559575f80fd5b806374010ece1461047f5780637d1db4a51461049e5780638199040e146104b35780638a8c523c146104c8575f80fd5b80632fd689e3116101aa57806349bd5a5e1161016f57806349bd5a5e146104045780635fbb95a3146104235780636fc3eaec1461043857806370a082311461044c578063715018a61461046b575f80fd5b80632fd689e31461038b578063313ce567146103a057806331cc43bd146103bb5780633c0a73ae146103d0578063400343e7146103e5575f80fd5b806318160ddd116101f057806318160ddd146102fa5780632188650e1461032157806323b872dd14610342578063240bdd2a1461036157806327c8f83514610376575f80fd5b806306fdde031461022b578063095ea7b3146102745780630b232728146102a35780631694505e146102c3575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5060408051808201909152600f81526e121bdc1c1e54195c1952d95c9b5a5d608a1b60208201525b60405161026b9190611e87565b60405180910390f35b34801561027f575f80fd5b5061029361028e366004611ee6565b6106c4565b604051901515815260200161026b565b3480156102ae575f80fd5b5060185461029390600160b81b900460ff1681565b3480156102ce575f80fd5b506017546102e2906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610305575f80fd5b506a52b7d2dcc80cd2e40000005b60405190815260200161026b565b34801561032c575f80fd5b5061034061033b366004611f10565b6106da565b005b34801561034d575f80fd5b5061029361035c366004611f30565b61082c565b34801561036c575f80fd5b5061031360105481565b348015610381575f80fd5b506102e261dead81565b348015610396575f80fd5b50610313601b5481565b3480156103ab575f80fd5b506040516012815260200161026b565b3480156103c6575f80fd5b50610313600d5481565b3480156103db575f80fd5b50610313600f5481565b3480156103f0575f80fd5b506103406103ff366004611f6e565b610893565b34801561040f575f80fd5b506018546102e2906001600160a01b031681565b34801561042e575f80fd5b5061031360145481565b348015610443575f80fd5b50610340610a00565b348015610457575f80fd5b50610313610466366004611fbe565b610a4a565b348015610476575f80fd5b50610340610a6b565b34801561048a575f80fd5b50610340610499366004611fd9565b610af9565b3480156104a9575f80fd5b5061031360195481565b3480156104be575f80fd5b5061031360125481565b3480156104d3575f80fd5b50610340610bc2565b3480156104e7575f80fd5b505f546001600160a01b03166102e2565b348015610503575f80fd5b50610313601a5481565b348015610518575f80fd5b5060408051808201909152600581526446524f475360d81b602082015261025e565b348015610545575f80fd5b50610340610554366004611fd9565b610c1d565b348015610564575f80fd5b5061031360115481565b348015610579575f80fd5b50610293610588366004611ee6565b610c68565b348015610598575f80fd5b506102936105a7366004611fbe565b600b6020525f908152604090205460ff1681565b3480156105c6575f80fd5b50610313600e5481565b3480156105db575f80fd5b506103406105ea366004612004565b610c74565b3480156105fa575f80fd5b50610340610609366004612081565b610d2e565b348015610619575f80fd5b5061031360135481565b34801561062e575f80fd5b5061031361063d36600461209a565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610672575f80fd5b50610340610681366004612081565b610d92565b348015610691575f80fd5b506103406106a0366004611fd9565b610ded565b3480156106b0575f80fd5b506103406106bf366004611fbe565b610eb6565b5f6106d0338484610fba565b5060015b92915050565b5f546001600160a01b031633146107255760405162461bcd60e51b815260206004820181905260248201525f8051602061224b83398151915260448201526064015b60405180910390fd5b61073c6103e86a52b7d2dcc80cd2e40000006120e5565b8210156107a35760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b606482015260840161071c565b60198290556103e86107c16a52b7d2dcc80cd2e40000006005612104565b6107cb91906120e5565b8110156108265760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161071c565b601a5550565b5f6108388484846110dd565b610889843361088485604051806060016040528060288152602001612223602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906116e6565b610fba565b5060019392505050565b5f546001600160a01b031633146108d95760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b60c882856108e7898c61211b565b6108f1919061211b565b6108fb919061211b565b11156109595760405162461bcd60e51b815260206004820152602760248201527f544f4b454e3a204275792074617820746f6f20686967682e204d6178696d756d604482015266206f662032302560c81b606482015260840161071c565b60c88184610967888b61211b565b610971919061211b565b61097b919061211b565b11156109da5760405162461bcd60e51b815260206004820152602860248201527f544f4b454e3a2053656c6c2074617820746f6f20686967682e204d6178696d756044820152676d206f662032302560c01b606482015260840161071c565b600d97909755601195909555600e93909355601291909155600f55601355601055601455565b6015546001600160a01b0316336001600160a01b03161480610a3557506016546001600160a01b0316336001600160a01b0316145b610a3d575f80fd5b47610a478161171e565b50565b6001600160a01b0381165f908152600360205260408120546106d490611759565b5f546001600160a01b03163314610ab15760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b3f5760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b610b566103e86a52b7d2dcc80cd2e40000006120e5565b811015610bbd5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b606482015260840161071c565b601955565b5f546001600160a01b03163314610c085760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b6018805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c635760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b601b55565b5f6106d03384846110dd565b5f546001600160a01b03163314610cba5760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b5f5b82811015610d28578160065f868685818110610cda57610cda61212e565b9050602002016020810190610cef9190611fbe565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610d2081612142565b915050610cbc565b50505050565b5f546001600160a01b03163314610d745760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b60188054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b03161480610dc757506016546001600160a01b0316336001600160a01b0316145b610dcf575f80fd5b60188054911515600160b81b0260ff60b81b19909216919091179055565b5f546001600160a01b03163314610e335760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b6103e8610e4c6a52b7d2dcc80cd2e40000006005612104565b610e5691906120e5565b811015610eb15760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161071c565b601a55565b5f546001600160a01b03163314610efc5760405162461bcd60e51b815260206004820181905260248201525f8051602061224b833981519152604482015260640161071c565b6001600160a01b038116610f615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661101c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071c565b6001600160a01b03821661107d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071c565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071c565b6001600160a01b0382166111a35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071c565b5f81116112045760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071c565b5f546001600160a01b0384811691161480159061122e57505f546001600160a01b03838116911614155b801561125257506001600160a01b0383165f908152600b602052604090205460ff16155b801561127657506001600160a01b0382165f908152600b602052604090205460ff16155b801561128b5750601854600160b81b900460ff165b156115e257601854600160a01b900460ff1661132e576001600160a01b0383165f908152600b602052604090205460ff1661132e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161071c565b6019548111156113805760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071c565b6018546001600160a01b0383811691161461140557601a54816113a284610a4a565b6113ac919061211b565b106114055760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071c565b5f61140f30610a4a565b601b54909150811080159081906114305750601854600160a81b900460ff16155b801561144a57506018546001600160a01b03868116911614155b801561145f5750601854600160b01b900460ff165b801561148357506001600160a01b0385165f9081526006602052604090205460ff16155b80156114a757506001600160a01b0384165f9081526006602052604090205460ff16155b156115df57601b546114ba906014612104565b82106114d157601b546114ce906014612104565b91505b5f6012546013546014546114e5919061211b565b6114ef919061211b565b90505f81601454856115019190612104565b61150b91906120e5565b905061151b3061dead835f6117db565b5f6002836013548761152d9190612104565b61153791906120e5565b61154191906120e5565b90505f611558826115528886611809565b90611809565b9050476115648261184a565b5f61156f4783611809565b90505f611599601354601254611585919061211b565b6012546115939085906119ba565b90611a38565b90505f6115a6828461215a565b90505f861180156115b657505f81115b156115c5576115c58682611a79565b4780156115d5576115d54761171e565b5050505050505050505b50505b6001600160a01b0383165f9081526006602052604090205460019060ff168061162257506001600160a01b0383165f9081526006602052604090205460ff165b8061165457506018546001600160a01b0385811691161480159061165457506018546001600160a01b03848116911614155b1561166057505f6116da565b6018546001600160a01b03858116911614801561168b57506017546001600160a01b03848116911614155b1561169d57600d54600755600e546008555b6018546001600160a01b0384811691161480156116c857506017546001600160a01b03858116911614155b156116da576011546007556012546008555b610d28848484846117db565b5f81848411156117095760405162461bcd60e51b815260040161071c9190611e87565b505f611715848661215a565b95945050505050565b6016546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611755573d5f803e3d5ffd5b5050565b5f6002548211156117bf5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161071c565b5f6117c8611b28565b90506117d48382611a38565b9392505050565b806117e8576117e8611b49565b6117f3848484611b76565b80610d2857610d28600954600755600a54600855565b5f6117d483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116e6565b6018805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106118905761189061212e565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156118e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061190b919061216d565b8160018151811061191e5761191e61212e565b6001600160a01b0392831660209182029290920101526017546119449130911684610fba565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac9479061197c9085905f90869030904290600401612188565b5f604051808303815f87803b158015611993575f80fd5b505af11580156119a5573d5f803e3d5ffd5b50506018805460ff60a81b1916905550505050565b5f825f036119c957505f6106d4565b5f6119d48385612104565b9050826119e185836120e5565b146117d45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071c565b5f6117d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c67565b601754611a919030906001600160a01b031684610fba565b60175460405163f305d71960e01b8152306004820152602481018490525f60448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611afc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b2191906121f7565b5050505050565b5f805f611b33611c93565b9092509050611b428282611a38565b9250505090565b600754158015611b595750600854155b15611b6057565b6007805460095560088054600a555f9182905555565b5f805f805f80611b8587611cd8565b6001600160a01b038f165f90815260036020526040902054959b50939950919750955093509150611bb69087611809565b6001600160a01b03808b165f9081526003602052604080822093909355908a1681522054611be49086611d2d565b6001600160a01b0389165f90815260036020526040902055611c0581611d8b565b611c0f8483611dd1565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c5491815260200190565b60405180910390a3505050505050505050565b5f8183611c875760405162461bcd60e51b815260040161071c9190611e87565b505f61171584866120e5565b6002545f9081906a52b7d2dcc80cd2e4000000611cb08282611a38565b821015611ccf575050600254926a52b7d2dcc80cd2e400000092509050565b90939092509050565b5f805f805f805f805f611cf08a600754600854611df5565b9250925092505f611cff611b28565b90505f805f611d108e878787611e3b565b919e509c509a509598509396509194505050505091939550919395565b5f80611d39838561211b565b9050838110156117d45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071c565b5f611d94611b28565b90505f611da183836119ba565b305f90815260036020526040902054909150611dbd9082611d2d565b305f90815260036020526040902055505050565b600254611dde9083611809565b600255600c54611dee9082611d2d565b600c555050565b5f808080611e08606461159389896119ba565b90505f611e1a60646115938a896119ba565b90505f611e2b826115528b86611809565b9992985090965090945050505050565b5f808080611e4988866119ba565b90505f611e5688876119ba565b90505f611e6388886119ba565b90505f611e74826115528686611809565b939b939a50919850919650505050505050565b5f6020808352835180828501525f5b81811015611eb257858101830151858201604001528201611e96565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a47575f80fd5b5f8060408385031215611ef7575f80fd5b8235611f0281611ed2565b946020939093013593505050565b5f8060408385031215611f21575f80fd5b50508035926020909101359150565b5f805f60608486031215611f42575f80fd5b8335611f4d81611ed2565b92506020840135611f5d81611ed2565b929592945050506040919091013590565b5f805f805f805f80610100898b031215611f86575f80fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b5f60208284031215611fce575f80fd5b81356117d481611ed2565b5f60208284031215611fe9575f80fd5b5035919050565b80358015158114611fff575f80fd5b919050565b5f805f60408486031215612016575f80fd5b833567ffffffffffffffff8082111561202d575f80fd5b818601915086601f830112612040575f80fd5b81358181111561204e575f80fd5b8760208260051b8501011115612062575f80fd5b6020928301955093506120789186019050611ff0565b90509250925092565b5f60208284031215612091575f80fd5b6117d482611ff0565b5f80604083850312156120ab575f80fd5b82356120b681611ed2565b915060208301356120c681611ed2565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b5f826120ff57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106d4576106d46120d1565b808201808211156106d4576106d46120d1565b634e487b7160e01b5f52603260045260245ffd5b5f60018201612153576121536120d1565b5060010190565b818103818111156106d4576106d46120d1565b5f6020828403121561217d575f80fd5b81516117d481611ed2565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121d65784516001600160a01b0316835293830193918301916001016121b1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612209575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220f0d966004617c3d3f62e52a6a80d2ed9764de0ffecea73310a5432b71ce2e24964736f6c63430008140033

Deployed Bytecode Sourcemap

4027:15668:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6849:83;;;;;;;;;;-1:-1:-1;6919:5:0;;;;;;;;;;;;-1:-1:-1;;;6919:5:0;;;;6849:83;;;;;;;:::i;:::-;;;;;;;;7774:193;;;;;;;;;;-1:-1:-1;7774:193:0;;;;;:::i;:::-;;:::i;:::-;;;1211:14:1;;1204:22;1186:41;;1174:2;1159:18;7774:193:0;1046:187:1;5725:27:0;;;;;;;;;;-1:-1:-1;5725:27:0;;;;-1:-1:-1;;;5725:27:0;;;;;;5531:41;;;;;;;;;;-1:-1:-1;5531:41:0;;;;-1:-1:-1;;;;;5531:41:0;;;;;;-1:-1:-1;;;;;1428:55:1;;;1410:74;;1398:2;1383:18;5531:41:0;1238:252:1;7031:95:0;;;;;;;;;;-1:-1:-1;4342:20:0;7031:95;;;1641:25:1;;;1629:2;1614:18;7031:95:0;1495:177:1;18215:367:0;;;;;;;;;;-1:-1:-1;18215:367:0;;;;;:::i;:::-;;:::i;:::-;;7975:446;;;;;;;;;;-1:-1:-1;7975:446:0;;;;;:::i;:::-;;:::i;5058:32::-;;;;;;;;;;;;;;;;5469:53;;;;;;;;;;;;5515:6;5469:53;;5873;;;;;;;;;;;;;;;;6940:83;;;;;;;;;;-1:-1:-1;6940:83:0;;4249:2;2764:36:1;;2752:2;2737:18;6940:83:0;2622:184:1;4935:33:0;;;;;;;;;;;;;;;;5014:37;;;;;;;;;;;;;;;;17107:844;;;;;;;;;;-1:-1:-1;17107:844:0;;;;;:::i;:::-;;:::i;5579:28::-;;;;;;;;;;-1:-1:-1;5579:28:0;;;;-1:-1:-1;;;;;5579:28:0;;;5223:33;;;;;;;;;;;;;;;;13466:235;;;;;;;;;;;;;:::i;7229:138::-;;;;;;;;;;-1:-1:-1;7229:138:0;;;;;:::i;:::-;;:::i;1559:123::-;;;;;;;;;;;;;:::i;18590:210::-;;;;;;;;;;-1:-1:-1;18590:210:0;;;;;:::i;:::-;;:::i;5761:48::-;;;;;;;;;;;;;;;;5138:33;;;;;;;;;;;;;;;;12781:79;;;;;;;;;;;;;:::i;1391:63::-;;;;;;;;;;-1:-1:-1;1429:7:0;1446:6;-1:-1:-1;;;;;1446:6:0;1391:63;;5816:50;;;;;;;;;;;;;;;;7134:87;;;;;;;;;;-1:-1:-1;7206:7:0;;;;;;;;;;;;-1:-1:-1;;;7206:7:0;;;;7134:87;;17959:139;;;;;;;;;;-1:-1:-1;17959:139:0;;;;;:::i;:::-;;:::i;5097:34::-;;;;;;;;;;;;;;;;7375:199;;;;;;;;;;-1:-1:-1;7375:199:0;;;;;:::i;:::-;;:::i;4853:42::-;;;;;;;;;;-1:-1:-1;4853:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4975:32;;;;;;;;;;;;;;;;19032:234;;;;;;;;;;-1:-1:-1;19032:234:0;;;;;:::i;:::-;;:::i;18106:101::-;;;;;;;;;;-1:-1:-1;18106:101:0;;;;;:::i;:::-;;:::i;5178:38::-;;;;;;;;;;;;;;;;7582:184;;;;;;;;;;-1:-1:-1;7582:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7731:18:0;;;7699:7;7731:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7582:184;9112:180;;;;;;;;;;-1:-1:-1;9112:180:0;;;;;:::i;:::-;;:::i;18812:212::-;;;;;;;;;;-1:-1:-1;18812:212:0;;;;;:::i;:::-;;:::i;1688:244::-;;;;;;;;;;-1:-1:-1;1688:244:0;;;;;:::i;:::-;;:::i;7774:193::-;7876:4;7898:39;314:10;7921:7;7930:6;7898:8;:39::i;:::-;-1:-1:-1;7955:4:0;7774:193;;;;;:::o;18215:367::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;;;;;;;;;18332:14:::1;18342:4;4342:20;18332:14;:::i;:::-;18316:11;:31;;18308:91;;;::::0;-1:-1:-1;;;18308:91:0;;6268:2:1;18308:91:0::1;::::0;::::1;6250:21:1::0;6307:2;6287:18;;;6280:30;6346:34;6326:18;;;6319:62;-1:-1:-1;;;6397:18:1;;;6390:45;6452:19;;18308:91:0::1;6066:411:1::0;18308:91:0::1;18410:12;:26:::0;;;18487:4:::1;18473:11;4342:20;18483:1;18473:11;:::i;:::-;:18;;;;:::i;:::-;18455:13;:37;;18447:86;;;::::0;-1:-1:-1;;;18447:86:0;;6857:2:1;18447:86:0::1;::::0;::::1;6839:21:1::0;6896:2;6876:18;;;6869:30;6935:34;6915:18;;;6908:62;-1:-1:-1;;;6986:18:1;;;6979:34;7030:19;;18447:86:0::1;6655:400:1::0;18447:86:0::1;18544:14;:30:::0;-1:-1:-1;18215:367:0:o;7975:446::-;8107:4;8124:36;8134:6;8142:9;8153:6;8124:9;:36::i;:::-;8171:220;8194:6;314:10;8242:138;8298:6;8242:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8242:19:0;;;;;;:11;:19;;;;;;;;314:10;8242:33;;;;;;;;;;:37;:138::i;:::-;8171:8;:220::i;:::-;-1:-1:-1;8409:4:0;7975:446;;;;;:::o;17107:844::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;17419:3:::1;17403:12:::0;17383:17;17353:27:::1;17369:11:::0;17353:13;:27:::1;:::i;:::-;:47;;;;:::i;:::-;:62;;;;:::i;:::-;:69;;17345:121;;;::::0;-1:-1:-1;;;17345:121:0;;7392:2:1;17345:121:0::1;::::0;::::1;7374:21:1::0;7431:2;7411:18;;;7404:30;7470:34;7450:18;;;7443:62;-1:-1:-1;;;7521:18:1;;;7514:37;7568:19;;17345:121:0::1;7190:403:1::0;17345:121:0::1;17555:3;17538:13:::0;17517:18;17485:29:::1;17502:12:::0;17485:14;:29:::1;:::i;:::-;:50;;;;:::i;:::-;:66;;;;:::i;:::-;:73;;17477:126;;;::::0;-1:-1:-1;;;17477:126:0;;7800:2:1;17477:126:0::1;::::0;::::1;7782:21:1::0;7839:2;7819:18;;;7812:30;7878:34;7858:18;;;7851:62;-1:-1:-1;;;7929:18:1;;;7922:38;7977:19;;17477:126:0::1;7598:404:1::0;17477:126:0::1;17614:14;:30:::0;;;;17655:15:::1;:32:::0;;;;17698:12:::1;:26:::0;;;;17735:13:::1;:28:::0;;;;17774:18:::1;:38:::0;17823:19:::1;:40:::0;17874:13:::1;:28:::0;17913:14:::1;:30:::0;17107:844::o;13466:235::-;13532:19;;-1:-1:-1;;;;;13532:19:0;314:10;-1:-1:-1;;;;;13516:35:0;;:72;;;-1:-1:-1;13571:17:0;;-1:-1:-1;;;;;13571:17:0;314:10;-1:-1:-1;;;;;13555:33:0;;13516:72;13508:81;;;;;;13629:21;13661:32;13629:21;13661:12;:32::i;:::-;13497:204;13466:235::o;7229:138::-;-1:-1:-1;;;;;7342:16:0;;7295:7;7342:16;;;:7;:16;;;;;;7322:37;;:19;:37::i;1559:123::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;1656:1:::1;1640:6:::0;;1619:40:::1;::::0;-1:-1:-1;;;;;1640:6:0;;::::1;::::0;1619:40:::1;::::0;1656:1;;1619:40:::1;1678:1;1661:19:::0;;-1:-1:-1;;;;;;1661:19:0::1;::::0;;1559:123::o;18590:210::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;18688:14:::1;18698:4;4342:20;18688:14;:::i;:::-;18672:11;:31;;18664:91;;;::::0;-1:-1:-1;;;18664:91:0;;6268:2:1;18664:91:0::1;::::0;::::1;6250:21:1::0;6307:2;6287:18;;;6280:30;6346:34;6326:18;;;6319:62;-1:-1:-1;;;6397:18:1;;;6390:45;6452:19;;18664:91:0::1;6066:411:1::0;18664:91:0::1;18766:12;:26:::0;18590:210::o;12781:79::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;12834:11:::1;:18:::0;;-1:-1:-1;;;;12834:18:0::1;-1:-1:-1::0;;;12834:18:0::1;::::0;;12781:79::o;17959:139::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;18050:19:::1;:40:::0;17959:139::o;7375:199::-;7480:4;7502:42;314:10;7526:9;7537:6;7502:9;:42::i;19032:234::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;19149:9:::1;19145:114;19164:19:::0;;::::1;19145:114;;;19239:8;19205:18;:31;19224:8;;19233:1;19224:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19205:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19205:31:0;:42;;-1:-1:-1;;19205:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19185:3;::::1;::::0;::::1;:::i;:::-;;;;19145:114;;;;19032:234:::0;;;:::o;18106:101::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;18173:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18173:26:0::1;-1:-1:-1::0;;;;18173:26:0;;::::1;::::0;;;::::1;::::0;;18106:101::o;9112:180::-;9196:19;;-1:-1:-1;;;;;9196:19:0;314:10;-1:-1:-1;;;;;9180:35:0;;:72;;;-1:-1:-1;9235:17:0;;-1:-1:-1;;;;;9235:17:0;314:10;-1:-1:-1;;;;;9219:33:0;;9180:72;9172:81;;;;;;9264:8;:20;;;;;-1:-1:-1;;;9264:20:0;-1:-1:-1;;;;9264:20:0;;;;;;;;;9112:180::o;18812:212::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;18929:4:::1;18915:11;4342:20;18925:1;18915:11;:::i;:::-;:18;;;;:::i;:::-;18897:13;:37;;18889:86;;;::::0;-1:-1:-1;;;18889:86:0;;6857:2:1;18889:86:0::1;::::0;::::1;6839:21:1::0;6896:2;6876:18;;;6869:30;6935:34;6915:18;;;6908:62;-1:-1:-1;;;6986:18:1;;;6979:34;7030:19;;18889:86:0::1;6655:400:1::0;18889:86:0::1;18986:14;:30:::0;18812:212::o;1688:244::-;1490:6;;-1:-1:-1;;;;;1490:6:0;314:10;1490:22;1482:67;;;;-1:-1:-1;;;1482:67:0;;5553:2:1;1482:67:0;;;5535:21:1;;;5572:18;;;5565:30;-1:-1:-1;;;;;;;;;;;5611:18:1;;;5604:62;5683:18;;1482:67:0;5351:356:1;1482:67:0;-1:-1:-1;;;;;1777:22:0;::::1;1769:73;;;::::0;-1:-1:-1;;;1769:73:0;;8481:2:1;1769:73:0::1;::::0;::::1;8463:21:1::0;8520:2;8500:18;;;8493:30;8559:34;8539:18;;;8532:62;-1:-1:-1;;;8610:18:1;;;8603:36;8656:19;;1769:73:0::1;8279:402:1::0;1769:73:0::1;1879:6;::::0;;1858:38:::1;::::0;-1:-1:-1;;;;;1858:38:0;;::::1;::::0;1879:6;::::1;::::0;1858:38:::1;::::0;::::1;1907:6;:17:::0;;-1:-1:-1;;;;;;1907:17:0::1;-1:-1:-1::0;;;;;1907:17:0;;;::::1;::::0;;;::::1;::::0;;1688:244::o;9300:369::-;-1:-1:-1;;;;;9427:19:0;;9419:68;;;;-1:-1:-1;;;9419:68:0;;8888:2:1;9419:68:0;;;8870:21:1;8927:2;8907:18;;;8900:30;8966:34;8946:18;;;8939:62;-1:-1:-1;;;9017:18:1;;;9010:34;9061:19;;9419:68:0;8686:400:1;9419:68:0;-1:-1:-1;;;;;9506:21:0;;9498:68;;;;-1:-1:-1;;;9498:68:0;;9293:2:1;9498:68:0;;;9275:21:1;9332:2;9312:18;;;9305:30;9371:34;9351:18;;;9344:62;-1:-1:-1;;;9422:18:1;;;9415:32;9464:19;;9498:68:0;9091:398:1;9498:68:0;-1:-1:-1;;;;;9577:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9629:32;;1641:25:1;;;9629:32:0;;1614:18:1;9629:32:0;;;;;;;9300:369;;;:::o;9677:3096::-;-1:-1:-1;;;;;9799:18:0;;9791:68;;;;-1:-1:-1;;;9791:68:0;;9696:2:1;9791:68:0;;;9678:21:1;9735:2;9715:18;;;9708:30;9774:34;9754:18;;;9747:62;-1:-1:-1;;;9825:18:1;;;9818:35;9870:19;;9791:68:0;9494:401:1;9791:68:0;-1:-1:-1;;;;;9878:16:0;;9870:64;;;;-1:-1:-1;;;9870:64:0;;10102:2:1;9870:64:0;;;10084:21:1;10141:2;10121:18;;;10114:30;10180:34;10160:18;;;10153:62;-1:-1:-1;;;10231:18:1;;;10224:33;10274:19;;9870:64:0;9900:399:1;9870:64:0;9962:1;9953:6;:10;9945:64;;;;-1:-1:-1;;;9945:64:0;;10506:2:1;9945:64:0;;;10488:21:1;10545:2;10525:18;;;10518:30;10584:34;10564:18;;;10557:62;-1:-1:-1;;;10635:18:1;;;10628:39;10684:19;;9945:64:0;10304:405:1;9945:64:0;1429:7;1446:6;-1:-1:-1;;;;;10026:15:0;;;1446:6;;10026:15;;;;:32;;-1:-1:-1;1429:7:0;1446:6;-1:-1:-1;;;;;10045:13:0;;;1446:6;;10045:13;;10026:32;:52;;;;-1:-1:-1;;;;;;10063:15:0;;;;;;:9;:15;;;;;;;;10062:16;10026:52;:70;;;;-1:-1:-1;;;;;;10083:13:0;;;;;;:9;:13;;;;;;;;10082:14;10026:70;:82;;;;-1:-1:-1;10100:8:0;;-1:-1:-1;;;10100:8:0;;;;10026:82;10022:2123;;;10130:11;;-1:-1:-1;;;10130:11:0;;;;10125:144;;-1:-1:-1;;;;;10170:15:0;;;;;;:9;:15;;;;;;;;10162:91;;;;-1:-1:-1;;;10162:91:0;;10916:2:1;10162:91:0;;;10898:21:1;10955:2;10935:18;;;10928:30;10994:34;10974:18;;;10967:62;11065:33;11045:18;;;11038:61;11116:19;;10162:91:0;10714:427:1;10162:91:0;10301:12;;10291:6;:22;;10283:63;;;;-1:-1:-1;;;10283:63:0;;11348:2:1;10283:63:0;;;11330:21:1;11387:2;11367:18;;;11360:30;11426;11406:18;;;11399:58;11474:18;;10283:63:0;11146:352:1;10283:63:0;10370:13;;-1:-1:-1;;;;;10364:19:0;;;10370:13;;10364:19;10361:146;;10437:14;;10428:6;10412:13;10422:2;10412:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10404:87;;;;-1:-1:-1;;;10404:87:0;;11705:2:1;10404:87:0;;;11687:21:1;11744:2;11724:18;;;11717:30;11783:34;11763:18;;;11756:62;-1:-1:-1;;;11834:18:1;;;11827:33;11877:19;;10404:87:0;11503:399:1;10404:87:0;10523:28;10554:24;10572:4;10554:9;:24::i;:::-;10632:19;;10523:55;;-1:-1:-1;10608:43:0;;;;;;;10670:18;;-1:-1:-1;10682:6:0;;-1:-1:-1;;;10682:6:0;;;;10681:7;10670:18;:43;;;;-1:-1:-1;10700:13:0;;-1:-1:-1;;;;;10692:21:0;;;10700:13;;10692:21;;10670:43;:58;;;;-1:-1:-1;10717:11:0;;-1:-1:-1;;;10717:11:0;;;;10670:58;:87;;;;-1:-1:-1;;;;;;10733:24:0;;;;;;:18;:24;;;;;;;;10732:25;10670:87;:114;;;;-1:-1:-1;;;;;;10762:22:0;;;;;;:18;:22;;;;;;;;10761:23;10670:114;10666:1468;;;10833:19;;:24;;10855:2;10833:24;:::i;:::-;10809:20;:48;10805:126;;10905:19;;:24;;10927:2;10905:24;:::i;:::-;10882:47;;10805:126;10949:15;11006:13;;10984:19;;10967:14;;:36;;;;:::i;:::-;:52;;;;:::i;:::-;10949:70;;11038:18;11101:7;11083:14;;11060:20;:37;;;;:::i;:::-;11059:49;;;;:::i;:::-;11038:70;;11127:61;11150:4;5515:6;11170:10;11182:5;11127:14;:61::i;:::-;11207:23;11290:1;11280:7;11257:19;;11234:20;:42;;;;:::i;:::-;11233:54;;;;:::i;:::-;:58;;;;:::i;:::-;11207:84;-1:-1:-1;11310:26:0;11339:57;11207:84;11339:36;:20;11364:10;11339:24;:36::i;:::-;:40;;:57::i;:::-;11310:86;-1:-1:-1;11443:21:0;11483:36;11310:86;11483:16;:36::i;:::-;11538:18;11559:44;:21;11585:17;11559:25;:44::i;:::-;11538:65;;11622:20;11645:70;11695:19;;11679:13;;:35;;;;:::i;:::-;11660:13;;11645:29;;:10;;:14;:29::i;:::-;:33;;:70::i;:::-;11622:93;-1:-1:-1;11734:23:0;11760:28;11622:93;11760:10;:28;:::i;:::-;11734:54;;11829:1;11811:15;:19;:42;;;;;11852:1;11834:15;:19;11811:42;11807:119;;;11878:46;11891:15;11908;11878:12;:46::i;:::-;11973:21;12017:22;;12013:106;;12064:35;12077:21;12064:12;:35::i;:::-;10786:1348;;;;;;;;;10666:1468;10110:2035;;10022:2123;-1:-1:-1;;;;;12192:24:0;;12157:12;12192:24;;;:18;:24;;;;;;12172:4;;12192:24;;;:50;;-1:-1:-1;;;;;;12220:22:0;;;;;;:18;:22;;;;;;;;12192:50;12191:102;;;-1:-1:-1;12256:13:0;;-1:-1:-1;;;;;12248:21:0;;;12256:13;;12248:21;;;;:44;;-1:-1:-1;12279:13:0;;-1:-1:-1;;;;;12273:19:0;;;12279:13;;12273:19;;12248:44;12187:525;;;-1:-1:-1;12320:5:0;12187:525;;;12369:13;;-1:-1:-1;;;;;12361:21:0;;;12369:13;;12361:21;:55;;;;-1:-1:-1;12400:15:0;;-1:-1:-1;;;;;12386:30:0;;;12400:15;;12386:30;;12361:55;12358:162;;;12449:14;;12437:9;:26;12492:12;;12482:7;:22;12358:162;12544:13;;-1:-1:-1;;;;;12538:19:0;;;12544:13;;12538:19;:55;;;;-1:-1:-1;12577:15:0;;-1:-1:-1;;;;;12561:32:0;;;12577:15;;12561:32;;12538:55;12534:165;;;12626:15;;12614:9;:27;12670:13;;12660:7;:23;12534:165;12724:41;12739:4;12745:2;12749:6;12757:7;12724:14;:41::i;2290:224::-;2410:7;2446:12;2438:6;;;;2430:29;;;;-1:-1:-1;;;2430:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2470:9:0;2482:5;2486:1;2482;:5;:::i;:::-;2470:17;2290:224;-1:-1:-1;;;;;2290:224:0:o;13359:99::-;13416:17;;:34;;-1:-1:-1;;;;;13416:17:0;;;;:34;;;;;13443:6;;13416:17;:34;:17;:34;13443:6;13416:17;:34;;;;;;;;;;;;;;;;;;;;;13359:99;:::o;8429:323::-;8524:7;8582;;8571;:18;;8549:110;;;;-1:-1:-1;;;8549:110:0;;12242:2:1;8549:110:0;;;12224:21:1;12281:2;12261:18;;;12254:30;12320:34;12300:18;;;12293:62;-1:-1:-1;;;12371:18:1;;;12364:40;12421:19;;8549:110:0;12040:406:1;8549:110:0;8670:19;8692:10;:8;:10::i;:::-;8670:32;-1:-1:-1;8720:24:0;:7;8670:32;8720:11;:24::i;:::-;8713:31;8429:323;-1:-1:-1;;;8429:323:0:o;13709:282::-;13865:7;13860:28;;13874:14;:12;:14::i;:::-;13899:44;13917:6;13925:9;13936:6;13899:17;:44::i;:::-;13959:7;13954:29;;13968:15;9043:17;;9031:9;:29;9081:15;;9071:7;:25;8987:117;2148:136;2206:7;2233:43;2237:1;2240;2233:43;;;;;;;;;;;;;;;;;:3;:43::i;12868:483::-;6020:6;:13;;-1:-1:-1;;;;6020:13:0;-1:-1:-1;;;6020:13:0;;;12970:16:::1;::::0;;12984:1:::1;12970:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12970:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12970:16:0::1;12946:40;;13015:4;12997;13002:1;12997:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12997:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13041:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13041:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12997:7;;13041:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13031:4;13036:1;13031:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13031:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13106:15:::1;::::0;13074:62:::1;::::0;13091:4:::1;::::0;13106:15:::1;13124:11:::0;13074:8:::1;:62::i;:::-;13147:15;::::0;:196:::1;::::0;-1:-1:-1;;;13147:196:0;;-1:-1:-1;;;;;13147:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13228:11;;13147:15:::1;::::0;13270:4;;13297::::1;::::0;13317:15:::1;::::0;13147:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6056:6:0;:14;;-1:-1:-1;;;;6056:14:0;;;-1:-1:-1;;;;12868:483:0:o;2520:246::-;2578:7;2602:1;2607;2602:6;2598:47;;-1:-1:-1;2632:1:0;2625:8;;2598:47;2655:9;2667:5;2671:1;2667;:5;:::i;:::-;2655:17;-1:-1:-1;2700:1:0;2691:5;2695:1;2655:17;2691:5;:::i;:::-;:10;2683:56;;;;-1:-1:-1;;;2683:56:0;;14072:2:1;2683:56:0;;;14054:21:1;14111:2;14091:18;;;14084:30;14150:34;14130:18;;;14123:62;-1:-1:-1;;;14201:18:1;;;14194:31;14242:19;;2683:56:0;13870:397:1;2772:132:0;2830:7;2857:39;2861:1;2864;2857:39;;;;;;;;;;;;;;;;;:3;:39::i;19274:418::-;19387:15;;19355:62;;19372:4;;-1:-1:-1;;;;;19387:15:0;19405:11;19355:8;:62::i;:::-;19428:15;;:256;;-1:-1:-1;;;19428:256:0;;19500:4;19428:256;;;14636:34:1;14686:18;;;14679:34;;;19428:15:0;14729:18:1;;;14722:34;;;14772:18;;;14765:34;5515:6:0;14815:19:1;;;14808:44;19658:15:0;14868:19:1;;;14861:35;-1:-1:-1;;;;;19428:15:0;;;;:31;;19467:9;;14547:19:1;;19428:256:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19274:418;;:::o;16670:164::-;16712:7;16733:15;16750;16769:19;:17;:19::i;:::-;16732:56;;-1:-1:-1;16732:56:0;-1:-1:-1;16806:20:0;16732:56;;16806:11;:20::i;:::-;16799:27;;;;16670:164;:::o;8760:219::-;8807:9;;:14;:30;;;;-1:-1:-1;8825:7:0;;:12;8807:30;8803:43;;;8760:219::o;8803:43::-;8878:9;;;8858:17;:29;8916:7;;;8898:15;:25;-1:-1:-1;8936:13:0;;;;8960:11;8760:219::o;13999:610::-;14146:15;14176:23;14214:12;14241:23;14279:12;14306:13;14333:19;14344:7;14333:10;:19::i;:::-;-1:-1:-1;;;;;14381:15:0;;;;;;:7;:15;;;;;;14131:221;;-1:-1:-1;14131:221:0;;-1:-1:-1;14131:221:0;;-1:-1:-1;14131:221:0;-1:-1:-1;14131:221:0;-1:-1:-1;14131:221:0;-1:-1:-1;14381:28:0;;14131:221;14381:19;:28::i;:::-;-1:-1:-1;;;;;14363:15:0;;;;;;;:7;:15;;;;;;:46;;;;14441:18;;;;;;;:39;;14464:15;14441:22;:39::i;:::-;-1:-1:-1;;;;;14420:18:0;;;;;;:7;:18;;;;;:60;14491:16;14501:5;14491:9;:16::i;:::-;14518:23;14530:4;14536;14518:11;:23::i;:::-;14574:9;-1:-1:-1;;;;;14557:44:0;14566:6;-1:-1:-1;;;;;14557:44:0;;14585:15;14557:44;;;;1641:25:1;;1629:2;1614:18;;1495:177;14557:44:0;;;;;;;;14120:489;;;;;;13999:610;;;:::o;2910:223::-;3030:7;3065:12;3058:5;3050:28;;;;-1:-1:-1;;;3050:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3089:9:0;3101:5;3105:1;3101;:5;:::i;16842:257::-;16940:7;;16893;;;;4342:20;17008;16940:7;4342:20;17008:11;:20::i;:::-;16998:7;:30;16994:61;;;-1:-1:-1;;17038:7:0;;;4342:20;;-1:-1:-1;16842:257:0;-1:-1:-1;16842:257:0:o;16994:61::-;17074:7;;17083;;-1:-1:-1;16842:257:0;-1:-1:-1;16842:257:0:o;15028:615::-;15128:7;15150;15172;15194;15216;15238;15274:23;15299:12;15313:13;15343:40;15355:7;15364:9;;15375:7;;15343:11;:40::i;:::-;15273:110;;;;;;15394:19;15416:10;:8;:10::i;:::-;15394:32;;15438:15;15455:23;15480:12;15509:46;15521:7;15530:4;15536:5;15543:11;15509;:46::i;:::-;15437:118;;-1:-1:-1;15437:118:0;-1:-1:-1;15437:118:0;-1:-1:-1;15606:15:0;;-1:-1:-1;15623:4:0;;-1:-1:-1;15629:5:0;;-1:-1:-1;;;;;15028:615:0;;;;;;;:::o;1963:179::-;2021:7;;2053:5;2057:1;2053;:5;:::i;:::-;2041:17;;2082:1;2077;:6;;2069:46;;;;-1:-1:-1;;;2069:46:0;;15420:2:1;2069:46:0;;;15402:21:1;15459:2;15439:18;;;15432:30;15498:29;15478:18;;;15471:57;15545:18;;2069:46:0;15218:351:1;14617:211:0;14670:19;14692:10;:8;:10::i;:::-;14670:32;-1:-1:-1;14713:13:0;14729:22;:5;14670:32;14729:9;:22::i;:::-;14803:4;14787:22;;;;:7;:22;;;;;;14713:38;;-1:-1:-1;14787:33:0;;14713:38;14787:26;:33::i;:::-;14778:4;14762:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14617:211:0:o;14836:147::-;14914:7;;:17;;14926:4;14914:11;:17::i;:::-;14904:7;:27;14955:10;;:20;;14970:4;14955:14;:20::i;:::-;14942:10;:33;-1:-1:-1;;14836:147:0:o;15651:469::-;15820:7;;;;15914:30;15940:3;15914:21;:7;15926:8;15914:11;:21::i;:30::-;15899:45;-1:-1:-1;15955:13:0;15971:28;15995:3;15971:19;:7;15983:6;15971:11;:19::i;:28::-;15955:44;-1:-1:-1;16010:23:0;16036:28;15955:44;16036:17;:7;16048:4;16036:11;:17::i;:28::-;16010:54;16100:4;;-1:-1:-1;16106:5:0;;-1:-1:-1;15651:469:0;;-1:-1:-1;;;;;15651:469:0:o;16128:534::-;16322:7;;;;16419:24;:7;16431:11;16419;:24::i;:::-;16401:42;-1:-1:-1;16454:12:0;16469:21;:4;16478:11;16469:8;:21::i;:::-;16454:36;-1:-1:-1;16501:13:0;16517:22;:5;16527:11;16517:9;:22::i;:::-;16501:38;-1:-1:-1;16550:23:0;16576:28;16501:38;16576:17;:7;16588:4;16576:11;:17::i;:28::-;16623:7;;;;-1:-1:-1;16649:4:0;;-1:-1:-1;16128:534:0;;-1:-1:-1;;;;;;;16128:534:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:154::-;-1:-1:-1;;;;;646:5:1;642:54;635:5;632:65;622:93;;711:1;708;701:12;726:315;794:6;802;855:2;843:9;834:7;830:23;826:32;823:52;;;871:1;868;861:12;823:52;910:9;897:23;929:31;954:5;929:31;:::i;:::-;979:5;1031:2;1016:18;;;;1003:32;;-1:-1:-1;;;726:315:1:o;1677:248::-;1745:6;1753;1806:2;1794:9;1785:7;1781:23;1777:32;1774:52;;;1822:1;1819;1812:12;1774:52;-1:-1:-1;;1845:23:1;;;1915:2;1900:18;;;1887:32;;-1:-1:-1;1677:248:1:o;1930:456::-;2007:6;2015;2023;2076:2;2064:9;2055:7;2051:23;2047:32;2044:52;;;2092:1;2089;2082:12;2044:52;2131:9;2118:23;2150:31;2175:5;2150:31;:::i;:::-;2200:5;-1:-1:-1;2257:2:1;2242:18;;2229:32;2270:33;2229:32;2270:33;:::i;:::-;1930:456;;2322:7;;-1:-1:-1;;;2376:2:1;2361:18;;;;2348:32;;1930:456::o;2811:661::-;2933:6;2941;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;;3381:33;;-1:-1:-1;3461:3:1;3446:19;3433:33;;-1:-1:-1;2811:661:1;-1:-1:-1;2811:661:1:o;3477:247::-;3536:6;3589:2;3577:9;3568:7;3564:23;3560:32;3557:52;;;3605:1;3602;3595:12;3557:52;3644:9;3631:23;3663:31;3688:5;3663:31;:::i;3729:180::-;3788:6;3841:2;3829:9;3820:7;3816:23;3812:32;3809:52;;;3857:1;3854;3847:12;3809:52;-1:-1:-1;3880:23:1;;3729:180;-1:-1:-1;3729:180:1:o;3914:160::-;3979:20;;4035:13;;4028:21;4018:32;;4008:60;;4064:1;4061;4054:12;4008:60;3914:160;;;:::o;4079:689::-;4171:6;4179;4187;4240:2;4228:9;4219:7;4215:23;4211:32;4208:52;;;4256:1;4253;4246:12;4208:52;4296:9;4283:23;4325:18;4366:2;4358:6;4355:14;4352:34;;;4382:1;4379;4372:12;4352:34;4420:6;4409:9;4405:22;4395:32;;4465:7;4458:4;4454:2;4450:13;4446:27;4436:55;;4487:1;4484;4477:12;4436:55;4527:2;4514:16;4553:2;4545:6;4542:14;4539:34;;;4569:1;4566;4559:12;4539:34;4624:7;4617:4;4607:6;4604:1;4600:14;4596:2;4592:23;4588:34;4585:47;4582:67;;;4645:1;4642;4635:12;4582:67;4676:4;4668:13;;;;-1:-1:-1;4700:6:1;-1:-1:-1;4725:37:1;;4741:20;;;-1:-1:-1;4725:37:1;:::i;:::-;4715:47;;4079:689;;;;;:::o;4773:180::-;4829:6;4882:2;4870:9;4861:7;4857:23;4853:32;4850:52;;;4898:1;4895;4888:12;4850:52;4921:26;4937:9;4921:26;:::i;4958:388::-;5026:6;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5142:9;5129:23;5161:31;5186:5;5161:31;:::i;:::-;5211:5;-1:-1:-1;5268:2:1;5253:18;;5240:32;5281:33;5240:32;5281:33;:::i;:::-;5333:7;5323:17;;;4958:388;;;;;:::o;5712:127::-;5773:10;5768:3;5764:20;5761:1;5754:31;5804:4;5801:1;5794:15;5828:4;5825:1;5818:15;5844:217;5884:1;5910;5900:132;;5954:10;5949:3;5945:20;5942:1;5935:31;5989:4;5986:1;5979:15;6017:4;6014:1;6007:15;5900:132;-1:-1:-1;6046:9:1;;5844:217::o;6482:168::-;6555:9;;;6586;;6603:15;;;6597:22;;6583:37;6573:71;;6624:18;;:::i;7060:125::-;7125:9;;;7146:10;;;7143:36;;;7159:18;;:::i;8007:127::-;8068:10;8063:3;8059:20;8056:1;8049:31;8099:4;8096:1;8089:15;8123:4;8120:1;8113:15;8139:135;8178:3;8199:17;;;8196:43;;8219:18;;:::i;:::-;-1:-1:-1;8266:1:1;8255:13;;8139:135::o;11907:128::-;11974:9;;;11995:11;;;11992:37;;;12009:18;;:::i;12583:251::-;12653:6;12706:2;12694:9;12685:7;12681:23;12677:32;12674:52;;;12722:1;12719;12712:12;12674:52;12754:9;12748:16;12773:31;12798:5;12773:31;:::i;12839:1026::-;13101:4;13149:3;13138:9;13134:19;13180:6;13169:9;13162:25;13206:2;13244:6;13239:2;13228:9;13224:18;13217:34;13287:3;13282:2;13271:9;13267:18;13260:31;13311:6;13346;13340:13;13377:6;13369;13362:22;13415:3;13404:9;13400:19;13393:26;;13454:2;13446:6;13442:15;13428:29;;13475:1;13485:218;13499:6;13496:1;13493:13;13485:218;;;13564:13;;-1:-1:-1;;;;;13560:62:1;13548:75;;13678:15;;;;13643:12;;;;13521:1;13514:9;13485:218;;;-1:-1:-1;;;;;;;13759:55:1;;;;13754:2;13739:18;;13732:83;-1:-1:-1;;;13846:3:1;13831:19;13824:35;13720:3;12839:1026;-1:-1:-1;;;12839:1026:1:o;14907:306::-;14995:6;15003;15011;15064:2;15052:9;15043:7;15039:23;15035:32;15032:52;;;15080:1;15077;15070:12;15032:52;15109:9;15103:16;15093:26;;15159:2;15148:9;15144:18;15138:25;15128:35;;15203:2;15192:9;15188:18;15182:25;15172:35;;14907:306;;;;;:::o

Swarm Source

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