ETH Price: $3,309.86 (+0.06%)
Gas: 16 Gwei

Token

CHINESE FROG (DOUYIN)
 

Overview

Max Total Supply

420,690,000,000 DOUYIN

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,033,721,027.84793251 DOUYIN

Value
$0.00
0xE30ce57D34e6A9CBD29ad4C120212B21f4139dB3
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:
DOUYIN

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-07
*/

// SPDX-License-Identifier: MIT

/**

https://douyinfrogmascot.com/

https://t.me/chinesefrogmascot

https://x.com/frogdouyin

**/
pragma solidity ^0.8.24;
 
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 DOUYIN is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "CHINESE FROG";
    string private constant _symbol = "DOUYIN";
    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 = 420690000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 23;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 23;
 
    //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) public _buyMap; 
    address payable private _developmentAddress = payable(0x9D63e4aA5016D793bdA92c7351d1fd6922baBfEb); 
    address payable private _marketingAddress = payable(0x9D63e4aA5016D793bdA92c7351d1fd6922baBfEb);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 8413800000 * 10**9; 
    uint256 public _maxWalletSize = 8413800000 * 10**9; 
    uint256 public _swapTokensAtAmount = 10000 * 10**9;

    bool private _maxTxn = false;
    bool private _maxWallet = false;
    bool private _maxTxnCan = false;
    bool private _maxWalletCan = false;

    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);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "the transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount has to 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), "Can't approve from zero address");
        require(spender != address(0), "Can't approve to zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "Cant transfer from address zero");
        require(to != address(0), "Cant transfer to address zero");
        require(amount > 0, "Amount should be above zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "Only owner can trade before trading activation");
            }
 
            require(amount <= _maxTxAmount, "Exceeded max transaction limit");
            require(!bots[from] && !bots[to], "This account is on the blacklist");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "Exceeds max wallet balance");
            }
 
            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)) {
                _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 {
        _marketingAddress.transfer(amount);
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
 
    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 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 {
        require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 4, "Buy rewards must be between 0% and 4%");
        require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 95, "Buy tax must be between 0% and 95%");
        require(redisFeeOnSell >= 0 && redisFeeOnSell <= 4, "Sell rewards must be between 0% and 4%");
        require(taxFeeOnSell >= 0 && taxFeeOnSell <= 95, "Sell tax must be between 0% and 95%");

        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

    }
 
    //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, bool maxTxn, bool maxTxnCan) public onlyOwner {
           _maxTxAmount = maxTxAmount;
           _maxTxn = maxTxn;
           _maxTxnCan = maxTxnCan;
        
    }
 
    function setMaxWalletSize(uint256 maxWalletSize, bool maxWallet, bool maxWalletCan) public onlyOwner {
        _maxWalletSize = maxWalletSize;
        _maxWallet = maxWallet;
        _maxWalletCan = maxWalletCan;
    }
 
    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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_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":"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"},{"internalType":"bool","name":"maxTxn","type":"bool"},{"internalType":"bool","name":"maxTxnCan","type":"bool"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"},{"internalType":"bool","name":"maxWallet","type":"bool"},{"internalType":"bool","name":"maxWalletCan","type":"bool"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"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"}]

