ETH Price: $3,148.91 (+0.95%)
Gas: 2 Gwei

Token

Alphonse Inu (ALPHONSE)
 

Overview

Max Total Supply

10,000,000,000 ALPHONSE

Holders

44

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
45,042,618.879151079 ALPHONSE

Value
$0.00
0xcbf8937d5c86aa70678f90dc448b1b1f6363a32b
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:
ALPHONSE

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-14
*/

//  SPDX-License-Identifier: Unlicensed     
/*

=======================================================================================================================================                                                                                                               
=======================================================================================================================================


`7MM"""YMM `7MMF'   `7MF'`7MMF'      `7MMF'      `7MMM.     ,MMF'`7MM"""YMM MMP""MM""YMM   db      `7MMF'      
  MM    `7   MM       M    MM          MM          MMMb    dPMM    MM    `7 P'   MM   `7  ;MM:       MM        
  MM   d     MM       M    MM          MM          M YM   ,M MM    MM   d        MM      ,V^MM.      MM        
  MM""MM     MM       M    MM          MM          M  Mb  M' MM    MMmmMM        MM     ,M  `MM      MM        
  MM   Y     MM       M    MM      ,   MM      ,   M  YM.P'  MM    MM   Y  ,     MM     AbmmmqMA     MM      , 
  MM         YM.     ,M    MM     ,M   MM     ,M   M  `YM'   MM    MM     ,M     MM    A'     VML    MM     ,M 
.JMML.        `bmmmmd"'  .JMMmmmmMMM .JMMmmmmMMM .JML. `'  .JMML..JMMmmmmMMM   .JMML..AMA.   .AMMA..JMMmmmmMMM 


=======================================================================================================================================
                                          Website:                                                                                                                
                                      AlphonseInu.com 
=======================================================================================================================================
                                          Telegram 
                                        @AlphonseInu                                                                                      
=======================================================================================================================================
                                                                                                               
                                                                                                               
      db      `7MMF'        .g8"""bgd `7MMF'  `7MMF'`7MM"""YMM  `7MMM.     ,MMF'`7MMF' .M"""bgd MMP""MM""YMM   
     ;MM:       MM        .dP'     `M   MM      MM    MM    `7    MMMb    dPMM    MM  ,MI    "Y P'   MM   `7   
    ,V^MM.      MM        dM'       `   MM      MM    MM   d      M YM   ,M MM    MM  `MMb.          MM        
   ,M  `MM      MM        MM            MMmmmmmmMM    MMmmMM      M  Mb  M' MM    MM    `YMMNq.      MM        
   AbmmmqMA     MM      , MM.           MM      MM    MM   Y  ,   M  YM.P'  MM    MM  .     `MM      MM        
  A'     VML    MM     ,M `Mb.     ,'   MM      MM    MM     ,M   M  `YM'   MM    MM  Mb     dM      MM        
.AMA.   .AMMA..JMMmmmmMMM   `"bmmmd'  .JMML.  .JMML..JMMmmmmMMM .JML. `'  .JMML..JMML.P"Ybmmd"     .JMML.      
                                                                                                               

=======================================================================================================================================
=======================================================================================================================================

*/                                                       


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 ALPHONSE is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Alphonse Inu";
    string private constant _symbol = "ALPHONSE";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e10 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    mapping(address => bool) private _isSniper;
    uint256 public launchTime;

    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 9;
    
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 12;
    
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _burnFee = 11;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousburnFee = _burnFee;
    
    address payable private _marketingAddress = payable(0x18aE4c9a9B8dF863998edb10d30Ec58f7d920FC2);
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 2e8 * 10**9; 
    uint256 public _maxWalletSize = 2e8 * 10**9;
    uint256 public _swapTokensAtAmount = 1000 * 10**9;

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

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
       

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[deadAddress] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function createPair() external onlyOwner() {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), _uniswapV2Router.WETH());

    }

    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);
        _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 && _burnFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _previousburnFee = _burnFee;
        
        _redisFee = 0;
        _taxFee = 0;
        _burnFee = 0;
    }

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

    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");
        require(!_isSniper[to], 'Stop sniping!');
        require(!_isSniper[from], 'Stop sniping!');
        require(!_isSniper[_msgSender()], 'Stop sniping!');

        if (from != owner() && to != owner()) {
            
            if (!tradingOpen) {
                revert("Trading not yet enabled!");
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _marketingAddress && from != _marketingAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _marketingAddress && to != address(this) && to != deadAddress) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                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]) {
                uint256 burntAmount = 0;
                if (_burnFee > 0) {
                    burntAmount = contractTokenBalance.mul(_burnFee).div(10**2);
                    burnTokens(burntAmount);
                }
                swapTokensForEth(contractTokenBalance - burntAmount);
                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)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
                    if (block.timestamp == launchTime) {
                        _isSniper[to] = true;
                    }
            }
    
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
            }
        }

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

    function burnTokens(uint256 burntAmount) private {
        _transfer(address(this), deadAddress, burntAmount);
    }

    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 setTrading() public onlyOwner {
        require(!tradingOpen);
        tradingOpen = true;
        launchTime = block.timestamp;
    }


    function setMarketingWallet(address marketingAddress) external {
        require(_msgSender() == _marketingAddress);
        _marketingAddress = payable(marketingAddress);
        _isExcludedFromFee[_marketingAddress] = true;
    }

    
    function manualswap(uint256 amount) external {
        require(_msgSender() == _marketingAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function addSniper(address[] memory snipers) external onlyOwner {
        for(uint256 i= 0; i< snipers.length; i++){
            _isSniper[snipers[i]] = true;
            
        }
    }

    function removeSniper(address sniper) external onlyOwner {
        if (_isSniper[sniper]) {
            _isSniper[sniper] = false;
        }
    }

    function isSniper(address sniper) external view returns (bool){
        return _isSniper[sniper];
    }

    function manualsend() external {
        require(_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 toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external onlyOwner {
        require(maxTxAmount >=  1e8 * 10**9);
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external onlyOwner {
        require(maxWalletSize >= _maxWalletSize);
        _maxWalletSize = maxWalletSize;
    }

    function setTaxFee(uint256 amountBuy, uint256 amountSell) external onlyOwner {
        require(amountBuy >= 0 && amountBuy <= 13);
        require(amountSell >= 0 && amountSell <= 13);
        _taxFeeOnBuy = amountBuy;
        _taxFeeOnSell = amountSell;
    }

    function setRefFee(uint256 amountRefBuy, uint256 amountRefSell) external onlyOwner {
        require(amountRefBuy >= 0 && amountRefBuy <= 1);
        require(amountRefSell >= 0 && amountRefSell <= 1);
        _redisFeeOnBuy = amountRefBuy;
        _redisFeeOnSell = amountRefSell;
    }

    function setBurnFee(uint256 amount) external onlyOwner {
        _burnFee = amount;
    }


}

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":"snipers","type":"address[]"}],"name":"addSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","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":"address","name":"sniper","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"sniper","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"}],"name":"setMarketingWallet","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":"amountRefBuy","type":"uint256"},{"internalType":"uint256","name":"amountRefSell","type":"uint256"}],"name":"setRefFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"},{"internalType":"uint256","name":"amountSell","type":"uint256"}],"name":"setTaxFee","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":[],"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"}]

