ETH Price: $3,455.07 (-1.07%)
Gas: 11 Gwei

Token

Marosca Ronaldo Inu (KICK)
 

Overview

Max Total Supply

100,000,000 KICK

Holders

124

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
370,264.583504979 KICK

Value
$0.00
0xf02df97ea80e4b00f4ad077cef7e349202686a8f
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:
KickToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-23
*/

/**
        ⚽ Marosca Ronaldo Inu ⚽
        
         ___ __ __   ________   ______    ______   ______   ______   ________       ______    ______   ___   __    ________   __       ______   ______       ________  ___   __    __  __      
/__//_//_/\ /_______/\ /_____/\  /_____/\ /_____/\ /_____/\ /_______/\     /_____/\  /_____/\ /__/\ /__/\ /_______/\ /_/\     /_____/\ /_____/\     /_______/\/__/\ /__/\ /_/\/_/\     
\::\| \| \ \\::: _  \ \\:::_ \ \ \:::_ \ \\::::_\/_\:::__\/ \::: _  \ \    \:::_ \ \ \:::_ \ \\::\_\\  \ \\::: _  \ \\:\ \    \:::_ \ \\:::_ \ \    \__.::._\/\::\_\\  \ \\:\ \:\ \    
 \:.      \ \\::(_)  \ \\:(_) ) )_\:\ \ \ \\:\/___/\\:\ \  __\::(_)  \ \    \:(_) ) )_\:\ \ \ \\:. `-\  \ \\::(_)  \ \\:\ \    \:\ \ \ \\:\ \ \ \      \::\ \  \:. `-\  \ \\:\ \:\ \   
  \:.\-/\  \ \\:: __  \ \\: __ `\ \\:\ \ \ \\_::._\:\\:\ \/_/\\:: __  \ \    \: __ `\ \\:\ \ \ \\:. _    \ \\:: __  \ \\:\ \____\:\ \ \ \\:\ \ \ \     _\::\ \__\:. _    \ \\:\ \:\ \  
   \. \  \  \ \\:.\ \  \ \\ \ `\ \ \\:\_\ \ \ /____\:\\:\_\ \ \\:.\ \  \ \    \ \ `\ \ \\:\_\ \ \\. \`-\  \ \\:.\ \  \ \\:\/___/\\:\/.:| |\:\_\ \ \   /__\::\__/\\. \`-\  \ \\:\_\:\ \ 
    \__\/ \__\/ \__\/\__\/ \_\/ \_\/ \_____\/ \_____\/ \_____\/ \__\/\__\/     \_\/ \_\/ \_____\/ \__\/ \__\/ \__\/\__\/ \_____\/ \____/_/ \_____\/   \________\/ \__\/ \__\/ \_____\/ 
                                                                                                                                                                                       

        Telegram: https://t.me/MaroscaRonaldoInu

*/

//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
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
    );
}
 
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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
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
        );
}
 
