ETH Price: $3,448.98 (-0.01%)
Gas: 6 Gwei

Token

GROKAT (GROKAT)
 

Overview

Max Total Supply

100,000,000,000 GROKAT

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
concept3.eth
Balance
1,400,000,000 GROKAT

Value
$0.00
0x33d027d35d5a21014c144073d96f300760b810b4
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:
GROKAT

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-05
*/

/*
Info:
Website: https://grokat.world/
Telegram: https://t.me/grokaterc20
Twitter: https://twitter.com/GROKATERC20

Tokenomics:
Name:GROKAT
Symbol:$GROKAT
Supply: 100.000.000.000
0% Tax on Buy & Sell
2% Max Wallet & Trx
Locked & Renounced 
*/
pragma solidity ^0.8.9;
// SPDX-License-Identifier: MIT
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 internal _owner;
    address private _previousOwner;
    uint256 public _lockTime;
    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");
        _;
    }

    //Locks the contract for owner for the amount of time provided
    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = time;
        emit OwnershipTransferred(_owner, address(0));
    }
    
    //Unlocks the contract for owner when _lockTime is exceeds
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock.");
        require(block.timestamp > _lockTime , "Contract is locked.");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
 
    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 GROKAT is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = unicode"GROKAT";
    string private constant _symbol = unicode"GROKAT";
    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 = 100_000_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 0;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 0;
 
    //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(msg.sender); 
    address payable private _marketingAddress = payable(0xB18b503Dfe314d3C465ECb8828Ae721C9D184A1a);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 public _maxWalletSize = _tTotal.mul(2).div(100); 
    uint256 public _swapTokensAtAmount = _tTotal.mul(1).div(1000);
 
    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,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _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.mul(1).div(2));
        _developmentAddress.transfer(amount.mul(1).div(2));
    }

 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        _redisFeeOnBuy = 0;  
        _taxFeeOnBuy = 30;  
        _redisFeeOnSell = 0;  
        _taxFeeOnSell = 49;
        _swapTokensAtAmount = _tTotal.mul(3).div(100);
    }

    function setFinalTax() public onlyOwner {
        _redisFeeOnBuy = 0;  
        _taxFeeOnBuy = 0;  
        _redisFeeOnSell = 0;  
        _taxFeeOnSell = 0;
        _swapTokensAtAmount = _tTotal.mul(5).div(10000);
    }
 
    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 blockBot(address bot) public onlyOwner {
        bots[bot] = true;
    }
 
    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 {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
 
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount * 10**9;
    }
 
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    function setMaxTxnAmount(uint256 amountPercent) public onlyOwner {
        _maxTxAmount = (_tTotal * amountPercent ) / 100;
    }

    function setMaxWalletSize(uint256 amountPercent) public onlyOwner {
        _maxWalletSize = (_tTotal * amountPercent ) / 100;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }
 
    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":"_lockTime","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":"bot","type":"address"}],"name":"blockBot","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","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":[],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"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"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a68056bc75e2d631000005f19620004c4565b62000027905f19620004ee565b6007555f6009819055600a819055600b819055600c819055600d819055600e819055600f819055601055601380546001600160a01b031990811633179091556014805490911673b18b503dfe314d3c465ecb8828ae721c9d184a1a1790556016805461ffff60a81b1916600160b01b179055620000bc6064620000b568056bc75e2d6310000060026200039a565b906200042d565b601755620000db6064620000b568056bc75e2d6310000060026200039a565b601855620000fb6103e8620000b568056bc75e2d6310000060016200039a565b6019553480156200010a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600754335f9081526003602090815260409182902092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001c4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ea919062000504565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000236573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025c919062000504565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002a7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000504565b601680546001600160a01b0319166001600160a01b039283161790555f80548216815260066020526040808220805460ff1990811660019081179092553084528284208054821683179055601354851684528284208054821683179055601454909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d631000006040516200038b91815260200190565b60405180910390a350620005a9565b5f825f03620003ab57505f62000427565b5f620003b883856200052c565b905082620003c7858362000546565b14620004245760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200042483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200047660201b60201c565b5f8183620004995760405162461bcd60e51b81526004016200041b91906200055c565b505f620004a7848662000546565b95945050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82620004d557620004d5620004b0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115620004275762000427620004da565b5f6020828403121562000515575f80fd5b81516001600160a01b038116811462000424575f80fd5b8082028115828204841417620004275762000427620004da565b5f82620005575762000557620004b0565b500490565b5f6020808352835180828501525f5b8181101562000589578581018301518582016040015282016200056b565b505f604082860101526040601f19601f8301168501019250505092915050565b6120d580620005b75f395ff3fe608060405260043610610209575f3560e01c80637f2feddc11610113578063bfd792841161009d578063dd62ed3e1161006d578063dd62ed3e146105b9578063e70ef8a4146105fd578063ea1644d51461061c578063ec6c12901461063b578063f2fde38b1461064f575f80fd5b8063bfd7928414610539578063c3c8cd8014610567578063c492f0461461057b578063dd4670641461059a575f80fd5b806395d89b41116100e357806395d89b411461023557806398a5c315146104c8578063a2a957bb146104e7578063a69df4b514610506578063a9059cbb1461051a575f80fd5b80637f2feddc1461044d5780638da5cb5b146104785780638f70ccf7146104945780638f9a55c0146104b3575f80fd5b80636b99905311610194578063715018a611610164578063715018a6146103dc57806374010ece146103f0578063751039fc1461040f57806379af25a6146104235780637d1db4a514610438575f80fd5b80636b9990531461036b5780636d8aa8f81461038a5780636fc3eaec146103a957806370a08231146103bd575f80fd5b806318160ddd116101da57806318160ddd146102d857806323b872dd146102fd5780632fd689e31461031c578063313ce5671461033157806349bd5a5e1461034c575f80fd5b8062b8cf2a1461021457806306fdde0314610235578063095ea7b3146102725780631694505e146102a1575f80fd5b3661021057005b5f80fd5b34801561021f575f80fd5b5061023361022e366004611c4c565b61066e565b005b348015610240575f80fd5b50604080518082018252600681526511d493d2d05560d21b602082015290516102699190611d0c565b60405180910390f35b34801561027d575f80fd5b5061029161028c366004611d57565b610709565b6040519015158152602001610269565b3480156102ac575f80fd5b506015546102c0906001600160a01b031681565b6040516001600160a01b039091168152602001610269565b3480156102e3575f80fd5b5068056bc75e2d631000005b604051908152602001610269565b348015610308575f80fd5b50610291610317366004611d81565b61071f565b348015610327575f80fd5b506102ef60195481565b34801561033c575f80fd5b5060405160098152602001610269565b348015610357575f80fd5b506016546102c0906001600160a01b031681565b348015610376575f80fd5b50610233610385366004611dbf565b610786565b348015610395575f80fd5b506102336103a4366004611de9565b6107cf565b3480156103b4575f80fd5b50610233610816565b3480156103c8575f80fd5b506102ef6103d7366004611dbf565b610860565b3480156103e7575f80fd5b50610233610881565b3480156103fb575f80fd5b5061023361040a366004611e02565b6108df565b34801561041a575f80fd5b5061023361092d565b34801561042e575f80fd5b506102ef60025481565b348015610443575f80fd5b506102ef60175481565b348015610458575f80fd5b506102ef610467366004611dbf565b60126020525f908152604090205481565b348015610483575f80fd5b505f546001600160a01b03166102c0565b34801561049f575f80fd5b506102336104ae366004611de9565b61096a565b3480156104be575f80fd5b506102ef60185481565b3480156104d3575f80fd5b506102336104e2366004611e02565b6109e2565b3480156104f2575f80fd5b50610233610501366004611e19565b610a19565b348015610511575f80fd5b50610233610a56565b348015610525575f80fd5b50610291610534366004611d57565b610b4f565b348015610544575f80fd5b50610291610553366004611dbf565b60116020525f908152604090205460ff1681565b348015610572575f80fd5b50610233610b5b565b348015610586575f80fd5b50610233610595366004611e48565b610bad565b3480156105a5575f80fd5b506102336105b4366004611e02565b610c4a565b3480156105c4575f80fd5b506102ef6105d3366004611ec5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610608575f80fd5b50610233610617366004611dbf565b610cb6565b348015610627575f80fd5b50610233610636366004611e02565b610d02565b348015610646575f80fd5b50610233610d50565b34801561065a575f80fd5b50610233610669366004611dbf565b610dab565b5f546001600160a01b031633146106a05760405162461bcd60e51b815260040161069790611efc565b60405180910390fd5b5f5b815181101561070557600160115f8484815181106106c2576106c2611f31565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806106fd81611f59565b9150506106a2565b5050565b5f610715338484610e7f565b5060015b92915050565b5f61072b848484610fa2565b61077c843361077785604051806060016040528060288152602001612058602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906114d2565b610e7f565b5060019392505050565b5f546001600160a01b031633146107af5760405162461bcd60e51b815260040161069790611efc565b6001600160a01b03165f908152601160205260409020805460ff19169055565b5f546001600160a01b031633146107f85760405162461bcd60e51b815260040161069790611efc565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061084b57506014546001600160a01b0316336001600160a01b0316145b610853575f80fd5b4761085d8161150a565b50565b6001600160a01b0381165f9081526003602052604081205461071990611593565b5f546001600160a01b031633146108aa5760405162461bcd60e51b815260040161069790611efc565b5f80546040516001600160a01b03909116905f80516020612080833981519152908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109085760405162461bcd60e51b815260040161069790611efc565b606461091d8268056bc75e2d63100000611f71565b6109279190611f88565b60175550565b5f546001600160a01b031633146109565760405162461bcd60e51b815260040161069790611efc565b68056bc75e2d631000006017819055601855565b5f546001600160a01b031633146109935760405162461bcd60e51b815260040161069790611efc565b6016805460ff60a01b1916600160a01b831515021790555f6009819055601e600a55600b556031600c556109dc60646109d668056bc75e2d631000006003611615565b90611693565b60195550565b5f546001600160a01b03163314610a0b5760405162461bcd60e51b815260040161069790611efc565b6109dc81633b9aca00611f71565b5f546001600160a01b03163314610a425760405162461bcd60e51b815260040161069790611efc565b600993909355600b91909155600a55600c55565b6001546001600160a01b03163314610abc5760405162461bcd60e51b8152602060048201526024808201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60448201526337b1b59760e11b6064820152608401610697565b6002544211610b035760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903637b1b5b2b21760691b6044820152606401610697565b6001545f80546040516001600160a01b0393841693909116915f8051602061208083398151915291a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b5f610715338484610fa2565b6013546001600160a01b0316336001600160a01b03161480610b9057506014546001600160a01b0316336001600160a01b0316145b610b98575f80fd5b5f610ba230610860565b905061085d816116d4565b5f546001600160a01b03163314610bd65760405162461bcd60e51b815260040161069790611efc565b5f5b82811015610c44578160065f868685818110610bf657610bf6611f31565b9050602002016020810190610c0b9190611dbf565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610c3c81611f59565b915050610bd8565b50505050565b5f546001600160a01b03163314610c735760405162461bcd60e51b815260040161069790611efc565b5f8054600180546001600160a01b03199081166001600160a01b03841617909155168155600282905560405181905f80516020612080833981519152908290a350565b5f546001600160a01b03163314610cdf5760405162461bcd60e51b815260040161069790611efc565b6001600160a01b03165f908152601160205260409020805460ff19166001179055565b5f546001600160a01b03163314610d2b5760405162461bcd60e51b815260040161069790611efc565b6064610d408268056bc75e2d63100000611f71565b610d4a9190611f88565b60185550565b5f546001600160a01b03163314610d795760405162461bcd60e51b815260040161069790611efc565b5f6009819055600a819055600b819055600c55610da66127106109d668056bc75e2d631000006005611615565b601955565b5f546001600160a01b03163314610dd45760405162461bcd60e51b815260040161069790611efc565b6001600160a01b038116610e395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610697565b5f80546040516001600160a01b03808516939216915f8051602061208083398151915291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ee15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610697565b6001600160a01b038216610f425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610697565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110065760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610697565b6001600160a01b0382166110685760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610697565b5f81116110c95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610697565b5f546001600160a01b038481169116148015906110f357505f546001600160a01b03838116911614155b156113ce57601654600160a01b900460ff1661118b575f546001600160a01b0384811691161461118b5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610697565b6017548111156111dd5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610697565b6001600160a01b0383165f9081526011602052604090205460ff1615801561121d57506001600160a01b0382165f9081526011602052604090205460ff16155b6112755760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610697565b6016546001600160a01b038381169116146112fa576018548161129784610860565b6112a19190611fa7565b106112fa5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610697565b5f61130430610860565b60195460175491925082101590821061131d5760175491505b8080156113345750601654600160a81b900460ff16155b801561134e57506016546001600160a01b03868116911614155b80156113635750601654600160b01b900460ff165b801561138757506001600160a01b0385165f9081526006602052604090205460ff16155b80156113ab57506001600160a01b0384165f9081526006602052604090205460ff16155b156113cb576113b9826116d4565b4780156113c9576113c94761150a565b505b50505b6001600160a01b0383165f9081526006602052604090205460019060ff168061140e57506001600160a01b0383165f9081526006602052604090205460ff165b8061144057506016546001600160a01b0385811691161480159061144057506016546001600160a01b03848116911614155b1561144c57505f6114c6565b6016546001600160a01b03858116911614801561147757506015546001600160a01b03848116911614155b1561148957600954600d55600a54600e555b6016546001600160a01b0384811691161480156114b457506015546001600160a01b03858116911614155b156114c657600b54600d55600c54600e555b610c4484848484611844565b5f81848411156114f55760405162461bcd60e51b81526004016106979190611d0c565b505f6115018486611fba565b95945050505050565b6014546001600160a01b03166108fc61152960026109d6856001611615565b6040518115909202915f818181858888f1935050505015801561154e573d5f803e3d5ffd5b506013546001600160a01b03166108fc61156e60026109d6856001611615565b6040518115909202915f818181858888f19350505050158015610705573d5f803e3d5ffd5b5f6007548211156115f95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610697565b5f611602611872565b905061160e8382611693565b9392505050565b5f825f0361162457505f610719565b5f61162f8385611f71565b90508261163c8583611f88565b1461160e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610697565b5f61160e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611893565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171a5761171a611f31565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611771573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117959190611fcd565b816001815181106117a8576117a8611f31565b6001600160a01b0392831660209182029290920101526015546117ce9130911684610e7f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906118069085905f90869030904290600401611fe8565b5f604051808303815f87803b15801561181d575f80fd5b505af115801561182f573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b80611851576118516118bf565b61185c8484846118ec565b80610c4457610c44600f54600d55601054600e55565b5f805f61187d6119dd565b909250905061188c8282611693565b9250505090565b5f81836118b35760405162461bcd60e51b81526004016106979190611d0c565b505f6115018486611f88565b600d541580156118cf5750600e54155b156118d657565b600d8054600f55600e80546010555f9182905555565b5f805f805f806118fb87611a1e565b6001600160a01b038f165f90815260036020526040902054959b5093995091975095509350915061192c9087611a73565b6001600160a01b03808b165f9081526003602052604080822093909355908a168152205461195a9086611ab4565b6001600160a01b0389165f9081526003602052604090205561197b81611b12565b6119858483611b58565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119ca91815260200190565b60405180910390a3505050505050505050565b6007545f90819068056bc75e2d631000006119f88282611693565b821015611a155750506007549268056bc75e2d6310000092509050565b90939092509050565b5f805f805f805f805f611a368a600d54600e54611b7c565b9250925092505f611a45611872565b90505f805f611a568e878787611bc8565b919e509c509a509598509396509194505050505091939550919395565b5f61160e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d2565b5f80611ac08385611fa7565b90508381101561160e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610697565b5f611b1b611872565b90505f611b288383611615565b305f90815260036020526040902054909150611b449082611ab4565b305f90815260036020526040902055505050565b600754611b659083611a73565b600755600854611b759082611ab4565b6008555050565b5f808080611b8f60646109d68989611615565b90505f611ba160646109d68a89611615565b90505f611bb882611bb28b86611a73565b90611a73565b9992985090965090945050505050565b5f808080611bd68886611615565b90505f611be38887611615565b90505f611bf08888611615565b90505f611c0182611bb28686611a73565b939b939a50919850919650505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b038116811461085d575f80fd5b8035611c4781611c28565b919050565b5f6020808385031215611c5d575f80fd5b823567ffffffffffffffff80821115611c74575f80fd5b818501915085601f830112611c87575f80fd5b813581811115611c9957611c99611c14565b8060051b604051601f19603f83011681018181108582111715611cbe57611cbe611c14565b604052918252848201925083810185019188831115611cdb575f80fd5b938501935b82851015611d0057611cf185611c3c565b84529385019392850192611ce0565b98975050505050505050565b5f6020808352835180828501525f5b81811015611d3757858101830151858201604001528201611d1b565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611d68575f80fd5b8235611d7381611c28565b946020939093013593505050565b5f805f60608486031215611d93575f80fd5b8335611d9e81611c28565b92506020840135611dae81611c28565b929592945050506040919091013590565b5f60208284031215611dcf575f80fd5b813561160e81611c28565b80358015158114611c47575f80fd5b5f60208284031215611df9575f80fd5b61160e82611dda565b5f60208284031215611e12575f80fd5b5035919050565b5f805f8060808587031215611e2c575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611e5a575f80fd5b833567ffffffffffffffff80821115611e71575f80fd5b818601915086601f830112611e84575f80fd5b813581811115611e92575f80fd5b8760208260051b8501011115611ea6575f80fd5b602092830195509350611ebc9186019050611dda565b90509250925092565b5f8060408385031215611ed6575f80fd5b8235611ee181611c28565b91506020830135611ef181611c28565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611f6a57611f6a611f45565b5060010190565b808202811582820484141761071957610719611f45565b5f82611fa257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561071957610719611f45565b8181038181111561071957610719611f45565b5f60208284031215611fdd575f80fd5b815161160e81611c28565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120365784516001600160a01b031683529383019391830191600101612011565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220671c3e798b028651bf5f25d9962d84e3362712cba7e1f79a4dd2df2e7d33395164736f6c63430008140033

