ETH Price: $2,627.97 (+1.66%)

Contract

0xB8788d235cFA9Aca96144E2c0599D169943D0AFd
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer198361932024-05-10 0:54:23104 days ago1715302463IN
0xB8788d23...9943D0AFd
0 ETH0.0002593.61568812
Transfer195247672024-03-27 9:26:35147 days ago1711531595IN
0xB8788d23...9943D0AFd
0 ETH0.0016061722.4104368
Approve195144132024-03-25 22:21:11149 days ago1711405271IN
0xB8788d23...9943D0AFd
0 ETH0.0013945430.08212346
Approve194801402024-03-21 2:41:23153 days ago1710988883IN
0xB8788d23...9943D0AFd
0 ETH0.0013955129.97112404
Approve194149822024-03-11 22:59:11163 days ago1710197951IN
0xB8788d23...9943D0AFd
0 ETH0.0027946759.94318609
Approve194058132024-03-10 16:13:23164 days ago1710087203IN
0xB8788d23...9943D0AFd
0 ETH0.0031466867.4936358
Approve193947082024-03-09 2:58:23165 days ago1709953103IN
0xB8788d23...9943D0AFd
0 ETH0.002052544.0810713
Approve193884442024-03-08 5:44:59166 days ago1709876699IN
0xB8788d23...9943D0AFd
0 ETH0.0021629346.4527124
Approve193868222024-03-08 0:17:59167 days ago1709857079IN
0xB8788d23...9943D0AFd
0 ETH0.0026189556.61132316
Approve193848362024-03-07 17:38:23167 days ago1709833103IN
0xB8788d23...9943D0AFd
0 ETH0.00505571108.58021641
Approve193847322024-03-07 17:17:35167 days ago1709831855IN
0xB8788d23...9943D0AFd
0 ETH0.0058393125.24787921
Approve193819212024-03-07 7:52:35167 days ago1709797955IN
0xB8788d23...9943D0AFd
0 ETH0.0023356550.16218798
Approve193782122024-03-06 19:26:23168 days ago1709753183IN
0xB8788d23...9943D0AFd
0 ETH0.0039023383.80939452
Approve193780142024-03-06 18:46:47168 days ago1709750807IN
0xB8788d23...9943D0AFd
0 ETH0.003781181.73245282
Transfer193701522024-03-05 16:26:59169 days ago1709656019IN
0xB8788d23...9943D0AFd
0 ETH0.00826326172.97651354
Approve193646792024-03-04 22:06:35170 days ago1709589995IN
0xB8788d23...9943D0AFd
0 ETH0.0046221599.14117134
Approve193622022024-03-04 13:49:35170 days ago1709560175IN
0xB8788d23...9943D0AFd
0 ETH0.0019822367.86168331
Approve193607022024-03-04 8:47:59170 days ago1709542079IN
0xB8788d23...9943D0AFd
0 ETH0.0028440461.08079716
Approve193592582024-03-04 3:57:35170 days ago1709524655IN
0xB8788d23...9943D0AFd
0 ETH0.0013599951.51895526
Approve193592472024-03-04 3:55:23170 days ago1709524523IN
0xB8788d23...9943D0AFd
0 ETH0.0024097752.04923971
Approve193566732024-03-03 19:17:59171 days ago1709493479IN
0xB8788d23...9943D0AFd
0 ETH0.0033489371.83173763
Approve193565542024-03-03 18:53:35171 days ago1709492015IN
0xB8788d23...9943D0AFd
0 ETH0.0032257369.27820635
Approve193559502024-03-03 16:51:47171 days ago1709484707IN
0xB8788d23...9943D0AFd
0 ETH0.003522875.56097693
Transfer193559492024-03-03 16:51:35171 days ago1709484695IN
0xB8788d23...9943D0AFd
0 ETH0.0058747981.96893689
Approve193558422024-03-03 16:29:35171 days ago1709483375IN
0xB8788d23...9943D0AFd
0 ETH0.0027997660.12985638
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
193953782024-03-09 5:13:11165 days ago1709961191
0xB8788d23...9943D0AFd
0.11845948 ETH
193953782024-03-09 5:13:11165 days ago1709961191
0xB8788d23...9943D0AFd
0.11845948 ETH
193556372024-03-03 15:47:59171 days ago1709480879
0xB8788d23...9943D0AFd
0.26217132 ETH
193556372024-03-03 15:47:59171 days ago1709480879
0xB8788d23...9943D0AFd
0.26217132 ETH
193538482024-03-03 9:48:23171 days ago1709459303
0xB8788d23...9943D0AFd
0.29348717 ETH
193538482024-03-03 9:48:23171 days ago1709459303
0xB8788d23...9943D0AFd
0.29348717 ETH
193527382024-03-03 6:04:47171 days ago1709445887
0xB8788d23...9943D0AFd
0.32954716 ETH
193527382024-03-03 6:04:47171 days ago1709445887
0xB8788d23...9943D0AFd
0.32954716 ETH
193511472024-03-03 0:45:35172 days ago1709426735
0xB8788d23...9943D0AFd
0.31572711 ETH
193511472024-03-03 0:45:35172 days ago1709426735
0xB8788d23...9943D0AFd
0.31572711 ETH
193496172024-03-02 19:37:23172 days ago1709408243
0xB8788d23...9943D0AFd
0.28678642 ETH
193496172024-03-02 19:37:23172 days ago1709408243
0xB8788d23...9943D0AFd
0.28678642 ETH
193465802024-03-02 9:26:47172 days ago1709371607
0xB8788d23...9943D0AFd
0.41359206 ETH
193465802024-03-02 9:26:47172 days ago1709371607
0xB8788d23...9943D0AFd
0.41359206 ETH
193456102024-03-02 6:11:23172 days ago1709359883
0xB8788d23...9943D0AFd
0.48052896 ETH
193456102024-03-02 6:11:23172 days ago1709359883
0xB8788d23...9943D0AFd
0.48052896 ETH
193449362024-03-02 3:55:11172 days ago1709351711
0xB8788d23...9943D0AFd
0.52206259 ETH
193449362024-03-02 3:55:11172 days ago1709351711
0xB8788d23...9943D0AFd
0.52206259 ETH
193443312024-03-02 1:53:35172 days ago1709344415
0xB8788d23...9943D0AFd
0.52742627 ETH
193443312024-03-02 1:53:35172 days ago1709344415
0xB8788d23...9943D0AFd
0.52742627 ETH
193441252024-03-02 1:10:59173 days ago1709341859
0xB8788d23...9943D0AFd
0.41748237 ETH
193441252024-03-02 1:10:59173 days ago1709341859
0xB8788d23...9943D0AFd
0.41748237 ETH
193440862024-03-02 1:03:11173 days ago1709341391
0xB8788d23...9943D0AFd
0.5014108 ETH
193440862024-03-02 1:03:11173 days ago1709341391
0xB8788d23...9943D0AFd
0.5014108 ETH
193438602024-03-02 0:17:47173 days ago1709338667
0xB8788d23...9943D0AFd
0.52879414 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MetaTG

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-11-23
*/

//                              https://t.me/Metatgai
//                              https://x.com/Metatgai
//                              https://metatg.ai/

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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
    );
}

// Dex Factory contract interface
interface IDexFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

// Dex Router contract interface
interface IDexRouter {
    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);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    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 = payable(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;
    }
}