60806040526200001a678ac7230489e80000600019620001f9565b6200002890600019620001d3565b6007556000600b8181556009600c908155600d839055600e819055600f83905560108190556011829055601292909255601391909155601455601580546001600160a01b0319167318ae4c9a9b8df863998edb10d30ec58f7d920fc21790556017805461ffff60a81b1916600160b01b1790556702c68af0bb140000601881905560195564e8d4a51000601a55348015620000c257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360008181526002602090815260408083209490945581546001600160a01b039081168352600682528483208054600160ff19918216811790925530855286852080548216831790556015549092168452858420805483168217905561dead84527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280549092161790559251678ac7230489e800008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200021c565b600082821015620001f457634e487b7160e01b600052601160045260246000fd5b500390565b6000826200021757634e487b7160e01b600052601260045260246000fd5b500690565b6121fb806200022c6000396000f3fe6080604052600436106101f25760003560e01c80636fc3eaec1161010d5780638da5cb5b116100a0578063a9059cbb1161006f578063a9059cbb1461059a578063c5528490146105ba578063dd62ed3e146105da578063ea1644d514610620578063f2fde38b1461064057600080fd5b80638da5cb5b146105205780638f9a55c01461053e57806395d89b41146105545780639e78fb4f1461058557600080fd5b8063790ca413116100dc578063790ca413146104bf5780637c519ffb146104d55780637d1db4a5146104ea578063881dce601461050057600080fd5b80636fc3eaec1461045557806370a082311461046a578063715018a61461048a57806374010ece1461049f57600080fd5b80632fd689e31161018557806349bd5a5e1161015457806349bd5a5e146103d55780634bf2c7c9146103f55780635d098b38146104155780636d8aa8f81461043557600080fd5b80632fd689e314610363578063313ce5671461037957806333251a0b1461039557806338eea22d146103b557600080fd5b806318160ddd116101c157806318160ddd146102e657806323b872dd1461030b57806327c8f8351461032b57806328bb665a1461034157600080fd5b806306fdde03146101fe578063095ea7b3146102455780630f3a325f146102755780631694505e146102ae57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152600c81526b416c70686f6e736520496e7560a01b60208201525b60405161023c9190611f99565b60405180910390f35b34801561025157600080fd5b50610265610260366004611e44565b610660565b604051901515815260200161023c565b34801561028157600080fd5b50610265610290366004611d90565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156102ba57600080fd5b506016546102ce906001600160a01b031681565b6040516001600160a01b03909116815260200161023c565b3480156102f257600080fd5b50678ac7230489e800005b60405190815260200161023c565b34801561031757600080fd5b50610265610326366004611e03565b610677565b34801561033757600080fd5b506102ce61dead81565b34801561034d57600080fd5b5061036161035c366004611e70565b6106e0565b005b34801561036f57600080fd5b506102fd601a5481565b34801561038557600080fd5b506040516009815260200161023c565b3480156103a157600080fd5b506103616103b0366004611d90565b61077f565b3480156103c157600080fd5b506103616103d0366004611f77565b6107ee565b3480156103e157600080fd5b506017546102ce906001600160a01b031681565b34801561040157600080fd5b50610361610410366004611f5e565b61083f565b34801561042157600080fd5b50610361610430366004611d90565b61086e565b34801561044157600080fd5b50610361610450366004611f3c565b6108c8565b34801561046157600080fd5b50610361610910565b34801561047657600080fd5b506102fd610485366004611d90565b61093a565b34801561049657600080fd5b5061036161095c565b3480156104ab57600080fd5b506103616104ba366004611f5e565b6109d0565b3480156104cb57600080fd5b506102fd600a5481565b3480156104e157600080fd5b50610361610a14565b3480156104f657600080fd5b506102fd60185481565b34801561050c57600080fd5b5061036161051b366004611f5e565b610a6e565b34801561052c57600080fd5b506000546001600160a01b03166102ce565b34801561054a57600080fd5b506102fd60195481565b34801561056057600080fd5b50604080518082019091526008815267414c50484f4e534560c01b602082015261022f565b34801561059157600080fd5b50610361610aea565b3480156105a657600080fd5b506102656105b5366004611e44565b610ccf565b3480156105c657600080fd5b506103616105d5366004611f77565b610cdc565b3480156105e657600080fd5b506102fd6105f5366004611dca565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561062c57600080fd5b5061036161063b366004611f5e565b610d2d565b34801561064c57600080fd5b5061036161065b366004611d90565b610d6b565b600061066d338484610e55565b5060015b92915050565b6000610684848484610f79565b6106d684336106d18560405180606001604052806028815260200161219e602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611625565b610e55565b5060019392505050565b6000546001600160a01b031633146107135760405162461bcd60e51b815260040161070a90611fee565b60405180910390fd5b60005b815181101561077b576001600960008484815181106107375761073761215c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107738161212b565b915050610716565b5050565b6000546001600160a01b031633146107a95760405162461bcd60e51b815260040161070a90611fee565b6001600160a01b03811660009081526009602052604090205460ff16156107eb576001600160a01b0381166000908152600960205260409020805460ff191690555b50565b6000546001600160a01b031633146108185760405162461bcd60e51b815260040161070a90611fee565b600182111561082657600080fd5b600181111561083457600080fd5b600b91909155600d55565b6000546001600160a01b031633146108695760405162461bcd60e51b815260040161070a90611fee565b601155565b6015546001600160a01b0316336001600160a01b03161461088e57600080fd5b601580546001600160a01b039092166001600160a01b0319909216821790556000908152600660205260409020805460ff19166001179055565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040161070a90611fee565b60178054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b03161461093057600080fd5b476107eb8161165f565b6001600160a01b03811660009081526002602052604081205461067190611699565b6000546001600160a01b031633146109865760405162461bcd60e51b815260040161070a90611fee565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109fa5760405162461bcd60e51b815260040161070a90611fee565b67016345785d8a0000811015610a0f57600080fd5b601855565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161070a90611fee565b601754600160a01b900460ff1615610a5557600080fd5b6017805460ff60a01b1916600160a01b17905542600a55565b6015546001600160a01b0316336001600160a01b031614610a8e57600080fd5b610a973061093a565b8111158015610aa65750600081115b610ae15760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b604482015260640161070a565b6107eb8161171d565b6000546001600160a01b03163314610b145760405162461bcd60e51b815260040161070a90611fee565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015610b7457600080fd5b505afa158015610b88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bac9190611dad565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611dad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cac9190611dad565b601780546001600160a01b0319166001600160a01b039290921691909117905550565b600061066d338484610f79565b6000546001600160a01b03163314610d065760405162461bcd60e51b815260040161070a90611fee565b600d821115610d1457600080fd5b600d811115610d2257600080fd5b600c91909155600e55565b6000546001600160a01b03163314610d575760405162461bcd60e51b815260040161070a90611fee565b601954811015610d6657600080fd5b601955565b6000546001600160a01b03163314610d955760405162461bcd60e51b815260040161070a90611fee565b6001600160a01b038116610dfa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610eb75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070a565b6001600160a01b038216610f185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070a565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fdd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161070a565b6001600160a01b03821661103f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161070a565b600081116110a15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161070a565b6001600160a01b03821660009081526009602052604090205460ff16156110da5760405162461bcd60e51b815260040161070a90612023565b6001600160a01b03831660009081526009602052604090205460ff16156111135760405162461bcd60e51b815260040161070a90612023565b3360009081526009602052604090205460ff16156111435760405162461bcd60e51b815260040161070a90612023565b6000546001600160a01b0384811691161480159061116f57506000546001600160a01b03838116911614155b156114cf57601754600160a01b900460ff166111cd5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161070a565b6017546001600160a01b0383811691161480156111f857506016546001600160a01b03848116911614155b156112aa576001600160a01b038216301480159061121f57506001600160a01b0383163014155b801561123957506015546001600160a01b03838116911614155b801561125357506015546001600160a01b03848116911614155b156112aa576018548111156112aa5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070a565b6017546001600160a01b038381169116148015906112d657506015546001600160a01b03838116911614155b80156112eb57506001600160a01b0382163014155b801561130257506001600160a01b03821661dead14155b156113c9576018548111156113595760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070a565b601954816113668461093a565b61137091906120bb565b106113c95760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161070a565b60006113d43061093a565b601a5490915081118080156113f35750601754600160a81b900460ff16155b801561140d57506017546001600160a01b03868116911614155b80156114225750601754600160b01b900460ff165b801561144757506001600160a01b03851660009081526006602052604090205460ff16155b801561146c57506001600160a01b03841660009081526006602052604090205460ff16155b156114cc57601154600090156114a75761149c6064611496601154866118a690919063ffffffff16565b90611925565b90506114a781611967565b6114b96114b48285612114565b61171d565b4780156114c9576114c94761165f565b50505b50505b6001600160a01b03831660009081526006602052604090205460019060ff168061151157506001600160a01b03831660009081526006602052604090205460ff165b8061154357506017546001600160a01b0385811691161480159061154357506017546001600160a01b03848116911614155b1561155057506000611613565b6017546001600160a01b03858116911614801561157b57506016546001600160a01b03848116911614155b156115d6576001600160a01b03831660009081526004602052604090204290819055600b54600f55600c54601055600a5414156115d6576001600160a01b0383166000908152600960205260409020805460ff191660011790555b6017546001600160a01b03848116911614801561160157506016546001600160a01b03858116911614155b1561161357600d54600f55600e546010555b61161f84848484611974565b50505050565b600081848411156116495760405162461bcd60e51b815260040161070a9190611f99565b5060006116568486612114565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561077b573d6000803e3d6000fd5b60006007548211156117005760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161070a565b600061170a6119a8565b90506117168382611925565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117655761176561215c565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156117b957600080fd5b505afa1580156117cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f19190611dad565b816001815181106118045761180461215c565b6001600160a01b03928316602091820292909201015260165461182a9130911684610e55565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061186390859060009086903090429060040161204a565b600060405180830381600087803b15801561187d57600080fd5b505af1158015611891573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b6000826118b557506000610671565b60006118c183856120f5565b9050826118ce85836120d3565b146117165760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161070a565b600061171683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119cb565b6107eb3061dead83610f79565b80611981576119816119f9565b61198c848484611a3e565b8061161f5761161f601254600f55601354601055601454601155565b60008060006119b5611b35565b90925090506119c48282611925565b9250505090565b600081836119ec5760405162461bcd60e51b815260040161070a9190611f99565b50600061165684866120d3565b600f54158015611a095750601054155b8015611a155750601154155b15611a1c57565b600f805460125560108054601355601180546014556000928390559082905555565b600080600080600080611a5087611b75565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611a829087611bd2565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611ab19086611c14565b6001600160a01b038916600090815260026020526040902055611ad381611c73565b611add8483611cbd565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b2291815260200190565b60405180910390a3505050505050505050565b6007546000908190678ac7230489e80000611b508282611925565b821015611b6c57505060075492678ac7230489e8000092509050565b90939092509050565b6000806000806000806000806000611b928a600f54601054611ce1565b9250925092506000611ba26119a8565b90506000806000611bb58e878787611d30565b919e509c509a509598509396509194505050505091939550919395565b600061171683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611625565b600080611c2183856120bb565b9050838110156117165760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161070a565b6000611c7d6119a8565b90506000611c8b83836118a6565b30600090815260026020526040902054909150611ca89082611c14565b30600090815260026020526040902055505050565b600754611cca9083611bd2565b600755600854611cda9082611c14565b6008555050565b6000808080611cf5606461149689896118a6565b90506000611d0860646114968a896118a6565b90506000611d2082611d1a8b86611bd2565b90611bd2565b9992985090965090945050505050565b6000808080611d3f88866118a6565b90506000611d4d88876118a6565b90506000611d5b88886118a6565b90506000611d6d82611d1a8686611bd2565b939b939a50919850919650505050505050565b8035611d8b81612188565b919050565b600060208284031215611da257600080fd5b813561171681612188565b600060208284031215611dbf57600080fd5b815161171681612188565b60008060408385031215611ddd57600080fd5b8235611de881612188565b91506020830135611df881612188565b809150509250929050565b600080600060608486031215611e1857600080fd5b8335611e2381612188565b92506020840135611e3381612188565b929592945050506040919091013590565b60008060408385031215611e5757600080fd5b8235611e6281612188565b946020939093013593505050565b60006020808385031215611e8357600080fd5b823567ffffffffffffffff80821115611e9b57600080fd5b818501915085601f830112611eaf57600080fd5b813581811115611ec157611ec1612172565b8060051b604051601f19603f83011681018181108582111715611ee657611ee6612172565b604052828152858101935084860182860187018a1015611f0557600080fd5b600095505b83861015611f2f57611f1b81611d80565b855260019590950194938601938601611f0a565b5098975050505050505050565b600060208284031215611f4e57600080fd5b8135801515811461171657600080fd5b600060208284031215611f7057600080fd5b5035919050565b60008060408385031215611f8a57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015611fc657858101830151858201604001528201611faa565b81811115611fd8576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c53746f7020736e6970696e672160981b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561209a5784516001600160a01b031683529383019391830191600101612075565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156120ce576120ce612146565b500190565b6000826120f057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561210f5761210f612146565b500290565b60008282101561212657612126612146565b500390565b600060001982141561213f5761213f612146565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107eb57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045e973539a9029e831d3a13e813e1b6a06969fd8d5c601a08ad175cd7987547964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636fc3eaec1161010d5780638da5cb5b116100a0578063a9059cbb1161006f578063a9059cbb1461059a578063c5528490146105ba578063dd62ed3e146105da578063ea1644d514610620578063f2fde38b1461064057600080fd5b80638da5cb5b146105205780638f9a55c01461053e57806395d89b41146105545780639e78fb4f1461058557600080fd5b8063790ca413116100dc578063790ca413146104bf5780637c519ffb146104d55780637d1db4a5146104ea578063881dce601461050057600080fd5b80636fc3eaec1461045557806370a082311461046a578063715018a61461048a57806374010ece1461049f57600080fd5b80632fd689e31161018557806349bd5a5e1161015457806349bd5a5e146103d55780634bf2c7c9146103f55780635d098b38146104155780636d8aa8f81461043557600080fd5b80632fd689e314610363578063313ce5671461037957806333251a0b1461039557806338eea22d146103b557600080fd5b806318160ddd116101c157806318160ddd146102e657806323b872dd1461030b57806327c8f8351461032b57806328bb665a1461034157600080fd5b806306fdde03146101fe578063095ea7b3146102455780630f3a325f146102755780631694505e146102ae57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152600c81526b416c70686f6e736520496e7560a01b60208201525b60405161023c9190611f99565b60405180910390f35b34801561025157600080fd5b50610265610260366004611e44565b610660565b604051901515815260200161023c565b34801561028157600080fd5b50610265610290366004611d90565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156102ba57600080fd5b506016546102ce906001600160a01b031681565b6040516001600160a01b03909116815260200161023c565b3480156102f257600080fd5b50678ac7230489e800005b60405190815260200161023c565b34801561031757600080fd5b50610265610326366004611e03565b610677565b34801561033757600080fd5b506102ce61dead81565b34801561034d57600080fd5b5061036161035c366004611e70565b6106e0565b005b34801561036f57600080fd5b506102fd601a5481565b34801561038557600080fd5b506040516009815260200161023c565b3480156103a157600080fd5b506103616103b0366004611d90565b61077f565b3480156103c157600080fd5b506103616103d0366004611f77565b6107ee565b3480156103e157600080fd5b506017546102ce906001600160a01b031681565b34801561040157600080fd5b50610361610410366004611f5e565b61083f565b34801561042157600080fd5b50610361610430366004611d90565b61086e565b34801561044157600080fd5b50610361610450366004611f3c565b6108c8565b34801561046157600080fd5b50610361610910565b34801561047657600080fd5b506102fd610485366004611d90565b61093a565b34801561049657600080fd5b5061036161095c565b3480156104ab57600080fd5b506103616104ba366004611f5e565b6109d0565b3480156104cb57600080fd5b506102fd600a5481565b3480156104e157600080fd5b50610361610a14565b3480156104f657600080fd5b506102fd60185481565b34801561050c57600080fd5b5061036161051b366004611f5e565b610a6e565b34801561052c57600080fd5b506000546001600160a01b03166102ce565b34801561054a57600080fd5b506102fd60195481565b34801561056057600080fd5b50604080518082019091526008815267414c50484f4e534560c01b602082015261022f565b34801561059157600080fd5b50610361610aea565b3480156105a657600080fd5b506102656105b5366004611e44565b610ccf565b3480156105c657600080fd5b506103616105d5366004611f77565b610cdc565b3480156105e657600080fd5b506102fd6105f5366004611dca565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561062c57600080fd5b5061036161063b366004611f5e565b610d2d565b34801561064c57600080fd5b5061036161065b366004611d90565b610d6b565b600061066d338484610e55565b5060015b92915050565b6000610684848484610f79565b6106d684336106d18560405180606001604052806028815260200161219e602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611625565b610e55565b5060019392505050565b6000546001600160a01b031633146107135760405162461bcd60e51b815260040161070a90611fee565b60405180910390fd5b60005b815181101561077b576001600960008484815181106107375761073761215c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107738161212b565b915050610716565b5050565b6000546001600160a01b031633146107a95760405162461bcd60e51b815260040161070a90611fee565b6001600160a01b03811660009081526009602052604090205460ff16156107eb576001600160a01b0381166000908152600960205260409020805460ff191690555b50565b6000546001600160a01b031633146108185760405162461bcd60e51b815260040161070a90611fee565b600182111561082657600080fd5b600181111561083457600080fd5b600b91909155600d55565b6000546001600160a01b031633146108695760405162461bcd60e51b815260040161070a90611fee565b601155565b6015546001600160a01b0316336001600160a01b03161461088e57600080fd5b601580546001600160a01b039092166001600160a01b0319909216821790556000908152600660205260409020805460ff19166001179055565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040161070a90611fee565b60178054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b03161461093057600080fd5b476107eb8161165f565b6001600160a01b03811660009081526002602052604081205461067190611699565b6000546001600160a01b031633146109865760405162461bcd60e51b815260040161070a90611fee565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109fa5760405162461bcd60e51b815260040161070a90611fee565b67016345785d8a0000811015610a0f57600080fd5b601855565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161070a90611fee565b601754600160a01b900460ff1615610a5557600080fd5b6017805460ff60a01b1916600160a01b17905542600a55565b6015546001600160a01b0316336001600160a01b031614610a8e57600080fd5b610a973061093a565b8111158015610aa65750600081115b610ae15760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b604482015260640161070a565b6107eb8161171d565b6000546001600160a01b03163314610b145760405162461bcd60e51b815260040161070a90611fee565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015610b7457600080fd5b505afa158015610b88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bac9190611dad565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611dad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cac9190611dad565b601780546001600160a01b0319166001600160a01b039290921691909117905550565b600061066d338484610f79565b6000546001600160a01b03163314610d065760405162461bcd60e51b815260040161070a90611fee565b600d821115610d1457600080fd5b600d811115610d2257600080fd5b600c91909155600e55565b6000546001600160a01b03163314610d575760405162461bcd60e51b815260040161070a90611fee565b601954811015610d6657600080fd5b601955565b6000546001600160a01b03163314610d955760405162461bcd60e51b815260040161070a90611fee565b6001600160a01b038116610dfa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610eb75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070a565b6001600160a01b038216610f185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070a565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fdd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161070a565b6001600160a01b03821661103f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161070a565b600081116110a15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161070a565b6001600160a01b03821660009081526009602052604090205460ff16156110da5760405162461bcd60e51b815260040161070a90612023565b6001600160a01b03831660009081526009602052604090205460ff16156111135760405162461bcd60e51b815260040161070a90612023565b3360009081526009602052604090205460ff16156111435760405162461bcd60e51b815260040161070a90612023565b6000546001600160a01b0384811691161480159061116f57506000546001600160a01b03838116911614155b156114cf57601754600160a01b900460ff166111cd5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161070a565b6017546001600160a01b0383811691161480156111f857506016546001600160a01b03848116911614155b156112aa576001600160a01b038216301480159061121f57506001600160a01b0383163014155b801561123957506015546001600160a01b03838116911614155b801561125357506015546001600160a01b03848116911614155b156112aa576018548111156112aa5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070a565b6017546001600160a01b038381169116148015906112d657506015546001600160a01b03838116911614155b80156112eb57506001600160a01b0382163014155b801561130257506001600160a01b03821661dead14155b156113c9576018548111156113595760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070a565b601954816113668461093a565b61137091906120bb565b106113c95760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161070a565b60006113d43061093a565b601a5490915081118080156113f35750601754600160a81b900460ff16155b801561140d57506017546001600160a01b03868116911614155b80156114225750601754600160b01b900460ff165b801561144757506001600160a01b03851660009081526006602052604090205460ff16155b801561146c57506001600160a01b03841660009081526006602052604090205460ff16155b156114cc57601154600090156114a75761149c6064611496601154866118a690919063ffffffff16565b90611925565b90506114a781611967565b6114b96114b48285612114565b61171d565b4780156114c9576114c94761165f565b50505b50505b6001600160a01b03831660009081526006602052604090205460019060ff168061151157506001600160a01b03831660009081526006602052604090205460ff165b8061154357506017546001600160a01b0385811691161480159061154357506017546001600160a01b03848116911614155b1561155057506000611613565b6017546001600160a01b03858116911614801561157b57506016546001600160a01b03848116911614155b156115d6576001600160a01b03831660009081526004602052604090204290819055600b54600f55600c54601055600a5414156115d6576001600160a01b0383166000908152600960205260409020805460ff191660011790555b6017546001600160a01b03848116911614801561160157506016546001600160a01b03858116911614155b1561161357600d54600f55600e546010555b61161f84848484611974565b50505050565b600081848411156116495760405162461bcd60e51b815260040161070a9190611f99565b5060006116568486612114565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561077b573d6000803e3d6000fd5b60006007548211156117005760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161070a565b600061170a6119a8565b90506117168382611925565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117655761176561215c565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156117b957600080fd5b505afa1580156117cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f19190611dad565b816001815181106118045761180461215c565b6001600160a01b03928316602091820292909201015260165461182a9130911684610e55565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061186390859060009086903090429060040161204a565b600060405180830381600087803b15801561187d57600080fd5b505af1158015611891573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b6000826118b557506000610671565b60006118c183856120f5565b9050826118ce85836120d3565b146117165760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161070a565b600061171683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119cb565b6107eb3061dead83610f79565b80611981576119816119f9565b61198c848484611a3e565b8061161f5761161f601254600f55601354601055601454601155565b60008060006119b5611b35565b90925090506119c48282611925565b9250505090565b600081836119ec5760405162461bcd60e51b815260040161070a9190611f99565b50600061165684866120d3565b600f54158015611a095750601054155b8015611a155750601154155b15611a1c57565b600f805460125560108054601355601180546014556000928390559082905555565b600080600080600080611a5087611b75565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611a829087611bd2565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611ab19086611c14565b6001600160a01b038916600090815260026020526040902055611ad381611c73565b611add8483611cbd565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b2291815260200190565b60405180910390a3505050505050505050565b6007546000908190678ac7230489e80000611b508282611925565b821015611b6c57505060075492678ac7230489e8000092509050565b90939092509050565b6000806000806000806000806000611b928a600f54601054611ce1565b9250925092506000611ba26119a8565b90506000806000611bb58e878787611d30565b919e509c509a509598509396509194505050505091939550919395565b600061171683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611625565b600080611c2183856120bb565b9050838110156117165760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161070a565b6000611c7d6119a8565b90506000611c8b83836118a6565b30600090815260026020526040902054909150611ca89082611c14565b30600090815260026020526040902055505050565b600754611cca9083611bd2565b600755600854611cda9082611c14565b6008555050565b6000808080611cf5606461149689896118a6565b90506000611d0860646114968a896118a6565b90506000611d2082611d1a8b86611bd2565b90611bd2565b9992985090965090945050505050565b6000808080611d3f88866118a6565b90506000611d4d88876118a6565b90506000611d5b88886118a6565b90506000611d6d82611d1a8686611bd2565b939b939a50919850919650505050505050565b8035611d8b81612188565b919050565b600060208284031215611da257600080fd5b813561171681612188565b600060208284031215611dbf57600080fd5b815161171681612188565b60008060408385031215611ddd57600080fd5b8235611de881612188565b91506020830135611df881612188565b809150509250929050565b600080600060608486031215611e1857600080fd5b8335611e2381612188565b92506020840135611e3381612188565b929592945050506040919091013590565b60008060408385031215611e5757600080fd5b8235611e6281612188565b946020939093013593505050565b60006020808385031215611e8357600080fd5b823567ffffffffffffffff80821115611e9b57600080fd5b818501915085601f830112611eaf57600080fd5b813581811115611ec157611ec1612172565b8060051b604051601f19603f83011681018181108582111715611ee657611ee6612172565b604052828152858101935084860182860187018a1015611f0557600080fd5b600095505b83861015611f2f57611f1b81611d80565b855260019590950194938601938601611f0a565b5098975050505050505050565b600060208284031215611f4e57600080fd5b8135801515811461171657600080fd5b600060208284031215611f7057600080fd5b5035919050565b60008060408385031215611f8a57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015611fc657858101830151858201604001528201611faa565b81811115611fd8576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c53746f7020736e6970696e672160981b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561209a5784516001600160a01b031683529383019391830191600101612075565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156120ce576120ce612146565b500190565b6000826120f057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561210f5761210f612146565b500290565b60008282101561212657612126612146565b500390565b600060001982141561213f5761213f612146565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107eb57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045e973539a9029e831d3a13e813e1b6a06969fd8d5c601a08ad175cd7987547964736f6c63430008070033