60806040526100186816ce3f1e16bf1500005f19610354565b610023905f19610373565b6006555f600881905560176009819055600a829055600b819055600c829055600d819055600e91909155600f819055601280546001600160a01b0319908116739d63e4aa5016d793bda92c7351d1fd6922babfeb9081179092556013805490911690911790556015805461ffff60a81b1916600160b01b1790556774c3d285932e8000601681905590556509184e72a0006018556019805463ffffffff191690553480156100cf575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f9081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015610188573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ac9190610398565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021b9190610398565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102899190610398565b601580546001600160a01b0319166001600160a01b039283161790555f80548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6816ce3f1e16bf15000060405161034691815260200190565b60405180910390a3506103c5565b5f8261036e57634e487b7160e01b5f52601260045260245ffd5b500690565b8181038181111561039257634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156103a8575f80fd5b81516001600160a01b03811681146103be575f80fd5b9392505050565b611e96806103d25f395ff3fe6080604052600436106101c7575f3560e01c80637f2feddc116100f2578063a9059cbb11610092578063c492f04611610062578063c492f04614610533578063dd62ed3e14610552578063f2fde38b14610596578063fc7d9469146105b5575f80fd5b8063a9059cbb146104b3578063bd6bba91146104d2578063bfd79284146104f1578063c3c8cd801461051f575f80fd5b80638f9a55c0116100cd5780638f9a55c01461043257806395d89b411461044757806398a5c31514610475578063a2a957bb14610494575f80fd5b80637f2feddc146103cc5780638da5cb5b146103f75780638f70ccf714610413575f80fd5b8063313ce567116101685780636fc3eaec116101385780636fc3eaec1461037057806370a0823114610384578063715018a6146103a35780637d1db4a5146103b7575f80fd5b8063313ce567146102f857806349bd5a5e146103135780636b999053146103325780636d8aa8f814610351575f80fd5b80631694505e116101a35780631694505e1461026857806318160ddd1461029f57806323b872dd146102c45780632fd689e3146102e3575f80fd5b8062b8cf2a146101d257806306fdde03146101f3578063095ea7b314610239575f80fd5b366101ce57005b5f80fd5b3480156101dd575f80fd5b506101f16101ec366004611a20565b6105d4565b005b3480156101fe575f80fd5b5060408051808201909152600c81526b4348494e4553452046524f4760a01b60208201525b6040516102309190611aeb565b60405180910390f35b348015610244575f80fd5b50610258610253366004611b20565b610665565b6040519015158152602001610230565b348015610273575f80fd5b50601454610287906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102aa575f80fd5b506816ce3f1e16bf1500005b604051908152602001610230565b3480156102cf575f80fd5b506102586102de366004611b4a565b61067b565b3480156102ee575f80fd5b506102b660185481565b348015610303575f80fd5b5060405160098152602001610230565b34801561031e575f80fd5b50601554610287906001600160a01b031681565b34801561033d575f80fd5b506101f161034c366004611b88565b6106e2565b34801561035c575f80fd5b506101f161036b366004611bb2565b61072b565b34801561037b575f80fd5b506101f1610772565b34801561038f575f80fd5b506102b661039e366004611b88565b6107bc565b3480156103ae575f80fd5b506101f16107dd565b3480156103c2575f80fd5b506102b660165481565b3480156103d7575f80fd5b506102b66103e6366004611b88565b60116020525f908152604090205481565b348015610402575f80fd5b505f546001600160a01b0316610287565b34801561041e575f80fd5b506101f161042d366004611bb2565b61084e565b34801561043d575f80fd5b506102b660175481565b348015610452575f80fd5b506040805180820190915260068152652227aaaca4a760d11b6020820152610223565b348015610480575f80fd5b506101f161048f366004611bcb565b610895565b34801561049f575f80fd5b506101f16104ae366004611be2565b6108c3565b3480156104be575f80fd5b506102586104cd366004611b20565b610a78565b3480156104dd575f80fd5b506101f16104ec366004611c11565b610a84565b3480156104fc575f80fd5b5061025861050b366004611b88565b60106020525f908152604090205460ff1681565b34801561052a575f80fd5b506101f1610adc565b34801561053e575f80fd5b506101f161054d366004611c4a565b610b2e565b34801561055d575f80fd5b506102b661056c366004611cc0565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156105a1575f80fd5b506101f16105b0366004611b88565b610bc1565b3480156105c0575f80fd5b506101f16105cf366004611c11565b610ca8565b5f546001600160a01b031633146106065760405162461bcd60e51b81526004016105fd90611cf7565b60405180910390fd5b5f5b815181101561066157600160105f84848151811061062857610628611d2c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610608565b5050565b5f610671338484610d07565b5060015b92915050565b5f610687848484610e13565b6106d884336106d385604051806060016040528060258152602001611e3c602591396001600160a01b038a165f90815260046020908152604080832033845290915290205491906112f0565b610d07565b5060019392505050565b5f546001600160a01b0316331461070b5760405162461bcd60e51b81526004016105fd90611cf7565b6001600160a01b03165f908152601060205260409020805460ff19169055565b5f546001600160a01b031633146107545760405162461bcd60e51b81526004016105fd90611cf7565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107a757506013546001600160a01b0316336001600160a01b0316145b6107af575f80fd5b476107b981611328565b50565b6001600160a01b0381165f908152600260205260408120546106759061135f565b5f546001600160a01b031633146108065760405162461bcd60e51b81526004016105fd90611cf7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108775760405162461bcd60e51b81526004016105fd90611cf7565b60158054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146108be5760405162461bcd60e51b81526004016105fd90611cf7565b601855565b5f546001600160a01b031633146108ec5760405162461bcd60e51b81526004016105fd90611cf7565b600484111561094b5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420342560d81b60648201526084016105fd565b605f8211156109a75760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261352560f01b60648201526084016105fd565b6004831115610a075760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420342560d01b60648201526084016105fd565b605f811115610a645760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239352560e81b60648201526084016105fd565b600893909355600a91909155600955600b55565b5f610671338484610e13565b5f546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105fd90611cf7565b60169290925560198054921515620100000262ff0000199215159290921662ff00ff1990931692909217179055565b6012546001600160a01b0316336001600160a01b03161480610b1157506013546001600160a01b0316336001600160a01b0316145b610b19575f80fd5b5f610b23306107bc565b90506107b9816113e3565b5f546001600160a01b03163314610b575760405162461bcd60e51b81526004016105fd90611cf7565b5f5b82811015610bbb578160055f868685818110610b7757610b77611d2c565b9050602002016020810190610b8c9190611b88565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610b59565b50505050565b5f546001600160a01b03163314610bea5760405162461bcd60e51b81526004016105fd90611cf7565b6001600160a01b038116610c4f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105fd565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610cd15760405162461bcd60e51b81526004016105fd90611cf7565b6017929092556019805492151563010000000263ff00000019921515610100029290921663ff00ff001990931692909217179055565b6001600160a01b038316610d5d5760405162461bcd60e51b815260206004820152601f60248201527f43616e277420617070726f76652066726f6d207a65726f20616464726573730060448201526064016105fd565b6001600160a01b038216610db35760405162461bcd60e51b815260206004820152601d60248201527f43616e277420617070726f766520746f207a65726f206164647265737300000060448201526064016105fd565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e695760405162461bcd60e51b815260206004820152601f60248201527f43616e74207472616e736665722066726f6d2061646472657373207a65726f0060448201526064016105fd565b6001600160a01b038216610ebf5760405162461bcd60e51b815260206004820152601d60248201527f43616e74207472616e7366657220746f2061646472657373207a65726f00000060448201526064016105fd565b5f8111610f0e5760405162461bcd60e51b815260206004820152601b60248201527f416d6f756e742073686f756c642062652061626f7665207a65726f000000000060448201526064016105fd565b5f546001600160a01b03848116911614801590610f3857505f546001600160a01b03838116911614155b156111ec57601554600160a01b900460ff16610fc1575f546001600160a01b03848116911614610fc15760405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79206f776e65722063616e207472616465206265666f7265207472616460448201526d34b7339030b1ba34bb30ba34b7b760911b60648201526084016105fd565b6016548111156110135760405162461bcd60e51b815260206004820152601e60248201527f4578636565646564206d6178207472616e73616374696f6e206c696d6974000060448201526064016105fd565b6001600160a01b0383165f9081526010602052604090205460ff1615801561105357506001600160a01b0382165f9081526010602052604090205460ff16155b61109f5760405162461bcd60e51b815260206004820181905260248201527f54686973206163636f756e74206973206f6e2074686520626c61636b6c69737460448201526064016105fd565b6015546001600160a01b0383811691161461111857601754816110c1846107bc565b6110cb9190611d54565b106111185760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016105fd565b5f611122306107bc565b60185460165491925082101590821061113b5760165491505b8080156111525750601554600160a81b900460ff16155b801561116c57506015546001600160a01b03868116911614155b80156111815750601554600160b01b900460ff165b80156111a557506001600160a01b0385165f9081526005602052604090205460ff16155b80156111c957506001600160a01b0384165f9081526005602052604090205460ff16155b156111e9576111d7826113e3565b4780156111e7576111e747611328565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff168061122c57506001600160a01b0383165f9081526005602052604090205460ff165b8061125e57506015546001600160a01b0385811691161480159061125e57506015546001600160a01b03848116911614155b1561126a57505f6112e4565b6015546001600160a01b03858116911614801561129557506014546001600160a01b03848116911614155b156112a757600854600c55600954600d555b6015546001600160a01b0384811691161480156112d257506014546001600160a01b03858116911614155b156112e457600a54600c55600b54600d555b610bbb84848484611553565b5f81848411156113135760405162461bcd60e51b81526004016105fd9190611aeb565b505f61131f8486611d67565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610661573d5f803e3d5ffd5b5f6006548211156113c75760405162461bcd60e51b815260206004820152602c60248201527f416d6f756e742068617320746f206265206c657373207468616e20746f74616c60448201526b207265666c656374696f6e7360a01b60648201526084016105fd565b5f6113d0611581565b90506113dc83826115a2565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061142957611429611d2c565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611480573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a49190611d7a565b816001815181106114b7576114b7611d2c565b6001600160a01b0392831660209182029290920101526014546114dd9130911684610d07565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906115159085905f90869030904290600401611d95565b5f604051808303815f87803b15801561152c575f80fd5b505af115801561153e573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b80611560576115606115e3565b61156b848484611610565b80610bbb57610bbb600e54600c55600f54600d55565b5f805f61158c611701565b909250905061159b82826115a2565b9250505090565b5f6113dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611742565b600c541580156115f35750600d54155b156115fa57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f8061161f8761176e565b6001600160a01b038f165f90815260026020526040902054959b5093995091975095509350915061165090876117c3565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461167e9086611804565b6001600160a01b0389165f9081526002602052604090205561169f81611862565b6116a984836118a8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116ee91815260200190565b60405180910390a3505050505050505050565b6006545f9081906816ce3f1e16bf15000061171c82826115a2565b821015611739575050600654926816ce3f1e16bf15000092509050565b90939092509050565b5f81836117625760405162461bcd60e51b81526004016105fd9190611aeb565b505f61131f8486611e05565b5f805f805f805f805f6117868a600c54600d546118cc565b9250925092505f611795611581565b90505f805f6117a68e87878761191e565b919e509c509a509598509396509194505050505091939550919395565b5f6113dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f0565b5f806118108385611d54565b9050838110156113dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105fd565b5f61186b611581565b90505f611878838361196a565b305f908152600260205260409020549091506118949082611804565b305f90815260026020526040902055505050565b6006546118b590836117c3565b6006556007546118c59082611804565b6007555050565b5f8080806118e560646118df898961196a565b906115a2565b90505f6118f760646118df8a8961196a565b90505f61190e826119088b866117c3565b906117c3565b9992985090965090945050505050565b5f80808061192c888661196a565b90505f611939888761196a565b90505f611946888861196a565b90505f6119578261190886866117c3565b939b939a50919850919650505050505050565b5f825f0361197957505f610675565b5f6119848385611e24565b9050826119918583611e05565b146113dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105fd565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03811681146107b9575f80fd5b8035611a1b816119fc565b919050565b5f60208284031215611a30575f80fd5b813567ffffffffffffffff811115611a46575f80fd5b8201601f81018413611a56575f80fd5b803567ffffffffffffffff811115611a7057611a706119e8565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715611a9d57611a9d6119e8565b604052918252602081840181019290810187841115611aba575f80fd5b6020850194505b83851015611ae057611ad285611a10565b815260209485019401611ac1565b509695505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215611b31575f80fd5b8235611b3c816119fc565b946020939093013593505050565b5f805f60608486031215611b5c575f80fd5b8335611b67816119fc565b92506020840135611b77816119fc565b929592945050506040919091013590565b5f60208284031215611b98575f80fd5b81356113dc816119fc565b80358015158114611a1b575f80fd5b5f60208284031215611bc2575f80fd5b6113dc82611ba3565b5f60208284031215611bdb575f80fd5b5035919050565b5f805f8060808587031215611bf5575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60608486031215611c23575f80fd5b83359250611c3360208501611ba3565b9150611c4160408501611ba3565b90509250925092565b5f805f60408486031215611c5c575f80fd5b833567ffffffffffffffff811115611c72575f80fd5b8401601f81018613611c82575f80fd5b803567ffffffffffffffff811115611c98575f80fd5b8660208260051b8401011115611cac575f80fd5b602091820194509250611c41908501611ba3565b5f8060408385031215611cd1575f80fd5b8235611cdc816119fc565b91506020830135611cec816119fc565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561067557610675611d40565b8181038181111561067557610675611d40565b5f60208284031215611d8a575f80fd5b81516113dc816119fc565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611de55783516001600160a01b0316835260209384019390920191600101611dbe565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611e1f57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761067557610675611d4056fe746865207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c25f9ded9a14928af15711a5a35a7f15bb4509efc43fecd0d976a8d077d370964736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106101c7575f3560e01c80637f2feddc116100f2578063a9059cbb11610092578063c492f04611610062578063c492f04614610533578063dd62ed3e14610552578063f2fde38b14610596578063fc7d9469146105b5575f80fd5b8063a9059cbb146104b3578063bd6bba91146104d2578063bfd79284146104f1578063c3c8cd801461051f575f80fd5b80638f9a55c0116100cd5780638f9a55c01461043257806395d89b411461044757806398a5c31514610475578063a2a957bb14610494575f80fd5b80637f2feddc146103cc5780638da5cb5b146103f75780638f70ccf714610413575f80fd5b8063313ce567116101685780636fc3eaec116101385780636fc3eaec1461037057806370a0823114610384578063715018a6146103a35780637d1db4a5146103b7575f80fd5b8063313ce567146102f857806349bd5a5e146103135780636b999053146103325780636d8aa8f814610351575f80fd5b80631694505e116101a35780631694505e1461026857806318160ddd1461029f57806323b872dd146102c45780632fd689e3146102e3575f80fd5b8062b8cf2a146101d257806306fdde03146101f3578063095ea7b314610239575f80fd5b366101ce57005b5f80fd5b3480156101dd575f80fd5b506101f16101ec366004611a20565b6105d4565b005b3480156101fe575f80fd5b5060408051808201909152600c81526b4348494e4553452046524f4760a01b60208201525b6040516102309190611aeb565b60405180910390f35b348015610244575f80fd5b50610258610253366004611b20565b610665565b6040519015158152602001610230565b348015610273575f80fd5b50601454610287906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102aa575f80fd5b506816ce3f1e16bf1500005b604051908152602001610230565b3480156102cf575f80fd5b506102586102de366004611b4a565b61067b565b3480156102ee575f80fd5b506102b660185481565b348015610303575f80fd5b5060405160098152602001610230565b34801561031e575f80fd5b50601554610287906001600160a01b031681565b34801561033d575f80fd5b506101f161034c366004611b88565b6106e2565b34801561035c575f80fd5b506101f161036b366004611bb2565b61072b565b34801561037b575f80fd5b506101f1610772565b34801561038f575f80fd5b506102b661039e366004611b88565b6107bc565b3480156103ae575f80fd5b506101f16107dd565b3480156103c2575f80fd5b506102b660165481565b3480156103d7575f80fd5b506102b66103e6366004611b88565b60116020525f908152604090205481565b348015610402575f80fd5b505f546001600160a01b0316610287565b34801561041e575f80fd5b506101f161042d366004611bb2565b61084e565b34801561043d575f80fd5b506102b660175481565b348015610452575f80fd5b506040805180820190915260068152652227aaaca4a760d11b6020820152610223565b348015610480575f80fd5b506101f161048f366004611bcb565b610895565b34801561049f575f80fd5b506101f16104ae366004611be2565b6108c3565b3480156104be575f80fd5b506102586104cd366004611b20565b610a78565b3480156104dd575f80fd5b506101f16104ec366004611c11565b610a84565b3480156104fc575f80fd5b5061025861050b366004611b88565b60106020525f908152604090205460ff1681565b34801561052a575f80fd5b506101f1610adc565b34801561053e575f80fd5b506101f161054d366004611c4a565b610b2e565b34801561055d575f80fd5b506102b661056c366004611cc0565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156105a1575f80fd5b506101f16105b0366004611b88565b610bc1565b3480156105c0575f80fd5b506101f16105cf366004611c11565b610ca8565b5f546001600160a01b031633146106065760405162461bcd60e51b81526004016105fd90611cf7565b60405180910390fd5b5f5b815181101561066157600160105f84848151811061062857610628611d2c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610608565b5050565b5f610671338484610d07565b5060015b92915050565b5f610687848484610e13565b6106d884336106d385604051806060016040528060258152602001611e3c602591396001600160a01b038a165f90815260046020908152604080832033845290915290205491906112f0565b610d07565b5060019392505050565b5f546001600160a01b0316331461070b5760405162461bcd60e51b81526004016105fd90611cf7565b6001600160a01b03165f908152601060205260409020805460ff19169055565b5f546001600160a01b031633146107545760405162461bcd60e51b81526004016105fd90611cf7565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107a757506013546001600160a01b0316336001600160a01b0316145b6107af575f80fd5b476107b981611328565b50565b6001600160a01b0381165f908152600260205260408120546106759061135f565b5f546001600160a01b031633146108065760405162461bcd60e51b81526004016105fd90611cf7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108775760405162461bcd60e51b81526004016105fd90611cf7565b60158054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146108be5760405162461bcd60e51b81526004016105fd90611cf7565b601855565b5f546001600160a01b031633146108ec5760405162461bcd60e51b81526004016105fd90611cf7565b600484111561094b5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420342560d81b60648201526084016105fd565b605f8211156109a75760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261352560f01b60648201526084016105fd565b6004831115610a075760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420342560d01b60648201526084016105fd565b605f811115610a645760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239352560e81b60648201526084016105fd565b600893909355600a91909155600955600b55565b5f610671338484610e13565b5f546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105fd90611cf7565b60169290925560198054921515620100000262ff0000199215159290921662ff00ff1990931692909217179055565b6012546001600160a01b0316336001600160a01b03161480610b1157506013546001600160a01b0316336001600160a01b0316145b610b19575f80fd5b5f610b23306107bc565b90506107b9816113e3565b5f546001600160a01b03163314610b575760405162461bcd60e51b81526004016105fd90611cf7565b5f5b82811015610bbb578160055f868685818110610b7757610b77611d2c565b9050602002016020810190610b8c9190611b88565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610b59565b50505050565b5f546001600160a01b03163314610bea5760405162461bcd60e51b81526004016105fd90611cf7565b6001600160a01b038116610c4f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105fd565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610cd15760405162461bcd60e51b81526004016105fd90611cf7565b6017929092556019805492151563010000000263ff00000019921515610100029290921663ff00ff001990931692909217179055565b6001600160a01b038316610d5d5760405162461bcd60e51b815260206004820152601f60248201527f43616e277420617070726f76652066726f6d207a65726f20616464726573730060448201526064016105fd565b6001600160a01b038216610db35760405162461bcd60e51b815260206004820152601d60248201527f43616e277420617070726f766520746f207a65726f206164647265737300000060448201526064016105fd565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e695760405162461bcd60e51b815260206004820152601f60248201527f43616e74207472616e736665722066726f6d2061646472657373207a65726f0060448201526064016105fd565b6001600160a01b038216610ebf5760405162461bcd60e51b815260206004820152601d60248201527f43616e74207472616e7366657220746f2061646472657373207a65726f00000060448201526064016105fd565b5f8111610f0e5760405162461bcd60e51b815260206004820152601b60248201527f416d6f756e742073686f756c642062652061626f7665207a65726f000000000060448201526064016105fd565b5f546001600160a01b03848116911614801590610f3857505f546001600160a01b03838116911614155b156111ec57601554600160a01b900460ff16610fc1575f546001600160a01b03848116911614610fc15760405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79206f776e65722063616e207472616465206265666f7265207472616460448201526d34b7339030b1ba34bb30ba34b7b760911b60648201526084016105fd565b6016548111156110135760405162461bcd60e51b815260206004820152601e60248201527f4578636565646564206d6178207472616e73616374696f6e206c696d6974000060448201526064016105fd565b6001600160a01b0383165f9081526010602052604090205460ff1615801561105357506001600160a01b0382165f9081526010602052604090205460ff16155b61109f5760405162461bcd60e51b815260206004820181905260248201527f54686973206163636f756e74206973206f6e2074686520626c61636b6c69737460448201526064016105fd565b6015546001600160a01b0383811691161461111857601754816110c1846107bc565b6110cb9190611d54565b106111185760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016105fd565b5f611122306107bc565b60185460165491925082101590821061113b5760165491505b8080156111525750601554600160a81b900460ff16155b801561116c57506015546001600160a01b03868116911614155b80156111815750601554600160b01b900460ff165b80156111a557506001600160a01b0385165f9081526005602052604090205460ff16155b80156111c957506001600160a01b0384165f9081526005602052604090205460ff16155b156111e9576111d7826113e3565b4780156111e7576111e747611328565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff168061122c57506001600160a01b0383165f9081526005602052604090205460ff165b8061125e57506015546001600160a01b0385811691161480159061125e57506015546001600160a01b03848116911614155b1561126a57505f6112e4565b6015546001600160a01b03858116911614801561129557506014546001600160a01b03848116911614155b156112a757600854600c55600954600d555b6015546001600160a01b0384811691161480156112d257506014546001600160a01b03858116911614155b156112e457600a54600c55600b54600d555b610bbb84848484611553565b5f81848411156113135760405162461bcd60e51b81526004016105fd9190611aeb565b505f61131f8486611d67565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610661573d5f803e3d5ffd5b5f6006548211156113c75760405162461bcd60e51b815260206004820152602c60248201527f416d6f756e742068617320746f206265206c657373207468616e20746f74616c60448201526b207265666c656374696f6e7360a01b60648201526084016105fd565b5f6113d0611581565b90506113dc83826115a2565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061142957611429611d2c565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611480573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a49190611d7a565b816001815181106114b7576114b7611d2c565b6001600160a01b0392831660209182029290920101526014546114dd9130911684610d07565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906115159085905f90869030904290600401611d95565b5f604051808303815f87803b15801561152c575f80fd5b505af115801561153e573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b80611560576115606115e3565b61156b848484611610565b80610bbb57610bbb600e54600c55600f54600d55565b5f805f61158c611701565b909250905061159b82826115a2565b9250505090565b5f6113dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611742565b600c541580156115f35750600d54155b156115fa57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f8061161f8761176e565b6001600160a01b038f165f90815260026020526040902054959b5093995091975095509350915061165090876117c3565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461167e9086611804565b6001600160a01b0389165f9081526002602052604090205561169f81611862565b6116a984836118a8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116ee91815260200190565b60405180910390a3505050505050505050565b6006545f9081906816ce3f1e16bf15000061171c82826115a2565b821015611739575050600654926816ce3f1e16bf15000092509050565b90939092509050565b5f81836117625760405162461bcd60e51b81526004016105fd9190611aeb565b505f61131f8486611e05565b5f805f805f805f805f6117868a600c54600d546118cc565b9250925092505f611795611581565b90505f805f6117a68e87878761191e565b919e509c509a509598509396509194505050505091939550919395565b5f6113dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f0565b5f806118108385611d54565b9050838110156113dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105fd565b5f61186b611581565b90505f611878838361196a565b305f908152600260205260409020549091506118949082611804565b305f90815260026020526040902055505050565b6006546118b590836117c3565b6006556007546118c59082611804565b6007555050565b5f8080806118e560646118df898961196a565b906115a2565b90505f6118f760646118df8a8961196a565b90505f61190e826119088b866117c3565b906117c3565b9992985090965090945050505050565b5f80808061192c888661196a565b90505f611939888761196a565b90505f611946888861196a565b90505f6119578261190886866117c3565b939b939a50919850919650505050505050565b5f825f0361197957505f610675565b5f6119848385611e24565b9050826119918583611e05565b146113dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105fd565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03811681146107b9575f80fd5b8035611a1b816119fc565b919050565b5f60208284031215611a30575f80fd5b813567ffffffffffffffff811115611a46575f80fd5b8201601f81018413611a56575f80fd5b803567ffffffffffffffff811115611a7057611a706119e8565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715611a9d57611a9d6119e8565b604052918252602081840181019290810187841115611aba575f80fd5b6020850194505b83851015611ae057611ad285611a10565b815260209485019401611ac1565b509695505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215611b31575f80fd5b8235611b3c816119fc565b946020939093013593505050565b5f805f60608486031215611b5c575f80fd5b8335611b67816119fc565b92506020840135611b77816119fc565b929592945050506040919091013590565b5f60208284031215611b98575f80fd5b81356113dc816119fc565b80358015158114611a1b575f80fd5b5f60208284031215611bc2575f80fd5b6113dc82611ba3565b5f60208284031215611bdb575f80fd5b5035919050565b5f805f8060808587031215611bf5575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60608486031215611c23575f80fd5b83359250611c3360208501611ba3565b9150611c4160408501611ba3565b90509250925092565b5f805f60408486031215611c5c575f80fd5b833567ffffffffffffffff811115611c72575f80fd5b8401601f81018613611c82575f80fd5b803567ffffffffffffffff811115611c98575f80fd5b8660208260051b8401011115611cac575f80fd5b602091820194509250611c41908501611ba3565b5f8060408385031215611cd1575f80fd5b8235611cdc816119fc565b91506020830135611cec816119fc565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561067557610675611d40565b8181038181111561067557610675611d40565b5f60208284031215611d8a575f80fd5b81516113dc816119fc565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611de55783516001600160a01b0316835260209384019390920191600101611dbe565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611e1f57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761067557610675611d4056fe746865207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c25f9ded9a14928af15711a5a35a7f15bb4509efc43fecd0d976a8d077d370964736f6c634300081a0033