Deployed Bytecode

0x608060405260043610610209575f3560e01c80637f2feddc11610113578063bfd792841161009d578063dd62ed3e1161006d578063dd62ed3e146105b9578063e70ef8a4146105fd578063ea1644d51461061c578063ec6c12901461063b578063f2fde38b1461064f575f80fd5b8063bfd7928414610539578063c3c8cd8014610567578063c492f0461461057b578063dd4670641461059a575f80fd5b806395d89b41116100e357806395d89b411461023557806398a5c315146104c8578063a2a957bb146104e7578063a69df4b514610506578063a9059cbb1461051a575f80fd5b80637f2feddc1461044d5780638da5cb5b146104785780638f70ccf7146104945780638f9a55c0146104b3575f80fd5b80636b99905311610194578063715018a611610164578063715018a6146103dc57806374010ece146103f0578063751039fc1461040f57806379af25a6146104235780637d1db4a514610438575f80fd5b80636b9990531461036b5780636d8aa8f81461038a5780636fc3eaec146103a957806370a08231146103bd575f80fd5b806318160ddd116101da57806318160ddd146102d857806323b872dd146102fd5780632fd689e31461031c578063313ce5671461033157806349bd5a5e1461034c575f80fd5b8062b8cf2a1461021457806306fdde0314610235578063095ea7b3146102725780631694505e146102a1575f80fd5b3661021057005b5f80fd5b34801561021f575f80fd5b5061023361022e366004611c4c565b61066e565b005b348015610240575f80fd5b50604080518082018252600681526511d493d2d05560d21b602082015290516102699190611d0c565b60405180910390f35b34801561027d575f80fd5b5061029161028c366004611d57565b610709565b6040519015158152602001610269565b3480156102ac575f80fd5b506015546102c0906001600160a01b031681565b6040516001600160a01b039091168152602001610269565b3480156102e3575f80fd5b5068056bc75e2d631000005b604051908152602001610269565b348015610308575f80fd5b50610291610317366004611d81565b61071f565b348015610327575f80fd5b506102ef60195481565b34801561033c575f80fd5b5060405160098152602001610269565b348015610357575f80fd5b506016546102c0906001600160a01b031681565b348015610376575f80fd5b50610233610385366004611dbf565b610786565b348015610395575f80fd5b506102336103a4366004611de9565b6107cf565b3480156103b4575f80fd5b50610233610816565b3480156103c8575f80fd5b506102ef6103d7366004611dbf565b610860565b3480156103e7575f80fd5b50610233610881565b3480156103fb575f80fd5b5061023361040a366004611e02565b6108df565b34801561041a575f80fd5b5061023361092d565b34801561042e575f80fd5b506102ef60025481565b348015610443575f80fd5b506102ef60175481565b348015610458575f80fd5b506102ef610467366004611dbf565b60126020525f908152604090205481565b348015610483575f80fd5b505f546001600160a01b03166102c0565b34801561049f575f80fd5b506102336104ae366004611de9565b61096a565b3480156104be575f80fd5b506102ef60185481565b3480156104d3575f80fd5b506102336104e2366004611e02565b6109e2565b3480156104f2575f80fd5b50610233610501366004611e19565b610a19565b348015610511575f80fd5b50610233610a56565b348015610525575f80fd5b50610291610534366004611d57565b610b4f565b348015610544575f80fd5b50610291610553366004611dbf565b60116020525f908152604090205460ff1681565b348015610572575f80fd5b50610233610b5b565b348015610586575f80fd5b50610233610595366004611e48565b610bad565b3480156105a5575f80fd5b506102336105b4366004611e02565b610c4a565b3480156105c4575f80fd5b506102ef6105d3366004611ec5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610608575f80fd5b50610233610617366004611dbf565b610cb6565b348015610627575f80fd5b50610233610636366004611e02565b610d02565b348015610646575f80fd5b50610233610d50565b34801561065a575f80fd5b50610233610669366004611dbf565b610dab565b5f546001600160a01b031633146106a05760405162461bcd60e51b815260040161069790611efc565b60405180910390fd5b5f5b815181101561070557600160115f8484815181106106c2576106c2611f31565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806106fd81611f59565b9150506106a2565b5050565b5f610715338484610e7f565b5060015b92915050565b5f61072b848484610fa2565b61077c843361077785604051806060016040528060288152602001612058602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906114d2565b610e7f565b5060019392505050565b5f546001600160a01b031633146107af5760405162461bcd60e51b815260040161069790611efc565b6001600160a01b03165f908152601160205260409020805460ff19169055565b5f546001600160a01b031633146107f85760405162461bcd60e51b815260040161069790611efc565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061084b57506014546001600160a01b0316336001600160a01b0316145b610853575f80fd5b4761085d8161150a565b50565b6001600160a01b0381165f9081526003602052604081205461071990611593565b5f546001600160a01b031633146108aa5760405162461bcd60e51b815260040161069790611efc565b5f80546040516001600160a01b03909116905f80516020612080833981519152908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109085760405162461bcd60e51b815260040161069790611efc565b606461091d8268056bc75e2d63100000611f71565b6109279190611f88565b60175550565b5f546001600160a01b031633146109565760405162461bcd60e51b815260040161069790611efc565b68056bc75e2d631000006017819055601855565b5f546001600160a01b031633146109935760405162461bcd60e51b815260040161069790611efc565b6016805460ff60a01b1916600160a01b831515021790555f6009819055601e600a55600b556031600c556109dc60646109d668056bc75e2d631000006003611615565b90611693565b60195550565b5f546001600160a01b03163314610a0b5760405162461bcd60e51b815260040161069790611efc565b6109dc81633b9aca00611f71565b5f546001600160a01b03163314610a425760405162461bcd60e51b815260040161069790611efc565b600993909355600b91909155600a55600c55565b6001546001600160a01b03163314610abc5760405162461bcd60e51b8152602060048201526024808201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60448201526337b1b59760e11b6064820152608401610697565b6002544211610b035760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903637b1b5b2b21760691b6044820152606401610697565b6001545f80546040516001600160a01b0393841693909116915f8051602061208083398151915291a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b5f610715338484610fa2565b6013546001600160a01b0316336001600160a01b03161480610b9057506014546001600160a01b0316336001600160a01b0316145b610b98575f80fd5b5f610ba230610860565b905061085d816116d4565b5f546001600160a01b03163314610bd65760405162461bcd60e51b815260040161069790611efc565b5f5b82811015610c44578160065f868685818110610bf657610bf6611f31565b9050602002016020810190610c0b9190611dbf565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610c3c81611f59565b915050610bd8565b50505050565b5f546001600160a01b03163314610c735760405162461bcd60e51b815260040161069790611efc565b5f8054600180546001600160a01b03199081166001600160a01b03841617909155168155600282905560405181905f80516020612080833981519152908290a350565b5f546001600160a01b03163314610cdf5760405162461bcd60e51b815260040161069790611efc565b6001600160a01b03165f908152601160205260409020805460ff19166001179055565b5f546001600160a01b03163314610d2b5760405162461bcd60e51b815260040161069790611efc565b6064610d408268056bc75e2d63100000611f71565b610d4a9190611f88565b60185550565b5f546001600160a01b03163314610d795760405162461bcd60e51b815260040161069790611efc565b5f6009819055600a819055600b819055600c55610da66127106109d668056bc75e2d631000006005611615565b601955565b5f546001600160a01b03163314610dd45760405162461bcd60e51b815260040161069790611efc565b6001600160a01b038116610e395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610697565b5f80546040516001600160a01b03808516939216915f8051602061208083398151915291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ee15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610697565b6001600160a01b038216610f425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610697565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110065760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610697565b6001600160a01b0382166110685760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610697565b5f81116110c95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610697565b5f546001600160a01b038481169116148015906110f357505f546001600160a01b03838116911614155b156113ce57601654600160a01b900460ff1661118b575f546001600160a01b0384811691161461118b5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610697565b6017548111156111dd5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610697565b6001600160a01b0383165f9081526011602052604090205460ff1615801561121d57506001600160a01b0382165f9081526011602052604090205460ff16155b6112755760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610697565b6016546001600160a01b038381169116146112fa576018548161129784610860565b6112a19190611fa7565b106112fa5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610697565b5f61130430610860565b60195460175491925082101590821061131d5760175491505b8080156113345750601654600160a81b900460ff16155b801561134e57506016546001600160a01b03868116911614155b80156113635750601654600160b01b900460ff165b801561138757506001600160a01b0385165f9081526006602052604090205460ff16155b80156113ab57506001600160a01b0384165f9081526006602052604090205460ff16155b156113cb576113b9826116d4565b4780156113c9576113c94761150a565b505b50505b6001600160a01b0383165f9081526006602052604090205460019060ff168061140e57506001600160a01b0383165f9081526006602052604090205460ff165b8061144057506016546001600160a01b0385811691161480159061144057506016546001600160a01b03848116911614155b1561144c57505f6114c6565b6016546001600160a01b03858116911614801561147757506015546001600160a01b03848116911614155b1561148957600954600d55600a54600e555b6016546001600160a01b0384811691161480156114b457506015546001600160a01b03858116911614155b156114c657600b54600d55600c54600e555b610c4484848484611844565b5f81848411156114f55760405162461bcd60e51b81526004016106979190611d0c565b505f6115018486611fba565b95945050505050565b6014546001600160a01b03166108fc61152960026109d6856001611615565b6040518115909202915f818181858888f1935050505015801561154e573d5f803e3d5ffd5b506013546001600160a01b03166108fc61156e60026109d6856001611615565b6040518115909202915f818181858888f19350505050158015610705573d5f803e3d5ffd5b5f6007548211156115f95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610697565b5f611602611872565b905061160e8382611693565b9392505050565b5f825f0361162457505f610719565b5f61162f8385611f71565b90508261163c8583611f88565b1461160e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610697565b5f61160e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611893565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171a5761171a611f31565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611771573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117959190611fcd565b816001815181106117a8576117a8611f31565b6001600160a01b0392831660209182029290920101526015546117ce9130911684610e7f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906118069085905f90869030904290600401611fe8565b5f604051808303815f87803b15801561181d575f80fd5b505af115801561182f573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b80611851576118516118bf565b61185c8484846118ec565b80610c4457610c44600f54600d55601054600e55565b5f805f61187d6119dd565b909250905061188c8282611693565b9250505090565b5f81836118b35760405162461bcd60e51b81526004016106979190611d0c565b505f6115018486611f88565b600d541580156118cf5750600e54155b156118d657565b600d8054600f55600e80546010555f9182905555565b5f805f805f806118fb87611a1e565b6001600160a01b038f165f90815260036020526040902054959b5093995091975095509350915061192c9087611a73565b6001600160a01b03808b165f9081526003602052604080822093909355908a168152205461195a9086611ab4565b6001600160a01b0389165f9081526003602052604090205561197b81611b12565b6119858483611b58565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119ca91815260200190565b60405180910390a3505050505050505050565b6007545f90819068056bc75e2d631000006119f88282611693565b821015611a155750506007549268056bc75e2d6310000092509050565b90939092509050565b5f805f805f805f805f611a368a600d54600e54611b7c565b9250925092505f611a45611872565b90505f805f611a568e878787611bc8565b919e509c509a509598509396509194505050505091939550919395565b5f61160e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d2565b5f80611ac08385611fa7565b90508381101561160e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610697565b5f611b1b611872565b90505f611b288383611615565b305f90815260036020526040902054909150611b449082611ab4565b305f90815260036020526040902055505050565b600754611b659083611a73565b600755600854611b759082611ab4565b6008555050565b5f808080611b8f60646109d68989611615565b90505f611ba160646109d68a89611615565b90505f611bb882611bb28b86611a73565b90611a73565b9992985090965090945050505050565b5f808080611bd68886611615565b90505f611be38887611615565b90505f611bf08888611615565b90505f611c0182611bb28686611a73565b939b939a50919850919650505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b038116811461085d575f80fd5b8035611c4781611c28565b919050565b5f6020808385031215611c5d575f80fd5b823567ffffffffffffffff80821115611c74575f80fd5b818501915085601f830112611c87575f80fd5b813581811115611c9957611c99611c14565b8060051b604051601f19603f83011681018181108582111715611cbe57611cbe611c14565b604052918252848201925083810185019188831115611cdb575f80fd5b938501935b82851015611d0057611cf185611c3c565b84529385019392850192611ce0565b98975050505050505050565b5f6020808352835180828501525f5b81811015611d3757858101830151858201604001528201611d1b565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611d68575f80fd5b8235611d7381611c28565b946020939093013593505050565b5f805f60608486031215611d93575f80fd5b8335611d9e81611c28565b92506020840135611dae81611c28565b929592945050506040919091013590565b5f60208284031215611dcf575f80fd5b813561160e81611c28565b80358015158114611c47575f80fd5b5f60208284031215611df9575f80fd5b61160e82611dda565b5f60208284031215611e12575f80fd5b5035919050565b5f805f8060808587031215611e2c575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611e5a575f80fd5b833567ffffffffffffffff80821115611e71575f80fd5b818601915086601f830112611e84575f80fd5b813581811115611e92575f80fd5b8760208260051b8501011115611ea6575f80fd5b602092830195509350611ebc9186019050611dda565b90509250925092565b5f8060408385031215611ed6575f80fd5b8235611ee181611c28565b91506020830135611ef181611c28565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611f6a57611f6a611f45565b5060010190565b808202811582820484141761071957610719611f45565b5f82611fa257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561071957610719611f45565b8181038181111561071957610719611f45565b5f60208284031215611fdd575f80fd5b815161160e81611c28565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120365784516001600160a01b031683529383019391830191600101612011565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220671c3e798b028651bf5f25d9962d84e3362712cba7e1f79a4dd2df2e7d33395164736f6c63430008140033