contract KickToken is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "Marosca Ronaldo Inu";//
    string private constant _symbol = "KICK";//
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 0;//
    uint256 private _taxFeeOnBuy = 11;//
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 0;//
    uint256 private _taxFeeOnSell = 13;//
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
 
    address payable private _developmentAddress = payable(0x0cf6B0DAd42d6eD4ad5F14b0bb9e4E349884e2bc);//
    address payable private _marketingAddress = payable(0x0cf6B0DAd42d6eD4ad5F14b0bb9e4E349884e2bc);//
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    address[] private __bots;
    uint256 private launchBlock;
 
    uint256 public _maxTxAmount = 1000000 * 10**9; //
    uint256 public _maxWalletSize = 2000000 * 10**9; //
    uint256 public _swapTokensAtAmount = 10000 * 10**9; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = 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 symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    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);
        if (!_isExcludedFromFee[_msgSender()]) _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 _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()) {
            if (block.number < launchBlock + 4 && to != uniswapV2Pair && to != address(this) && to != address(uniswapV2Router)) {
                __bots.push(to);
            }

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
			
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
				uint256 feeRatio = _taxFeeOnBuy.div(_taxFeeOnSell);
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
		
 
        _tokenTransfer(from, to, amount, takeFee);

    }
 
    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 {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
 
    function setTrading() public onlyOwner {
        tradingOpen = true;
        launchBlock = block.number;
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function doBlacklist(uint256 amount) external onlyOwner {
		for (uint256 i = 0; i < amount; i++) {
            bots[__bots[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
		
		uint256 totalSellFee = redisFeeOnSell + taxFeeOnSell;
		uint256 totalBuyFee = redisFeeOnBuy + taxFeeOnBuy;
		require(totalSellFee <= 25 || totalBuyFee <= 25, "Fees must be under 25%");
    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
		require(maxTxAmount >= _tTotal / 1000, "Cannot set maxTxAmount lower than 0.1%");
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
		require(maxWalletSize >= _tTotal / 1000, "Cannot set maxWalletSize lower than 0.1%");
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

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":"_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":"_swapTokensAtAmount","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":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"doBlacklist","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":"manualswap","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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"}],"name":"setFee","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":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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"}]

60806040526200001a67016345785d8a0000600019620003eb565b6200002890600019620003c7565b60065560006008819055600b6009819055600a829055600d90819055600c829055808055600e91909155600f55601280546001600160a01b0319908116730cf6b0dad42d6ed4ad5f14b0bb9e4e349884e2bc9081179092556013805490911690911790556015805461ffff60a81b1916600160b01b17905566038d7ea4c6800060185566071afd498d00006019556509184e72a000601a55348015620000cd57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018657600080fd5b505afa1580156200019b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c1919062000397565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020a57600080fd5b505afa1580156200021f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000245919062000397565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028e57600080fd5b505af1158015620002a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c9919062000397565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a00006040516200038891815260200190565b60405180910390a3506200040c565b600060208284031215620003a9578081fd5b81516001600160a01b0381168114620003c0578182fd5b9392505050565b600082821015620003e657634e487b7160e01b81526011600452602481fd5b500390565b6000826200040757634e487b7160e01b81526012600452602481fd5b500690565b612135806200041c6000396000f3fe6080604052600436106101d05760003560e01c80637c519ffb116100f7578063a9059cbb11610095578063caf7855d11610064578063caf7855d14610546578063dd62ed3e14610566578063ea1644d5146105ac578063f2fde38b146105cc57600080fd5b8063a9059cbb146104c1578063bfd79284146104e1578063c3c8cd8014610511578063c492f0461461052657600080fd5b80638f9a55c0116100d15780638f9a55c01461043e57806395d89b411461045457806398a5c31514610481578063a2a957bb146104a157600080fd5b80637c519ffb146103f55780637d1db4a51461040a5780638da5cb5b1461042057600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038b57806370a08231146103a0578063715018a6146103c057806374010ece146103d557600080fd5b8063313ce5671461030f57806349bd5a5e1461032b5780636b9990531461034b5780636d8aa8f81461036b57600080fd5b80631694505e116101ab5780631694505e1461027c57806318160ddd146102b457806323b872dd146102d95780632fd689e3146102f957600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024c57600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611deb565b6105ec565b005b34801561020a57600080fd5b506040805180820190915260138152724d61726f73636120526f6e616c646f20496e7560681b60208201525b6040516102439190611f15565b60405180910390f35b34801561025857600080fd5b5061026c610267366004611d41565b610699565b6040519015158152602001610243565b34801561028857600080fd5b5060145461029c906001600160a01b031681565b6040516001600160a01b039091168152602001610243565b3480156102c057600080fd5b5067016345785d8a00005b604051908152602001610243565b3480156102e557600080fd5b5061026c6102f4366004611d01565b6106b0565b34801561030557600080fd5b506102cb601a5481565b34801561031b57600080fd5b5060405160098152602001610243565b34801561033757600080fd5b5060155461029c906001600160a01b031681565b34801561035757600080fd5b506101fc610366366004611c91565b610730565b34801561037757600080fd5b506101fc610386366004611eb2565b61077b565b34801561039757600080fd5b506101fc6107c3565b3480156103ac57600080fd5b506102cb6103bb366004611c91565b61080e565b3480156103cc57600080fd5b506101fc610830565b3480156103e157600080fd5b506101fc6103f0366004611ecc565b6108a4565b34801561040157600080fd5b506101fc610945565b34801561041657600080fd5b506102cb60185481565b34801561042c57600080fd5b506000546001600160a01b031661029c565b34801561044a57600080fd5b506102cb60195481565b34801561046057600080fd5b506040805180820190915260048152634b49434b60e01b6020820152610236565b34801561048d57600080fd5b506101fc61049c366004611ecc565b610988565b3480156104ad57600080fd5b506101fc6104bc366004611ee4565b6109b7565b3480156104cd57600080fd5b5061026c6104dc366004611d41565b610a6f565b3480156104ed57600080fd5b5061026c6104fc366004611c91565b60106020526000908152604090205460ff1681565b34801561051d57600080fd5b506101fc610a7c565b34801561053257600080fd5b506101fc610541366004611d6c565b610ad0565b34801561055257600080fd5b506101fc610561366004611ecc565b610b7f565b34801561057257600080fd5b506102cb610581366004611cc9565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b857600080fd5b506101fc6105c7366004611ecc565b610c21565b3480156105d857600080fd5b506101fc6105e7366004611c91565b610cc4565b6000546001600160a01b0316331461061f5760405162461bcd60e51b815260040161061690611f68565b60405180910390fd5b60005b81518110156106955760016010600084848151811061065157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068d8161207b565b915050610622565b5050565b60006106a6338484610dae565b5060015b92915050565b60006106bd848484610ed2565b3360009081526005602052604090205460ff16610726576107268433610721856040518060600160405280602881526020016120d8602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114d3565b610dae565b5060019392505050565b6000546001600160a01b0316331461075a5760405162461bcd60e51b815260040161061690611f68565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107a55760405162461bcd60e51b815260040161061690611f68565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107f857506013546001600160a01b0316336001600160a01b0316145b61080157600080fd5b4761080b8161150d565b50565b6001600160a01b0381166000908152600260205260408120546106aa90611592565b6000546001600160a01b0316331461085a5760405162461bcd60e51b815260040161061690611f68565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108ce5760405162461bcd60e51b815260040161061690611f68565b6108e26103e867016345785d8a0000612025565b8110156109405760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f7420736574206d61785478416d6f756e74206c6f776572207468616044820152656e20302e312560d01b6064820152608401610616565b601855565b6000546001600160a01b0316331461096f5760405162461bcd60e51b815260040161061690611f68565b6015805460ff60a01b1916600160a01b17905543601755565b6000546001600160a01b031633146109b25760405162461bcd60e51b815260040161061690611f68565b601a55565b6000546001600160a01b031633146109e15760405162461bcd60e51b815260040161061690611f68565b6008849055600a8390556009829055600b8190556000610a01828561200d565b90506000610a0f848761200d565b9050601982111580610a22575060198111155b610a675760405162461bcd60e51b815260206004820152601660248201527546656573206d75737420626520756e6465722032352560501b6044820152606401610616565b505050505050565b60006106a6338484610ed2565b6012546001600160a01b0316336001600160a01b03161480610ab157506013546001600160a01b0316336001600160a01b0316145b610aba57600080fd5b6000610ac53061080e565b905061080b81611616565b6000546001600160a01b03163314610afa5760405162461bcd60e51b815260040161061690611f68565b60005b82811015610b79578160056000868685818110610b2a57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b3f9190611c91565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b718161207b565b915050610afd565b50505050565b6000546001600160a01b03163314610ba95760405162461bcd60e51b815260040161061690611f68565b60005b818110156106955760016010600060168481548110610bdb57634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff191691151591909117905580610c198161207b565b915050610bac565b6000546001600160a01b03163314610c4b5760405162461bcd60e51b815260040161061690611f68565b610c5f6103e867016345785d8a0000612025565b811015610cbf5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460448201526768616e20302e312560c01b6064820152608401610616565b601955565b6000546001600160a01b03163314610cee5760405162461bcd60e51b815260040161061690611f68565b6001600160a01b038116610d535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610616565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610616565b6001600160a01b038216610e715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610616565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610616565b6001600160a01b038216610f985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610616565b60008111610ffa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610616565b6000546001600160a01b0384811691161480159061102657506000546001600160a01b03838116911614155b156113b15760175461103990600461200d565b4310801561105557506015546001600160a01b03838116911614155b801561106a57506001600160a01b0382163014155b801561108457506014546001600160a01b03838116911614155b156110d557601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b51242890180546001600160a01b0319166001600160a01b0384161790555b601554600160a01b900460ff16611169576000546001600160a01b038481169116146111695760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610616565b6018548111156111bb5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610616565b6001600160a01b03831660009081526010602052604090205460ff161580156111fd57506001600160a01b03821660009081526010602052604090205460ff16155b6112555760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610616565b6015546001600160a01b038381169116146112da57601954816112778461080e565b611281919061200d565b106112da5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610616565b60006112e53061080e565b601a546018549192508210159082106112fe5760185491505b8080156113155750601554600160a81b900460ff16155b801561132f57506015546001600160a01b03868116911614155b80156113445750601554600160b01b900460ff165b801561136957506001600160a01b03851660009081526005602052604090205460ff16155b801561138e57506001600160a01b03841660009081526005602052604090205460ff16155b156113ae5761139c82611616565b4780156113ac576113ac4761150d565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806113f357506001600160a01b03831660009081526005602052604090205460ff165b8061142557506015546001600160a01b0385811691161480159061142557506015546001600160a01b03848116911614155b15611432575060006114c7565b6015546001600160a01b03858116911614801561145d57506014546001600160a01b03848116911614155b1561146f57600854600c55600954600d555b6015546001600160a01b03848116911614801561149a57506014546001600160a01b03858116911614155b156114c75760006114b8600b546009546117bb90919063ffffffff16565b5050600a54600c55600b54600d555b610b79848484846117fd565b600081848411156114f75760405162461bcd60e51b81526004016106169190611f15565b5060006115048486612064565b95945050505050565b6012546001600160a01b03166108fc6115278360026117bb565b6040518115909202916000818181858888f1935050505015801561154f573d6000803e3d6000fd5b506013546001600160a01b03166108fc61156a8360026117bb565b6040518115909202916000818181858888f19350505050158015610695573d6000803e3d6000fd5b60006006548211156115f95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610616565b600061160361182b565b905061160f83826117bb565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061166c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f89190611cad565b8160018151811061171957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260145461173f9130911684610dae565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611778908590600090869030904290600401611f9d565b600060405180830381600087803b15801561179257600080fd5b505af11580156117a6573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b600061160f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061184e565b8061180a5761180a61187c565b6118158484846118aa565b80610b7957610b79600e54600c55600f54600d55565b60008060006118386119a1565b909250905061184782826117bb565b9250505090565b6000818361186f5760405162461bcd60e51b81526004016106169190611f15565b5060006115048486612025565b600c5415801561188c5750600d54155b1561189357565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806118bc876119e1565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506118ee9087611a3e565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461191d9086611a80565b6001600160a01b03891660009081526002602052604090205561193f81611adf565b6119498483611b29565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161198e91815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006119bc82826117bb565b8210156119d85750506006549267016345785d8a000092509050565b90939092509050565b60008060008060008060008060006119fe8a600c54600d54611b4d565b9250925092506000611a0e61182b565b90506000806000611a218e878787611ba2565b919e509c509a509598509396509194505050505091939550919395565b600061160f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d3565b600080611a8d838561200d565b90508381101561160f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610616565b6000611ae961182b565b90506000611af78383611bf2565b30600090815260026020526040902054909150611b149082611a80565b30600090815260026020526040902055505050565b600654611b369083611a3e565b600655600754611b469082611a80565b6007555050565b6000808080611b676064611b618989611bf2565b906117bb565b90506000611b7a6064611b618a89611bf2565b90506000611b9282611b8c8b86611a3e565b90611a3e565b9992985090965090945050505050565b6000808080611bb18886611bf2565b90506000611bbf8887611bf2565b90506000611bcd8888611bf2565b90506000611bdf82611b8c8686611a3e565b939b939a50919850919650505050505050565b600082611c01575060006106aa565b6000611c0d8385612045565b905082611c1a8583612025565b1461160f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610616565b8035611c7c816120c2565b919050565b80358015158114611c7c57600080fd5b600060208284031215611ca2578081fd5b813561160f816120c2565b600060208284031215611cbe578081fd5b815161160f816120c2565b60008060408385031215611cdb578081fd5b8235611ce6816120c2565b91506020830135611cf6816120c2565b809150509250929050565b600080600060608486031215611d15578081fd5b8335611d20816120c2565b92506020840135611d30816120c2565b929592945050506040919091013590565b60008060408385031215611d53578182fd5b8235611d5e816120c2565b946020939093013593505050565b600080600060408486031215611d80578283fd5b833567ffffffffffffffff80821115611d97578485fd5b818601915086601f830112611daa578485fd5b813581811115611db8578586fd5b8760208260051b8501011115611dcc578586fd5b602092830195509350611de29186019050611c81565b90509250925092565b60006020808385031215611dfd578182fd5b823567ffffffffffffffff80821115611e14578384fd5b818501915085601f830112611e27578384fd5b813581811115611e3957611e396120ac565b8060051b604051601f19603f83011681018181108582111715611e5e57611e5e6120ac565b604052828152858101935084860182860187018a1015611e7c578788fd5b8795505b83861015611ea557611e9181611c71565b855260019590950194938601938601611e80565b5098975050505050505050565b600060208284031215611ec3578081fd5b61160f82611c81565b600060208284031215611edd578081fd5b5035919050565b60008060008060808587031215611ef9578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015611f4157858101830151858201604001528201611f25565b81811115611f525783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611fec5784516001600160a01b031683529383019391830191600101611fc7565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561202057612020612096565b500190565b60008261204057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561205f5761205f612096565b500290565b60008282101561207657612076612096565b500390565b600060001982141561208f5761208f612096565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461080b57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f536bb8eeb0fff483b70a69666592c54ec0990467b9ddbe7f3ed53bff9c21ce64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80637c519ffb116100f7578063a9059cbb11610095578063caf7855d11610064578063caf7855d14610546578063dd62ed3e14610566578063ea1644d5146105ac578063f2fde38b146105cc57600080fd5b8063a9059cbb146104c1578063bfd79284146104e1578063c3c8cd8014610511578063c492f0461461052657600080fd5b80638f9a55c0116100d15780638f9a55c01461043e57806395d89b411461045457806398a5c31514610481578063a2a957bb146104a157600080fd5b80637c519ffb146103f55780637d1db4a51461040a5780638da5cb5b1461042057600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038b57806370a08231146103a0578063715018a6146103c057806374010ece146103d557600080fd5b8063313ce5671461030f57806349bd5a5e1461032b5780636b9990531461034b5780636d8aa8f81461036b57600080fd5b80631694505e116101ab5780631694505e1461027c57806318160ddd146102b457806323b872dd146102d95780632fd689e3146102f957600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024c57600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611deb565b6105ec565b005b34801561020a57600080fd5b506040805180820190915260138152724d61726f73636120526f6e616c646f20496e7560681b60208201525b6040516102439190611f15565b60405180910390f35b34801561025857600080fd5b5061026c610267366004611d41565b610699565b6040519015158152602001610243565b34801561028857600080fd5b5060145461029c906001600160a01b031681565b6040516001600160a01b039091168152602001610243565b3480156102c057600080fd5b5067016345785d8a00005b604051908152602001610243565b3480156102e557600080fd5b5061026c6102f4366004611d01565b6106b0565b34801561030557600080fd5b506102cb601a5481565b34801561031b57600080fd5b5060405160098152602001610243565b34801561033757600080fd5b5060155461029c906001600160a01b031681565b34801561035757600080fd5b506101fc610366366004611c91565b610730565b34801561037757600080fd5b506101fc610386366004611eb2565b61077b565b34801561039757600080fd5b506101fc6107c3565b3480156103ac57600080fd5b506102cb6103bb366004611c91565b61080e565b3480156103cc57600080fd5b506101fc610830565b3480156103e157600080fd5b506101fc6103f0366004611ecc565b6108a4565b34801561040157600080fd5b506101fc610945565b34801561041657600080fd5b506102cb60185481565b34801561042c57600080fd5b506000546001600160a01b031661029c565b34801561044a57600080fd5b506102cb60195481565b34801561046057600080fd5b506040805180820190915260048152634b49434b60e01b6020820152610236565b34801561048d57600080fd5b506101fc61049c366004611ecc565b610988565b3480156104ad57600080fd5b506101fc6104bc366004611ee4565b6109b7565b3480156104cd57600080fd5b5061026c6104dc366004611d41565b610a6f565b3480156104ed57600080fd5b5061026c6104fc366004611c91565b60106020526000908152604090205460ff1681565b34801561051d57600080fd5b506101fc610a7c565b34801561053257600080fd5b506101fc610541366004611d6c565b610ad0565b34801561055257600080fd5b506101fc610561366004611ecc565b610b7f565b34801561057257600080fd5b506102cb610581366004611cc9565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b857600080fd5b506101fc6105c7366004611ecc565b610c21565b3480156105d857600080fd5b506101fc6105e7366004611c91565b610cc4565b6000546001600160a01b0316331461061f5760405162461bcd60e51b815260040161061690611f68565b60405180910390fd5b60005b81518110156106955760016010600084848151811061065157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068d8161207b565b915050610622565b5050565b60006106a6338484610dae565b5060015b92915050565b60006106bd848484610ed2565b3360009081526005602052604090205460ff16610726576107268433610721856040518060600160405280602881526020016120d8602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114d3565b610dae565b5060019392505050565b6000546001600160a01b0316331461075a5760405162461bcd60e51b815260040161061690611f68565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107a55760405162461bcd60e51b815260040161061690611f68565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107f857506013546001600160a01b0316336001600160a01b0316145b61080157600080fd5b4761080b8161150d565b50565b6001600160a01b0381166000908152600260205260408120546106aa90611592565b6000546001600160a01b0316331461085a5760405162461bcd60e51b815260040161061690611f68565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108ce5760405162461bcd60e51b815260040161061690611f68565b6108e26103e867016345785d8a0000612025565b8110156109405760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f7420736574206d61785478416d6f756e74206c6f776572207468616044820152656e20302e312560d01b6064820152608401610616565b601855565b6000546001600160a01b0316331461096f5760405162461bcd60e51b815260040161061690611f68565b6015805460ff60a01b1916600160a01b17905543601755565b6000546001600160a01b031633146109b25760405162461bcd60e51b815260040161061690611f68565b601a55565b6000546001600160a01b031633146109e15760405162461bcd60e51b815260040161061690611f68565b6008849055600a8390556009829055600b8190556000610a01828561200d565b90506000610a0f848761200d565b9050601982111580610a22575060198111155b610a675760405162461bcd60e51b815260206004820152601660248201527546656573206d75737420626520756e6465722032352560501b6044820152606401610616565b505050505050565b60006106a6338484610ed2565b6012546001600160a01b0316336001600160a01b03161480610ab157506013546001600160a01b0316336001600160a01b0316145b610aba57600080fd5b6000610ac53061080e565b905061080b81611616565b6000546001600160a01b03163314610afa5760405162461bcd60e51b815260040161061690611f68565b60005b82811015610b79578160056000868685818110610b2a57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b3f9190611c91565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b718161207b565b915050610afd565b50505050565b6000546001600160a01b03163314610ba95760405162461bcd60e51b815260040161061690611f68565b60005b818110156106955760016010600060168481548110610bdb57634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff191691151591909117905580610c198161207b565b915050610bac565b6000546001600160a01b03163314610c4b5760405162461bcd60e51b815260040161061690611f68565b610c5f6103e867016345785d8a0000612025565b811015610cbf5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460448201526768616e20302e312560c01b6064820152608401610616565b601955565b6000546001600160a01b03163314610cee5760405162461bcd60e51b815260040161061690611f68565b6001600160a01b038116610d535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610616565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610616565b6001600160a01b038216610e715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610616565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610616565b6001600160a01b038216610f985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610616565b60008111610ffa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610616565b6000546001600160a01b0384811691161480159061102657506000546001600160a01b03838116911614155b156113b15760175461103990600461200d565b4310801561105557506015546001600160a01b03838116911614155b801561106a57506001600160a01b0382163014155b801561108457506014546001600160a01b03838116911614155b156110d557601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b51242890180546001600160a01b0319166001600160a01b0384161790555b601554600160a01b900460ff16611169576000546001600160a01b038481169116146111695760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610616565b6018548111156111bb5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610616565b6001600160a01b03831660009081526010602052604090205460ff161580156111fd57506001600160a01b03821660009081526010602052604090205460ff16155b6112555760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610616565b6015546001600160a01b038381169116146112da57601954816112778461080e565b611281919061200d565b106112da5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610616565b60006112e53061080e565b601a546018549192508210159082106112fe5760185491505b8080156113155750601554600160a81b900460ff16155b801561132f57506015546001600160a01b03868116911614155b80156113445750601554600160b01b900460ff165b801561136957506001600160a01b03851660009081526005602052604090205460ff16155b801561138e57506001600160a01b03841660009081526005602052604090205460ff16155b156113ae5761139c82611616565b4780156113ac576113ac4761150d565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806113f357506001600160a01b03831660009081526005602052604090205460ff165b8061142557506015546001600160a01b0385811691161480159061142557506015546001600160a01b03848116911614155b15611432575060006114c7565b6015546001600160a01b03858116911614801561145d57506014546001600160a01b03848116911614155b1561146f57600854600c55600954600d555b6015546001600160a01b03848116911614801561149a57506014546001600160a01b03858116911614155b156114c75760006114b8600b546009546117bb90919063ffffffff16565b5050600a54600c55600b54600d555b610b79848484846117fd565b600081848411156114f75760405162461bcd60e51b81526004016106169190611f15565b5060006115048486612064565b95945050505050565b6012546001600160a01b03166108fc6115278360026117bb565b6040518115909202916000818181858888f1935050505015801561154f573d6000803e3d6000fd5b506013546001600160a01b03166108fc61156a8360026117bb565b6040518115909202916000818181858888f19350505050158015610695573d6000803e3d6000fd5b60006006548211156115f95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610616565b600061160361182b565b905061160f83826117bb565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061166c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f89190611cad565b8160018151811061171957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260145461173f9130911684610dae565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611778908590600090869030904290600401611f9d565b600060405180830381600087803b15801561179257600080fd5b505af11580156117a6573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b600061160f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061184e565b8061180a5761180a61187c565b6118158484846118aa565b80610b7957610b79600e54600c55600f54600d55565b60008060006118386119a1565b909250905061184782826117bb565b9250505090565b6000818361186f5760405162461bcd60e51b81526004016106169190611f15565b5060006115048486612025565b600c5415801561188c5750600d54155b1561189357565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806118bc876119e1565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506118ee9087611a3e565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461191d9086611a80565b6001600160a01b03891660009081526002602052604090205561193f81611adf565b6119498483611b29565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161198e91815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006119bc82826117bb565b8210156119d85750506006549267016345785d8a000092509050565b90939092509050565b60008060008060008060008060006119fe8a600c54600d54611b4d565b9250925092506000611a0e61182b565b90506000806000611a218e878787611ba2565b919e509c509a509598509396509194505050505091939550919395565b600061160f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d3565b600080611a8d838561200d565b90508381101561160f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610616565b6000611ae961182b565b90506000611af78383611bf2565b30600090815260026020526040902054909150611b149082611a80565b30600090815260026020526040902055505050565b600654611b369083611a3e565b600655600754611b469082611a80565b6007555050565b6000808080611b676064611b618989611bf2565b906117bb565b90506000611b7a6064611b618a89611bf2565b90506000611b9282611b8c8b86611a3e565b90611a3e565b9992985090965090945050505050565b6000808080611bb18886611bf2565b90506000611bbf8887611bf2565b90506000611bcd8888611bf2565b90506000611bdf82611b8c8686611a3e565b939b939a50919850919650505050505050565b600082611c01575060006106aa565b6000611c0d8385612045565b905082611c1a8583612025565b1461160f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610616565b8035611c7c816120c2565b919050565b80358015158114611c7c57600080fd5b600060208284031215611ca2578081fd5b813561160f816120c2565b600060208284031215611cbe578081fd5b815161160f816120c2565b60008060408385031215611cdb578081fd5b8235611ce6816120c2565b91506020830135611cf6816120c2565b809150509250929050565b600080600060608486031215611d15578081fd5b8335611d20816120c2565b92506020840135611d30816120c2565b929592945050506040919091013590565b60008060408385031215611d53578182fd5b8235611d5e816120c2565b946020939093013593505050565b600080600060408486031215611d80578283fd5b833567ffffffffffffffff80821115611d97578485fd5b818601915086601f830112611daa578485fd5b813581811115611db8578586fd5b8760208260051b8501011115611dcc578586fd5b602092830195509350611de29186019050611c81565b90509250925092565b60006020808385031215611dfd578182fd5b823567ffffffffffffffff80821115611e14578384fd5b818501915085601f830112611e27578384fd5b813581811115611e3957611e396120ac565b8060051b604051601f19603f83011681018181108582111715611e5e57611e5e6120ac565b604052828152858101935084860182860187018a1015611e7c578788fd5b8795505b83861015611ea557611e9181611c71565b855260019590950194938601938601611e80565b5098975050505050505050565b600060208284031215611ec3578081fd5b61160f82611c81565b600060208284031215611edd578081fd5b5035919050565b60008060008060808587031215611ef9578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015611f4157858101830151858201604001528201611f25565b81811115611f525783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611fec5784516001600160a01b031683529383019391830191600101611fc7565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561202057612020612096565b500190565b60008261204057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561205f5761205f612096565b500290565b60008282101561207657612076612096565b500390565b600060001982141561208f5761208f612096565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461080b57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f536bb8eeb0fff483b70a69666592c54ec0990467b9ddbe7f3ed53bff9c21ce64736f6c63430008040033

Deployed Bytecode Sourcemap

5694:14619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14920:169;;;;;;;;;;-1:-1:-1;14920:169:0;;;;;:::i;:::-;;:::i;:::-;;8358:83;;;;;;;;;;-1:-1:-1;8428:5:0;;;;;;;;;;;;-1:-1:-1;;;8428:5:0;;;;8358:83;;;;;;;:::i;:::-;;;;;;;;9290:193;;;;;;;;;;-1:-1:-1;9290:193:0;;;;;:::i;:::-;;:::i;:::-;;;5139:14:1;;5132:22;5114:41;;5102:2;5087:18;9290:193:0;5069:92:1;7117:41:0;;;;;;;;;;-1:-1:-1;7117:41:0;;;;-1:-1:-1;;;;;7117:41:0;;;;;;-1:-1:-1;;;;;4930:32:1;;;4912:51;;4900:2;4885:18;7117:41:0;4867:102:1;8638:95:0;;;;;;;;;;-1:-1:-1;6260:17:0;8638:95;;;12883:25:1;;;12871:2;12856:18;8638:95:0;12838:76:1;9492:485:0;;;;;;;;;;-1:-1:-1;9492:485:0;;;;;:::i;:::-;;:::i;7488:50::-;;;;;;;;;;;;;;;;8546:83;;;;;;;;;;-1:-1:-1;8546:83:0;;5933:1;14049:36:1;;14037:2;14022:18;8546:83:0;14004:87:1;7165:28:0;;;;;;;;;;-1:-1:-1;7165:28:0;;;;-1:-1:-1;;;;;7165:28:0;;;15260:92;;;;;;;;;;-1:-1:-1;15260:92:0;;;;;:::i;:::-;;:::i;19517:101::-;;;;;;;;;;-1:-1:-1;19517:101:0;;;;;:::i;:::-;;:::i;14676:235::-;;;;;;;;;;;;;:::i;8742:138::-;;;;;;;;;;-1:-1:-1;8742:138:0;;;;;:::i;:::-;;:::i;3167:148::-;;;;;;;;;;;;;:::i;19661:193::-;;;;;;;;;;-1:-1:-1;19661:193:0;;;;;:::i;:::-;;:::i;14309:113::-;;;;;;;;;;;;;:::i;7376:45::-;;;;;;;;;;;;;;;;2951:79;;;;;;;;;;-1:-1:-1;2989:7:0;3016:6;-1:-1:-1;;;;;3016:6:0;2951:79;;7431:47;;;;;;;;;;;;;;;;8450:87;;;;;;;;;;-1:-1:-1;8522:7:0;;;;;;;;;;;;-1:-1:-1;;;8522:7:0;;;;8450:87;;19325:139;;;;;;;;;;-1:-1:-1;19325:139:0;;;;;:::i;:::-;;:::i;18784:488::-;;;;;;;;;;-1:-1:-1;18784:488:0;;;;;:::i;:::-;;:::i;8889:199::-;;;;;;;;;;-1:-1:-1;8889:199:0;;;;;:::i;:::-;;:::i;6807:36::-;;;;;;;;;;-1:-1:-1;6807:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14431:236;;;;;;;;;;;;;:::i;20076:234::-;;;;;;;;;;-1:-1:-1;20076:234:0;;;;;:::i;:::-;;:::i;15098:154::-;;;;;;;;;;-1:-1:-1;15098:154:0;;;;;:::i;:::-;;:::i;9097:184::-;;;;;;;;;;-1:-1:-1;9097:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9246:18:0;;;9214:7;9246:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9097:184;19863:204;;;;;;;;;;-1:-1:-1;19863:204:0;;;;;:::i;:::-;;:::i;3324:244::-;;;;;;;;;;-1:-1:-1;3324:244:0;;;;;:::i;:::-;;:::i;14920:169::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;;;;;;;;;14996:9:::1;14991:91;15015:5;:12;15011:1;:16;14991:91;;;15066:4;15049;:14;15054:5;15060:1;15054:8;;;;;;-1:-1:-1::0;;;15054:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15049:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15049:14:0;:21;;-1:-1:-1;;15049:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15029:3;::::1;::::0;::::1;:::i;:::-;;;;14991:91;;;;14920:169:::0;:::o;9290:193::-;9392:4;9414:39;1780:10;9437:7;9446:6;9414:8;:39::i;:::-;-1:-1:-1;9471:4:0;9290:193;;;;;:::o;9492:485::-;9624:4;9641:36;9651:6;9659:9;9670:6;9641:9;:36::i;:::-;1780:10;9693:32;;;;:18;:32;;;;;;;;9688:259;;9727:220;9750:6;1780:10;9798:138;9854:6;9798:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9798:19:0;;;;;;:11;:19;;;;;;;;1780:10;9798:33;;;;;;;;;;:37;:138::i;:::-;9727:8;:220::i;:::-;-1:-1:-1;9965:4:0;9492:485;;;;;:::o;15260:92::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15324:12:0::1;15339:5;15324:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;15324:20:0::1;::::0;;15260:92::o;19517:101::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;19584:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;19584:26:0::1;-1:-1:-1::0;;;;19584:26:0;;::::1;::::0;;;::::1;::::0;;19517:101::o;14676:235::-;14742:19;;-1:-1:-1;;;;;14742:19:0;1780:10;-1:-1:-1;;;;;14726:35:0;;:72;;;-1:-1:-1;14781:17:0;;-1:-1:-1;;;;;14781:17:0;1780:10;-1:-1:-1;;;;;14765:33:0;;14726:72;14718:81;;;;;;14839:21;14871:32;14839:21;14871:12;:32::i;:::-;14676:235;:::o;8742:138::-;-1:-1:-1;;;;;8855:16:0;;8808:7;8855:16;;;:7;:16;;;;;;8835:37;;:19;:37::i;3167:148::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;3274:1:::1;3258:6:::0;;3237:40:::1;::::0;-1:-1:-1;;;;;3258:6:0;;::::1;::::0;3237:40:::1;::::0;3274:1;;3237:40:::1;3305:1;3288:19:::0;;-1:-1:-1;;;;;;3288:19:0::1;::::0;;3167:148::o;19661:193::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;19752:14:::1;19762:4;6260:17;19752:14;:::i;:::-;19737:11;:29;;19729:80;;;::::0;-1:-1:-1;;;19729:80:0;;12532:2:1;19729:80:0::1;::::0;::::1;12514:21:1::0;12571:2;12551:18;;;12544:30;12610:34;12590:18;;;12583:62;-1:-1:-1;;;12661:18:1;;;12654:36;12707:19;;19729:80:0::1;12504:228:1::0;19729:80:0::1;19820:12;:26:::0;19661:193::o;14309:113::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;14359:11:::1;:18:::0;;-1:-1:-1;;;;14359:18:0::1;-1:-1:-1::0;;;14359:18:0::1;::::0;;14402:12:::1;14388:11;:26:::0;14309:113::o;19325:139::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;19416:19:::1;:40:::0;19325:139::o;18784:488::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;18918:14:::1;:30:::0;;;18959:15:::1;:32:::0;;;19005:12:::1;:26:::0;;;19042:13:::1;:28:::0;;;-1:-1:-1;19102:29:0::1;19058:12:::0;18977:14;19102:29:::1;:::i;:::-;19079:52:::0;-1:-1:-1;19136:19:0::1;19158:27;19174:11:::0;19158:13;:27:::1;:::i;:::-;19136:49;;19214:2;19198:12;:18;;:39;;;;19235:2;19220:11;:17;;19198:39;19190:74;;;::::0;-1:-1:-1;;;19190:74:0;;9384:2:1;19190:74:0::1;::::0;::::1;9366:21:1::0;9423:2;9403:18;;;9396:30;-1:-1:-1;;;9442:18:1;;;9435:52;9504:18;;19190:74:0::1;9356:172:1::0;19190:74:0::1;3149:1;;18784:488:::0;;;;:::o;8889:199::-;8994:4;9016:42;1780:10;9040:9;9051:6;9016:9;:42::i;14431:236::-;14497:19;;-1:-1:-1;;;;;14497:19:0;1780:10;-1:-1:-1;;;;;14481:35:0;;:72;;;-1:-1:-1;14536:17:0;;-1:-1:-1;;;;;14536:17:0;1780:10;-1:-1:-1;;;;;14520:33:0;;14481:72;14473:81;;;;;;14565:23;14591:24;14609:4;14591:9;:24::i;:::-;14565:50;;14626:33;14643:15;14626:16;:33::i;20076:234::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;20193:9:::1;20189:114;20208:19:::0;;::::1;20189:114;;;20283:8;20249:18;:31;20268:8;;20277:1;20268:11;;;;;-1:-1:-1::0;;;20268:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20249:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20249:31:0;:42;;-1:-1:-1;;20249:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20229:3;::::1;::::0;::::1;:::i;:::-;;;;20189:114;;;;20076:234:::0;;;:::o;15098:154::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;15164:9:::1;15159:86;15183:6;15179:1;:10;15159:86;;;15229:4;15211;:15;15216:6;15223:1;15216:9;;;;;;-1:-1:-1::0;;;15216:9:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;::::0;-1:-1:-1;;;;;15216:9:0::1;15211:15:::0;;;::::1;::::0;;;;;;;;:22;;-1:-1:-1;;15211:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15191:3;::::1;::::0;::::1;:::i;:::-;;;;15159:86;;19863:204:::0;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;19959:14:::1;19969:4;6260:17;19959:14;:::i;:::-;19942:13;:31;;19934:84;;;::::0;-1:-1:-1;;;19934:84:0;;12123:2:1;19934:84:0::1;::::0;::::1;12105:21:1::0;12162:2;12142:18;;;12135:30;12201:34;12181:18;;;12174:62;-1:-1:-1;;;12252:18:1;;;12245:38;12300:19;;19934:84:0::1;12095:230:1::0;19934:84:0::1;20029:14;:30:::0;19863:204::o;3324:244::-;3079:6;;-1:-1:-1;;;;;3079:6:0;1780:10;3079:22;3071:67;;;;-1:-1:-1;;;3071:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3413:22:0;::::1;3405:73;;;::::0;-1:-1:-1;;;3405:73:0;;7814:2:1;3405:73:0::1;::::0;::::1;7796:21:1::0;7853:2;7833:18;;;7826:30;7892:34;7872:18;;;7865:62;-1:-1:-1;;;7943:18:1;;;7936:36;7989:19;;3405:73:0::1;7786:228:1::0;3405:73:0::1;3515:6;::::0;;3494:38:::1;::::0;-1:-1:-1;;;;;3494:38:0;;::::1;::::0;3515:6;::::1;::::0;3494:38:::1;::::0;::::1;3543:6;:17:::0;;-1:-1:-1;;;;;;3543:17:0::1;-1:-1:-1::0;;;;;3543:17:0;;;::::1;::::0;;;::::1;::::0;;3324:244::o;10674:369::-;-1:-1:-1;;;;;10801:19:0;;10793:68;;;;-1:-1:-1;;;10793:68:0;;11718:2:1;10793: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;;10793:68:0;11690:226:1;10793:68:0;-1:-1:-1;;;;;10880:21:0;;10872:68;;;;-1:-1:-1;;;10872:68:0;;8221:2:1;10872:68:0;;;8203:21:1;8260:2;8240:18;;;8233:30;8299:34;8279:18;;;8272:62;-1:-1:-1;;;8350:18:1;;;8343:32;8392:19;;10872:68:0;8193:224:1;10872:68:0;-1:-1:-1;;;;;10951:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11003:32;;12883:25:1;;;11003:32:0;;12856:18:1;11003:32:0;;;;;;;10674:369;;;:::o;11053:2586::-;-1:-1:-1;;;;;11175:18:0;;11167:68;;;;-1:-1:-1;;;11167:68:0;;10908:2:1;11167:68:0;;;10890:21:1;10947:2;10927:18;;;10920:30;10986:34;10966:18;;;10959:62;-1:-1:-1;;;11037:18:1;;;11030:35;11082:19;;11167:68:0;10880:227:1;11167:68:0;-1:-1:-1;;;;;11254:16:0;;11246:64;;;;-1:-1:-1;;;11246:64:0;;6210:2:1;11246:64:0;;;6192:21:1;6249:2;6229:18;;;6222:30;6288:34;6268:18;;;6261:62;-1:-1:-1;;;6339:18:1;;;6332:33;6382:19;;11246:64:0;6182:225:1;11246:64:0;11338:1;11329:6;:10;11321:64;;;;-1:-1:-1;;;11321:64:0;;10498:2:1;11321:64:0;;;10480:21:1;10537:2;10517:18;;;10510:30;10576:34;10556:18;;;10549:62;-1:-1:-1;;;10627:18:1;;;10620:39;10676:19;;11321:64:0;10470:231:1;11321:64:0;2989:7;3016:6;-1:-1:-1;;;;;11402:15:0;;;3016:6;;11402:15;;;;:32;;-1:-1:-1;2989:7:0;3016:6;-1:-1:-1;;;;;11421:13:0;;;3016:6;;11421:13;;11402:32;11398:1444;;;11470:11;;:15;;11484:1;11470:15;:::i;:::-;11455:12;:30;:53;;;;-1:-1:-1;11495:13:0;;-1:-1:-1;;;;;11489:19:0;;;11495:13;;11489:19;;11455:53;:76;;;;-1:-1:-1;;;;;;11512:19:0;;11526:4;11512:19;;11455:76;:110;;;;-1:-1:-1;11549:15:0;;-1:-1:-1;;;;;11535:30:0;;;11549:15;;11535:30;;11455:110;11451:166;;;11586:6;:15;;;;;;;-1:-1:-1;11586:15:0;;;;;;;;-1:-1:-1;;;;;;11586:15:0;-1:-1:-1;;;;;11586:15:0;;;;;11451:166;11671:11;;-1:-1:-1;;;11671:11:0;;;;11666:144;;2989:7;3016:6;-1:-1:-1;;;;;11711:15:0;;;3016:6;;11711:15;11703:91;;;;-1:-1:-1;;;11703:91:0;;6614:2:1;11703:91:0;;;6596:21:1;6653:2;6633:18;;;6626:30;6692:34;6672:18;;;6665:62;6763:33;6743:18;;;6736:61;6814:19;;11703:91:0;6586:253:1;11703:91:0;11845:12;;11835:6;:22;;11827:63;;;;-1:-1:-1;;;11827:63:0;;7457:2:1;11827:63:0;;;7439:21:1;7496:2;7476:18;;;7469:30;7535;7515:18;;;7508:58;7583:18;;11827:63:0;7429:178:1;11827:63:0;-1:-1:-1;;;;;11914:10:0;;;;;;:4;:10;;;;;;;;11913:11;:24;;;;-1:-1:-1;;;;;;11929:8:0;;;;;;:4;:8;;;;;;;;11928:9;11913:24;11905:72;;;;-1:-1:-1;;;11905:72:0;;8624:2:1;11905:72:0;;;8606:21:1;8663:2;8643:18;;;8636:30;8702:34;8682:18;;;8675:62;-1:-1:-1;;;8753:18:1;;;8746:33;8796:19;;11905:72:0;8596:225:1;11905:72:0;12004:13;;-1:-1:-1;;;;;11998:19:0;;;12004:13;;11998:19;11995:146;;12071:14;;12062:6;12046:13;12056:2;12046:9;:13::i;:::-;:22;;;;:::i;:::-;:39;12038:87;;;;-1:-1:-1;;;12038:87:0;;11314:2:1;12038:87:0;;;11296:21:1;11353:2;11333:18;;;11326:30;11392:34;11372:18;;;11365:62;-1:-1:-1;;;11443:18:1;;;11436:33;11486:19;;12038:87:0;11286:225:1;12038:87:0;12158:28;12189:24;12207:4;12189:9;:24::i;:::-;12267:19;;12331:12;;12158:55;;-1:-1:-1;12243:43:0;;;;12307:36;;12304:124;;12400:12;;12377:35;;12304:124;12449:7;:18;;;;-1:-1:-1;12461:6:0;;-1:-1:-1;;;12461:6:0;;;;12460:7;12449:18;:43;;;;-1:-1:-1;12479:13:0;;-1:-1:-1;;;;;12471:21:0;;;12479:13;;12471:21;;12449:43;:58;;;;-1:-1:-1;12496:11:0;;-1:-1:-1;;;12496:11:0;;;;12449:58;:87;;;;-1:-1:-1;;;;;;12512:24:0;;;;;;:18;:24;;;;;;;;12511:25;12449:87;:114;;;;-1:-1:-1;;;;;;12541:22:0;;;;;;:18;:22;;;;;;;;12540:23;12449:114;12445:386;;;12584:38;12601:20;12584:16;:38::i;:::-;12670:21;12714:22;;12710:106;;12761:35;12774:21;12761:12;:35::i;:::-;12445:386;;11398:1444;;;-1:-1:-1;;;;;12920:24:0;;12855:12;12920:24;;;:18;:24;;;;;;12870:4;;12920:24;;;:50;;-1:-1:-1;;;;;;12948:22:0;;;;;;:18;:22;;;;;;;;12920:50;12919:102;;;-1:-1:-1;12984:13:0;;-1:-1:-1;;;;;12976:21:0;;;12984:13;;12976:21;;;;:44;;-1:-1:-1;13007:13:0;;-1:-1:-1;;;;;13001:19:0;;;13007:13;;13001:19;;12976:44;12915:656;;;-1:-1:-1;13048:5:0;12915:656;;;13134:13;;-1:-1:-1;;;;;13126:21:0;;;13134:13;;13126:21;:55;;;;-1:-1:-1;13165:15:0;;-1:-1:-1;;;;;13151:30:0;;;13165:15;;13151:30;;13126:55;13123:162;;;13214:14;;13202:9;:26;13257:12;;13247:7;:22;13123:162;13345:13;;-1:-1:-1;;;;;13339:19:0;;;13345:13;;13339:19;:55;;;;-1:-1:-1;13378:15:0;;-1:-1:-1;;;;;13362:32:0;;;13378:15;;13362:32;;13339:55;13335:222;;;13403:16;13422:31;13439:13;;13422:12;;:16;;:31;;;;:::i;:::-;-1:-1:-1;;13484:15:0;;13472:9;:27;13528:13;;13518:7;:23;13335:222;13588:41;13603:4;13609:2;13613:6;13621:7;13588:14;:41::i;3936:224::-;4056:7;4092:12;4084:6;;;;4076:29;;;;-1:-1:-1;;;4076:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4116:9:0;4128:5;4132:1;4128;:5;:::i;:::-;4116:17;3936:224;-1:-1:-1;;;;;3936:224:0:o;14140:160::-;14197:19;;-1:-1:-1;;;;;14197:19:0;:43;14226:13;:6;14237:1;14226:10;:13::i;:::-;14197:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14251:17:0;;-1:-1:-1;;;;;14251:17:0;:41;14278:13;:6;14289:1;14278:10;:13::i;:::-;14251:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9986:323;10081:7;10139;;10128;:18;;10106:110;;;;-1:-1:-1;;;10106:110:0;;7046:2:1;10106:110:0;;;7028:21:1;7085:2;7065:18;;;7058:30;7124:34;7104:18;;;7097:62;-1:-1:-1;;;7175:18:1;;;7168:40;7225:19;;10106:110:0;7018:232:1;10106:110:0;10227:19;10249:10;:8;:10::i;:::-;10227:32;-1:-1:-1;10277:24:0;:7;10227:32;10277:11;:24::i;:::-;10270:31;9986:323;-1:-1:-1;;;9986:323:0:o;13648:483::-;7636:6;:13;;-1:-1:-1;;;;7636:13:0;-1:-1:-1;;;7636:13:0;;;13750:16:::1;::::0;;13764:1:::1;13750:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13750:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13750:16:0::1;13726:40;;13795:4;13777;13782:1;13777:7;;;;;;-1:-1:-1::0;;;13777:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;13777:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13821:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13821:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13777:7;;13821:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13811:4;13816:1;13811:7;;;;;;-1:-1:-1::0;;;13811:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;13811:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13886:15:::1;::::0;13854:62:::1;::::0;13871:4:::1;::::0;13886:15:::1;13904:11:::0;13854:8:::1;:62::i;:::-;13927:15;::::0;:196:::1;::::0;-1:-1:-1;;;13927:196:0;;-1:-1:-1;;;;;13927:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14008:11;;13927:15:::1;::::0;14050:4;;14077::::1;::::0;14097:15:::1;::::0;13927:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7672:6:0;:14;;-1:-1:-1;;;;7672:14:0;;;-1:-1:-1;;;;13648:483:0:o;4424:132::-;4482:7;4509:39;4513:1;4516;4509:39;;;;;;;;;;;;;;;;;:3;:39::i;15361:282::-;15517:7;15512:28;;15526:14;:12;:14::i;:::-;15551:44;15569:6;15577:9;15588:6;15551:17;:44::i;:::-;15611:7;15606:29;;15620:15;10604:17;;10592:9;:29;10642:15;;10632:7;:25;10548:117;18339:167;18381:7;18402:15;18419;18438:19;:17;:19::i;:::-;18401:56;;-1:-1:-1;18401:56:0;-1:-1:-1;18478:20:0;18401:56;;18478:11;:20::i;:::-;18471:27;;;;18339:167;:::o;4565:223::-;4685:7;4720:12;4713:5;4705:28;;;;-1:-1:-1;;;4705:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4744:9:0;4756:5;4760:1;4756;:5;:::i;10318:221::-;10365:9;;:14;:30;;;;-1:-1:-1;10383:7:0;;:12;10365:30;10361:43;;;10318:221::o;10361:43::-;10437:9;;;10417:17;:29;10475:7;;;10457:15;:25;-1:-1:-1;10496:13:0;;;;10520:11;10318:221::o;15652:610::-;15799:15;15829:23;15867:12;15894:23;15932:12;15959:13;15986:19;15997:7;15986:10;:19::i;:::-;-1:-1:-1;;;;;16034:15:0;;;;;;:7;:15;;;;;;15784:221;;-1:-1:-1;15784:221:0;;-1:-1:-1;15784:221:0;;-1:-1:-1;15784:221:0;-1:-1:-1;15784:221:0;-1:-1:-1;15784:221:0;-1:-1:-1;16034:28:0;;15784:221;16034:19;:28::i;:::-;-1:-1:-1;;;;;16016:15:0;;;;;;;:7;:15;;;;;;:46;;;;16094:18;;;;;;;:39;;16117:15;16094:22;:39::i;:::-;-1:-1:-1;;;;;16073:18:0;;;;;;:7;:18;;;;;:60;16144:16;16154:5;16144:9;:16::i;:::-;16171:23;16183:4;16189;16171:11;:23::i;:::-;16227:9;-1:-1:-1;;;;;16210:44:0;16219:6;-1:-1:-1;;;;;16210:44:0;;16238:15;16210:44;;;;12883:25:1;;12871:2;12856:18;;12838:76;16210:44:0;;;;;;;;15652:610;;;;;;;;;:::o;18515:260::-;18613:7;;18566;;;;6260:17;18681:20;18613:7;6260:17;18681:11;:20::i;:::-;18671:7;:30;18667:61;;;-1:-1:-1;;18711:7:0;;;6260:17;;-1:-1:-1;18515:260:0;-1:-1:-1;18515:260:0:o;18667:61::-;18750:7;;18759;;-1:-1:-1;18515:260:0;-1:-1:-1;18515:260:0:o;16685:618::-;16785:7;16807;16829;16851;16873;16895;16931:23;16956:12;16970:13;17000:40;17012:7;17021:9;;17032:7;;17000:11;:40::i;:::-;16930:110;;;;;;17051:19;17073:10;:8;:10::i;:::-;17051:32;;17095:15;17112:23;17137:12;17166:46;17178:7;17187:4;17193:5;17200:11;17166;:46::i;:::-;17094:118;;-1:-1:-1;17094:118:0;-1:-1:-1;17094:118:0;-1:-1:-1;17266:15:0;;-1:-1:-1;17283:4:0;;-1:-1:-1;17289:5:0;;-1:-1:-1;;;;;16685:618:0;;;;;;;:::o;3791:136::-;3849:7;3876:43;3880:1;3883;3876:43;;;;;;;;;;;;;;;;;:3;:43::i;3603:179::-;3661:7;;3693:5;3697:1;3693;:5;:::i;:::-;3681:17;;3722:1;3717;:6;;3709:46;;;;-1:-1:-1;;;3709:46:0;;9028:2:1;3709:46:0;;;9010:21:1;9067:2;9047:18;;;9040:30;9106:29;9086:18;;;9079:57;9153:18;;3709:46:0;9000:177:1;16271:211:0;16324:19;16346:10;:8;:10::i;:::-;16324:32;-1:-1:-1;16367:13:0;16383:22;:5;16324:32;16383:9;:22::i;:::-;16457:4;16441:22;;;;:7;:22;;;;;;16367:38;;-1:-1:-1;16441:33:0;;16367:38;16441:26;:33::i;:::-;16432:4;16416:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;16271:211:0:o;16491:147::-;16569:7;;:17;;16581:4;16569:11;:17::i;:::-;16559:7;:27;16610:10;;:20;;16625:4;16610:14;:20::i;:::-;16597:10;:33;-1:-1:-1;;16491:147:0:o;17312:472::-;17481:7;;;;17575:30;17601:3;17575:21;:7;17587:8;17575:11;:21::i;:::-;:25;;:30::i;:::-;17560:45;-1:-1:-1;17616:13:0;17632:28;17656:3;17632:19;:7;17644:6;17632:11;:19::i;:28::-;17616:44;-1:-1:-1;17671:23:0;17697:28;17616:44;17697:17;:7;17709:4;17697:11;:17::i;:::-;:21;;:28::i;:::-;17671:54;17764:4;;-1:-1:-1;17770:5:0;;-1:-1:-1;17312:472:0;;-1:-1:-1;;;;;17312:472:0:o;17793:537::-;17987:7;;;;18084:24;:7;18096:11;18084;:24::i;:::-;18066:42;-1:-1:-1;18119:12:0;18134:21;:4;18143:11;18134:8;:21::i;:::-;18119:36;-1:-1:-1;18166:13:0;18182:22;:5;18192:11;18182:9;:22::i;:::-;18166:38;-1:-1:-1;18215:23:0;18241:28;18166:38;18241:17;:7;18253:4;18241:11;:17::i;:28::-;18291:7;;;;-1:-1:-1;18317:4:0;;-1:-1:-1;17793:537:0;;-1:-1:-1;;;;;;;17793:537:0:o;4169:246::-;4227:7;4251:6;4247:47;;-1:-1:-1;4281:1:0;4274:8;;4247:47;4304:9;4316:5;4320:1;4316;:5;:::i;:::-;4304:17;-1:-1:-1;4349:1:0;4340:5;4344:1;4304:17;4340:5;:::i;:::-;:10;4332:56;;;;-1:-1:-1;;;4332:56:0;;9735:2:1;4332:56:0;;;9717:21:1;9774:2;9754:18;;;9747:30;9813:34;9793:18;;;9786:62;-1:-1:-1;;;9864:18:1;;;9857:31;9905:19;;4332:56:0;9707:223:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:2;;303:1;300;293:12;318:257;377:6;430:2;418:9;409:7;405:23;401:32;398:2;;;451:6;443;436:22;398:2;495:9;482:23;514:31;539:5;514:31;:::i;580:261::-;650:6;703:2;691:9;682:7;678:23;674:32;671:2;;;724:6;716;709:22;671:2;761:9;755:16;780:31;805:5;780:31;:::i;846:398::-;914:6;922;975:2;963:9;954:7;950:23;946:32;943:2;;;996:6;988;981:22;943:2;1040:9;1027:23;1059:31;1084:5;1059:31;:::i;:::-;1109:5;-1:-1:-1;1166:2:1;1151:18;;1138:32;1179:33;1138:32;1179:33;:::i;:::-;1231:7;1221:17;;;933:311;;;;;:::o;1249:466::-;1326:6;1334;1342;1395:2;1383:9;1374:7;1370:23;1366:32;1363:2;;;1416:6;1408;1401:22;1363:2;1460:9;1447:23;1479:31;1504:5;1479:31;:::i;:::-;1529:5;-1:-1:-1;1586:2:1;1571:18;;1558:32;1599:33;1558:32;1599:33;:::i;:::-;1353:362;;1651:7;;-1:-1:-1;;;1705:2:1;1690:18;;;;1677:32;;1353:362::o;1720:325::-;1788:6;1796;1849:2;1837:9;1828:7;1824:23;1820:32;1817:2;;;1870:6;1862;1855:22;1817:2;1914:9;1901:23;1933:31;1958:5;1933:31;:::i;:::-;1983:5;2035:2;2020:18;;;;2007:32;;-1:-1:-1;;;1807:238:1:o;2050:739::-;2142:6;2150;2158;2211:2;2199:9;2190:7;2186:23;2182:32;2179:2;;;2232:6;2224;2217:22;2179:2;2277:9;2264:23;2306:18;2347:2;2339:6;2336:14;2333:2;;;2368:6;2360;2353:22;2333:2;2411:6;2400:9;2396:22;2386:32;;2456:7;2449:4;2445:2;2441:13;2437:27;2427:2;;2483:6;2475;2468:22;2427:2;2528;2515:16;2554:2;2546:6;2543:14;2540:2;;;2575:6;2567;2560:22;2540:2;2635:7;2628:4;2618:6;2615:1;2611:14;2607:2;2603:23;2599:34;2596:47;2593:2;;;2661:6;2653;2646:22;2593:2;2697:4;2689:13;;;;-1:-1:-1;2721:6:1;-1:-1:-1;2746:37:1;;2762:20;;;-1:-1:-1;2746:37:1;:::i;:::-;2736:47;;2169:620;;;;;:::o;2794:1177::-;2878:6;2909:2;2952;2940:9;2931:7;2927:23;2923:32;2920:2;;;2973:6;2965;2958:22;2920:2;3018:9;3005:23;3047:18;3088:2;3080:6;3077:14;3074:2;;;3109:6;3101;3094:22;3074:2;3152:6;3141:9;3137:22;3127:32;;3197:7;3190:4;3186:2;3182:13;3178:27;3168:2;;3224:6;3216;3209:22;3168:2;3265;3252:16;3287:2;3283;3280:10;3277:2;;;3293:18;;:::i;:::-;3339:2;3336:1;3332:10;3371:2;3365:9;3434:2;3430:7;3425:2;3421;3417:11;3413:25;3405:6;3401:38;3489:6;3477:10;3474:22;3469:2;3457:10;3454:18;3451:46;3448:2;;;3500:18;;:::i;:::-;3536:2;3529:22;3586:18;;;3620:15;;;;-1:-1:-1;3655:11:1;;;3685;;;3681:20;;3678:33;-1:-1:-1;3675:2:1;;;3729:6;3721;3714:22;3675:2;3756:6;3747:15;;3771:169;3785:2;3782:1;3779:9;3771:169;;;3842:23;3861:3;3842:23;:::i;:::-;3830:36;;3803:1;3796:9;;;;;3886:12;;;;3918;;3771:169;;;-1:-1:-1;3959:6:1;2889:1082;-1:-1:-1;;;;;;;;2889:1082:1:o;3976:190::-;4032:6;4085:2;4073:9;4064:7;4060:23;4056:32;4053:2;;;4106:6;4098;4091:22;4053:2;4134:26;4150:9;4134:26;:::i;4171:190::-;4230:6;4283:2;4271:9;4262:7;4258:23;4254:32;4251:2;;;4304:6;4296;4289:22;4251:2;-1:-1:-1;4332:23:1;;4241:120;-1:-1:-1;4241:120:1:o;4366:395::-;4452:6;4460;4468;4476;4529:3;4517:9;4508:7;4504:23;4500:33;4497:2;;;4551:6;4543;4536:22;4497:2;-1:-1:-1;;4579:23:1;;;4649:2;4634:18;;4621:32;;-1:-1:-1;4700:2:1;4685:18;;4672:32;;4751:2;4736:18;4723:32;;-1:-1:-1;4487:274:1;-1:-1:-1;4487:274:1:o;5400:603::-;5512:4;5541:2;5570;5559:9;5552:21;5602:6;5596:13;5645:6;5640:2;5629:9;5625:18;5618:34;5670:4;5683:140;5697:6;5694:1;5691:13;5683:140;;;5792:14;;;5788:23;;5782:30;5758:17;;;5777:2;5754:26;5747:66;5712:10;;5683:140;;;5841:6;5838:1;5835:13;5832:2;;;5911:4;5906:2;5897:6;5886:9;5882:22;5878:31;5871:45;5832:2;-1:-1:-1;5987:2:1;5966:15;-1:-1:-1;;5962:29:1;5947:45;;;;5994:2;5943:54;;5521:482;-1:-1:-1;;;5521:482:1:o;9935:356::-;10137:2;10119:21;;;10156:18;;;10149:30;10215:34;10210:2;10195:18;;10188:62;10282:2;10267:18;;10109:182::o;12919:983::-;13181:4;13229:3;13218:9;13214:19;13260:6;13249:9;13242:25;13286:2;13324:6;13319:2;13308:9;13304:18;13297:34;13367:3;13362:2;13351:9;13347:18;13340:31;13391:6;13426;13420:13;13457:6;13449;13442:22;13495:3;13484:9;13480:19;13473:26;;13534:2;13526:6;13522:15;13508:29;;13555:4;13568:195;13582:6;13579:1;13576:13;13568:195;;;13647:13;;-1:-1:-1;;;;;13643:39:1;13631:52;;13738:15;;;;13703:12;;;;13679:1;13597:9;13568:195;;;-1:-1:-1;;;;;;;13819:32:1;;;;13814:2;13799:18;;13792:60;-1:-1:-1;;;13883:3:1;13868:19;13861:35;13780:3;13190:712;-1:-1:-1;;;13190:712:1:o;14096:128::-;14136:3;14167:1;14163:6;14160:1;14157:13;14154:2;;;14173:18;;:::i;:::-;-1:-1:-1;14209:9:1;;14144:80::o;14229:217::-;14269:1;14295;14285:2;;-1:-1:-1;;;14320:31:1;;14374:4;14371:1;14364:15;14402:4;14327:1;14392:15;14285:2;-1:-1:-1;14431:9:1;;14275:171::o;14451:168::-;14491:7;14557:1;14553;14549:6;14545:14;14542:1;14539:21;14534:1;14527:9;14520:17;14516:45;14513:2;;;14564:18;;:::i;:::-;-1:-1:-1;14604:9:1;;14503:116::o;14624:125::-;14664:4;14692:1;14689;14686:8;14683:2;;;14697:18;;:::i;:::-;-1:-1:-1;14734:9:1;;14673:76::o;14754:135::-;14793:3;-1:-1:-1;;14814:17:1;;14811:2;;;14834:18;;:::i;:::-;-1:-1:-1;14881:1:1;14870:13;;14801:88::o;14894:127::-;14955:10;14950:3;14946:20;14943:1;14936:31;14986:4;14983:1;14976:15;15010:4;15007:1;15000:15;15026:127;15087:10;15082:3;15078:20;15075:1;15068:31;15118:4;15115:1;15108:15;15142:4;15139:1;15132:15;15158:131;-1:-1:-1;;;;;15233:31:1;;15223:42;;15213:2;;15279:1;15276;15269:12

Swarm Source

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