Deployed Bytecode Sourcemap

4198:14285:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13022:169;;;;;;;;;;-1:-1:-1;13022:169:0;;;;;:::i;:::-;;:::i;:::-;;6878:83;;;;;;;;;;-1:-1:-1;6948:5:0;;;;;;;;;;;;-1:-1:-1;;;6948:5:0;;;;6878:83;;;;;;;:::i;:::-;;;;;;;;7810:193;;;;;;;;;;-1:-1:-1;7810:193:0;;;;;:::i;:::-;;:::i;:::-;;;2513:14:1;;2506:22;2488:41;;2476:2;2461:18;7810:193:0;2348:187:1;5562:41:0;;;;;;;;;;-1:-1:-1;5562:41:0;;;;-1:-1:-1;;;;;5562:41:0;;;;;;-1:-1:-1;;;;;2730:32:1;;;2712:51;;2700:2;2685:18;5562:41:0;2540:229:1;7158:95:0;;;;;;;;;;-1:-1:-1;4752:20:0;7158:95;;;2920:25:1;;;2908:2;2893:18;7158:95:0;2774:177:1;8012:443:0;;;;;;;;;;-1:-1:-1;8012:443:0;;;;;:::i;:::-;;:::i;5868:50::-;;;;;;;;;;;;;;;;7066:83;;;;;;;;;;-1:-1:-1;7066:83:0;;4425:1;3611:36:1;;3599:2;3584:18;7066:83:0;3469:184:1;5610:28:0;;;;;;;;;;-1:-1:-1;5610:28:0;;;;-1:-1:-1;;;;;5610:28:0;;;13200:92;;;;;;;;;;-1:-1:-1;13200:92:0;;;;;:::i;:::-;;:::i;17647:101::-;;;;;;;;;;-1:-1:-1;17647:101:0;;;;;:::i;:::-;;:::i;12778:235::-;;;;;;;;;;;;;:::i;7262:138::-;;;;;;;;;;-1:-1:-1;7262:138:0;;;;;:::i;:::-;;:::i;1671:148::-;;;;;;;;;;;;;:::i;5754:48::-;;;;;;;;;;;;;;;;5301:43;;;;;;;;;;-1:-1:-1;5301:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1455:79;;;;;;;;;;-1:-1:-1;1493:7:0;1520:6;-1:-1:-1;;;;;1520:6:0;1455:79;;12423:101;;;;;;;;;;-1:-1:-1;12423:101:0;;;;;:::i;:::-;;:::i;5810:50::-;;;;;;;;;;;;;;;;6970:87;;;;;;;;;;-1:-1:-1;7042:7:0;;;;;;;;;;;;-1:-1:-1;;;7042:7:0;;;;6970:87;;17455:139;;;;;;;;;;-1:-1:-1;17455:139:0;;;;;:::i;:::-;;:::i;16709:693::-;;;;;;;;;;-1:-1:-1;16709:693:0;;;;;:::i;:::-;;:::i;7409:199::-;;;;;;;;;;-1:-1:-1;7409:199:0;;;;;:::i;:::-;;:::i;17788:216::-;;;;;;;;;;-1:-1:-1;17788:216:0;;;;;:::i;:::-;;:::i;5263:36::-;;;;;;;;;;-1:-1:-1;5263:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12533:236;;;;;;;;;;;;;:::i;18244:234::-;;;;;;;;;;-1:-1:-1;18244:234:0;;;;;:::i;:::-;;:::i;7617:184::-;;;;;;;;;;-1:-1:-1;7617:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7766:18:0;;;7734:7;7766:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7617:184;1828:244;;;;;;;;;;-1:-1:-1;1828:244:0;;;;;:::i;:::-;;:::i;18013:222::-;;;;;;;;;;-1:-1:-1;18013:222:0;;;;;:::i;:::-;;:::i;13022:169::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;;;;;;;;;13098:9:::1;13093:91;13117:5;:12;13113:1;:16;13093:91;;;13168:4;13151;:14;13156:5;13162:1;13156:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13151:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13151:14:0;:21;;-1:-1:-1;;13151:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13131:3:0::1;13093:91;;;;13022:169:::0;:::o;7810:193::-;7912:4;7934:39;284:10;7957:7;7966:6;7934:8;:39::i;:::-;-1:-1:-1;7991:4:0;7810:193;;;;;:::o;8012:443::-;8144:4;8161:36;8171:6;8179:9;8190:6;8161:9;:36::i;:::-;8208:217;8231:6;284:10;8279:135;8335:6;8279:135;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8279:19:0;;;;;;:11;:19;;;;;;;;284:10;8279:33;;;;;;;;;;:37;:135::i;:::-;8208:8;:217::i;:::-;-1:-1:-1;8443:4:0;8012:443;;;;;:::o;13200:92::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13264:12:0::1;13279:5;13264:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13264:20:0::1;::::0;;13200:92::o;17647:101::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;17714:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17714:26:0::1;-1:-1:-1::0;;;;17714:26:0;;::::1;::::0;;;::::1;::::0;;17647:101::o;12778:235::-;12844:19;;-1:-1:-1;;;;;12844:19:0;284:10;-1:-1:-1;;;;;12828:35:0;;:72;;;-1:-1:-1;12883:17:0;;-1:-1:-1;;;;;12883:17:0;284:10;-1:-1:-1;;;;;12867:33:0;;12828:72;12820:81;;;;;;12941:21;12973:32;12941:21;12973:12;:32::i;:::-;12809:204;12778:235::o;7262:138::-;-1:-1:-1;;;;;7375:16:0;;7328:7;7375:16;;;:7;:16;;;;;;7355:37;;:19;:37::i;1671:148::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;1778:1:::1;1762:6:::0;;1741:40:::1;::::0;-1:-1:-1;;;;;1762:6:0;;::::1;::::0;1741:40:::1;::::0;1778:1;;1741:40:::1;1809:1;1792:19:::0;;-1:-1:-1;;;;;;1792:19:0::1;::::0;;1671:148::o;12423:101::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;12490:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12490:26:0::1;-1:-1:-1::0;;;;12490:26:0;;::::1;::::0;;;::::1;::::0;;12423:101::o;17455:139::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;17546:19:::1;:40:::0;17455:139::o;16709:693::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;16890:1:::1;16873:13;:18;;16843:90;;;::::0;-1:-1:-1;;;16843:90:0;;7435:2:1;16843:90:0::1;::::0;::::1;7417:21:1::0;7474:2;7454:18;;;7447:30;7513:34;7493:18;;;7486:62;-1:-1:-1;;;7564:18:1;;;7557:35;7609:19;;16843:90:0::1;7233:401:1::0;16843:90:0::1;16987:2;16972:11;:17;;16944:84;;;::::0;-1:-1:-1;;;16944:84:0;;7841:2:1;16944:84:0::1;::::0;::::1;7823:21:1::0;7880:2;7860:18;;;7853:30;7919:34;7899:18;;;7892:62;-1:-1:-1;;;7970:18:1;;;7963:32;8012:19;;16944:84:0::1;7639:398:1::0;16944:84:0::1;17088:1;17070:14;:19;;17039:93;;;::::0;-1:-1:-1;;;17039:93:0;;8244:2:1;17039:93:0::1;::::0;::::1;8226:21:1::0;8283:2;8263:18;;;8256:30;8322:34;8302:18;;;8295:62;-1:-1:-1;;;8373:18:1;;;8366:36;8419:19;;17039:93:0::1;8042:402:1::0;17039:93:0::1;17188:2;17172:12;:18;;17143:87;;;::::0;-1:-1:-1;;;17143:87:0;;8651:2:1;17143:87:0::1;::::0;::::1;8633:21:1::0;8690:2;8670:18;;;8663:30;8729:34;8709:18;;;8702:62;-1:-1:-1;;;8780:18:1;;;8773:33;8823:19;;17143:87:0::1;8449:399:1::0;17143:87:0::1;17243:14;:30:::0;;;;17284:15:::1;:32:::0;;;;17327:12:::1;:26:::0;17364:13:::1;:28:::0;16709:693::o;7409:199::-;7514:4;7536:42;284:10;7560:9;7571:6;7536:9;:42::i;17788:216::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;17894:12:::1;:26:::0;;;;17934:7:::1;:16:::0;;17964:22;::::1;;::::0;::::1;-1:-1:-1::0;;17934:16:0;::::1;;17964:22:::0;;;;-1:-1:-1;;17964:22:0;;;;;;;::::1;::::0;;17788:216::o;12533:236::-;12599:19;;-1:-1:-1;;;;;12599:19:0;284:10;-1:-1:-1;;;;;12583:35:0;;:72;;;-1:-1:-1;12638:17:0;;-1:-1:-1;;;;;12638:17:0;284:10;-1:-1:-1;;;;;12622:33:0;;12583:72;12575:81;;;;;;12667:23;12693:24;12711:4;12693:9;:24::i;:::-;12667:50;;12728:33;12745:15;12728:16;:33::i;18244:234::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;18361:9:::1;18357:114;18376:19:::0;;::::1;18357:114;;;18451:8;18417:18;:31;18436:8;;18445:1;18436:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18417:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18417:31:0;:42;;-1:-1:-1;;18417:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;18397:3:0::1;18357:114;;;;18244:234:::0;;;:::o;1828:244::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1917:22:0;::::1;1909:73;;;::::0;-1:-1:-1;;;1909:73:0;;9055:2:1;1909:73:0::1;::::0;::::1;9037:21:1::0;9094:2;9074:18;;;9067:30;9133:34;9113:18;;;9106:62;-1:-1:-1;;;9184:18:1;;;9177:36;9230:19;;1909:73:0::1;8853:402:1::0;1909:73:0::1;2019:6;::::0;;1998:38:::1;::::0;-1:-1:-1;;;;;1998:38:0;;::::1;::::0;2019:6;::::1;::::0;1998:38:::1;::::0;::::1;2047:6;:17:::0;;-1:-1:-1;;;;;;2047:17:0::1;-1:-1:-1::0;;;;;2047:17:0;;;::::1;::::0;;;::::1;::::0;;1828:244::o;18013:222::-;1583:6;;-1:-1:-1;;;;;1583:6:0;284:10;1583:22;1575:67;;;;-1:-1:-1;;;1575:67:0;;;;;;;:::i;:::-;18125:14:::1;:30:::0;;;;18166:10:::1;:22:::0;;18199:28;::::1;;::::0;::::1;-1:-1:-1::0;;18166:22:0;::::1;;;;18199:28:::0;;;;-1:-1:-1;;18199:28:0;;;;;;;::::1;::::0;;18013:222::o;9154:361::-;-1:-1:-1;;;;;9281:19:0;;9273:63;;;;-1:-1:-1;;;9273:63:0;;9462:2:1;9273:63:0;;;9444:21:1;9501:2;9481:18;;;9474:30;9540:33;9520:18;;;9513:61;9591:18;;9273:63:0;9260:355:1;9273:63:0;-1:-1:-1;;;;;9355:21:0;;9347:63;;;;-1:-1:-1;;;9347:63:0;;9822:2:1;9347:63:0;;;9804:21:1;9861:2;9841:18;;;9834:30;9900:31;9880:18;;;9873:59;9949:18;;9347:63:0;9620:353:1;9347:63:0;-1:-1:-1;;;;;9423:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9475:32;;2920:25:1;;;9475:32:0;;2893:18:1;9475:32:0;;;;;;;9154:361;;;:::o;9524:2290::-;-1:-1:-1;;;;;9646:18:0;;9638:62;;;;-1:-1:-1;;;9638:62:0;;10180:2:1;9638:62:0;;;10162:21:1;10219:2;10199:18;;;10192:30;10258:33;10238:18;;;10231:61;10309:18;;9638:62:0;9978:355:1;9638:62:0;-1:-1:-1;;;;;9719:16:0;;9711:58;;;;-1:-1:-1;;;9711:58:0;;10540:2:1;9711:58:0;;;10522:21:1;10579:2;10559:18;;;10552:30;10618:31;10598:18;;;10591:59;10667:18;;9711:58:0;10338:353:1;9711:58:0;9797:1;9788:6;:10;9780:50;;;;-1:-1:-1;;;9780:50:0;;10898:2:1;9780:50:0;;;10880:21:1;10937:2;10917:18;;;10910:30;10976:29;10956:18;;;10949:57;11023:18;;9780:50:0;10696:351:1;9780:50:0;1493:7;1520:6;-1:-1:-1;;;;;9848:15:0;;;1520:6;;9848:15;;;;:32;;-1:-1:-1;1493:7:0;1520:6;-1:-1:-1;;;;;9867:13:0;;;1520:6;;9867:13;;9848:32;9844:1238;;;9938:11;;-1:-1:-1;;;9938:11:0;;;;9933:127;;1493:7;1520:6;-1:-1:-1;;;;;9978:15:0;;;1520:6;;9978:15;9970:74;;;;-1:-1:-1;;;9970:74:0;;11254:2:1;9970:74:0;;;11236:21:1;11293:2;11273:18;;;11266:30;11332:34;11312:18;;;11305:62;-1:-1:-1;;;11383:18:1;;;11376:44;11437:19;;9970:74:0;11052:410:1;9970:74:0;10095:12;;10085:6;:22;;10077:65;;;;-1:-1:-1;;;10077:65:0;;11669:2:1;10077:65:0;;;11651:21:1;11708:2;11688:18;;;11681:30;11747:32;11727:18;;;11720:60;11797:18;;10077:65:0;11467:354:1;10077:65:0;-1:-1:-1;;;;;10166:10:0;;;;;;:4;:10;;;;;;;;10165:11;:24;;;;-1:-1:-1;;;;;;10181:8:0;;;;;;:4;:8;;;;;;;;10180:9;10165:24;10157:69;;;;-1:-1:-1;;;10157:69:0;;12028:2:1;10157:69:0;;;12010:21:1;;;12047:18;;;12040:30;12106:34;12086:18;;;12079:62;12158:18;;10157:69:0;11826:356:1;10157:69:0;10253:13;;-1:-1:-1;;;;;10247:19:0;;;10253:13;;10247:19;10244:137;;10320:14;;10311:6;10295:13;10305:2;10295:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10287:78;;;;-1:-1:-1;;;10287:78:0;;12651:2:1;10287:78:0;;;12633:21:1;12690:2;12670:18;;;12663:30;12729:28;12709:18;;;12702:56;12775:18;;10287:78:0;12449:350:1;10287:78:0;10398:28;10429:24;10447:4;10429:9;:24::i;:::-;10507:19;;10571:12;;10398:55;;-1:-1:-1;10483:43:0;;;;10547:36;;10544:124;;10640:12;;10617:35;;10544:124;10689:7;:18;;;;-1:-1:-1;10701:6:0;;-1:-1:-1;;;10701:6:0;;;;10700:7;10689:18;:43;;;;-1:-1:-1;10719:13:0;;-1:-1:-1;;;;;10711:21:0;;;10719:13;;10711:21;;10689:43;:58;;;;-1:-1:-1;10736:11:0;;-1:-1:-1;;;10736:11:0;;;;10689:58;:87;;;;-1:-1:-1;;;;;;10752:24:0;;;;;;:18;:24;;;;;;;;10751:25;10689:87;:114;;;;-1:-1:-1;;;;;;10781:22:0;;;;;;:18;:22;;;;;;;;10780:23;10689:114;10685:386;;;10824:38;10841:20;10824:16;:38::i;:::-;10910:21;10954:22;;10950:106;;11001:35;11014:21;11001:12;:35::i;:::-;10805:266;10685:386;9882:1200;;9844:1238;-1:-1:-1;;;;;11160:24:0;;11095:12;11160:24;;;:18;:24;;;;;;11110:4;;11160:24;;;:50;;-1:-1:-1;;;;;;11188:22:0;;;;;;:18;:22;;;;;;;;11160:50;11159:102;;;-1:-1:-1;11224:13:0;;-1:-1:-1;;;;;11216:21:0;;;11224:13;;11216:21;;;;:44;;-1:-1:-1;11247:13:0;;-1:-1:-1;;;;;11241:19:0;;;11247:13;;11241:19;;11216:44;11155:597;;;-1:-1:-1;11288:5:0;11155:597;;;11372:13;;-1:-1:-1;;;;;11364:21:0;;;11372:13;;11364:21;:55;;;;-1:-1:-1;11403:15:0;;-1:-1:-1;;;;;11389:30:0;;;11403:15;;11389:30;;11364:55;11361:162;;;11452:14;;11440:9;:26;11495:12;;11485:7;:22;11361:162;11583:13;;-1:-1:-1;;;;;11577:19:0;;;11583:13;;11577:19;:55;;;;-1:-1:-1;11616:15:0;;-1:-1:-1;;;;;11600:32:0;;;11616:15;;11600:32;;11577:55;11573:165;;;11665:15;;11653:9;:27;11709:13;;11699:7;:23;11573:165;11765:41;11780:4;11786:2;11790:6;11798:7;11765:14;:41::i;2440:224::-;2560:7;2596:12;2588:6;;;;2580:29;;;;-1:-1:-1;;;2580:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2620:9:0;2632:5;2636:1;2632;:5;:::i;:::-;2620:17;2440:224;-1:-1:-1;;;;;2440:224:0:o;12315:99::-;12372:17;;:34;;-1:-1:-1;;;;;12372:17:0;;;;:34;;;;;12399:6;;12372:17;:34;:17;:34;12399:6;12372:17;:34;;;;;;;;;;;;;;;;;;;8464:325;8559:7;8617;;8606;:18;;8584:112;;;;-1:-1:-1;;;8584:112:0;;13139:2:1;8584:112:0;;;13121:21:1;13178:2;13158:18;;;13151:30;13217:34;13197:18;;;13190:62;-1:-1:-1;;;13268:18:1;;;13261:42;13320:19;;8584:112:0;12937:408:1;8584:112:0;8707:19;8729:10;:8;:10::i;:::-;8707:32;-1:-1:-1;8757:24:0;:7;8707:32;8757:11;:24::i;:::-;8750:31;8464:325;-1:-1:-1;;;8464:325:0:o;11823:483::-;6166:6;:13;;-1:-1:-1;;;;6166:13:0;-1:-1:-1;;;6166:13:0;;;11925:16:::1;::::0;;11939:1:::1;11925:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11925:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11925:16:0::1;11901:40;;11970:4;11952;11957:1;11952:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11952:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11996:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11996:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11952:7;;11996:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11986:4;11991:1;11986:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11986:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12061:15:::1;::::0;12029:62:::1;::::0;12046:4:::1;::::0;12061:15:::1;12079:11:::0;12029:8:::1;:62::i;:::-;12102:15;::::0;:196:::1;::::0;-1:-1:-1;;;12102:196:0;;-1:-1:-1;;;;;12102:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12183:11;;12102:15:::1;::::0;12225:4;;12252::::1;::::0;12272:15:::1;::::0;12102:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6202:6:0;:14;;-1:-1:-1;;;;6202:14:0;;;-1:-1:-1;;;;11823:483:0:o;13301:282::-;13457:7;13452:28;;13466:14;:12;:14::i;:::-;13491:44;13509:6;13517:9;13528:6;13491:17;:44::i;:::-;13551:7;13546:29;;13560:15;9084:17;;9072:9;:29;9122:15;;9112:7;:25;9028:117;16270:164;16312:7;16333:15;16350;16369:19;:17;:19::i;:::-;16332:56;;-1:-1:-1;16332:56:0;-1:-1:-1;16406:20:0;16332:56;;16406:11;:20::i;:::-;16399:27;;;;16270:164;:::o;2928:132::-;2986:7;3013:39;3017:1;3020;3013:39;;;;;;;;;;;;;;;;;:3;:39::i;8798:221::-;8845:9;;:14;:30;;;;-1:-1:-1;8863:7:0;;:12;8845:30;8841:43;;;8798:221::o;8841:43::-;8917:9;;;8897:17;:29;8955:7;;;8937:15;:25;-1:-1:-1;8976:13:0;;;;9000:11;8798:221::o;13592:610::-;13739:15;13769:23;13807:12;13834:23;13872:12;13899:13;13926:19;13937:7;13926:10;:19::i;:::-;-1:-1:-1;;;;;13974:15:0;;;;;;:7;:15;;;;;;13724:221;;-1:-1:-1;13724:221:0;;-1:-1:-1;13724:221:0;;-1:-1:-1;13724:221:0;-1:-1:-1;13724:221:0;-1:-1:-1;13724:221:0;-1:-1:-1;13974:28:0;;13724:221;13974:19;:28::i;:::-;-1:-1:-1;;;;;13956:15:0;;;;;;;:7;:15;;;;;;:46;;;;14034:18;;;;;;;:39;;14057:15;14034:22;:39::i;:::-;-1:-1:-1;;;;;14013:18:0;;;;;;:7;:18;;;;;:60;14084:16;14094:5;14084:9;:16::i;:::-;14111:23;14123:4;14129;14111:11;:23::i;:::-;14167:9;-1:-1:-1;;;;;14150:44:0;14159:6;-1:-1:-1;;;;;14150:44:0;;14178:15;14150:44;;;;2920:25:1;;2908:2;2893:18;;2774:177;14150:44:0;;;;;;;;13713:489;;;;;;13592:610;;;:::o;16443:257::-;16541:7;;16494;;;;4752:20;16609;16541:7;4752:20;16609:11;:20::i;:::-;16599:7;:30;16595:61;;;-1:-1:-1;;16639:7:0;;;4752:20;;-1:-1:-1;16443:257:0;-1:-1:-1;16443:257:0:o;16595:61::-;16675:7;;16684;;-1:-1:-1;16443:257:0;-1:-1:-1;16443:257:0:o;3069:223::-;3189:7;3224:12;3217:5;3209:28;;;;-1:-1:-1;;;3209:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3248:9:0;3260:5;3264:1;3260;:5;:::i;14625:615::-;14725:7;14747;14769;14791;14813;14835;14871:23;14896:12;14910:13;14940:40;14952:7;14961:9;;14972:7;;14940:11;:40::i;:::-;14870:110;;;;;;14991:19;15013:10;:8;:10::i;:::-;14991:32;;15035:15;15052:23;15077:12;15106:46;15118:7;15127:4;15133:5;15140:11;15106;:46::i;:::-;15034:118;;-1:-1:-1;15034:118:0;-1:-1:-1;15034:118:0;-1:-1:-1;15203:15:0;;-1:-1:-1;15220:4:0;;-1:-1:-1;15226:5:0;;-1:-1:-1;;;;;14625:615:0;;;;;;;:::o;2295:136::-;2353:7;2380:43;2384:1;2387;2380:43;;;;;;;;;;;;;;;;;:3;:43::i;2107:179::-;2165:7;;2197:5;2201:1;2197;:5;:::i;:::-;2185:17;;2226:1;2221;:6;;2213:46;;;;-1:-1:-1;;;2213:46:0;;14994:2:1;2213:46:0;;;14976:21:1;15033:2;15013:18;;;15006:30;15072:29;15052:18;;;15045:57;15119:18;;2213:46:0;14792:351:1;14211:211:0;14264:19;14286:10;:8;:10::i;:::-;14264:32;-1:-1:-1;14307:13:0;14323:22;:5;14264:32;14323:9;:22::i;:::-;14397:4;14381:22;;;;:7;:22;;;;;;14307:38;;-1:-1:-1;14381:33:0;;14307:38;14381:26;:33::i;:::-;14372:4;14356:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14211:211:0:o;14431:147::-;14509:7;;:17;;14521:4;14509:11;:17::i;:::-;14499:7;:27;14550:10;;:20;;14565:4;14550:14;:20::i;:::-;14537:10;:33;-1:-1:-1;;14431:147:0:o;15249:469::-;15418:7;;;;15512:30;15538:3;15512:21;:7;15524:8;15512:11;:21::i;:::-;:25;;:30::i;:::-;15497:45;-1:-1:-1;15553:13:0;15569:28;15593:3;15569:19;:7;15581:6;15569:11;:19::i;:28::-;15553:44;-1:-1:-1;15608:23:0;15634:28;15553:44;15634:17;:7;15646:4;15634:11;:17::i;:::-;:21;;:28::i;:::-;15608:54;15698:4;;-1:-1:-1;15704:5:0;;-1:-1:-1;15249:469:0;;-1:-1:-1;;;;;15249:469:0:o;15727:534::-;15921:7;;;;16018:24;:7;16030:11;16018;:24::i;:::-;16000:42;-1:-1:-1;16053:12:0;16068:21;:4;16077:11;16068:8;:21::i;:::-;16053:36;-1:-1:-1;16100:13:0;16116:22;:5;16126:11;16116:9;:22::i;:::-;16100:38;-1:-1:-1;16149:23:0;16175:28;16100:38;16175:17;:7;16187:4;16175:11;:17::i;:28::-;16222:7;;;;-1:-1:-1;16248:4:0;;-1:-1:-1;15727:534:0;;-1:-1:-1;;;;;;;15727:534:0:o;2673:246::-;2731:7;2755:1;2760;2755:6;2751:47;;-1:-1:-1;2785:1:0;2778:8;;2751:47;2808:9;2820:5;2824:1;2820;:5;:::i;:::-;2808:17;-1:-1:-1;2853:1:0;2844:5;2848:1;2808:17;2844:5;:::i;:::-;:10;2836:56;;;;-1:-1:-1;;;2836:56:0;;15523:2:1;2836:56:0;;;15505:21:1;15562:2;15542:18;;;15535:30;15601:34;15581:18;;;15574:62;-1:-1:-1;;;15652:18:1;;;15645:31;15693:19;;2836:56:0;15321:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1127::-;505:6;558:2;546:9;537:7;533:23;529:32;526:52;;;574:1;571;564:12;526:52;614:9;601:23;647:18;639:6;636:30;633:50;;;679:1;676;669:12;633:50;702:22;;755:4;747:13;;743:27;-1:-1:-1;733:55:1;;784:1;781;774:12;733:55;824:2;811:16;850:18;842:6;839:30;836:56;;;872:18;;:::i;:::-;918:6;915:1;911:14;954:2;948:9;1017:2;1013:7;1008:2;1004;1000:11;996:25;988:6;984:38;1088:6;1076:10;1073:22;1052:18;1040:10;1037:34;1034:62;1031:88;;;1099:18;;:::i;:::-;1135:2;1128:22;1185;;;1235:2;1265:11;;;1261:20;;;1185:22;1223:15;;1293:19;;;1290:39;;;1325:1;1322;1315:12;1290:39;1357:2;1353;1349:11;1338:22;;1369:148;1385:6;1380:3;1377:15;1369:148;;;1451:23;1470:3;1451:23;:::i;:::-;1439:36;;1504:2;1402:12;;;;1495;1369:148;;;-1:-1:-1;1536:6:1;421:1127;-1:-1:-1;;;;;;421:1127:1:o;1553:418::-;1702:2;1691:9;1684:21;1665:4;1734:6;1728:13;1777:6;1772:2;1761:9;1757:18;1750:34;1836:6;1831:2;1823:6;1819:15;1814:2;1803:9;1799:18;1793:50;1892:1;1887:2;1878:6;1867:9;1863:22;1859:31;1852:42;1962:2;1955;1951:7;1946:2;1938:6;1934:15;1930:29;1919:9;1915:45;1911:54;1903:62;;;1553:418;;;;:::o;1976:367::-;2044:6;2052;2105:2;2093:9;2084:7;2080:23;2076:32;2073:52;;;2121:1;2118;2111:12;2073:52;2160:9;2147:23;2179:31;2204:5;2179:31;:::i;:::-;2229:5;2307:2;2292:18;;;;2279:32;;-1:-1:-1;;;1976:367:1:o;2956:508::-;3033:6;3041;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3157:9;3144:23;3176:31;3201:5;3176:31;:::i;:::-;3226:5;-1:-1:-1;3283:2:1;3268:18;;3255:32;3296:33;3255:32;3296:33;:::i;:::-;2956:508;;3348:7;;-1:-1:-1;;;3428:2:1;3413:18;;;;3400:32;;2956:508::o;3866:247::-;3925:6;3978:2;3966:9;3957:7;3953:23;3949:32;3946:52;;;3994:1;3991;3984:12;3946:52;4033:9;4020:23;4052:31;4077:5;4052:31;:::i;4118:160::-;4183:20;;4239:13;;4232:21;4222:32;;4212:60;;4268:1;4265;4258:12;4283:180;4339:6;4392:2;4380:9;4371:7;4367:23;4363:32;4360:52;;;4408:1;4405;4398:12;4360:52;4431:26;4447:9;4431:26;:::i;4468:226::-;4527:6;4580:2;4568:9;4559:7;4555:23;4551:32;4548:52;;;4596:1;4593;4586:12;4548:52;-1:-1:-1;4641:23:1;;4468:226;-1:-1:-1;4468:226:1:o;4699:587::-;4785:6;4793;4801;4809;4862:3;4850:9;4841:7;4837:23;4833:33;4830:53;;;4879:1;4876;4869:12;4830:53;-1:-1:-1;;4924:23:1;;;5044:2;5029:18;;5016:32;;-1:-1:-1;5147:2:1;5132:18;;5119:32;;5250:2;5235:18;5222:32;;-1:-1:-1;4699:587:1;-1:-1:-1;4699:587:1:o;5291:362::-;5362:6;5370;5378;5431:2;5419:9;5410:7;5406:23;5402:32;5399:52;;;5447:1;5444;5437:12;5399:52;5492:23;;;-1:-1:-1;5558:35:1;5589:2;5574:18;;5558:35;:::i;:::-;5548:45;;5612:35;5643:2;5632:9;5628:18;5612:35;:::i;:::-;5602:45;;5291:362;;;;;:::o;5658:684::-;5750:6;5758;5766;5819:2;5807:9;5798:7;5794:23;5790:32;5787:52;;;5835:1;5832;5825:12;5787:52;5875:9;5862:23;5908:18;5900:6;5897:30;5894:50;;;5940:1;5937;5930:12;5894:50;5963:22;;6016:4;6008:13;;6004:27;-1:-1:-1;5994:55:1;;6045:1;6042;6035:12;5994:55;6085:2;6072:16;6111:18;6103:6;6100:30;6097:50;;;6143:1;6140;6133:12;6097:50;6198:7;6191:4;6181:6;6178:1;6174:14;6170:2;6166:23;6162:34;6159:47;6156:67;;;6219:1;6216;6209:12;6156:67;6250:4;6242:13;;;;-1:-1:-1;6274:6:1;-1:-1:-1;6299:37:1;;6315:20;;6299:37;:::i;6347:388::-;6415:6;6423;6476:2;6464:9;6455:7;6451:23;6447:32;6444:52;;;6492:1;6489;6482:12;6444:52;6531:9;6518:23;6550:31;6575:5;6550:31;:::i;:::-;6600:5;-1:-1:-1;6657:2:1;6642:18;;6629:32;6670:33;6629:32;6670:33;:::i;:::-;6722:7;6712:17;;;6347:388;;;;;:::o;6740:356::-;6942:2;6924:21;;;6961:18;;;6954:30;7020:34;7015:2;7000:18;;6993:62;7087:2;7072:18;;6740:356::o;7101:127::-;7162:10;7157:3;7153:20;7150:1;7143:31;7193:4;7190:1;7183:15;7217:4;7214:1;7207:15;12187:127;12248:10;12243:3;12239:20;12236:1;12229:31;12279:4;12276:1;12269:15;12303:4;12300:1;12293:15;12319:125;12384:9;;;12405:10;;;12402:36;;;12418:18;;:::i;12804:128::-;12871:9;;;12892:11;;;12889:37;;;12906:18;;:::i;13350:251::-;13420:6;13473:2;13461:9;13452:7;13448:23;13444:32;13441:52;;;13489:1;13486;13479:12;13441:52;13521:9;13515:16;13540:31;13565:5;13540:31;:::i;13606:959::-;13868:4;13916:3;13905:9;13901:19;13947:6;13936:9;13929:25;13990:6;13985:2;13974:9;13970:18;13963:34;14033:3;14028:2;14017:9;14013:18;14006:31;14057:6;14092;14086:13;14123:6;14115;14108:22;14161:3;14150:9;14146:19;14139:26;;14200:2;14192:6;14188:15;14174:29;;14221:1;14231:195;14245:6;14242:1;14239:13;14231:195;;;14310:13;;-1:-1:-1;;;;;14306:39:1;14294:52;;14375:2;14401:15;;;;14366:12;;;;14342:1;14260:9;14231:195;;;-1:-1:-1;;;;;;;14482:32:1;;;;14477:2;14462:18;;14455:60;-1:-1:-1;;14546:3:1;14531:19;14524:35;14443:3;13606:959;-1:-1:-1;;;13606:959:1:o;14570:217::-;14610:1;14636;14626:132;;14680:10;14675:3;14671:20;14668:1;14661:31;14715:4;14712:1;14705:15;14743:4;14740:1;14733:15;14626:132;-1:-1:-1;14772:9:1;;14570:217::o;15148:168::-;15221:9;;;15252;;15269:15;;;15263:22;;15249:37;15239:71;;15290:18;;:::i

Swarm Source

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