contract MetaTG is Context, IERC20, Ownable {
    string private _name = "MetaTG Ai";
    string private _symbol = "TGAi";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 1_000_000_000 * 1e18;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxTxn;
    mapping(address => bool) public isExcludedFromMaxWallet;

    uint256 public minTokenToSwap = (_totalSupply * 5) / (10000); // swap + distribute
    uint256 public maxHoldLimit = (_totalSupply * 2) / (100); // max hold
    uint256 public maxTxnLimit = (_totalSupply * 2) / (100); // max tx
    uint256 public percentDivider = 100;
    uint256 public launchedAt;

    bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool
    bool public feesStatus; // enable by default
    bool public trading; // once enable can't be disable afterwards

    IDexRouter public dexRouter; // router declaration

    address public dexPair; // pair address declaration
    address public marketingWallet; // marketing address declaration
    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);

    uint256 public marketingFeeOnBuying = 35;

    uint256 public marketingFeeOnSelling = 35;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    constructor() {
        _balances[owner()] = _totalSupply;
        marketingWallet = address(0x91F473912287315c1B7Ef0F4E6bd1D6e910e5E20);

        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        isExcludedFromFee[address(dexRouter)] = true;
        isExcludedFromMaxTxn[address(dexRouter)] = true;
        isExcludedFromMaxWallet[address(dexRouter)] = true;

        dexPair = IDexFactory(dexRouter.factory()).createPair(
            address(this),
            dexRouter.WETH()
        );
        isExcludedFromMaxWallet[dexPair] = true;

        //exclude owner and this contract from fee
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;

        //exclude owner and this contract from max Txn
        isExcludedFromMaxTxn[owner()] = true;
        isExcludedFromMaxTxn[address(this)] = true;

        //exclude owner and this contract from max hold limit
        isExcludedFromMaxWallet[owner()] = true;
        isExcludedFromMaxWallet[address(this)] = true;
        isExcludedFromMaxWallet[marketingWallet] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    //to receive ETH from dexRouter when swapping
    receive() external payable {}

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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()] - amount
        );
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + (addedValue)
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    function includeOrExcludeFromFee(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTxn(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxTxn[account] = value;
    }

    function includeOrExcludeFromMaxWallet(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxWallet[account] = value;
    }

    function setMinTokenToSwap(uint256 _amount) external onlyOwner {
        minTokenToSwap = _amount * 1e18;
    }

    function setMaxHoldLimit(uint256 _amount) external onlyOwner {
        maxHoldLimit = _amount * 1e18;
    }

    function setMaxTxnLimit(uint256 _amount) external onlyOwner {
        maxTxnLimit = _amount * 1e18;
    }

    function setBuyFeePercent(uint256 _marketingFee) external onlyOwner {
        marketingFeeOnBuying = _marketingFee;
    }

    function setSellFeePercent(uint256 _marketingFee) external onlyOwner {
        marketingFeeOnSelling = _marketingFee;
    }

    function setDistributionStatus(bool _value) public onlyOwner {
        distributeAndLiquifyStatus = _value;
    }

    function enableOrDisableFees(bool _value) external onlyOwner {
        feesStatus = _value;
    }

    function updateAddresses(address _marketingWallet) external onlyOwner {
        marketingWallet = _marketingWallet;
    }

    function enableTrading() external onlyOwner {
        require(!trading, ": already enabled");

        trading = true;
        feesStatus = true;
        distributeAndLiquifyStatus = true;
        launchedAt = block.timestamp;
    }

    function removeStuckEth(address _receiver) public onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

    function totalBuyFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * marketingFeeOnBuying) / (percentDivider);
        return fee;
    }

    function totalSellFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * marketingFeeOnSelling) / (percentDivider);
        return fee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), " approve from the zero address");
        require(spender != address(0), "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), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount > 0, "Amount must be greater than zero");
        if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) {
            require(amount <= maxTxnLimit, " max txn limit exceeds");

            // trading disable till launch
            if (!trading) {
                require(
                    dexPair != from && dexPair != to,
                    ": trading is disable"
                );
            }
        }

        if (!isExcludedFromMaxWallet[to]) {
            require(
                (balanceOf(to) + amount) <= maxHoldLimit,
                ": max hold limit exceeds"
            );
        }

        // swap and liquify
        distributeAndLiquify(from, to);

        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to isExcludedFromFee account then remove the fee
        if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) {
            takeFee = false;
        }

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);
    }

    //this method is responsible for taking all fees, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (dexPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            allFee = totalBuyFeePerTx(amount);
            tTransferAmount = amount - allFee;

            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else if (dexPair == recipient && takeFee) {
            uint256 allFee = totalSellFeePerTx(amount);
            uint256 tTransferAmount = amount - allFee;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else {
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + (amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function takeTokenFee(address sender, uint256 amount) private {
        _balances[address(this)] = _balances[address(this)] + (amount);

        emit Transfer(sender, address(this), amount);
    }

    // to withdarw ETH from contract
    function withdrawETH(uint256 _amount) external onlyOwner {
        require(address(this).balance >= _amount, "Invalid Amount");
        payable(msg.sender).transfer(_amount);
    }

    // to withdraw ERC20 tokens from contract
    function withdrawToken(IERC20 _token, uint256 _amount) external onlyOwner {
        require(_token.balanceOf(address(this)) >= _amount, "Invalid Amount");
        _token.transfer(msg.sender, _amount);
    }

    function distributeAndLiquify(address from, address to) private {
        uint256 contractTokenBalance = balanceOf(address(this));

        bool shouldSell = contractTokenBalance >= minTokenToSwap;

        if (
            shouldSell &&
            from != dexPair &&
            distributeAndLiquifyStatus &&
            !(from == address(this) && to == dexPair) // swap 1 time
        ) {
            // approve contract
            _approve(address(this), address(dexRouter), minTokenToSwap);

            // now is to lock into liquidty pool
            Utils.swapTokensForEth(address(dexRouter), minTokenToSwap);
            uint256 ethForMarketing = address(this).balance;

            // sending Eth to Marketing wallet
            if (ethForMarketing > 0)
                payable(marketingWallet).transfer(ethForMarketing);
        }
    }
}

// Library for swapping on Dex
library Utils {
    function swapTokensForEth(
        address routerAddress,
        uint256 tokenAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // generate the Dex pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp + 300
        );
    }

    function addLiquidity(
        address routerAddress,
        address owner,
        uint256 tokenAmount,
        uint256 ethAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // add the liquidity
        dexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp + 300
        );
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxHoldLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxnLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"_marketingWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260096080908152684d657461544720416960b81b60a0526001906200002a9082620005cd565b506040805180820190915260048152635447416960e01b6020820152600290620000559082620005cd565b506003805460ff191660121790556b033b2e3c9fd0803ce80000006004819055612710906200008690600562000695565b620000929190620006bf565b600a5560646004546002620000a8919062000695565b620000b49190620006bf565b600b5560646004546002620000ca919062000695565b620000d69190620006bf565b600c556064600d5560236012556023601355348015620000f4575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360045460055f6200014b5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f90812094909455601180546001600160a01b0319167391f473912287315c1b7ef0f4e6bd1d6e910e5e20179055600f8054767a250d5630b4cf539739df2c5dacb4c659f2488d0000006301000000600160b81b0319909116178082556301000000908190048316865260078552838620805460ff199081166001908117909255835483900485168852600887528588208054821683179055835483900485168852600987529685902080549097161790955554825163c45a015560e01b81529251949004169263c45a0155926004808401939192918290030181865afa15801562000254573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200027a9190620006df565b6001600160a01b031663c9c6539630600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002db573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003019190620006df565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200034c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003729190620006df565b601080546001600160a01b0319166001600160a01b039290921691821790555f908152600960205260408120805460ff1916600190811790915590600790620003c25f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620004195f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526008909252812080549092166001908117909255600990620004705f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526009909352818320805485166001908117909155601154909116835291208054909216179055620004d85f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200051f91815260200190565b60405180910390a36200070e565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c8575f81815260208120601f850160051c81016020861015620005a35750805b601f850160051c820191505b81811015620005c457828155600101620005af565b5050505b505050565b81516001600160401b03811115620005e957620005e96200052d565b6200060181620005fa845462000541565b846200057b565b602080601f83116001811462000637575f84156200061f5750858301515b5f19600386901b1c1916600185901b178555620005c4565b5f85815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b50858210156200068557878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8082028115828204841417620006b957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82620006da57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006f0575f80fd5b81516001600160a01b038116811462000707575f80fd5b9392505050565b611d57806200071c5f395ff3fe608060405260043610610283575f3560e01c8063950eb5d511610155578063bf56b371116100be578063f097ea1a11610078578063f097ea1a146107c2578063f14210a6146107e1578063f242ab4114610800578063f2fde38b1461081f578063f4b3dbc31461083e578063fe6f1b051461085d575f80fd5b8063bf56b371146106ed578063d1daac5114610702578063dd62ed3e14610721578063ea5b9e8514610765578063ec44acf214610784578063ed421429146107a3575f80fd5b8063a2b8a9471161010f578063a2b8a94714610633578063a457c2d714610652578063a643c1a014610671578063a7c29b4014610690578063a9059cbb146106af578063b0bc2a2d146106ce575f80fd5b8063950eb5d51461057f57806395d89b411461059e57806399b102b5146105b25780639a36dfa1146105e05780639b6a2750146105f55780639e281a9814610614575f80fd5b8063681aa362116101f75780637c6a9a9c116101b15780637c6a9a9c146104e8578063844af78e146104fd5780638756aabd14610512578063879dd3c5146105315780638a8c523c1461054f5780638da5cb5b14610563575f80fd5b8063681aa362146104255780636dd3d39f1461043a57806370a0823114610468578063715018a61461049c57806375f0a874146104b057806379777b4e146104cf575f80fd5b80631884f1e6116102485780631884f1e61461036457806323b872dd14610379578063313ce5671461039857806339509351146103b95780635342acb4146103d8578063679a3c5914610406575f80fd5b806306fdde031461028e5780630758d924146102b8578063095ea7b3146102f65780630a2d140c1461032557806318160ddd14610346575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102a2610872565b6040516102af91906119ed565b60405180910390f35b3480156102c3575f80fd5b50600f546102de90630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b348015610301575f80fd5b50610315610310366004611a4f565b610902565b60405190151581526020016102af565b348015610330575f80fd5b5061034461033f366004611a86565b610918565b005b348015610351575f80fd5b506004545b6040519081526020016102af565b34801561036f575f80fd5b50610356600a5481565b348015610384575f80fd5b50610315610393366004611aa1565b61095d565b3480156103a3575f80fd5b5060035460405160ff90911681526020016102af565b3480156103c4575f80fd5b506103156103d3366004611a4f565b6109ad565b3480156103e3575f80fd5b506103156103f2366004611adf565b60076020525f908152604090205460ff1681565b348015610411575f80fd5b50610344610420366004611adf565b6109e3565b348015610430575f80fd5b50610356600c5481565b348015610445575f80fd5b50610315610454366004611adf565b60096020525f908152604090205460ff1681565b348015610473575f80fd5b50610356610482366004611adf565b6001600160a01b03165f9081526005602052604090205490565b3480156104a7575f80fd5b50610344610a42565b3480156104bb575f80fd5b506011546102de906001600160a01b031681565b3480156104da575f80fd5b50600f546103159060ff1681565b3480156104f3575f80fd5b5061035660125481565b348015610508575f80fd5b5061035660135481565b34801561051d575f80fd5b5061034461052c366004611afa565b610ab3565b34801561053c575f80fd5b50600f5461031590610100900460ff1681565b34801561055a575f80fd5b50610344610af4565b34801561056e575f80fd5b505f546001600160a01b03166102de565b34801561058a575f80fd5b50610344610599366004611afa565b610b81565b3480156105a9575f80fd5b506102a2610baf565b3480156105bd575f80fd5b506103156105cc366004611adf565b60086020525f908152604090205460ff1681565b3480156105eb575f80fd5b50610356600b5481565b348015610600575f80fd5b5061034461060f366004611afa565b610bbe565b34801561061f575f80fd5b5061034461062e366004611a4f565b610bff565b34801561063e575f80fd5b5061034461064d366004611afa565b610d42565b34801561065d575f80fd5b5061031561066c366004611a4f565b610d70565b34801561067c575f80fd5b5061034461068b366004611adf565b610da6565b34801561069b575f80fd5b506103446106aa366004611b11565b610df1565b3480156106ba575f80fd5b506103156106c9366004611a4f565b610e44565b3480156106d9575f80fd5b506103446106e8366004611a86565b610e50565b3480156106f8575f80fd5b50610356600e5481565b34801561070d575f80fd5b5061034461071c366004611b11565b610e93565b34801561072c575f80fd5b5061035661073b366004611b48565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b348015610770575f80fd5b5061034461077f366004611b11565b610ee6565b34801561078f575f80fd5b50600f546103159062010000900460ff1681565b3480156107ae575f80fd5b506103566107bd366004611afa565b610f39565b3480156107cd575f80fd5b506103446107dc366004611afa565b610f5d565b3480156107ec575f80fd5b506103446107fb366004611afa565b610f9e565b34801561080b575f80fd5b506010546102de906001600160a01b031681565b34801561082a575f80fd5b50610344610839366004611adf565b611032565b348015610849575f80fd5b50610356610858366004611afa565b611119565b348015610868575f80fd5b50610356600d5481565b60606001805461088190611b74565b80601f01602080910402602001604051908101604052809291908181526020018280546108ad90611b74565b80156108f85780601f106108cf576101008083540402835291602001916108f8565b820191905f5260205f20905b8154815290600101906020018083116108db57829003601f168201915b5050505050905090565b5f61090e33848461112c565b5060015b92915050565b5f546001600160a01b0316331461094a5760405162461bcd60e51b815260040161094190611bac565b60405180910390fd5b600f805460ff1916911515919091179055565b5f610969848484611238565b6001600160a01b0384165f908152600660209081526040808320338085529252909120546109a391869161099e908690611bf5565b61112c565b5060019392505050565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161090e91859061099e908690611c08565b5f546001600160a01b03163314610a0c5760405162461bcd60e51b815260040161094190611bac565b6040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610a3e573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610a6b5760405162461bcd60e51b815260040161094190611bac565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610adc5760405162461bcd60e51b815260040161094190611bac565b610aee81670de0b6b3a7640000611c1b565b600b5550565b5f546001600160a01b03163314610b1d5760405162461bcd60e51b815260040161094190611bac565b600f5462010000900460ff1615610b6a5760405162461bcd60e51b81526020600482015260116024820152700e88185b1c9958591e48195b98589b1959607a1b6044820152606401610941565b600f805462ffffff19166201010117905542600e55565b5f546001600160a01b03163314610baa5760405162461bcd60e51b815260040161094190611bac565b601255565b60606002805461088190611b74565b5f546001600160a01b03163314610be75760405162461bcd60e51b815260040161094190611bac565b610bf981670de0b6b3a7640000611c1b565b600c5550565b5f546001600160a01b03163314610c285760405162461bcd60e51b815260040161094190611bac565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c909190611c32565b1015610ccf5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610941565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3d9190611c49565b505050565b5f546001600160a01b03163314610d6b5760405162461bcd60e51b815260040161094190611bac565b601355565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161090e91859061099e908690611bf5565b5f546001600160a01b03163314610dcf5760405162461bcd60e51b815260040161094190611bac565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610e1a5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f61090e338484611238565b5f546001600160a01b03163314610e795760405162461bcd60e51b815260040161094190611bac565b600f80549115156101000261ff0019909216919091179055565b5f546001600160a01b03163314610ebc5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610f0f5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f80600d5460125484610f4c9190611c1b565b610f569190611c64565b9392505050565b5f546001600160a01b03163314610f865760405162461bcd60e51b815260040161094190611bac565b610f9881670de0b6b3a7640000611c1b565b600a5550565b5f546001600160a01b03163314610fc75760405162461bcd60e51b815260040161094190611bac565b804710156110085760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610941565b604051339082156108fc029083905f818181858888f19350505050158015610a3e573d5f803e3d5ffd5b5f546001600160a01b0316331461105b5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b0381166110c05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610941565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80600d5460135484610f4c9190611c1b565b6001600160a01b0383166111825760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f206164647265737300006044820152606401610941565b6001600160a01b0382166111d85760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610941565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661128e5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610941565b6001600160a01b0382166112e45760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610941565b5f81116113335760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610941565b6001600160a01b0383165f9081526008602052604090205460ff1615801561137357506001600160a01b0382165f9081526008602052604090205460ff16155b1561144257600c548111156113c35760405162461bcd60e51b8152602060048201526016602482015275206d61782074786e206c696d6974206578636565647360501b6044820152606401610941565b600f5462010000900460ff16611442576010546001600160a01b038481169116148015906113ff57506010546001600160a01b03838116911614155b6114425760405162461bcd60e51b81526020600482015260146024820152733a2074726164696e672069732064697361626c6560601b6044820152606401610941565b6001600160a01b0382165f9081526009602052604090205460ff166114db57600b5481611483846001600160a01b03165f9081526005602052604090205490565b61148d9190611c08565b11156114db5760405162461bcd60e51b815260206004820152601860248201527f3a206d617820686f6c64206c696d6974206578636565647300000000000000006044820152606401610941565b6114e58383611552565b6001600160a01b0383165f9081526007602052604090205460019060ff168061152557506001600160a01b0383165f9081526007602052604090205460ff165b806115385750600f54610100900460ff16155b1561154057505f5b61154c8484848461164d565b50505050565b305f90815260056020526040902054600a548110801590819061158357506010546001600160a01b03858116911614155b80156115915750600f5460ff165b80156115bf57506001600160a01b038416301480156115bd57506010546001600160a01b038481169116145b155b1561154c576115e630600f60039054906101000a90046001600160a01b0316600a5461112c565b600f54600a5461160691630100000090046001600160a01b03169061182d565b478015611646576011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611644573d5f803e3d5ffd5b505b5050505050565b6010546001600160a01b0385811691161480156116675750805b15611744575f8061167784610f39565b91506116838285611bf5565b6001600160a01b0387165f908152600560205260409020549091506116a9908590611bf5565b6001600160a01b038088165f9081526005602052604080822093909355908716815220546116d8908290611c08565b6001600160a01b038087165f8181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061172b9085815260200190565b60405180910390a361173d8683611977565b505061154c565b6010546001600160a01b03848116911614801561175e5750805b1561177a575f61176d83611119565b90505f6116838285611bf5565b6001600160a01b0384165f9081526005602052604090205461179d908390611bf5565b6001600160a01b038086165f9081526005602052604080822093909355908516815220546117cc908390611c08565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061181f9086815260200190565b60405180910390a350505050565b60408051600280825260608201835284925f92919060208301908036833701905050905030815f8151811061186457611864611c83565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e49190611c97565b816001815181106118f7576118f7611c83565b6001600160a01b039283166020918202929092010152821663791ac947845f84306119244261012c611c08565b6040518663ffffffff1660e01b8152600401611944959493929190611cb2565b5f604051808303815f87803b15801561195b575f80fd5b505af115801561196d573d5f803e3d5ffd5b5050505050505050565b305f90815260056020526040902054611991908290611c08565b305f81815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119e19085815260200190565b60405180910390a35050565b5f6020808352835180828501525f5b81811015611a18578581018301518582016040015282016119fc565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611a4c575f80fd5b50565b5f8060408385031215611a60575f80fd5b8235611a6b81611a38565b946020939093013593505050565b8015158114611a4c575f80fd5b5f60208284031215611a96575f80fd5b8135610f5681611a79565b5f805f60608486031215611ab3575f80fd5b8335611abe81611a38565b92506020840135611ace81611a38565b929592945050506040919091013590565b5f60208284031215611aef575f80fd5b8135610f5681611a38565b5f60208284031215611b0a575f80fd5b5035919050565b5f8060408385031215611b22575f80fd5b8235611b2d81611a38565b91506020830135611b3d81611a79565b809150509250929050565b5f8060408385031215611b59575f80fd5b8235611b6481611a38565b91506020830135611b3d81611a38565b600181811c90821680611b8857607f821691505b602082108103611ba657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561091257610912611be1565b8082018082111561091257610912611be1565b808202811582820484141761091257610912611be1565b5f60208284031215611c42575f80fd5b5051919050565b5f60208284031215611c59575f80fd5b8151610f5681611a79565b5f82611c7e57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ca7575f80fd5b8151610f5681611a38565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d005784516001600160a01b031683529383019391830191600101611cdb565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212206d33cb1aded51b2ab6fef91d5f7f60cfa0dbdac8976ae4a25183568d1652540d64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610283575f3560e01c8063950eb5d511610155578063bf56b371116100be578063f097ea1a11610078578063f097ea1a146107c2578063f14210a6146107e1578063f242ab4114610800578063f2fde38b1461081f578063f4b3dbc31461083e578063fe6f1b051461085d575f80fd5b8063bf56b371146106ed578063d1daac5114610702578063dd62ed3e14610721578063ea5b9e8514610765578063ec44acf214610784578063ed421429146107a3575f80fd5b8063a2b8a9471161010f578063a2b8a94714610633578063a457c2d714610652578063a643c1a014610671578063a7c29b4014610690578063a9059cbb146106af578063b0bc2a2d146106ce575f80fd5b8063950eb5d51461057f57806395d89b411461059e57806399b102b5146105b25780639a36dfa1146105e05780639b6a2750146105f55780639e281a9814610614575f80fd5b8063681aa362116101f75780637c6a9a9c116101b15780637c6a9a9c146104e8578063844af78e146104fd5780638756aabd14610512578063879dd3c5146105315780638a8c523c1461054f5780638da5cb5b14610563575f80fd5b8063681aa362146104255780636dd3d39f1461043a57806370a0823114610468578063715018a61461049c57806375f0a874146104b057806379777b4e146104cf575f80fd5b80631884f1e6116102485780631884f1e61461036457806323b872dd14610379578063313ce5671461039857806339509351146103b95780635342acb4146103d8578063679a3c5914610406575f80fd5b806306fdde031461028e5780630758d924146102b8578063095ea7b3146102f65780630a2d140c1461032557806318160ddd14610346575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102a2610872565b6040516102af91906119ed565b60405180910390f35b3480156102c3575f80fd5b50600f546102de90630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b348015610301575f80fd5b50610315610310366004611a4f565b610902565b60405190151581526020016102af565b348015610330575f80fd5b5061034461033f366004611a86565b610918565b005b348015610351575f80fd5b506004545b6040519081526020016102af565b34801561036f575f80fd5b50610356600a5481565b348015610384575f80fd5b50610315610393366004611aa1565b61095d565b3480156103a3575f80fd5b5060035460405160ff90911681526020016102af565b3480156103c4575f80fd5b506103156103d3366004611a4f565b6109ad565b3480156103e3575f80fd5b506103156103f2366004611adf565b60076020525f908152604090205460ff1681565b348015610411575f80fd5b50610344610420366004611adf565b6109e3565b348015610430575f80fd5b50610356600c5481565b348015610445575f80fd5b50610315610454366004611adf565b60096020525f908152604090205460ff1681565b348015610473575f80fd5b50610356610482366004611adf565b6001600160a01b03165f9081526005602052604090205490565b3480156104a7575f80fd5b50610344610a42565b3480156104bb575f80fd5b506011546102de906001600160a01b031681565b3480156104da575f80fd5b50600f546103159060ff1681565b3480156104f3575f80fd5b5061035660125481565b348015610508575f80fd5b5061035660135481565b34801561051d575f80fd5b5061034461052c366004611afa565b610ab3565b34801561053c575f80fd5b50600f5461031590610100900460ff1681565b34801561055a575f80fd5b50610344610af4565b34801561056e575f80fd5b505f546001600160a01b03166102de565b34801561058a575f80fd5b50610344610599366004611afa565b610b81565b3480156105a9575f80fd5b506102a2610baf565b3480156105bd575f80fd5b506103156105cc366004611adf565b60086020525f908152604090205460ff1681565b3480156105eb575f80fd5b50610356600b5481565b348015610600575f80fd5b5061034461060f366004611afa565b610bbe565b34801561061f575f80fd5b5061034461062e366004611a4f565b610bff565b34801561063e575f80fd5b5061034461064d366004611afa565b610d42565b34801561065d575f80fd5b5061031561066c366004611a4f565b610d70565b34801561067c575f80fd5b5061034461068b366004611adf565b610da6565b34801561069b575f80fd5b506103446106aa366004611b11565b610df1565b3480156106ba575f80fd5b506103156106c9366004611a4f565b610e44565b3480156106d9575f80fd5b506103446106e8366004611a86565b610e50565b3480156106f8575f80fd5b50610356600e5481565b34801561070d575f80fd5b5061034461071c366004611b11565b610e93565b34801561072c575f80fd5b5061035661073b366004611b48565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b348015610770575f80fd5b5061034461077f366004611b11565b610ee6565b34801561078f575f80fd5b50600f546103159062010000900460ff1681565b3480156107ae575f80fd5b506103566107bd366004611afa565b610f39565b3480156107cd575f80fd5b506103446107dc366004611afa565b610f5d565b3480156107ec575f80fd5b506103446107fb366004611afa565b610f9e565b34801561080b575f80fd5b506010546102de906001600160a01b031681565b34801561082a575f80fd5b50610344610839366004611adf565b611032565b348015610849575f80fd5b50610356610858366004611afa565b611119565b348015610868575f80fd5b50610356600d5481565b60606001805461088190611b74565b80601f01602080910402602001604051908101604052809291908181526020018280546108ad90611b74565b80156108f85780601f106108cf576101008083540402835291602001916108f8565b820191905f5260205f20905b8154815290600101906020018083116108db57829003601f168201915b5050505050905090565b5f61090e33848461112c565b5060015b92915050565b5f546001600160a01b0316331461094a5760405162461bcd60e51b815260040161094190611bac565b60405180910390fd5b600f805460ff1916911515919091179055565b5f610969848484611238565b6001600160a01b0384165f908152600660209081526040808320338085529252909120546109a391869161099e908690611bf5565b61112c565b5060019392505050565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161090e91859061099e908690611c08565b5f546001600160a01b03163314610a0c5760405162461bcd60e51b815260040161094190611bac565b6040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610a3e573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610a6b5760405162461bcd60e51b815260040161094190611bac565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610adc5760405162461bcd60e51b815260040161094190611bac565b610aee81670de0b6b3a7640000611c1b565b600b5550565b5f546001600160a01b03163314610b1d5760405162461bcd60e51b815260040161094190611bac565b600f5462010000900460ff1615610b6a5760405162461bcd60e51b81526020600482015260116024820152700e88185b1c9958591e48195b98589b1959607a1b6044820152606401610941565b600f805462ffffff19166201010117905542600e55565b5f546001600160a01b03163314610baa5760405162461bcd60e51b815260040161094190611bac565b601255565b60606002805461088190611b74565b5f546001600160a01b03163314610be75760405162461bcd60e51b815260040161094190611bac565b610bf981670de0b6b3a7640000611c1b565b600c5550565b5f546001600160a01b03163314610c285760405162461bcd60e51b815260040161094190611bac565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c909190611c32565b1015610ccf5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610941565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3d9190611c49565b505050565b5f546001600160a01b03163314610d6b5760405162461bcd60e51b815260040161094190611bac565b601355565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161090e91859061099e908690611bf5565b5f546001600160a01b03163314610dcf5760405162461bcd60e51b815260040161094190611bac565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610e1a5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f61090e338484611238565b5f546001600160a01b03163314610e795760405162461bcd60e51b815260040161094190611bac565b600f80549115156101000261ff0019909216919091179055565b5f546001600160a01b03163314610ebc5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610f0f5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f80600d5460125484610f4c9190611c1b565b610f569190611c64565b9392505050565b5f546001600160a01b03163314610f865760405162461bcd60e51b815260040161094190611bac565b610f9881670de0b6b3a7640000611c1b565b600a5550565b5f546001600160a01b03163314610fc75760405162461bcd60e51b815260040161094190611bac565b804710156110085760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610941565b604051339082156108fc029083905f818181858888f19350505050158015610a3e573d5f803e3d5ffd5b5f546001600160a01b0316331461105b5760405162461bcd60e51b815260040161094190611bac565b6001600160a01b0381166110c05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610941565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80600d5460135484610f4c9190611c1b565b6001600160a01b0383166111825760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f206164647265737300006044820152606401610941565b6001600160a01b0382166111d85760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610941565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661128e5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610941565b6001600160a01b0382166112e45760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610941565b5f81116113335760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610941565b6001600160a01b0383165f9081526008602052604090205460ff1615801561137357506001600160a01b0382165f9081526008602052604090205460ff16155b1561144257600c548111156113c35760405162461bcd60e51b8152602060048201526016602482015275206d61782074786e206c696d6974206578636565647360501b6044820152606401610941565b600f5462010000900460ff16611442576010546001600160a01b038481169116148015906113ff57506010546001600160a01b03838116911614155b6114425760405162461bcd60e51b81526020600482015260146024820152733a2074726164696e672069732064697361626c6560601b6044820152606401610941565b6001600160a01b0382165f9081526009602052604090205460ff166114db57600b5481611483846001600160a01b03165f9081526005602052604090205490565b61148d9190611c08565b11156114db5760405162461bcd60e51b815260206004820152601860248201527f3a206d617820686f6c64206c696d6974206578636565647300000000000000006044820152606401610941565b6114e58383611552565b6001600160a01b0383165f9081526007602052604090205460019060ff168061152557506001600160a01b0383165f9081526007602052604090205460ff165b806115385750600f54610100900460ff16155b1561154057505f5b61154c8484848461164d565b50505050565b305f90815260056020526040902054600a548110801590819061158357506010546001600160a01b03858116911614155b80156115915750600f5460ff165b80156115bf57506001600160a01b038416301480156115bd57506010546001600160a01b038481169116145b155b1561154c576115e630600f60039054906101000a90046001600160a01b0316600a5461112c565b600f54600a5461160691630100000090046001600160a01b03169061182d565b478015611646576011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611644573d5f803e3d5ffd5b505b5050505050565b6010546001600160a01b0385811691161480156116675750805b15611744575f8061167784610f39565b91506116838285611bf5565b6001600160a01b0387165f908152600560205260409020549091506116a9908590611bf5565b6001600160a01b038088165f9081526005602052604080822093909355908716815220546116d8908290611c08565b6001600160a01b038087165f8181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061172b9085815260200190565b60405180910390a361173d8683611977565b505061154c565b6010546001600160a01b03848116911614801561175e5750805b1561177a575f61176d83611119565b90505f6116838285611bf5565b6001600160a01b0384165f9081526005602052604090205461179d908390611bf5565b6001600160a01b038086165f9081526005602052604080822093909355908516815220546117cc908390611c08565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061181f9086815260200190565b60405180910390a350505050565b60408051600280825260608201835284925f92919060208301908036833701905050905030815f8151811061186457611864611c83565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e49190611c97565b816001815181106118f7576118f7611c83565b6001600160a01b039283166020918202929092010152821663791ac947845f84306119244261012c611c08565b6040518663ffffffff1660e01b8152600401611944959493929190611cb2565b5f604051808303815f87803b15801561195b575f80fd5b505af115801561196d573d5f803e3d5ffd5b5050505050505050565b305f90815260056020526040902054611991908290611c08565b305f81815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119e19085815260200190565b60405180910390a35050565b5f6020808352835180828501525f5b81811015611a18578581018301518582016040015282016119fc565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611a4c575f80fd5b50565b5f8060408385031215611a60575f80fd5b8235611a6b81611a38565b946020939093013593505050565b8015158114611a4c575f80fd5b5f60208284031215611a96575f80fd5b8135610f5681611a79565b5f805f60608486031215611ab3575f80fd5b8335611abe81611a38565b92506020840135611ace81611a38565b929592945050506040919091013590565b5f60208284031215611aef575f80fd5b8135610f5681611a38565b5f60208284031215611b0a575f80fd5b5035919050565b5f8060408385031215611b22575f80fd5b8235611b2d81611a38565b91506020830135611b3d81611a79565b809150509250929050565b5f8060408385031215611b59575f80fd5b8235611b6481611a38565b91506020830135611b3d81611a38565b600181811c90821680611b8857607f821691505b602082108103611ba657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561091257610912611be1565b8082018082111561091257610912611be1565b808202811582820484141761091257610912611be1565b5f60208284031215611c42575f80fd5b5051919050565b5f60208284031215611c59575f80fd5b8151610f5681611a79565b5f82611c7e57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ca7575f80fd5b8151610f5681611a38565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d005784516001600160a01b031683529383019391830191600101611cdb565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212206d33cb1aded51b2ab6fef91d5f7f60cfa0dbdac8976ae4a25183568d1652540d64736f6c63430008140033

Deployed Bytecode Sourcemap

3303:11751:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6164:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4363:27;;;;;;;;;;-1:-1:-1;4363:27:0;;;;;;;-1:-1:-1;;;;;4363:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;4363:27:0;567:221:1;7052:186:0;;;;;;;;;;-1:-1:-1;7052:186:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;7052:186:0;1249:187:1;9348:115:0;;;;;;;;;;-1:-1:-1;9348:115:0;;;;;:::i;:::-;;:::i;:::-;;6441:100;;;;;;;;;;-1:-1:-1;6521:12:0;;6441:100;;;1956:25:1;;;1944:2;1929:18;6441:100:0;1810:177:1;3835:60:0;;;;;;;;;;;;;;;;7246:350;;;;;;;;;;-1:-1:-1;7246:350:0;;;;;:::i;:::-;;:::i;6350:83::-;;;;;;;;;;-1:-1:-1;6416:9:0;;6350:83;;6416:9;;;;2595:36:1;;2583:2;2568:18;6350:83:0;2453:184:1;7604:292:0;;;;;;;;;;-1:-1:-1;7604:292:0;;;;;:::i;:::-;;:::i;3656:49::-;;;;;;;;;;-1:-1:-1;3656:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9956:129;;;;;;;;;;-1:-1:-1;9956:129:0;;;;;:::i;:::-;;:::i;3998:55::-;;;;;;;;;;;;;;;;3771;;;;;;;;;;-1:-1:-1;3771:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6549:119;;;;;;;;;;-1:-1:-1;6549:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6642:18:0;6615:7;6642:18;;;:9;:18;;;;;;;6549:119;2850:157;;;;;;;;;;;;;:::i;4478:30::-;;;;;;;;;;-1:-1:-1;4478:30:0;;;;-1:-1:-1;;;;;4478:30:0;;;4146:38;;;;;;;;;;-1:-1:-1;4146:38:0;;;;;;;;4653:40;;;;;;;;;;;;;;;;4702:41;;;;;;;;;;;;;;;;8852:109;;;;;;;;;;-1:-1:-1;8852:109:0;;;;;:::i;:::-;;:::i;4242:22::-;;;;;;;;;;-1:-1:-1;4242:22:0;;;;;;;;;;;9709:239;;;;;;;;;;;;;:::i;2636:79::-;;;;;;;;;;-1:-1:-1;2674:7:0;2701:6;-1:-1:-1;;;;;2701:6:0;2636:79;;9084:123;;;;;;;;;;-1:-1:-1;9084:123:0;;;;;:::i;:::-;;:::i;6255:87::-;;;;;;;;;;;;;:::i;3712:52::-;;;;;;;;;;-1:-1:-1;3712:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3923:56;;;;;;;;;;;;;;;;8969:107;;;;;;;;;;-1:-1:-1;8969:107:0;;;;;:::i;:::-;;:::i;13964:209::-;;;;;;;;;;-1:-1:-1;13964:209:0;;;;;:::i;:::-;;:::i;9215:125::-;;;;;;;;;;-1:-1:-1;9215:125:0;;;;;:::i;:::-;;:::i;7904:300::-;;;;;;;;;;-1:-1:-1;7904:300:0;;;;;:::i;:::-;;:::i;9578:123::-;;;;;;;;;;-1:-1:-1;9578:123:0;;;;;:::i;:::-;;:::i;8379:165::-;;;;;;;;;;-1:-1:-1;8379:165:0;;;;;:::i;:::-;;:::i;6676:192::-;;;;;;;;;;-1:-1:-1;6676:192:0;;;;;:::i;:::-;;:::i;9471:99::-;;;;;;;;;;-1:-1:-1;9471:99:0;;;;;:::i;:::-;;:::i;4112:25::-;;;;;;;;;;;;;;;;8552:171;;;;;;;;;;-1:-1:-1;8552:171:0;;;;;:::i;:::-;;:::i;6876:168::-;;;;;;;;;;-1:-1:-1;6876:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7009:18:0;;;6982:7;7009:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6876:168;8212:159;;;;;;;;;;-1:-1:-1;8212:159:0;;;;;:::i;:::-;;:::i;4292:19::-;;;;;;;;;;-1:-1:-1;4292:19:0;;;;;;;;;;;10093:176;;;;;;;;;;-1:-1:-1;10093:176:0;;;;;:::i;:::-;;:::i;8731:113::-;;;;;;;;;;-1:-1:-1;8731:113:0;;;;;:::i;:::-;;:::i;13726:183::-;;;;;;;;;;-1:-1:-1;13726:183:0;;;;;:::i;:::-;;:::i;4421:22::-;;;;;;;;;;-1:-1:-1;4421:22:0;;;;-1:-1:-1;;;;;4421:22:0;;;3015:281;;;;;;;;;;-1:-1:-1;3015:281:0;;;;;:::i;:::-;;:::i;10277:178::-;;;;;;;;;;-1:-1:-1;10277:178:0;;;;;:::i;:::-;;:::i;4070:35::-;;;;;;;;;;;;;;;;6164:83;6201:13;6234:5;6227:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6164:83;:::o;7052:186::-;7152:4;7169:39;2068:10;7192:7;7201:6;7169:8;:39::i;:::-;-1:-1:-1;7226:4:0;7052:186;;;;;:::o;9348:115::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;;;;;;;;;9420:26:::1;:35:::0;;-1:-1:-1;;9420:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9348:115::o;7246:350::-;7378:4;7395:36;7405:6;7413:9;7424:6;7395:9;:36::i;:::-;-1:-1:-1;;;;;7513:19:0;;;;;;:11;:19;;;;;;;;2068:10;7513:33;;;;;;;;;7442:124;;7465:6;;7513:42;;7549:6;;7513:42;:::i;:::-;7442:8;:124::i;:::-;-1:-1:-1;7584:4:0;7246:350;;;;;:::o;7604:292::-;2068:10;7717:4;7806:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7806:34:0;;;;;;;;;;7717:4;;7734:132;;7784:7;;7806:49;;7844:10;;7806:49;:::i;9956:129::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;10027:50:::1;::::0;-1:-1:-1;;;;;10027:27:0;::::1;::::0;10055:21:::1;10027:50:::0;::::1;;;::::0;::::1;::::0;;;10055:21;10027:27;:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9956:129:::0;:::o;2850:157::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;2957:1:::1;2941:6:::0;;2920:40:::1;::::0;-1:-1:-1;;;;;2941:6:0;;::::1;::::0;2920:40:::1;::::0;2957:1;;2920:40:::1;2996:1;2971:28:::0;;-1:-1:-1;;;;;;2971:28:0::1;::::0;;2850:157::o;8852:109::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;8939:14:::1;:7:::0;8949:4:::1;8939:14;:::i;:::-;8924:12;:29:::0;-1:-1:-1;8852:109:0:o;9709:239::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9773:7:::1;::::0;;;::::1;;;9772:8;9764:38;;;::::0;-1:-1:-1;;;9764:38:0;;5916:2:1;9764:38:0::1;::::0;::::1;5898:21:1::0;5955:2;5935:18;;;5928:30;-1:-1:-1;;;5974:18:1;;;5967:47;6031:18;;9764:38:0::1;5714:341:1::0;9764:38:0::1;9815:7;:14:::0;;-1:-1:-1;;9868:33:0;;;;;9925:15:::1;9912:10;:28:::0;9709:239::o;9084:123::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9163:20:::1;:36:::0;9084:123::o;6255:87::-;6294:13;6327:7;6320:14;;;;;:::i;8969:107::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9054:14:::1;:7:::0;9064:4:::1;9054:14;:::i;:::-;9040:11;:28:::0;-1:-1:-1;8969:107:0:o;13964:209::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;14057:31:::1;::::0;-1:-1:-1;;;14057:31:0;;14082:4:::1;14057:31;::::0;::::1;731:51:1::0;14092:7:0;;-1:-1:-1;;;;;14057:16:0;::::1;::::0;::::1;::::0;704:18:1;;14057:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;;14049:69;;;::::0;-1:-1:-1;;;14049:69:0;;6451:2:1;14049:69:0::1;::::0;::::1;6433:21:1::0;6490:2;6470:18;;;6463:30;-1:-1:-1;;;6509:18:1;;;6502:44;6563:18;;14049:69:0::1;6249:338:1::0;14049:69:0::1;14129:36;::::0;-1:-1:-1;;;14129:36:0;;14145:10:::1;14129:36;::::0;::::1;6766:51:1::0;6833:18;;;6826:34;;;-1:-1:-1;;;;;14129:15:0;::::1;::::0;::::1;::::0;6739:18:1;;14129:36:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13964:209:::0;;:::o;9215:125::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9295:21:::1;:37:::0;9215:125::o;7904:300::-;2068:10;8022:4;8111:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8111:34:0;;;;;;;;;;8022:4;;8039:135;;8089:7;;8111:52;;8148:15;;8111:52;:::i;9578:123::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9659:15:::1;:34:::0;;-1:-1:-1;;;;;;9659:34:0::1;-1:-1:-1::0;;;;;9659:34:0;;;::::1;::::0;;;::::1;::::0;;9578:123::o;8379:165::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8499:29:0;;;::::1;;::::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;8499:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8379:165::o;6676:192::-;6779:4;6796:42;2068:10;6820:9;6831:6;6796:9;:42::i;9471:99::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9543:10:::1;:19:::0;;;::::1;;;;-1:-1:-1::0;;9543:19:0;;::::1;::::0;;;::::1;::::0;;9471:99::o;8552:171::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8675:32:0;;;::::1;;::::0;;;:23:::1;:32;::::0;;;;:40;;-1:-1:-1;;8675:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8552:171::o;8212:159::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8329:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;8329:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8212:159::o;10093:176::-;10156:7;10176:11;10225:14;;10200:20;;10191:6;:29;;;;:::i;:::-;10190:50;;;;:::i;:::-;10176:64;10093:176;-1:-1:-1;;;10093:176:0:o;8731:113::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;8822:14:::1;:7:::0;8832:4:::1;8822:14;:::i;:::-;8805;:31:::0;-1:-1:-1;8731:113:0:o;13726:183::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;13827:7:::1;13802:21;:32;;13794:59;;;::::0;-1:-1:-1;;;13794:59:0;;6451:2:1;13794:59:0::1;::::0;::::1;6433:21:1::0;6490:2;6470:18;;;6463:30;-1:-1:-1;;;6509:18:1;;;6502:44;6563:18;;13794:59:0::1;6249:338:1::0;13794:59:0::1;13864:37;::::0;13872:10:::1;::::0;13864:37;::::1;;;::::0;13893:7;;13864:37:::1;::::0;;;13893:7;13872:10;13864:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;3015:281:::0;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3118:22:0;::::1;3096:110;;;::::0;-1:-1:-1;;;3096:110:0;;7545:2:1;3096:110:0::1;::::0;::::1;7527:21:1::0;7584:2;7564:18;;;7557:30;7623:34;7603:18;;;7596:62;-1:-1:-1;;;7674:18:1;;;7667:36;7720:19;;3096:110:0::1;7343:402:1::0;3096:110:0::1;3243:6;::::0;;3222:38:::1;::::0;-1:-1:-1;;;;;3222:38:0;;::::1;::::0;3243:6;::::1;::::0;3222:38:::1;::::0;::::1;3271:6;:17:::0;;-1:-1:-1;;;;;;3271:17:0::1;-1:-1:-1::0;;;;;3271:17:0;;;::::1;::::0;;;::::1;::::0;;3015:281::o;10277:178::-;10341:7;10361:11;10411:14;;10385:21;;10376:6;:30;;;;:::i;10463:324::-;-1:-1:-1;;;;;10556:19:0;;10548:62;;;;-1:-1:-1;;;10548:62:0;;7952:2:1;10548:62:0;;;7934:21:1;7991:2;7971:18;;;7964:30;8030:32;8010:18;;;8003:60;8080:18;;10548:62:0;7750:354:1;10548:62:0;-1:-1:-1;;;;;10629:21:0;;10621:61;;;;-1:-1:-1;;;10621:61:0;;8311:2:1;10621:61:0;;;8293:21:1;8350:2;8330:18;;;8323:30;8389:29;8369:18;;;8362:57;8436:18;;10621:61:0;8109:351:1;10621:61:0;-1:-1:-1;;;;;10695:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10747:32;;1956:25:1;;;10747:32:0;;1929:18:1;10747:32:0;;;;;;;10463:324;;;:::o;10795:1363::-;-1:-1:-1;;;;;10883:18:0;;10875:61;;;;-1:-1:-1;;;10875:61:0;;8667:2:1;10875:61:0;;;8649:21:1;8706:2;8686:18;;;8679:30;8745:32;8725:18;;;8718:60;8795:18;;10875:61:0;8465:354:1;10875:61:0;-1:-1:-1;;;;;10955:16:0;;10947:57;;;;-1:-1:-1;;;10947:57:0;;9026:2:1;10947:57:0;;;9008:21:1;9065:2;9045:18;;;9038:30;9104;9084:18;;;9077:58;9152:18;;10947:57:0;8824:352:1;10947:57:0;11032:1;11023:6;:10;11015:55;;;;-1:-1:-1;;;11015:55:0;;9383:2:1;11015:55:0;;;9365:21:1;;;9402:18;;;9395:30;9461:34;9441:18;;;9434:62;9513:18;;11015:55:0;9181:356:1;11015:55:0;-1:-1:-1;;;;;11086:26:0;;;;;;:20;:26;;;;;;;;11085:27;:56;;;;-1:-1:-1;;;;;;11117:24:0;;;;;;:20;:24;;;;;;;;11116:25;11085:56;11081:380;;;11176:11;;11166:6;:21;;11158:56;;;;-1:-1:-1;;;11158:56:0;;9744:2:1;11158:56:0;;;9726:21:1;9783:2;9763:18;;;9756:30;-1:-1:-1;;;9802:18:1;;;9795:52;9864:18;;11158:56:0;9542:346:1;11158:56:0;11280:7;;;;;;;11275:175;;11338:7;;-1:-1:-1;;;;;11338:15:0;;;:7;;:15;;;;:32;;-1:-1:-1;11357:7:0;;-1:-1:-1;;;;;11357:13:0;;;:7;;:13;;11338:32;11308:126;;;;-1:-1:-1;;;11308:126:0;;10095:2:1;11308:126:0;;;10077:21:1;10134:2;10114:18;;;10107:30;-1:-1:-1;;;10153:18:1;;;10146:50;10213:18;;11308:126:0;9893:344:1;11308:126:0;-1:-1:-1;;;;;11478:27:0;;;;;;:23;:27;;;;;;;;11473:187;;11576:12;;11565:6;11549:13;11559:2;-1:-1:-1;;;;;6642:18:0;6615:7;6642:18;;;:9;:18;;;;;;;6549:119;11549:13;:22;;;;:::i;:::-;11548:40;;11522:126;;;;-1:-1:-1;;;11522:126:0;;10444:2:1;11522:126:0;;;10426:21:1;10483:2;10463:18;;;10456:30;10522:26;10502:18;;;10495:54;10566:18;;11522:126:0;10242:348:1;11522:126:0;11701:30;11722:4;11728:2;11701:20;:30::i;:::-;-1:-1:-1;;;;;11924:23:0;;11805:12;11924:23;;;:17;:23;;;;;;11820:4;;11924:23;;;:48;;-1:-1:-1;;;;;;11951:21:0;;;;;;:17;:21;;;;;;;;11924:48;:63;;;-1:-1:-1;11977:10:0;;;;;;;11976:11;11924:63;11920:111;;;-1:-1:-1;12014:5:0;11920:111;12109:41;12124:4;12130:2;12134:6;12142:7;12109:14;:41::i;:::-;10864:1294;10795:1363;;;:::o;14181:870::-;14305:4;14256:28;6642:18;;;:9;:18;;;;;;14366:14;;14342:38;;;;;;;14411:42;;-1:-1:-1;14446:7:0;;-1:-1:-1;;;;;14438:15:0;;;14446:7;;14438:15;;14411:42;:85;;;;-1:-1:-1;14470:26:0;;;;14411:85;:143;;;;-1:-1:-1;;;;;;14515:21:0;;14531:4;14515:21;:38;;;;-1:-1:-1;14546:7:0;;-1:-1:-1;;;;;14540:13:0;;;14546:7;;14540:13;14515:38;14513:41;14411:143;14393:651;;;14629:59;14646:4;14661:9;;;;;;;;;-1:-1:-1;;;;;14661:9:0;14673:14;;14629:8;:59::i;:::-;14786:9;;14798:14;;14755:58;;14786:9;;;-1:-1:-1;;;;;14786:9:0;;14755:22;:58::i;:::-;14854:21;14944:19;;14940:92;;14990:15;;14982:50;;-1:-1:-1;;;;;14990:15:0;;;;14982:50;;;;;15016:15;;14990;14982:50;14990:15;14982:50;15016:15;14990;14982:50;;;;;;;;;;;;;;;;;;;;;14940:92;14581:463;14245:806;;14181:870;;:::o;12240:1232::-;12395:7;;-1:-1:-1;;;;;12395:17:0;;;:7;;:17;:28;;;;;12416:7;12395:28;12391:1074;;;12440:14;12469:23;12516:24;12533:6;12516:16;:24::i;:::-;12507:33;-1:-1:-1;12573:15:0;12507:33;12573:6;:15;:::i;:::-;-1:-1:-1;;;;;12625:17:0;;;;;;:9;:17;;;;;;12555:33;;-1:-1:-1;12625:26:0;;12645:6;;12625:26;:::i;:::-;-1:-1:-1;;;;;12605:17:0;;;;;;;:9;:17;;;;;;:46;;;;12689:20;;;;;;;:38;;12712:15;;12689:38;:::i;:::-;-1:-1:-1;;;;;12666:20:0;;;;;;;:9;:20;;;;;;;:61;;;;12747:44;;;;;;;;;;12775:15;1956:25:1;;1944:2;1929:18;;1810:177;12747:44:0;;;;;;;;12808:28;12821:6;12829;12808:12;:28::i;:::-;12425:423;;12391:1074;;;12858:7;;-1:-1:-1;;;;;12858:20:0;;;:7;;:20;:31;;;;;12882:7;12858:31;12854:611;;;12906:14;12923:25;12941:6;12923:17;:25::i;:::-;12906:42;-1:-1:-1;12963:23:0;12989:15;12906:42;12989:6;:15;:::i;12854:611::-;-1:-1:-1;;;;;13303:17:0;;;;;;:9;:17;;;;;;:26;;13323:6;;13303:26;:::i;:::-;-1:-1:-1;;;;;13283:17:0;;;;;;;:9;:17;;;;;;:46;;;;13367:20;;;;;;;:31;;13391:6;;13367:31;:::i;:::-;-1:-1:-1;;;;;13344:20:0;;;;;;;:9;:20;;;;;;;:54;;;;13418:35;;;;;;;;;;13446:6;1956:25:1;;1944:2;1929:18;;1810:177;13418:35:0;;;;;;;;12240:1232;;;;:::o;15111:614::-;15367:16;;;15381:1;15367:16;;;;;;;;15260:13;;15226:20;;15367:16;15381:1;15367:16;;;;;;;;;;-1:-1:-1;15367:16:0;15343:40;;15412:4;15394;15399:1;15394:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15394:23:0;;;-1:-1:-1;;;;;15394:23:0;;;;;15438:9;-1:-1:-1;;;;;15438:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15428:4;15433:1;15428:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15428:26:0;;;:7;;;;;;;;;:26;15493:60;;;15568:11;15594:1;15638:4;15665;15685:21;:15;15703:3;15685:21;:::i;:::-;15493:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15215:510;;15111:614;;:::o;13480:200::-;13598:4;13580:24;;;;:9;:24;;;;;;:35;;13608:6;;13580:35;:::i;:::-;13571:4;13553:24;;;;:9;:24;;;;;;;:62;;;;13633:39;;-1:-1:-1;;;;;13633:39:0;;;;;;;13665:6;1956:25:1;;1944:2;1929:18;;1810:177;13633:39:0;;;;;;;;13480:200;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;848:70;793:131;:::o;929:315::-;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1113:9;1100:23;1132:31;1157:5;1132:31;:::i;:::-;1182:5;1234:2;1219:18;;;;1206:32;;-1:-1:-1;;;929:315:1:o;1441:118::-;1527:5;1520:13;1513:21;1506:5;1503:32;1493:60;;1549:1;1546;1539:12;1564:241;1620:6;1673:2;1661:9;1652:7;1648:23;1644:32;1641:52;;;1689:1;1686;1679:12;1641:52;1728:9;1715:23;1747:28;1769:5;1747:28;:::i;1992:456::-;2069:6;2077;2085;2138:2;2126:9;2117:7;2113:23;2109:32;2106:52;;;2154:1;2151;2144:12;2106:52;2193:9;2180:23;2212:31;2237:5;2212:31;:::i;:::-;2262:5;-1:-1:-1;2319:2:1;2304:18;;2291:32;2332:33;2291:32;2332:33;:::i;:::-;1992:456;;2384:7;;-1:-1:-1;;;2438:2:1;2423:18;;;;2410:32;;1992:456::o;2642:247::-;2701:6;2754:2;2742:9;2733:7;2729:23;2725:32;2722:52;;;2770:1;2767;2760:12;2722:52;2809:9;2796:23;2828:31;2853:5;2828:31;:::i;3102:180::-;3161:6;3214:2;3202:9;3193:7;3189:23;3185:32;3182:52;;;3230:1;3227;3220:12;3182:52;-1:-1:-1;3253:23:1;;3102:180;-1:-1:-1;3102:180:1:o;3620:382::-;3685:6;3693;3746:2;3734:9;3725:7;3721:23;3717:32;3714:52;;;3762:1;3759;3752:12;3714:52;3801:9;3788:23;3820:31;3845:5;3820:31;:::i;:::-;3870:5;-1:-1:-1;3927:2:1;3912:18;;3899:32;3940:30;3899:32;3940:30;:::i;:::-;3989:7;3979:17;;;3620:382;;;;;:::o;4007:388::-;4075:6;4083;4136:2;4124:9;4115:7;4111:23;4107:32;4104:52;;;4152:1;4149;4142:12;4104:52;4191:9;4178:23;4210:31;4235:5;4210:31;:::i;:::-;4260:5;-1:-1:-1;4317:2:1;4302:18;;4289:32;4330:33;4289:32;4330:33;:::i;4400:380::-;4479:1;4475:12;;;;4522;;;4543:61;;4597:4;4589:6;4585:17;4575:27;;4543:61;4650:2;4642:6;4639:14;4619:18;4616:38;4613:161;;4696:10;4691:3;4687:20;4684:1;4677:31;4731:4;4728:1;4721:15;4759:4;4756:1;4749:15;4613:161;;4400:380;;;:::o;4785:356::-;4987:2;4969:21;;;5006:18;;;4999:30;5065:34;5060:2;5045:18;;5038:62;5132:2;5117:18;;4785:356::o;5146:127::-;5207:10;5202:3;5198:20;5195:1;5188:31;5238:4;5235:1;5228:15;5262:4;5259:1;5252:15;5278:128;5345:9;;;5366:11;;;5363:37;;;5380:18;;:::i;5411:125::-;5476:9;;;5497:10;;;5494:36;;;5510:18;;:::i;5541:168::-;5614:9;;;5645;;5662:15;;;5656:22;;5642:37;5632:71;;5683:18;;:::i;6060:184::-;6130:6;6183:2;6171:9;6162:7;6158:23;6154:32;6151:52;;;6199:1;6196;6189:12;6151:52;-1:-1:-1;6222:16:1;;6060:184;-1:-1:-1;6060:184:1:o;6871:245::-;6938:6;6991:2;6979:9;6970:7;6966:23;6962:32;6959:52;;;7007:1;7004;6997:12;6959:52;7039:9;7033:16;7058:28;7080:5;7058:28;:::i;7121:217::-;7161:1;7187;7177:132;;7231:10;7226:3;7222:20;7219:1;7212:31;7266:4;7263:1;7256:15;7294:4;7291:1;7284:15;7177:132;-1:-1:-1;7323:9:1;;7121:217::o;10727:127::-;10788:10;10783:3;10779:20;10776:1;10769:31;10819:4;10816:1;10809:15;10843:4;10840:1;10833:15;10859:251;10929:6;10982:2;10970:9;10961:7;10957:23;10953:32;10950:52;;;10998:1;10995;10988:12;10950:52;11030:9;11024:16;11049:31;11074:5;11049:31;:::i;11115:980::-;11377:4;11425:3;11414:9;11410:19;11456:6;11445:9;11438:25;11482:2;11520:6;11515:2;11504:9;11500:18;11493:34;11563:3;11558:2;11547:9;11543:18;11536:31;11587:6;11622;11616:13;11653:6;11645;11638:22;11691:3;11680:9;11676:19;11669:26;;11730:2;11722:6;11718:15;11704:29;;11751:1;11761:195;11775:6;11772:1;11769:13;11761:195;;;11840:13;;-1:-1:-1;;;;;11836:39:1;11824:52;;11931:15;;;;11896:12;;;;11872:1;11790:9;11761:195;;;-1:-1:-1;;;;;;;12012:32:1;;;;12007:2;11992:18;;11985:60;-1:-1:-1;;;12076:3:1;12061:19;12054:35;11973:3;11115:980;-1:-1:-1;;;11115:980:1:o

Swarm Source

ipfs://6d33cb1aded51b2ab6fef91d5f7f60cfa0dbdac8976ae4a25183568d1652540d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.