Deployed Bytecode Sourcemap

5028:14208:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14338:169;;;;;;;;;;-1:-1:-1;14338:169:0;;;;;:::i;:::-;;:::i;:::-;;7552:83;;;;;;;;;;-1:-1:-1;7622:5:0;;;;;;;;;;;-1:-1:-1;;;7622:5:0;;;;7552:83;;;;7622:5;7552:83;:::i;:::-;;;;;;;;8484:193;;;;;;;;;;-1:-1:-1;8484:193:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;8484:193:0;2420:187:1;6369:41:0;;;;;;;;;;-1:-1:-1;6369:41:0;;;;-1:-1:-1;;;;;6369:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;6369:41:0;2612:229:1;7832:95:0;;;;;;;;;;-1:-1:-1;5590:23:0;7832:95;;;2992:25:1;;;2980:2;2965:18;7832:95:0;2846:177:1;8686:446:0;;;;;;;;;;-1:-1:-1;8686:446:0;;;;;:::i;:::-;;:::i;6684:61::-;;;;;;;;;;;;;;;;7740:83;;;;;;;;;;-1:-1:-1;7740:83:0;;5263:1;3631:36:1;;3619:2;3604:18;7740:83:0;3489:184:1;6417:28:0;;;;;;;;;;-1:-1:-1;6417:28:0;;;;-1:-1:-1;;;;;6417:28:0;;;14516:92;;;;;;;;;;-1:-1:-1;14516:92:0;;;;;:::i;:::-;;:::i;18481:101::-;;;;;;;;;;-1:-1:-1;18481:101:0;;;;;:::i;:::-;;:::i;14003:235::-;;;;;;;;;;;;;:::i;7936:138::-;;;;;;;;;;-1:-1:-1;7936:138:0;;;;;:::i;:::-;;:::i;2502:148::-;;;;;;;;;;;;;:::i;18591:131::-;;;;;;;;;;-1:-1:-1;18591:131:0;;;;;:::i;:::-;;:::i;18872:118::-;;;;;;;;;;;;;:::i;1321:24::-;;;;;;;;;;;;;;;;6561:53;;;;;;;;;;;;;;;;6140:43;;;;;;;;;;-1:-1:-1;6140:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1632:79;;;;;;;;;;-1:-1:-1;1670:7:0;1697:6;-1:-1:-1;;;;;1697:6:0;1632:79;;13236:279;;;;;;;;;;-1:-1:-1;13236:279:0;;;;;:::i;:::-;;:::i;6621:55::-;;;;;;;;;;;;;;;;18325:147;;;;;;;;;;-1:-1:-1;18325:147:0;;;;;:::i;:::-;;:::i;18025:291::-;;;;;;;;;;-1:-1:-1;18025:291:0;;;;;:::i;:::-;;:::i;2199:294::-;;;;;;;;;;;;;:::i;8083:199::-;;;;;;;;;;-1:-1:-1;8083:199:0;;;;;:::i;:::-;;:::i;6102:36::-;;;;;;;;;;-1:-1:-1;6102:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13758:236;;;;;;;;;;;;;:::i;18999:234::-;;;;;;;;;;-1:-1:-1;18999:234:0;;;;;:::i;:::-;;:::i;1915:208::-;;;;;;;;;;-1:-1:-1;1915:208:0;;;;;:::i;:::-;;:::i;8291:184::-;;;;;;;;;;-1:-1:-1;8291:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8440:18:0;;;8408:7;8440:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8291:184;14246:83;;;;;;;;;;-1:-1:-1;14246:83:0;;;;;:::i;:::-;;:::i;18730:134::-;;;;;;;;;;-1:-1:-1;18730:134:0;;;;;:::i;:::-;;:::i;13523:226::-;;;;;;;;;;;;;:::i;2659:244::-;;;;;;;;;;-1:-1:-1;2659:244:0;;;;;:::i;:::-;;:::i;14338:169::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;;;;;;;;;14414:9:::1;14409:91;14433:5;:12;14429:1;:16;14409:91;;;14484:4;14467;:14;14472:5;14478:1;14472:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14467:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14467:14:0;:21;;-1:-1:-1;;14467:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14447:3;::::1;::::0;::::1;:::i;:::-;;;;14409:91;;;;14338:169:::0;:::o;8484:193::-;8586:4;8608:39;429:10;8631:7;8640:6;8608:8;:39::i;:::-;-1:-1:-1;8665:4:0;8484:193;;;;;:::o;8686:446::-;8818:4;8835:36;8845:6;8853:9;8864:6;8835:9;:36::i;:::-;8882:220;8905:6;429:10;8953:138;9009:6;8953:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8953:19:0;;;;;;:11;:19;;;;;;;;429:10;8953:33;;;;;;;;;;:37;:138::i;:::-;8882:8;:220::i;:::-;-1:-1:-1;9120:4:0;8686:446;;;;;:::o;14516:92::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14580:12:0::1;14595:5;14580:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;14580:20:0::1;::::0;;14516:92::o;18481:101::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;18548:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18548:26:0::1;-1:-1:-1::0;;;;18548:26:0;;::::1;::::0;;;::::1;::::0;;18481:101::o;14003:235::-;14069:19;;-1:-1:-1;;;;;14069:19:0;429:10;-1:-1:-1;;;;;14053:35:0;;:72;;;-1:-1:-1;14108:17:0;;-1:-1:-1;;;;;14108:17:0;429:10;-1:-1:-1;;;;;14092:33:0;;14053:72;14045:81;;;;;;14166:21;14198:32;14166:21;14198:12;:32::i;:::-;14034:204;14003:235::o;7936:138::-;-1:-1:-1;;;;;8049:16:0;;8002:7;8049:16;;;:7;:16;;;;;;8029:37;;:19;:37::i;2502:148::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;2609:1:::1;2593:6:::0;;2572:40:::1;::::0;-1:-1:-1;;;;;2593:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;2572:40:0;2609:1;;2572:40:::1;2640:1;2623:19:::0;;-1:-1:-1;;;;;;2623:19:0::1;::::0;;2502:148::o;18591:131::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;18711:3:::1;18683:23;18693:13:::0;5590:23:::1;18683;:::i;:::-;18682:32;;;;:::i;:::-;18667:12;:47:::0;-1:-1:-1;18591:131:0:o;18872:118::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;5590:23:::1;18925:12;:22:::0;;;18958:14:::1;:24:::0;18872:118::o;13236:279::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;13303:11:::1;:26:::0;;-1:-1:-1;;;;13303:26:0::1;-1:-1:-1::0;;;13303:26:0;::::1;;;;::::0;;-1:-1:-1;13340:14:0::1;:18:::0;;;13386:2:::1;13371:12;:17:::0;13401:15:::1;:19:::0;13449:2:::1;-1:-1:-1::0;13433:18:0;13484:23:::1;13503:3;13484:14;5590:23;13496:1;13484:11;:14::i;:::-;:18:::0;::::1;:23::i;:::-;13462:19;:45:::0;-1:-1:-1;13236:279:0:o;18325:147::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;18438:26:::1;:18:::0;18459:5:::1;18438:26;:::i;18025:291::-:0;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;18159:14:::1;:30:::0;;;;18200:15:::1;:32:::0;;;;18243:12:::1;:26:::0;18280:13:::1;:28:::0;18025:291::o;2199:294::-;2251:14;;-1:-1:-1;;;;;2251:14:0;2269:10;2251:28;2243:77;;;;-1:-1:-1;;;2243:77:0;;7512:2:1;2243:77:0;;;7494:21:1;7551:2;7531:18;;;7524:30;7590:34;7570:18;;;7563:62;-1:-1:-1;;;7641:18:1;;;7634:34;7685:19;;2243:77:0;7310:400:1;2243:77:0;2357:9;;2339:15;:27;2331:60;;;;-1:-1:-1;;;2331:60:0;;7917:2:1;2331:60:0;;;7899:21:1;7956:2;7936:18;;;7929:30;-1:-1:-1;;;7975:18:1;;;7968:49;8034:18;;2331:60:0;7715:343:1;2331:60:0;2436:14;;;2428:6;;2407:44;;-1:-1:-1;;;;;2436:14:0;;;;2428:6;;;;-1:-1:-1;;;;;;;;;;;2407:44:0;;2471:14;;;2462:23;;-1:-1:-1;;;;;;2462:23:0;-1:-1:-1;;;;;2471:14:0;;;2462:23;;;;;;2199:294::o;8083:199::-;8188:4;8210:42;429:10;8234:9;8245:6;8210:9;:42::i;13758:236::-;13824:19;;-1:-1:-1;;;;;13824:19:0;429:10;-1:-1:-1;;;;;13808:35:0;;:72;;;-1:-1:-1;13863:17:0;;-1:-1:-1;;;;;13863:17:0;429:10;-1:-1:-1;;;;;13847:33:0;;13808:72;13800:81;;;;;;13892:23;13918:24;13936:4;13918:9;:24::i;:::-;13892:50;;13953:33;13970:15;13953:16;:33::i;18999:234::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;19116:9:::1;19112:114;19131:19:::0;;::::1;19112:114;;;19206:8;19172:18;:31;19191:8;;19200:1;19191:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19172:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19172:31:0;:42;;-1:-1:-1;;19172:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19152:3;::::1;::::0;::::1;:::i;:::-;;;;19112:114;;;;18999:234:::0;;;:::o;1915:208::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;1996:6:::1;::::0;;;1979:23;;-1:-1:-1;;;;;;1979:23:0;;::::1;-1:-1:-1::0;;;;;1996:6:0;::::1;1979:23;::::0;;;2013:19:::1;::::0;;2043:9:::1;:16:::0;;;2075:40:::1;::::0;1996:6;;-1:-1:-1;;;;;;;;;;;2075:40:0;1996:6;;2075:40:::1;1915:208:::0;:::o;14246:83::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14305:9:0::1;;::::0;;;:4:::1;:9;::::0;;;;:16;;-1:-1:-1;;14305:16:0::1;14317:4;14305:16;::::0;;14246:83::o;18730:134::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;18853:3:::1;18825:23;18835:13:::0;5590:23:::1;18825;:::i;:::-;18824:32;;;;:::i;:::-;18807:14;:49:::0;-1:-1:-1;18730:134:0:o;13523:226::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;13591:1:::1;13574:14;:18:::0;;;13605:12:::1;:16:::0;;;13634:15:::1;:19:::0;;;13666:13:::1;:17:::0;13716:25:::1;13735:5;13716:14;5590:23;13728:1;13716:11;:14::i;:25::-;13694:19;:47:::0;13523:226::o;2659:244::-;1760:6;;-1:-1:-1;;;;;1760:6:0;429:10;1760:22;1752:67;;;;-1:-1:-1;;;1752:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2748:22:0;::::1;2740:73;;;::::0;-1:-1:-1;;;2740:73:0;;8265:2:1;2740:73:0::1;::::0;::::1;8247:21:1::0;8304:2;8284:18;;;8277:30;8343:34;8323:18;;;8316:62;-1:-1:-1;;;8394:18:1;;;8387:36;8440:19;;2740:73:0::1;8063:402:1::0;2740:73:0::1;2850:6;::::0;;2829:38:::1;::::0;-1:-1:-1;;;;;2829:38:0;;::::1;::::0;2850:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;2829:38:0;::::1;2878:6;:17:::0;;-1:-1:-1;;;;;;2878:17:0::1;-1:-1:-1::0;;;;;2878:17:0;;;::::1;::::0;;;::::1;::::0;;2659:244::o;9829:369::-;-1:-1:-1;;;;;9956:19:0;;9948:68;;;;-1:-1:-1;;;9948:68:0;;8672:2:1;9948:68:0;;;8654:21:1;8711:2;8691:18;;;8684:30;8750:34;8730:18;;;8723:62;-1:-1:-1;;;8801:18:1;;;8794:34;8845:19;;9948:68:0;8470:400:1;9948:68:0;-1:-1:-1;;;;;10035:21:0;;10027:68;;;;-1:-1:-1;;;10027:68:0;;9077:2:1;10027:68:0;;;9059:21:1;9116:2;9096:18;;;9089:30;9155:34;9135:18;;;9128:62;-1:-1:-1;;;9206:18:1;;;9199:32;9248:19;;10027:68:0;8875:398:1;10027:68:0;-1:-1:-1;;;;;10106:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10158:32;;2992:25:1;;;10158:32:0;;2965:18:1;10158:32:0;;;;;;;9829:369;;;:::o;10207:2343::-;-1:-1:-1;;;;;10329:18:0;;10321:68;;;;-1:-1:-1;;;10321:68:0;;9480:2:1;10321:68:0;;;9462:21:1;9519:2;9499:18;;;9492:30;9558:34;9538:18;;;9531:62;-1:-1:-1;;;9609:18:1;;;9602:35;9654:19;;10321:68:0;9278:401:1;10321:68:0;-1:-1:-1;;;;;10408:16:0;;10400:64;;;;-1:-1:-1;;;10400:64:0;;9886:2:1;10400:64:0;;;9868:21:1;9925:2;9905:18;;;9898:30;9964:34;9944:18;;;9937:62;-1:-1:-1;;;10015:18:1;;;10008:33;10058:19;;10400:64:0;9684:399:1;10400:64:0;10492:1;10483:6;:10;10475:64;;;;-1:-1:-1;;;10475:64:0;;10290:2:1;10475:64:0;;;10272:21:1;10329:2;10309:18;;;10302:30;10368:34;10348:18;;;10341:62;-1:-1:-1;;;10419:18:1;;;10412:39;10468:19;;10475:64:0;10088:405:1;10475:64:0;1670:7;1697:6;-1:-1:-1;;;;;10557:15:0;;;1697:6;;10557:15;;;;:32;;-1:-1:-1;1670:7:0;1697:6;-1:-1:-1;;;;;10576:13:0;;;1697:6;;10576:13;;10557:32;10553:1265;;;10647:11;;-1:-1:-1;;;10647:11:0;;;;10642:144;;1670:7;1697:6;-1:-1:-1;;;;;10687:15:0;;;1697:6;;10687:15;10679:91;;;;-1:-1:-1;;;10679:91:0;;10700:2:1;10679:91:0;;;10682:21:1;10739:2;10719:18;;;10712:30;10778:34;10758:18;;;10751:62;10849:33;10829:18;;;10822:61;10900:19;;10679:91:0;10498:427:1;10679:91:0;10821:12;;10811:6;:22;;10803:63;;;;-1:-1:-1;;;10803:63:0;;11132:2:1;10803:63:0;;;11114:21:1;11171:2;11151:18;;;11144:30;11210;11190:18;;;11183:58;11258:18;;10803:63:0;10930:352:1;10803:63:0;-1:-1:-1;;;;;10890:10:0;;;;;;:4;:10;;;;;;;;10889:11;:24;;;;-1:-1:-1;;;;;;10905:8:0;;;;;;:4;:8;;;;;;;;10904:9;10889:24;10881:72;;;;-1:-1:-1;;;10881:72:0;;11489:2:1;10881:72:0;;;11471:21:1;11528:2;11508:18;;;11501:30;11567:34;11547:18;;;11540:62;-1:-1:-1;;;11618:18:1;;;11611:33;11661:19;;10881:72:0;11287:399:1;10881:72:0;10980:13;;-1:-1:-1;;;;;10974:19:0;;;10980:13;;10974:19;10971:146;;11047:14;;11038:6;11022:13;11032:2;11022:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11014:87;;;;-1:-1:-1;;;11014:87:0;;12023:2:1;11014:87:0;;;12005:21:1;12062:2;12042:18;;;12035:30;12101:34;12081:18;;;12074:62;-1:-1:-1;;;12152:18:1;;;12145:33;12195:19;;11014:87:0;11821:399:1;11014:87:0;11134:28;11165:24;11183:4;11165:9;:24::i;:::-;11243:19;;11307:12;;11134:55;;-1:-1:-1;11219:43:0;;;;11283:36;;11280:124;;11376:12;;11353:35;;11280:124;11425:7;:18;;;;-1:-1:-1;11437:6:0;;-1:-1:-1;;;11437:6:0;;;;11436:7;11425:18;:43;;;;-1:-1:-1;11455:13:0;;-1:-1:-1;;;;;11447:21:0;;;11455:13;;11447:21;;11425:43;:58;;;;-1:-1:-1;11472:11:0;;-1:-1:-1;;;11472:11:0;;;;11425:58;:87;;;;-1:-1:-1;;;;;;11488:24:0;;;;;;:18;:24;;;;;;;;11487:25;11425:87;:114;;;;-1:-1:-1;;;;;;11517:22:0;;;;;;:18;:22;;;;;;;;11516:23;11425:114;11421:386;;;11560:38;11577:20;11560:16;:38::i;:::-;11646:21;11690:22;;11686:106;;11737:35;11750:21;11737:12;:35::i;:::-;11541:266;11421:386;10591:1227;;10553:1265;-1:-1:-1;;;;;11896:24:0;;11831:12;11896:24;;;:18;:24;;;;;;11846:4;;11896:24;;;:50;;-1:-1:-1;;;;;;11924:22:0;;;;;;:18;:22;;;;;;;;11896:50;11895:102;;;-1:-1:-1;11960:13:0;;-1:-1:-1;;;;;11952:21:0;;;11960:13;;11952:21;;;;:44;;-1:-1:-1;11983:13:0;;-1:-1:-1;;;;;11977:19:0;;;11983:13;;11977:19;;11952:44;11891:597;;;-1:-1:-1;12024:5:0;11891:597;;;12108:13;;-1:-1:-1;;;;;12100:21:0;;;12108:13;;12100:21;:55;;;;-1:-1:-1;12139:15:0;;-1:-1:-1;;;;;12125:30:0;;;12139:15;;12125:30;;12100:55;12097:162;;;12188:14;;12176:9;:26;12231:12;;12221:7;:22;12097:162;12319:13;;-1:-1:-1;;;;;12313:19:0;;;12319:13;;12313:19;:55;;;;-1:-1:-1;12352:15:0;;-1:-1:-1;;;;;12336:32:0;;;12352:15;;12336:32;;12313:55;12309:165;;;12401:15;;12389:9;:27;12445:13;;12435:7;:23;12309:165;12501:41;12516:4;12522:2;12526:6;12534:7;12501:14;:41::i;3270:224::-;3390:7;3426:12;3418:6;;;;3410:29;;;;-1:-1:-1;;;3410:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3450:9:0;3462:5;3466:1;3462;:5;:::i;:::-;3450:17;3270:224;-1:-1:-1;;;;;3270:224:0:o;13051:174::-;13108:17;;-1:-1:-1;;;;;13108:17:0;:48;13135:20;13153:1;13135:13;:6;13108:17;13135:10;:13::i;:20::-;13108:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13167:19:0;;-1:-1:-1;;;;;13167:19:0;:50;13196:20;13214:1;13196:13;:6;13167:19;13196:10;:13::i;:20::-;13167:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9141:323;9236:7;9294;;9283;:18;;9261:110;;;;-1:-1:-1;;;9261:110:0;;12560:2:1;9261:110:0;;;12542:21:1;12599:2;12579:18;;;12572:30;12638:34;12618:18;;;12611:62;-1:-1:-1;;;12689:18:1;;;12682:40;12739:19;;9261:110:0;12358:406:1;9261:110:0;9382:19;9404:10;:8;:10::i;:::-;9382:32;-1:-1:-1;9432:24:0;:7;9382:32;9432:11;:24::i;:::-;9425:31;9141:323;-1:-1:-1;;;9141:323:0:o;3503:246::-;3561:7;3585:1;3590;3585:6;3581:47;;-1:-1:-1;3615:1:0;3608:8;;3581:47;3638:9;3650:5;3654:1;3650;:5;:::i;:::-;3638:17;-1:-1:-1;3683:1:0;3674:5;3678:1;3638:17;3674:5;:::i;:::-;:10;3666:56;;;;-1:-1:-1;;;3666:56:0;;12971:2:1;3666:56:0;;;12953:21:1;13010:2;12990:18;;;12983:30;13049:34;13029:18;;;13022:62;-1:-1:-1;;;13100:18:1;;;13093:31;13141:19;;3666:56:0;12769:397:1;3758:132:0;3816:7;3843:39;3847:1;3850;3843:39;;;;;;;;;;;;;;;;;:3;:39::i;12559:483::-;6840:6;:13;;-1:-1:-1;;;;6840:13:0;-1:-1:-1;;;6840:13:0;;;12661:16:::1;::::0;;12675:1:::1;12661:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12661:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12661:16:0::1;12637:40;;12706:4;12688;12693:1;12688:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12688:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12732:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12732:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12688:7;;12732:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12722:4;12727:1;12722:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12722:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12797:15:::1;::::0;12765:62:::1;::::0;12782:4:::1;::::0;12797:15:::1;12815:11:::0;12765:8:::1;:62::i;:::-;12838:15;::::0;:196:::1;::::0;-1:-1:-1;;;12838:196:0;;-1:-1:-1;;;;;12838:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12919:11;;12838:15:::1;::::0;12961:4;;12988::::1;::::0;13008:15:::1;::::0;12838:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6876:6:0;:14;;-1:-1:-1;;;;6876:14:0;;;-1:-1:-1;;;;12559:483:0:o;14617:282::-;14773:7;14768:28;;14782:14;:12;:14::i;:::-;14807:44;14825:6;14833:9;14844:6;14807:17;:44::i;:::-;14867:7;14862:29;;14876:15;9759:17;;9747:9;:29;9797:15;;9787:7;:25;9703:117;17586:164;17628:7;17649:15;17666;17685:19;:17;:19::i;:::-;17648:56;;-1:-1:-1;17648:56:0;-1:-1:-1;17722:20:0;17648:56;;17722:11;:20::i;:::-;17715:27;;;;17586:164;:::o;3899:223::-;4019:7;4054:12;4047:5;4039:28;;;;-1:-1:-1;;;4039:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4078:9:0;4090:5;4094:1;4090;:5;:::i;9473:221::-;9520:9;;:14;:30;;;;-1:-1:-1;9538:7:0;;:12;9520:30;9516:43;;;9473:221::o;9516:43::-;9592:9;;;9572:17;:29;9630:7;;;9612:15;:25;-1:-1:-1;9651:13:0;;;;9675:11;9473:221::o;14908:610::-;15055:15;15085:23;15123:12;15150:23;15188:12;15215:13;15242:19;15253:7;15242:10;:19::i;:::-;-1:-1:-1;;;;;15290:15:0;;;;;;:7;:15;;;;;;15040:221;;-1:-1:-1;15040:221:0;;-1:-1:-1;15040:221:0;;-1:-1:-1;15040:221:0;-1:-1:-1;15040:221:0;-1:-1:-1;15040:221:0;-1:-1:-1;15290:28:0;;15040:221;15290:19;:28::i;:::-;-1:-1:-1;;;;;15272:15:0;;;;;;;:7;:15;;;;;;:46;;;;15350:18;;;;;;;:39;;15373:15;15350:22;:39::i;:::-;-1:-1:-1;;;;;15329:18:0;;;;;;:7;:18;;;;;:60;15400:16;15410:5;15400:9;:16::i;:::-;15427:23;15439:4;15445;15427:11;:23::i;:::-;15483:9;-1:-1:-1;;;;;15466:44:0;15475:6;-1:-1:-1;;;;;15466:44:0;;15494:15;15466:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;15466:44:0;;;;;;;;15029:489;;;;;;14908:610;;;:::o;17759:257::-;17857:7;;17810;;;;5590:23;17925:20;17857:7;5590:23;17925:11;:20::i;:::-;17915:7;:30;17911:61;;;-1:-1:-1;;17955:7:0;;;5590:23;;-1:-1:-1;17759:257:0;-1:-1:-1;17759:257:0:o;17911:61::-;17991:7;;18000;;-1:-1:-1;17759:257:0;-1:-1:-1;17759:257:0:o;15941:615::-;16041:7;16063;16085;16107;16129;16151;16187:23;16212:12;16226:13;16256:40;16268:7;16277:9;;16288:7;;16256:11;:40::i;:::-;16186:110;;;;;;16307:19;16329:10;:8;:10::i;:::-;16307:32;;16351:15;16368:23;16393:12;16422:46;16434:7;16443:4;16449:5;16456:11;16422;:46::i;:::-;16350:118;;-1:-1:-1;16350:118:0;-1:-1:-1;16350:118:0;-1:-1:-1;16519:15:0;;-1:-1:-1;16536:4:0;;-1:-1:-1;16542:5:0;;-1:-1:-1;;;;;15941:615:0;;;;;;;:::o;3125:136::-;3183:7;3210:43;3214:1;3217;3210:43;;;;;;;;;;;;;;;;;:3;:43::i;2937:179::-;2995:7;;3027:5;3031:1;3027;:5;:::i;:::-;3015:17;;3056:1;3051;:6;;3043:46;;;;-1:-1:-1;;;3043:46:0;;14614:2:1;3043:46:0;;;14596:21:1;14653:2;14633:18;;;14626:30;14692:29;14672:18;;;14665:57;14739:18;;3043:46:0;14412:351:1;15527:211:0;15580:19;15602:10;:8;:10::i;:::-;15580:32;-1:-1:-1;15623:13:0;15639:22;:5;15580:32;15639:9;:22::i;:::-;15713:4;15697:22;;;;:7;:22;;;;;;15623:38;;-1:-1:-1;15697:33:0;;15623:38;15697:26;:33::i;:::-;15688:4;15672:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;15527:211:0:o;15747:147::-;15825:7;;:17;;15837:4;15825:11;:17::i;:::-;15815:7;:27;15866:10;;:20;;15881:4;15866:14;:20::i;:::-;15853:10;:33;-1:-1:-1;;15747:147:0:o;16565:469::-;16734:7;;;;16828:30;16854:3;16828:21;:7;16840:8;16828:11;:21::i;:30::-;16813:45;-1:-1:-1;16869:13:0;16885:28;16909:3;16885:19;:7;16897:6;16885:11;:19::i;:28::-;16869:44;-1:-1:-1;16924:23:0;16950:28;16869:44;16950:17;:7;16962:4;16950:11;:17::i;:::-;:21;;:28::i;:::-;16924:54;17014:4;;-1:-1:-1;17020:5:0;;-1:-1:-1;16565:469:0;;-1:-1:-1;;;;;16565:469:0:o;17043:534::-;17237:7;;;;17334:24;:7;17346:11;17334;:24::i;:::-;17316:42;-1:-1:-1;17369:12:0;17384:21;:4;17393:11;17384:8;:21::i;:::-;17369:36;-1:-1:-1;17416:13:0;17432:22;:5;17442:11;17432:9;:22::i;:::-;17416:38;-1:-1:-1;17465:23:0;17491:28;17416:38;17491:17;:7;17503:4;17491:11;:17::i;:28::-;17538:7;;;;-1:-1:-1;17564:4:0;;-1:-1:-1;17043:534:0;;-1:-1:-1;;;;;;;17043:534:0:o;14:127:1:-;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:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:315::-;2168:6;2176;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;2284:9;2271:23;2303:31;2328:5;2303:31;:::i;:::-;2353:5;2405:2;2390:18;;;;2377:32;;-1:-1:-1;;;2100:315:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;3886:247::-;3945:6;3998:2;3986:9;3977:7;3973:23;3969:32;3966:52;;;4014:1;4011;4004:12;3966:52;4053:9;4040:23;4072:31;4097:5;4072:31;:::i;4138:160::-;4203:20;;4259:13;;4252:21;4242:32;;4232:60;;4288:1;4285;4278:12;4303:180;4359:6;4412:2;4400:9;4391:7;4387:23;4383:32;4380:52;;;4428:1;4425;4418:12;4380:52;4451:26;4467:9;4451:26;:::i;4488:180::-;4547:6;4600:2;4588:9;4579:7;4575:23;4571:32;4568:52;;;4616:1;4613;4606:12;4568:52;-1:-1:-1;4639:23:1;;4488:180;-1:-1:-1;4488:180:1:o;4673:385::-;4759:6;4767;4775;4783;4836:3;4824:9;4815:7;4811:23;4807:33;4804:53;;;4853:1;4850;4843:12;4804:53;-1:-1:-1;;4876:23:1;;;4946:2;4931:18;;4918:32;;-1:-1:-1;4997:2:1;4982:18;;4969:32;;5048:2;5033:18;5020:32;;-1:-1:-1;4673:385:1;-1:-1:-1;4673:385:1:o;5063:689::-;5155:6;5163;5171;5224:2;5212:9;5203:7;5199:23;5195:32;5192:52;;;5240:1;5237;5230:12;5192:52;5280:9;5267:23;5309:18;5350:2;5342:6;5339:14;5336:34;;;5366:1;5363;5356:12;5336:34;5404:6;5393:9;5389:22;5379:32;;5449:7;5442:4;5438:2;5434:13;5430:27;5420:55;;5471:1;5468;5461:12;5420:55;5511:2;5498:16;5537:2;5529:6;5526:14;5523:34;;;5553:1;5550;5543:12;5523:34;5608:7;5601:4;5591:6;5588:1;5584:14;5580:2;5576:23;5572:34;5569:47;5566:67;;;5629:1;5626;5619:12;5566:67;5660:4;5652:13;;;;-1:-1:-1;5684:6:1;-1:-1:-1;5709:37:1;;5725:20;;;-1:-1:-1;5709:37:1;:::i;:::-;5699:47;;5063:689;;;;;:::o;5757:388::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:52;;;5902:1;5899;5892:12;5854:52;5941:9;5928:23;5960:31;5985:5;5960:31;:::i;:::-;6010:5;-1:-1:-1;6067:2:1;6052:18;;6039:32;6080:33;6039:32;6080:33;:::i;:::-;6132:7;6122:17;;;5757:388;;;;;:::o;6150:356::-;6352:2;6334:21;;;6371:18;;;6364:30;6430:34;6425:2;6410:18;;6403:62;6497:2;6482:18;;6150:356::o;6511:127::-;6572:10;6567:3;6563:20;6560:1;6553:31;6603:4;6600:1;6593:15;6627:4;6624:1;6617:15;6643:127;6704:10;6699:3;6695:20;6692:1;6685:31;6735:4;6732:1;6725:15;6759:4;6756:1;6749:15;6775:135;6814:3;6835:17;;;6832:43;;6855:18;;:::i;:::-;-1:-1:-1;6902:1:1;6891:13;;6775:135::o;6915:168::-;6988:9;;;7019;;7036:15;;;7030:22;;7016:37;7006:71;;7057:18;;:::i;7088:217::-;7128:1;7154;7144:132;;7198:10;7193:3;7189:20;7186:1;7179:31;7233:4;7230:1;7223:15;7261:4;7258:1;7251:15;7144:132;-1:-1:-1;7290:9:1;;7088:217::o;11691:125::-;11756:9;;;11777:10;;;11774:36;;;11790:18;;:::i;12225:128::-;12292:9;;;12313:11;;;12310:37;;;12327:18;;:::i;13171:251::-;13241:6;13294:2;13282:9;13273:7;13269:23;13265:32;13262:52;;;13310:1;13307;13300:12;13262:52;13342:9;13336:16;13361:31;13386:5;13361:31;:::i;13427:980::-;13689:4;13737:3;13726:9;13722:19;13768:6;13757:9;13750:25;13794:2;13832:6;13827:2;13816:9;13812:18;13805:34;13875:3;13870:2;13859:9;13855:18;13848:31;13899:6;13934;13928:13;13965:6;13957;13950:22;14003:3;13992:9;13988:19;13981:26;;14042:2;14034:6;14030:15;14016:29;;14063:1;14073:195;14087:6;14084:1;14081:13;14073:195;;;14152:13;;-1:-1:-1;;;;;14148:39:1;14136:52;;14243:15;;;;14208:12;;;;14184:1;14102:9;14073:195;;;-1:-1:-1;;;;;;;14324:32:1;;;;14319:2;14304:18;;14297:60;-1:-1:-1;;;14388:3:1;14373:19;14366:35;14285:3;13427:980;-1:-1:-1;;;13427:980:1:o

Swarm Source

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