Deployed Bytecode Sourcemap

7567:15063:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10258:83;;;;;;;;;;-1:-1:-1;10328:5:0;;;;;;;;;;;;-1:-1:-1;;;10328:5:0;;;;10258:83;;;;;;;:::i;:::-;;;;;;;;11183:193;;;;;;;;;;-1:-1:-1;11183:193:0;;;;;:::i;:::-;;:::i;:::-;;;4370:14:1;;4363:22;4345:41;;4333:2;4318:18;11183:193:0;4205:187:1;17765:105:0;;;;;;;;;;-1:-1:-1;17765:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;17845:17:0;17822:4;17845:17;;;:9;:17;;;;;;;;;17765:105;9028:41;;;;;;;;;;-1:-1:-1;9028:41:0;;;;-1:-1:-1;;;;;9028:41:0;;;;;;-1:-1:-1;;;;;3852:32:1;;;3834:51;;3822:2;3807:18;9028:41:0;3688:203:1;10535:95:0;;;;;;;;;;-1:-1:-1;8177:12:0;10535:95;;;11141:25:1;;;11129:2;11114:18;10535:95:0;10995:177:1;11384:446:0;;;;;;;;;;-1:-1:-1;11384:446:0;;;;;:::i;:::-;;:::i;8939:80::-;;;;;;;;;;;;8977:42;8939:80;;17407:192;;;;;;;;;;-1:-1:-1;17407:192:0;;;;;:::i;:::-;;:::i;:::-;;9325:49;;;;;;;;;;;;;;;;10444:83;;;;;;;;;;-1:-1:-1;10444:83:0;;7800:1;12304:36:1;;12292:2;12277:18;10444:83:0;12162:184:1;17607:150:0;;;;;;;;;;-1:-1:-1;17607:150:0;;;;;:::i;:::-;;:::i;22233:291::-;;;;;;;;;;-1:-1:-1;22233:291:0;;;;;:::i;:::-;;:::i;9076:28::-;;;;;;;;;;-1:-1:-1;9076:28:0;;;;-1:-1:-1;;;;;9076:28:0;;;22532:91;;;;;;;;;;-1:-1:-1;22532:91:0;;;;;:::i;:::-;;:::i;16925:235::-;;;;;;;;;;-1:-1:-1;16925:235:0;;;;;:::i;:::-;;:::i;21502:101::-;;;;;;;;;;-1:-1:-1;21502:101:0;;;;;:::i;:::-;;:::i;17878:196::-;;;;;;;;;;;;;:::i;10638:138::-;;;;;;;;;;-1:-1:-1;10638:138:0;;;;;:::i;:::-;;:::i;5046:148::-;;;;;;;;;;;;;:::i;21615:157::-;;;;;;;;;;-1:-1:-1;21615:157:0;;;;;:::i;:::-;;:::i;8334:25::-;;;;;;;;;;;;;;;;16768:147;;;;;;;;;;;;;:::i;9226:41::-;;;;;;;;;;;;;;;;17174:225;;;;;;;;;;-1:-1:-1;17174:225:0;;;;;:::i;:::-;;:::i;4832:79::-;;;;;;;;;;-1:-1:-1;4870:7:0;4897:6;-1:-1:-1;;;;;4897:6:0;4832:79;;9275:43;;;;;;;;;;;;;;;;10349:87;;;;;;;;;;-1:-1:-1;10421:7:0;;;;;;;;;;;;-1:-1:-1;;;10421:7:0;;;;10349:87;;9906:344;;;;;;;;;;;;;:::i;10784:199::-;;;;;;;;;;-1:-1:-1;10784:199:0;;;;;:::i;:::-;;:::i;21960:265::-;;;;;;;;;;-1:-1:-1;21960:265:0;;;;;:::i;:::-;;:::i;10991:184::-;;;;;;;;;;-1:-1:-1;10991:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;11140:18:0;;;11108:7;11140:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10991:184;21784:168;;;;;;;;;;-1:-1:-1;21784:168:0;;;;;:::i;:::-;;:::i;5206:244::-;;;;;;;;;;-1:-1:-1;5206:244:0;;;;;:::i;:::-;;:::i;11183:193::-;11285:4;11307:39;3671:10;11330:7;11339:6;11307:8;:39::i;:::-;-1:-1:-1;11364:4:0;11183:193;;;;;:::o;11384:446::-;11516:4;11533:36;11543:6;11551:9;11562:6;11533:9;:36::i;:::-;11580:220;11603:6;3671:10;11651:138;11707:6;11651:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11651:19:0;;;;;;:11;:19;;;;;;;;3671:10;11651:33;;;;;;;;;;:37;:138::i;:::-;11580:8;:220::i;:::-;-1:-1:-1;11818:4:0;11384:446;;;;;:::o;17407:192::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;;;;;;;;;17486:9:::1;17482:110;17503:7;:14;17500:1;:17;17482:110;;;17562:4;17538:9;:21;17548:7;17556:1;17548:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;17538:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;17538:21:0;:28;;-1:-1:-1;;17538:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17519:3;::::1;::::0;::::1;:::i;:::-;;;;17482:110;;;;17407:192:::0;:::o;17607:150::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17679:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;::::1;;17675:75;;;-1:-1:-1::0;;;;;17713:17:0;::::1;17733:5;17713:17:::0;;;:9:::1;:17;::::0;;;;:25;;-1:-1:-1;;17713:25:0::1;::::0;;17675:75:::1;17607:150:::0;:::o;22233:291::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;22372:1:::1;22356:12;:17;;22327:47;;;::::0;::::1;;22432:1;22415:13;:18;;22385:49;;;::::0;::::1;;22445:14;:29:::0;;;;22485:15:::1;:31:::0;22233:291::o;22532:91::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;22598:8:::1;:17:::0;22532:91::o;16925:235::-;17023:17;;-1:-1:-1;;;;;17023:17:0;3671:10;-1:-1:-1;;;;;17007:33:0;;16999:42;;;;;;17052:17;:45;;-1:-1:-1;;;;;17052:45:0;;;-1:-1:-1;;;;;;17052:45:0;;;;;;;:17;17108:37;;;:18;:37;;;;;:44;;-1:-1:-1;;17108:44:0;17052:45;17108:44;;;16925:235::o;21502:101::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;21569:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21569:26:0::1;-1:-1:-1::0;;;;21569:26:0;;::::1;::::0;;;::::1;::::0;;21502:101::o;17878:196::-;17944:17;;-1:-1:-1;;;;;17944:17:0;3671:10;-1:-1:-1;;;;;17928:33:0;;17920:42;;;;;;18002:21;18034:32;18002:21;18034:12;:32::i;10638:138::-;-1:-1:-1;;;;;10751:16:0;;10704:7;10751:16;;;:7;:16;;;;;;10731:37;;:19;:37::i;5046:148::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;5153:1:::1;5137:6:::0;;5116:40:::1;::::0;-1:-1:-1;;;;;5137:6:0;;::::1;::::0;5116:40:::1;::::0;5153:1;;5116:40:::1;5184:1;5167:19:::0;;-1:-1:-1;;;;;;5167:19:0::1;::::0;;5046:148::o;21615:157::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;21715:11:::1;21699;:27;;21691:36;;;::::0;::::1;;21738:12;:26:::0;21615:157::o;16768:147::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;16827:11:::1;::::0;-1:-1:-1;;;16827:11:0;::::1;;;16826:12;16818:21;;;::::0;::::1;;16850:11;:18:::0;;-1:-1:-1;;;;16850:18:0::1;-1:-1:-1::0;;;16850:18:0::1;::::0;;16892:15:::1;16879:10;:28:::0;16768:147::o;17174:225::-;17254:17;;-1:-1:-1;;;;;17254:17:0;3671:10;-1:-1:-1;;;;;17238:33:0;;17230:42;;;;;;17301:24;17319:4;17301:9;:24::i;:::-;17291:6;:34;;:48;;;;;17338:1;17329:6;:10;17291:48;17283:73;;;;-1:-1:-1;;;17283:73:0;;10856:2:1;17283:73:0;;;10838:21:1;10895:2;10875:18;;;10868:30;-1:-1:-1;;;10914:18:1;;;10907:42;10966:18;;17283:73:0;10654:336:1;17283:73:0;17367:24;17384:6;17367:16;:24::i;9906:344::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;10073:15:::1;:34:::0;;-1:-1:-1;;;;;;10073:34:0::1;10019:42;10073:34:::0;;::::1;::::0;;;10152:26:::1;::::0;;-1:-1:-1;;;10152:26:0;;;;10019:42;;10152:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;10019:42;10152:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10134:66:0::1;;10209:4;10216:16;-1:-1:-1::0;;;;;10216:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10134:106;::::0;-1:-1:-1;;;;;;10134:106:0::1;::::0;;;;;;-1:-1:-1;;;;;4126:15:1;;;10134:106:0::1;::::0;::::1;4108:34:1::0;4178:15;;4158:18;;;4151:43;4043:18;;10134:106:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10118:13;:122:::0;;-1:-1:-1;;;;;;10118:122:0::1;-1:-1:-1::0;;;;;10118:122:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;9906:344:0:o;10784:199::-;10889:4;10911:42;3671:10;10935:9;10946:6;10911:9;:42::i;21960:265::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;22087:2:::1;22074:9;:15;;22048:42;;;::::0;::::1;;22142:2;22128:10;:16;;22101:44;;;::::0;::::1;;22156:12;:24:::0;;;;22191:13:::1;:26:::0;21960:265::o;21784:168::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;21888:14:::1;;21871:13;:31;;21863:40;;;::::0;::::1;;21914:14;:30:::0;21784:168::o;5206:244::-;4959:6;;-1:-1:-1;;;;;4959:6:0;3671:10;4959:22;4951:67;;;;-1:-1:-1;;;4951:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5295:22:0;::::1;5287:73;;;::::0;-1:-1:-1;;;5287:73:0;;6960:2:1;5287:73:0::1;::::0;::::1;6942:21:1::0;6999:2;6979:18;;;6972:30;7038:34;7018:18;;;7011:62;-1:-1:-1;;;7089:18:1;;;7082:36;7135:19;;5287:73:0::1;6758:402:1::0;5287:73:0::1;5397:6;::::0;;5376:38:::1;::::0;-1:-1:-1;;;;;5376:38:0;;::::1;::::0;5397:6;::::1;::::0;5376:38:::1;::::0;::::1;5425:6;:17:::0;;-1:-1:-1;;;;;;5425:17:0::1;-1:-1:-1::0;;;;;5425:17:0;;;::::1;::::0;;;::::1;::::0;;5206:244::o;12649:369::-;-1:-1:-1;;;;;12776:19:0;;12768:68;;;;-1:-1:-1;;;12768:68:0;;10451:2:1;12768:68:0;;;10433:21:1;10490:2;10470:18;;;10463:30;10529:34;10509:18;;;10502:62;-1:-1:-1;;;10580:18:1;;;10573:34;10624:19;;12768:68:0;10249:400:1;12768:68:0;-1:-1:-1;;;;;12855:21:0;;12847:68;;;;-1:-1:-1;;;12847:68:0;;7367:2:1;12847:68:0;;;7349:21:1;7406:2;7386:18;;;7379:30;7445:34;7425:18;;;7418:62;-1:-1:-1;;;7496:18:1;;;7489:32;7538:19;;12847:68:0;7165:398:1;12847:68:0;-1:-1:-1;;;;;12926:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12978:32;;11141:25:1;;;12978:32:0;;11114:18:1;12978:32:0;;;;;;;12649:369;;;:::o;13026:3010::-;-1:-1:-1;;;;;13148:18:0;;13140:68;;;;-1:-1:-1;;;13140:68:0;;9299:2:1;13140:68:0;;;9281:21:1;9338:2;9318:18;;;9311:30;9377:34;9357:18;;;9350:62;-1:-1:-1;;;9428:18:1;;;9421:35;9473:19;;13140:68:0;9097:401:1;13140:68:0;-1:-1:-1;;;;;13227:16:0;;13219:64;;;;-1:-1:-1;;;13219:64:0;;5435:2:1;13219:64:0;;;5417:21:1;5474:2;5454:18;;;5447:30;5513:34;5493:18;;;5486:62;-1:-1:-1;;;5564:18:1;;;5557:33;5607:19;;13219:64:0;5233:399:1;13219:64:0;13311:1;13302:6;:10;13294:64;;;;-1:-1:-1;;;13294:64:0;;8889:2:1;13294:64:0;;;8871:21:1;8928:2;8908:18;;;8901:30;8967:34;8947:18;;;8940:62;-1:-1:-1;;;9018:18:1;;;9011:39;9067:19;;13294:64:0;8687:405:1;13294:64:0;-1:-1:-1;;;;;13378:13:0;;;;;;:9;:13;;;;;;;;13377:14;13369:40;;;;-1:-1:-1;;;13369:40:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13429:15:0;;;;;;:9;:15;;;;;;;;13428:16;13420:42;;;;-1:-1:-1;;;13420:42:0;;;;;;;:::i;:::-;3671:10;13482:23;;;;:9;:23;;;;;;;;13481:24;13473:50;;;;-1:-1:-1;;;13473:50:0;;;;;;;:::i;:::-;4870:7;4897:6;-1:-1:-1;;;;;13540:15:0;;;4897:6;;13540:15;;;;:32;;-1:-1:-1;4870:7:0;4897:6;-1:-1:-1;;;;;13559:13:0;;;4897:6;;13559:13;;13540:32;13536:1644;;;13608:11;;-1:-1:-1;;;13608:11:0;;;;13603:87;;13640:34;;-1:-1:-1;;;13640:34:0;;5839:2:1;13640:34:0;;;5821:21:1;5878:2;5858:18;;;5851:30;5917:26;5897:18;;;5890:54;5961:18;;13640:34:0;5637:348:1;13603:87:0;13728:13;;-1:-1:-1;;;;;13722:19:0;;;13728:13;;13722:19;:55;;;;-1:-1:-1;13761:15:0;;-1:-1:-1;;;;;13745:32:0;;;13761:15;;13745:32;;13722:55;13718:307;;;-1:-1:-1;;;;;13802:19:0;;13816:4;13802:19;;;;:44;;-1:-1:-1;;;;;;13825:21:0;;13841:4;13825:21;;13802:44;:71;;;;-1:-1:-1;13856:17:0;;-1:-1:-1;;;;;13850:23:0;;;13856:17;;13850:23;;13802:71;:100;;;;-1:-1:-1;13885:17:0;;-1:-1:-1;;;;;13877:25:0;;;13885:17;;13877:25;;13802:100;13798:212;;;13945:12;;13935:6;:22;;13927:63;;;;-1:-1:-1;;;13927:63:0;;6603:2:1;13927:63:0;;;6585:21:1;6642:2;6622:18;;;6615:30;6681;6661:18;;;6654:58;6729:18;;13927:63:0;6401:352:1;13927:63:0;14051:13;;-1:-1:-1;;;;;14045:19:0;;;14051:13;;14045:19;;;;:46;;-1:-1:-1;14074:17:0;;-1:-1:-1;;;;;14068:23:0;;;14074:17;;14068:23;;14045:46;:69;;;;-1:-1:-1;;;;;;14095:19:0;;14109:4;14095:19;;14045:69;:90;;;;-1:-1:-1;;;;;;14118:17:0;;8977:42;14118:17;;14045:90;14041:318;;;14174:12;;14164:6;:22;;14156:63;;;;-1:-1:-1;;;14156:63:0;;6603:2:1;14156:63:0;;;6585:21:1;6642:2;6622:18;;;6615:30;6681;6661:18;;;6654:58;6729:18;;14156:63:0;6401:352:1;14156:63:0;14271:14;;14262:6;14246:13;14256:2;14246:9;:13::i;:::-;:22;;;;:::i;:::-;:39;14238:87;;;;-1:-1:-1;;;14238:87:0;;9705:2:1;14238:87:0;;;9687:21:1;9744:2;9724:18;;;9717:30;9783:34;9763:18;;;9756:62;-1:-1:-1;;;9834:18:1;;;9827:33;9877:19;;14238:87:0;9503:399:1;14238:87:0;14387:28;14418:24;14436:4;14418:9;:24::i;:::-;14495:19;;14387:55;;-1:-1:-1;14472:42:0;;;14547:18;;;;-1:-1:-1;14559:6:0;;-1:-1:-1;;;14559:6:0;;;;14558:7;14547:18;:43;;;;-1:-1:-1;14577:13:0;;-1:-1:-1;;;;;14569:21:0;;;14577:13;;14569:21;;14547:43;:58;;;;-1:-1:-1;14594:11:0;;-1:-1:-1;;;14594:11:0;;;;14547:58;:87;;;;-1:-1:-1;;;;;;14610:24:0;;;;;;:18;:24;;;;;;;;14609:25;14547:87;:114;;;;-1:-1:-1;;;;;;14639:22:0;;;;;;:18;:22;;;;;;;;14638:23;14547:114;14543:626;;;14728:8;;14682:19;;14728:12;14724:166;;14779:45;14818:5;14779:34;14804:8;;14779:20;:24;;:34;;;;:::i;:::-;:38;;:45::i;:::-;14765:59;;14847:23;14858:11;14847:10;:23::i;:::-;14908:52;14925:34;14948:11;14925:20;:34;:::i;:::-;14908:16;:52::i;:::-;15008:21;15052:22;;15048:106;;15099:35;15112:21;15099:12;:35::i;:::-;14663:506;;14543:626;13574:1606;;13536:1644;-1:-1:-1;;;;;15237:24:0;;15200:12;15237:24;;;:18;:24;;;;;;15215:4;;15237:24;;;:50;;-1:-1:-1;;;;;;15265:22:0;;;;;;:18;:22;;;;;;;;15237:50;15236:102;;;-1:-1:-1;15301:13:0;;-1:-1:-1;;;;;15293:21:0;;;15301:13;;15293:21;;;;:44;;-1:-1:-1;15324:13:0;;-1:-1:-1;;;;;15318:19:0;;;15324:13;;15318:19;;15293:44;15232:743;;;-1:-1:-1;15365:5:0;15232:743;;;15414:13;;-1:-1:-1;;;;;15406:21:0;;;15414:13;;15406:21;:55;;;;-1:-1:-1;15445:15:0;;-1:-1:-1;;;;;15431:30:0;;;15445:15;;15431:30;;15406:55;15403:350;;;-1:-1:-1;;;;;15486:11:0;;;;;;:7;:11;;;;;15500:15;15486:29;;;;15550:14;;15538:9;:26;15597:12;;15587:7;:22;15655:10;;15636:29;15632:106;;;-1:-1:-1;;;;;15694:13:0;;;;;;:9;:13;;;;;:20;;-1:-1:-1;;15694:20:0;15710:4;15694:20;;;15632:106;15783:13;;-1:-1:-1;;;;;15777:19:0;;;15783:13;;15777:19;:55;;;;-1:-1:-1;15816:15:0;;-1:-1:-1;;;;;15800:32:0;;;15816:15;;15800:32;;15777:55;15773:191;;;15887:15;;15875:9;:27;15935:13;;15925:7;:23;15773:191;15987:41;16002:4;16008:2;16012:6;16020:7;15987:14;:41::i;:::-;13129:2907;13026:3010;;;:::o;5818:224::-;5938:7;5974:12;5966:6;;;;5958:29;;;;-1:-1:-1;;;5958:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5998:9:0;6010:5;6014:1;6010;:5;:::i;:::-;5998:17;5818:224;-1:-1:-1;;;;;5818:224:0:o;16661:99::-;16718:17;;:34;;-1:-1:-1;;;;;16718:17:0;;;;:34;;;;;16745:6;;16718:17;:34;:17;:34;16745:6;16718:17;:34;;;;;;;;;;;;;;;;;;;11838:323;11933:7;11991;;11980;:18;;11958:110;;;;-1:-1:-1;;;11958:110:0;;6192:2:1;11958:110:0;;;6174:21:1;6231:2;6211:18;;;6204:30;6270:34;6250:18;;;6243:62;-1:-1:-1;;;6321:18:1;;;6314:40;6371:19;;11958:110:0;5990:406:1;11958:110:0;12079:19;12101:10;:8;:10::i;:::-;12079:32;-1:-1:-1;12129:24:0;:7;12079:32;12129:11;:24::i;:::-;12122:31;11838:323;-1:-1:-1;;;11838:323:0:o;16170:483::-;9468:6;:13;;-1:-1:-1;;;;9468:13:0;-1:-1:-1;;;9468:13:0;;;16272:16:::1;::::0;;16286:1:::1;16272:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16272:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16272:16:0::1;16248:40;;16317:4;16299;16304:1;16299:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16299:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16343:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16343:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16299:7;;16343:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16333:4;16338:1;16333:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16333:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16408:15:::1;::::0;16376:62:::1;::::0;16393:4:::1;::::0;16408:15:::1;16426:11:::0;16376:8:::1;:62::i;:::-;16449:15;::::0;:196:::1;::::0;-1:-1:-1;;;16449:196:0;;-1:-1:-1;;;;;16449:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16530:11;;16449:15:::1;::::0;16572:4;;16599::::1;::::0;16619:15:::1;::::0;16449:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9504:6:0;:14;;-1:-1:-1;;;;9504:14:0;;;-1:-1:-1;;;;16170:483:0:o;6050:246::-;6108:7;6132:6;6128:47;;-1:-1:-1;6162:1:0;6155:8;;6128:47;6185:9;6197:5;6201:1;6197;:5;:::i;:::-;6185:17;-1:-1:-1;6230:1:0;6221:5;6225:1;6185:17;6221:5;:::i;:::-;:10;6213:56;;;;-1:-1:-1;;;6213:56:0;;8126:2:1;6213:56:0;;;8108:21:1;8165:2;8145:18;;;8138:30;8204:34;8184:18;;;8177:62;-1:-1:-1;;;8255:18:1;;;8248:31;8296:19;;6213:56:0;7924:397:1;6304:132:0;6362:7;6389:39;6393:1;6396;6389:39;;;;;;;;;;;;;;;;;:3;:39::i;16044:118::-;16104:50;16122:4;8977:42;16142:11;16104:9;:50::i;18082:282::-;18238:7;18233:28;;18247:14;:12;:14::i;:::-;18272:44;18290:6;18298:9;18309:6;18272:17;:44::i;:::-;18332:7;18327:29;;18341:15;12542:17;;12530:9;:29;12580:15;;12570:7;:25;12617:16;;12606:8;:27;12486:155;21057:166;21099:7;21120:15;21137;21156:19;:17;:19::i;:::-;21119:56;;-1:-1:-1;21119:56:0;-1:-1:-1;21195:20:0;21119:56;;21195:11;:20::i;:::-;21188:27;;;;21057:166;:::o;6444:223::-;6564:7;6599:12;6592:5;6584:28;;;;-1:-1:-1;;;6584:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6623:9:0;6635:5;6639:1;6635;:5;:::i;12169:309::-;12216:9;;:14;:30;;;;-1:-1:-1;12234:7:0;;:12;12216:30;:47;;;;-1:-1:-1;12250:8:0;;:13;12216:47;12212:60;;;12169:309::o;12212:60::-;12308:9;;;12288:17;:29;12346:7;;;12328:15;:25;12383:8;;;12364:16;:27;-1:-1:-1;12412:13:0;;;;12436:11;;;;12458:12;12169:309::o;18372:610::-;18519:15;18549:23;18587:12;18614:23;18652:12;18679:13;18706:19;18717:7;18706:10;:19::i;:::-;-1:-1:-1;;;;;18754:15:0;;;;;;:7;:15;;;;;;18504:221;;-1:-1:-1;18504:221:0;;-1:-1:-1;18504:221:0;;-1:-1:-1;18504:221:0;-1:-1:-1;18504:221:0;-1:-1:-1;18504:221:0;-1:-1:-1;18754:28:0;;18504:221;18754:19;:28::i;:::-;-1:-1:-1;;;;;18736:15:0;;;;;;;:7;:15;;;;;;:46;;;;18814:18;;;;;;;:39;;18837:15;18814:22;:39::i;:::-;-1:-1:-1;;;;;18793:18:0;;;;;;:7;:18;;;;;:60;18864:16;18874:5;18864:9;:16::i;:::-;18891:23;18903:4;18909;18891:11;:23::i;:::-;18947:9;-1:-1:-1;;;;;18930:44:0;18939:6;-1:-1:-1;;;;;18930:44:0;;18958:15;18930:44;;;;11141:25:1;;11129:2;11114:18;;10995:177;18930:44:0;;;;;;;;18493:489;;;;;;18372:610;;;:::o;21231:263::-;21329:7;;21282;;;;8177:12;21397:20;21329:7;8177:12;21397:11;:20::i;:::-;21387:7;:30;21383:61;;;-1:-1:-1;;21427:7:0;;;8177:12;;-1:-1:-1;21231:263:0;-1:-1:-1;21231:263:0:o;21383:61::-;21469:7;;21478;;-1:-1:-1;21231:263:0;-1:-1:-1;21231:263:0:o;19401:625::-;19501:7;19523;19545;19567;19589;19611;19647:23;19672:12;19686:13;19716:40;19728:7;19737:9;;19748:7;;19716:11;:40::i;:::-;19646:110;;;;;;19767:19;19789:10;:8;:10::i;:::-;19767:32;;19811:15;19828:23;19853:12;19882:46;19894:7;19903:4;19909:5;19916:11;19882;:46::i;:::-;19810:118;;-1:-1:-1;19810:118:0;-1:-1:-1;19810:118:0;-1:-1:-1;19989:15:0;;-1:-1:-1;20006:4:0;;-1:-1:-1;20012:5:0;;-1:-1:-1;;;;;19401:625:0;;;;;;;:::o;5674:136::-;5732:7;5759:43;5763:1;5766;5759:43;;;;;;;;;;;;;;;;;:3;:43::i;5487:179::-;5545:7;;5577:5;5581:1;5577;:5;:::i;:::-;5565:17;;5606:1;5601;:6;;5593:46;;;;-1:-1:-1;;;5593:46:0;;7770:2:1;5593:46:0;;;7752:21:1;7809:2;7789:18;;;7782:30;7848:29;7828:18;;;7821:57;7895:18;;5593:46:0;7568:351:1;18990:211:0;19043:19;19065:10;:8;:10::i;:::-;19043:32;-1:-1:-1;19086:13:0;19102:22;:5;19043:32;19102:9;:22::i;:::-;19176:4;19160:22;;;;:7;:22;;;;;;19086:38;;-1:-1:-1;19160:33:0;;19086:38;19160:26;:33::i;:::-;19151:4;19135:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;18990:211:0:o;19209:147::-;19287:7;;:17;;19299:4;19287:11;:17::i;:::-;19277:7;:27;19328:10;;:20;;19343:4;19328:14;:20::i;:::-;19315:10;:33;-1:-1:-1;;19209:147:0:o;20034:471::-;20203:7;;;;20297:30;20323:3;20297:21;:7;20309:8;20297:11;:21::i;:30::-;20282:45;-1:-1:-1;20338:13:0;20354:28;20378:3;20354:19;:7;20366:6;20354:11;:19::i;:28::-;20338:44;-1:-1:-1;20393:23:0;20419:28;20338:44;20419:17;:7;20431:4;20419:11;:17::i;:::-;:21;;:28::i;:::-;20393:54;20485:4;;-1:-1:-1;20491:5:0;;-1:-1:-1;20034:471:0;;-1:-1:-1;;;;;20034:471:0:o;20513:536::-;20707:7;;;;20804:24;:7;20816:11;20804;:24::i;:::-;20786:42;-1:-1:-1;20839:12:0;20854:21;:4;20863:11;20854:8;:21::i;:::-;20839:36;-1:-1:-1;20886:13:0;20902:22;:5;20912:11;20902:9;:22::i;:::-;20886:38;-1:-1:-1;20935:23:0;20961:28;20886:38;20961:17;:7;20973:4;20961:11;:17::i;:28::-;21010:7;;;;-1:-1:-1;21036:4:0;;-1:-1:-1;20513:536:0;;-1:-1:-1;;;;;;;20513:536:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:273::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3189:5;3182:13;3175:21;3168:5;3165:32;3155:60;;3211:1;3208;3201:12;3250:180;3309:6;3362:2;3350:9;3341:7;3337:23;3333:32;3330:52;;;3378:1;3375;3368:12;3330:52;-1:-1:-1;3401:23:1;;3250:180;-1:-1:-1;3250:180:1:o;3435:248::-;3503:6;3511;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;-1:-1:-1;;3603:23:1;;;3673:2;3658:18;;;3645:32;;-1:-1:-1;3435:248:1:o;4631:597::-;4743:4;4772:2;4801;4790:9;4783:21;4833:6;4827:13;4876:6;4871:2;4860:9;4856:18;4849:34;4901:1;4911:140;4925:6;4922:1;4919:13;4911:140;;;5020:14;;;5016:23;;5010:30;4986:17;;;5005:2;4982:26;4975:66;4940:10;;4911:140;;;5069:6;5066:1;5063:13;5060:91;;;5139:1;5134:2;5125:6;5114:9;5110:22;5106:31;5099:42;5060:91;-1:-1:-1;5212:2:1;5191:15;-1:-1:-1;;5187:29:1;5172:45;;;;5219:2;5168:54;;4631:597;-1:-1:-1;;;4631:597:1:o;8326:356::-;8528:2;8510:21;;;8547:18;;;8540:30;8606:34;8601:2;8586:18;;8579:62;8673:2;8658:18;;8326:356::o;9907:337::-;10109:2;10091:21;;;10148:2;10128:18;;;10121:30;-1:-1:-1;;;10182:2:1;10167:18;;10160:43;10235:2;10220:18;;9907:337::o;11177:980::-;11439:4;11487:3;11476:9;11472:19;11518:6;11507:9;11500:25;11544:2;11582:6;11577:2;11566:9;11562:18;11555:34;11625:3;11620:2;11609:9;11605:18;11598:31;11649:6;11684;11678:13;11715:6;11707;11700:22;11753:3;11742:9;11738:19;11731:26;;11792:2;11784:6;11780:15;11766:29;;11813:1;11823:195;11837:6;11834:1;11831:13;11823:195;;;11902:13;;-1:-1:-1;;;;;11898:39:1;11886:52;;11993:15;;;;11958:12;;;;11934:1;11852:9;11823:195;;;-1:-1:-1;;;;;;;12074:32:1;;;;12069:2;12054:18;;12047:60;-1:-1:-1;;;12138:3:1;12123:19;12116:35;12035:3;11177:980;-1:-1:-1;;;11177:980:1:o;12351:128::-;12391:3;12422:1;12418:6;12415:1;12412:13;12409:39;;;12428:18;;:::i;:::-;-1:-1:-1;12464:9:1;;12351:128::o;12484:217::-;12524:1;12550;12540:132;;12594:10;12589:3;12585:20;12582:1;12575:31;12629:4;12626:1;12619:15;12657:4;12654:1;12647:15;12540:132;-1:-1:-1;12686:9:1;;12484:217::o;12706:168::-;12746:7;12812:1;12808;12804:6;12800:14;12797:1;12794:21;12789:1;12782:9;12775:17;12771:45;12768:71;;;12819:18;;:::i;:::-;-1:-1:-1;12859:9:1;;12706:168::o;12879:125::-;12919:4;12947:1;12944;12941:8;12938:34;;;12952:18;;:::i;:::-;-1:-1:-1;12989:9:1;;12879:125::o;13009:135::-;13048:3;-1:-1:-1;;13069:17:1;;13066:43;;;13089:18;;:::i;:::-;-1:-1:-1;13136:1:1;13125:13;;13009:135::o;13149:127::-;13210:10;13205:3;13201:20;13198:1;13191:31;13241:4;13238:1;13231:15;13265:4;13262:1;13255:15;13281:127;13342:10;13337:3;13333:20;13330:1;13323:31;13373:4;13370:1;13363:15;13397:4;13394:1;13387:15;13413:127;13474:10;13469:3;13465:20;13462:1;13455:31;13505:4;13502:1;13495:15;13529:4;13526:1;13519:15;13545:131;-1:-1:-1;;;;;13620:31:1;;13610:42;;13600:70;;13666:1;13663;13656:12

Swarm Source

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