ETH Price: $3,366.34 (-2.27%)
Gas: 1 Gwei

Contract

0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21
 

Overview

ETH Balance

0.01245782 ETH

Eth Value

$41.94 (@ $3,366.34/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Transfer200910512024-06-14 15:50:2318 days ago1718380223IN
Dogcoin: DOGS Token
0 ETH0.0005228213.55288358
Transfer200496932024-06-08 21:07:3524 days ago1717880855IN
Dogcoin: DOGS Token
0 ETH0.000436166.89427775
Transfer200474912024-06-08 13:44:4724 days ago1717854287IN
Dogcoin: DOGS Token
0 ETH0.0003953610.25515112
Approve200201792024-06-04 18:14:1128 days ago1717524851IN
Dogcoin: DOGS Token
0 ETH0.0007958517.06847444
Transfer199909042024-05-31 16:08:1132 days ago1717171691IN
Dogcoin: DOGS Token
0 ETH0.001528824.16054794
Transfer199780772024-05-29 21:05:1134 days ago1717016711IN
Dogcoin: DOGS Token
0 ETH0.000615029.71954681
Transfer199692702024-05-28 15:30:1135 days ago1716910211IN
Dogcoin: DOGS Token
0 ETH0.0014664523.17510564
Transfer199570152024-05-26 22:24:4737 days ago1716762287IN
Dogcoin: DOGS Token
0 ETH0.000205724.45507866
Approve199483982024-05-25 17:31:3538 days ago1716658295IN
Dogcoin: DOGS Token
0 ETH0.000252345.41902176
Transfer199424602024-05-24 21:35:5939 days ago1716586559IN
Dogcoin: DOGS Token
0 ETH0.000454737.18513462
Transfer199390722024-05-24 10:13:3539 days ago1716545615IN
Dogcoin: DOGS Token
0 ETH0.0002656.87374253
Transfer199233782024-05-22 5:35:3542 days ago1716356135IN
Dogcoin: DOGS Token
0 ETH0.00047998.20506415
Transfer199123962024-05-20 16:41:4743 days ago1716223307IN
Dogcoin: DOGS Token
0 ETH0.0009760116.6871385
Approve199001202024-05-18 23:30:2345 days ago1716075023IN
Dogcoin: DOGS Token
0 ETH0.000065062.6729682
Approve198975212024-05-18 14:47:2345 days ago1716043643IN
Dogcoin: DOGS Token
0 ETH0.000108973.72704709
Approve198975142024-05-18 14:45:5945 days ago1716043559IN
Dogcoin: DOGS Token
0 ETH0.00018333.95678909
Transfer198933292024-05-18 0:41:4746 days ago1715992907IN
Dogcoin: DOGS Token
0 ETH0.000138963.00935504
Transfer198843952024-05-16 18:42:3547 days ago1715884955IN
Dogcoin: DOGS Token
0 ETH0.000199484.31882559
Transfer198778232024-05-15 20:39:1148 days ago1715805551IN
Dogcoin: DOGS Token
0 ETH0.00057259.78817536
Transfer198777402024-05-15 20:22:1148 days ago1715804531IN
Dogcoin: DOGS Token
0 ETH0.000451259.77226366
Transfer198691792024-05-14 15:39:3549 days ago1715701175IN
Dogcoin: DOGS Token
0 ETH0.0006741710.65427072
Transfer198656532024-05-14 3:45:2350 days ago1715658323IN
Dogcoin: DOGS Token
0 ETH0.00021853.7359095
Transfer198624512024-05-13 17:00:4750 days ago1715619647IN
Dogcoin: DOGS Token
0 ETH0.0010996617.37525761
Approve198604962024-05-13 10:27:4750 days ago1715596067IN
Dogcoin: DOGS Token
0 ETH0.00019884.29015073
Transfer198582212024-05-13 2:49:5951 days ago1715568599IN
Dogcoin: DOGS Token
0 ETH0.000182633.95621392
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
170355462023-04-13 1:07:47447 days ago1681348067
Dogcoin: DOGS Token
0.15002039 ETH
170355462023-04-13 1:07:47447 days ago1681348067
Dogcoin: DOGS Token
0.15002039 ETH
170009892023-04-08 3:18:59452 days ago1680923939
Dogcoin: DOGS Token
0.16710852 ETH
170009892023-04-08 3:18:59452 days ago1680923939
Dogcoin: DOGS Token
0.16710852 ETH
169535712023-04-01 10:00:35458 days ago1680343235
Dogcoin: DOGS Token
0.16282399 ETH
169535712023-04-01 10:00:35458 days ago1680343235
Dogcoin: DOGS Token
0.16282399 ETH
169219912023-03-27 23:29:59463 days ago1679959799
Dogcoin: DOGS Token
0.14565685 ETH
169219912023-03-27 23:29:59463 days ago1679959799
Dogcoin: DOGS Token
0.14565685 ETH
169149842023-03-26 23:52:23464 days ago1679874743
Dogcoin: DOGS Token
0.12569005 ETH
169149842023-03-26 23:52:23464 days ago1679874743
Dogcoin: DOGS Token
0.12569005 ETH
168902982023-03-23 12:40:23467 days ago1679575223
Dogcoin: DOGS Token
0.11676132 ETH
168902982023-03-23 12:40:23467 days ago1679575223
Dogcoin: DOGS Token
0.11676132 ETH
168721052023-03-20 23:18:23470 days ago1679354303
Dogcoin: DOGS Token
0.1017118 ETH
168721052023-03-20 23:18:23470 days ago1679354303
Dogcoin: DOGS Token
0.1017118 ETH
168626032023-03-19 15:17:59471 days ago1679239079
Dogcoin: DOGS Token
0.08788903 ETH
168626032023-03-19 15:17:59471 days ago1679239079
Dogcoin: DOGS Token
0.08788903 ETH
168516852023-03-18 2:29:35473 days ago1679106575
Dogcoin: DOGS Token
0.07771419 ETH
168516852023-03-18 2:29:35473 days ago1679106575
Dogcoin: DOGS Token
0.07771419 ETH
168389702023-03-16 7:36:11474 days ago1678952171
Dogcoin: DOGS Token
0.07761868 ETH
168389702023-03-16 7:36:11474 days ago1678952171
Dogcoin: DOGS Token
0.07761868 ETH
167812212023-03-08 4:40:11483 days ago1678250411
Dogcoin: DOGS Token
0.08421962 ETH
167812212023-03-08 4:40:11483 days ago1678250411
Dogcoin: DOGS Token
0.08421962 ETH
167686782023-03-06 10:19:47484 days ago1678097987
Dogcoin: DOGS Token
0.0832751 ETH
167686782023-03-06 10:19:47484 days ago1678097987
Dogcoin: DOGS Token
0.0832751 ETH
167589502023-03-05 1:31:35486 days ago1677979895
Dogcoin: DOGS Token
0.07723067 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DogCoin

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-17
*/

// SPDX-License-Identifier: NOLICENSE
pragma solidity ^0.8.0;

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

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

contract DogCoin is Context, IERC20, Ownable {

    mapping (address => uint256) private _balance;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    bool public swapEnabled;
    bool private swapping;

    IRouter public router;
    address public pair;

    uint8 private constant DECIMALS = 9;
    uint256 private constant MAX = ~uint256(0);

    uint256 private constant T_TOTAL = 1e15 * 10**DECIMALS;

    uint256 public swapTokensAtAmount = 200_000_000_000 * 10**DECIMALS;

    
    address public constant ZERO_ADDRESS = address(0);
    address public marketingAddress = ZERO_ADDRESS;

    string private constant NAME = "Dogcoin";
    string private constant SYMBOL = "DOGS";


    enum ETransferType {
        Sell,
        Buy,
        Transfer
    }

    struct Taxes {
        uint16 marketing;
        uint16 liquidity;
    }

    Taxes public transferTaxes = Taxes(0,0);
    uint8 public buyTaxesTier;
    Taxes public buyTaxes;
    uint8 public sellTaxesTier;
    Taxes public sellTaxes;

    struct TotFeesPaidStruct{
        uint256 marketing;
        uint256 liquidity;
    }
    TotFeesPaidStruct public totFeesPaid;

    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;
        
        _balance[owner()] = T_TOTAL;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[marketingAddress]=true;
        etx(2);

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

    //std ERC20:
    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;
    }

    //override ERC20:
    function totalSupply() public pure override returns (uint256) {
        return T_TOTAL;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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 virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            _approve(sender, _msgSender(), currentAllowance - 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) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }


    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");
        
        ETransferType transferType = ETransferType.Transfer;
        address trader = address(0);
        Taxes memory usedTaxes = transferTaxes;
        bool traderExcludedFromFee = false;
        if (to == pair) {
            transferType = ETransferType.Sell;
            trader = from;
            usedTaxes = sellTaxes;
            traderExcludedFromFee = _isExcludedFromFee[trader];
        } else if (from == pair) {
            transferType = ETransferType.Buy;
            trader = to;
            usedTaxes = buyTaxes;
            traderExcludedFromFee = _isExcludedFromFee[trader];
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;
        if(transferType != ETransferType.Buy && !swapping && swapEnabled && canSwap && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            swapAndLiquify(swapTokensAtAmount);
        }

        if (transferType == ETransferType.Transfer ||
                traderExcludedFromFee ||
                usedTaxes.marketing + usedTaxes.liquidity == 0) {
            taxFreeTransfer(from, to, amount);
        } else {
            _tokenTransfer(from, to, amount, usedTaxes);
        }
    }


    // this method is responsible for taking all fee
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, Taxes memory usedTaxes) private {

        uint256 tTransferAmount = tAmount;
        
        if(usedTaxes.liquidity != 0) {
            uint256 tLiquidity = tAmount * usedTaxes.liquidity / 10000;
            if (tLiquidity != 0) {
                tTransferAmount -= tLiquidity;
                totFeesPaid.liquidity += tLiquidity;
                _addBalance(address(this), tLiquidity);
                emit Transfer(sender, address(this), tLiquidity);
            }
        }
        if (usedTaxes.marketing != 0) {
            uint256 tMarketing = tAmount * usedTaxes.marketing / 10000;
            if (tMarketing != 0) {
                tTransferAmount -= tMarketing;
                totFeesPaid.marketing += tMarketing;
                _addBalance(marketingAddress, tMarketing);
                emit Transfer(sender, marketingAddress, tMarketing);
            }
        }


        _reduceBalance(sender, tAmount);
        if (tTransferAmount != 0) {
            _addBalance(recipient, tTransferAmount);
            emit Transfer(sender, recipient, tTransferAmount);
        }
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap{
         //calculate how many tokens we need to exchange
        uint256 tokensToSwap = contractTokenBalance / 2;
        uint256 otherHalfOfTokens = tokensToSwap;
        uint256 initialBalance = address(this).balance;
        swapTokensForBNB(tokensToSwap, address(this));
        uint256 newBalance = address(this).balance - (initialBalance);
        addLiquidity(otherHalfOfTokens, newBalance);
    }

    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);

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

    function swapTokensForBNB(uint256 tokenAmount, address recipient) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            payable(recipient),
            block.timestamp
        );
    }

    function getTaxesValueByTier(uint8 tier) private view returns(uint16, uint16) {
        if (tier == 0) {
            return (0, 0);
        }
        if (tier == 1) {
            if (marketingAddress == ZERO_ADDRESS) {
                return (0, 40);
            }
            return (20, 20);
        }
        
        if (marketingAddress == ZERO_ADDRESS) {
            return (0, 500);
        }
        return (200, 300);
    }

    function checkAndUpdateTaxes(bool buyChanged, bool sellChanged) private {
        if (buyChanged) {
            (uint16 v1, uint16 v2) = getTaxesValueByTier(buyTaxesTier);
            buyTaxes = Taxes(v1, v2);
        }
        if (sellChanged) {
            (uint16 v1, uint16 v2) = getTaxesValueByTier(sellTaxesTier);
            sellTaxes = Taxes(v1, v2);
        }
    }

    function updateMarketingWallet(address newWallet) external onlyOwner{
        require(marketingAddress != newWallet, "Wallet already set");
        marketingAddress = newWallet;
        _isExcludedFromFee[marketingAddress] = true;
        checkAndUpdateTaxes(true, true);
    }

    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**DECIMALS;
    }

    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }
    
    function updateRouterAndPair(address newRouter, address newPair) external onlyOwner{
        router = IRouter(newRouter);
        pair = newPair;
    }
    
    function taxFreeTransfer(address sender, address recipient, uint256 tAmount) internal {
        _reduceBalance(sender, tAmount);
        _addBalance(recipient, tAmount);

        emit Transfer(sender, recipient, tAmount);
    }

    function _addBalance(address account, uint256 tAmount) private {
        _balance[account] += tAmount;
    }

    function _reduceBalance(address account, uint256 tAmount) private {
        _balance[account] -= tAmount;
    }
    
    function airdropTokens(address[] memory accounts, uint256[] memory amounts) external onlyOwner{
        require(accounts.length == amounts.length, "Arrays must have the same size");
        for(uint256 i= 0; i < accounts.length; i++){
            taxFreeTransfer(msg.sender, accounts[i], amounts[i] * 10**DECIMALS);
        }
    }
    

    function dtx() public onlyOwner{
        buyTaxesTier = 0;
        sellTaxesTier = 0;
        checkAndUpdateTaxes(true, true);
    }

    function etx(uint8 taxesTier) public onlyOwner{
        require(taxesTier > 0 && taxesTier <=2);
        buyTaxesTier = taxesTier;
        sellTaxesTier = taxesTier;
        checkAndUpdateTaxes(true, true);
    }

    function etxBuy(uint8 taxesTier) public onlyOwner{
        require(taxesTier > 0 && taxesTier <=2);
        buyTaxesTier = taxesTier;
        checkAndUpdateTaxes(true, false);
    }

    function etxSell(uint8 taxesTier) public onlyOwner{
        require(taxesTier > 0 && taxesTier <=2);
        sellTaxesTier = taxesTier;
        checkAndUpdateTaxes(false, true);
    }

    function dtxBuy() public onlyOwner{
        buyTaxesTier = 0;
        checkAndUpdateTaxes(true, false);
    }

    function dtxSell() public onlyOwner{
        sellTaxesTier = 0;
        checkAndUpdateTaxes(false, true);
    }

    //Use this in case BNB are sent to the contract by mistake
    function rescueBNB(uint256 weiAmount) external onlyOwner{
        require(address(this).balance >= weiAmount, "insufficient BNB balance");
        payable(msg.sender).transfer(weiAmount);
    }
    
    // Function to allow admin to claim *other* BEP20 tokens sent to this contract (by mistake)
    // Owner cannot transfer out self from this smart contract
    function rescueAnyBEP20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
        require(_tokenAddr != address(this), "Cannot transfer out self!");
        IERC20(_tokenAddr).transfer(_to, _amount);
    }

    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ZERO_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxes","outputs":[{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"liquidity","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxesTier","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"dtx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dtxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dtxSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"taxesTier","type":"uint8"}],"name":"etx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"taxesTier","type":"uint8"}],"name":"etxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"taxesTier","type":"uint8"}],"name":"etxSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","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":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyBEP20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"liquidity","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxesTier","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTaxes","outputs":[{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"liquidity","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620006ac565b6200002390642e90edd000620006c4565b600655600780546001600160a01b03191690556040805180820190915260008082526020909101526008805463ffffffff191690553480156200006557600080fd5b5060405162002a7c38038062002a7c8339810160408190526200008891620006de565b620000933362000359565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ff9190620006de565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001739190620006de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e79190620006de565b6004805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600580546001600160a01b0319169183169190911790559050620002386009600a620006ac565b6200024b9066038d7ea4c68000620006c4565b60016000620002626000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600360006200029c620003a960201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560075490911681526003909252902080549091166001179055620002ef6002620003b8565b600080546001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200032c6009600a620006ac565b6200033f9066038d7ea4c68000620006c4565b60405190815260200160405180910390a350505062000709565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031690565b6000546001600160a01b03163314620004175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b60008160ff161180156200042f575060028160ff1611155b6200043957600080fd5b6009805460ff831660ff199182168117909255600b805490911690911790556200046560018062000468565b50565b8115620004c1576009546000908190620004859060ff166200051e565b6040805180820190915261ffff928316808252929091166020909101819052600a80546201000090920263ffffffff1990921690921717905550505b80156200051a57600b546000908190620004de9060ff166200051e565b6040805180820190915261ffff928316808252929091166020909101819052600c80546201000090920263ffffffff1990921690921717905550505b5050565b6000808260ff166000036200053857506000928392509050565b8260ff166001036200056c576007546001600160a01b0316620005615750600092602892509050565b506014928392509050565b6007546001600160a01b03166200058a57506000926101f492509050565b5060c89261012c92509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005ee578160001904821115620005d257620005d262000597565b80851615620005e057918102915b93841c9390800290620005b2565b509250929050565b6000826200060757506001620006a6565b816200061657506000620006a6565b81600181146200062f57600281146200063a576200065a565b6001915050620006a6565b60ff8411156200064e576200064e62000597565b50506001821b620006a6565b5060208310610133831016604e8410600b84101617156200067f575081810a620006a6565b6200068b8383620005ad565b8060001904821115620006a257620006a262000597565b0290505b92915050565b6000620006bd60ff841683620005f6565b9392505050565b8082028115828204841417620006a657620006a662000597565b600060208284031215620006f157600080fd5b81516001600160a01b0381168114620006bd57600080fd5b61236380620007196000396000f3fe6080604052600436106102555760003560e01c80638da5cb5b11610139578063b2ca2f06116100b6578063e2f456051161007a578063e2f4560514610789578063ea2f0b371461079f578063f2fde38b146107bf578063f66895a3146107df578063f887ea4014610804578063f90dfee51461082a57600080fd5b8063b2ca2f06146106d9578063cd4c7d90146106ee578063d257b34f14610703578063d54adc8414610723578063dd62ed3e1461074357600080fd5b8063a457c2d7116100fd578063a457c2d714610639578063a5ece94114610659578063a8aa1b3114610679578063a9059cbb14610699578063aacebbe3146106b957600080fd5b80638da5cb5b14610584578063924de9b7146105a257806395d89b41146105c25780639ba5e4d5146105ef5780639dbcb1d61461061f57600080fd5b8063441b1d30116101d2578063538ba4f911610196578063538ba4f9146104ad5780636ddd1713146104da578063706f6937146104f457806370a0823114610514578063715018a61461054a578063864701a51461055f57600080fd5b8063441b1d30146103d457806347c23092146103f45780634ac92b27146104145780635331803c146104345780635342acb41461047457600080fd5b8063313ce56711610219578063313ce56714610338578063394207311461035a578063395093511461037457806340b28c2f14610394578063437823ec146103b457600080fd5b80630444a3731461026157806306fdde0314610283578063095ea7b3146102c557806318160ddd146102f557806323b872dd1461031857600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061028161027c366004611d04565b61083f565b005b34801561028f57600080fd5b506040805180820190915260078152662237b3b1b7b4b760c91b60208201525b6040516102bc9190611d2e565b60405180910390f35b3480156102d157600080fd5b506102e56102e0366004611d91565b6108b0565b60405190151581526020016102bc565b34801561030157600080fd5b5061030a6108c7565b6040519081526020016102bc565b34801561032457600080fd5b506102e5610333366004611dbd565b6108eb565b34801561034457600080fd5b5060095b60405160ff90911681526020016102bc565b34801561036657600080fd5b50600b546103489060ff1681565b34801561038057600080fd5b506102e561038f366004611d91565b6109a5565b3480156103a057600080fd5b506102816103af366004611dfe565b6109dc565b3480156103c057600080fd5b506102816103cf366004611e37565b610a40565b3480156103e057600080fd5b506102816103ef366004611e54565b610a8e565b34801561040057600080fd5b5061028161040f366004611dbd565b610b39565b34801561042057600080fd5b5061028161042f366004611d04565b610c34565b34801561044057600080fd5b506008546104599061ffff808216916201000090041682565b6040805161ffff9384168152929091166020830152016102bc565b34801561048057600080fd5b506102e561048f366004611e37565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156104b957600080fd5b506104c2600081565b6040516001600160a01b0390911681526020016102bc565b3480156104e657600080fd5b506004546102e59060ff1681565b34801561050057600080fd5b5061028161050f366004611f43565b610ca8565b34801561052057600080fd5b5061030a61052f366004611e37565b6001600160a01b031660009081526001602052604090205490565b34801561055657600080fd5b50610281610d9b565b34801561056b57600080fd5b50600a546104599061ffff808216916201000090041682565b34801561059057600080fd5b506000546001600160a01b03166104c2565b3480156105ae57600080fd5b506102816105bd366004612013565b610dd1565b3480156105ce57600080fd5b50604080518082019091526004815263444f475360e01b60208201526102af565b3480156105fb57600080fd5b50600d54600e5461060a919082565b604080519283526020830191909152016102bc565b34801561062b57600080fd5b506009546103489060ff1681565b34801561064557600080fd5b506102e5610654366004611d91565b610e0e565b34801561066557600080fd5b506007546104c2906001600160a01b031681565b34801561068557600080fd5b506005546104c2906001600160a01b031681565b3480156106a557600080fd5b506102e56106b4366004611d91565b610ea9565b3480156106c557600080fd5b506102816106d4366004611e37565b610eb6565b3480156106e557600080fd5b50610281610f76565b3480156106fa57600080fd5b50610281610fc1565b34801561070f57600080fd5b5061028161071e366004611e54565b611001565b34801561072f57600080fd5b5061028161073e366004611d04565b611047565b34801561074f57600080fd5b5061030a61075e366004611dfe565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561079557600080fd5b5061030a60065481565b3480156107ab57600080fd5b506102816107ba366004611e37565b6110ac565b3480156107cb57600080fd5b506102816107da366004611e37565b6110f7565b3480156107eb57600080fd5b50600c546104599061ffff808216916201000090041682565b34801561081057600080fd5b506004546104c2906201000090046001600160a01b031681565b34801561083657600080fd5b5061028161118f565b6000546001600160a01b031633146108725760405162461bcd60e51b815260040161086990612030565b60405180910390fd5b60008160ff16118015610889575060028160ff1611155b61089257600080fd5b6009805460ff191660ff83161790556108ad600160006111cb565b50565b60006108bd33848461127a565b5060015b92915050565b60006108d56009600a61215f565b6108e69066038d7ea4c6800061216e565b905090565b60006108f884848461139f565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019811461099a57828110156109865760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610869565b61099a85336109958685612185565b61127a565b506001949350505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916108bd918590610995908690612198565b6000546001600160a01b03163314610a065760405162461bcd60e51b815260040161086990612030565b6004805462010000600160b01b031916620100006001600160a01b0394851602179055600580546001600160a01b03191691909216179055565b6000546001600160a01b03163314610a6a5760405162461bcd60e51b815260040161086990612030565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610ab85760405162461bcd60e51b815260040161086990612030565b80471015610b085760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e7420424e422062616c616e636500000000000000006044820152606401610869565b604051339082156108fc029083906000818181858888f19350505050158015610b35573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610b635760405162461bcd60e51b815260040161086990612030565b306001600160a01b03841603610bbb5760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f74207472616e73666572206f75742073656c6621000000000000006044820152606401610869565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e91906121ab565b50505050565b6000546001600160a01b03163314610c5e5760405162461bcd60e51b815260040161086990612030565b60008160ff16118015610c75575060028160ff1611155b610c7e57600080fd5b6009805460ff831660ff199182168117909255600b805490911690911790556108ad6001806111cb565b6000546001600160a01b03163314610cd25760405162461bcd60e51b815260040161086990612030565b8051825114610d235760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a6500006044820152606401610869565b60005b8251811015610d9657610d8433848381518110610d4557610d456121c8565b60200260200101516009600a610d5b919061215f565b858581518110610d6d57610d6d6121c8565b6020026020010151610d7f919061216e565b611751565b80610d8e816121de565b915050610d26565b505050565b6000546001600160a01b03163314610dc55760405162461bcd60e51b815260040161086990612030565b610dcf6000611798565b565b6000546001600160a01b03163314610dfb5760405162461bcd60e51b815260040161086990612030565b6004805460ff1916911515919091179055565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610e905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610869565b610e9f33856109958685612185565b5060019392505050565b60006108bd33848461139f565b6000546001600160a01b03163314610ee05760405162461bcd60e51b815260040161086990612030565b6007546001600160a01b03808316911603610f325760405162461bcd60e51b815260206004820152601260248201527115d85b1b195d08185b1c9958591e481cd95d60721b6044820152606401610869565b600780546001600160a01b0319166001600160a01b0383169081179091556000908152600360205260409020805460ff191660019081179091556108ad90806111cb565b6000546001600160a01b03163314610fa05760405162461bcd60e51b815260040161086990612030565b6009805460ff19908116909155600b80549091169055610dcf6001806111cb565b6000546001600160a01b03163314610feb5760405162461bcd60e51b815260040161086990612030565b600b805460ff19169055610dcf600060016111cb565b6000546001600160a01b0316331461102b5760405162461bcd60e51b815260040161086990612030565b6110376009600a61215f565b611041908261216e565b60065550565b6000546001600160a01b031633146110715760405162461bcd60e51b815260040161086990612030565b60008160ff16118015611088575060028160ff1611155b61109157600080fd5b600b805460ff191660ff83161790556108ad600060016111cb565b6000546001600160a01b031633146110d65760405162461bcd60e51b815260040161086990612030565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b031633146111215760405162461bcd60e51b815260040161086990612030565b6001600160a01b0381166111865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610869565b6108ad81611798565b6000546001600160a01b031633146111b95760405162461bcd60e51b815260040161086990612030565b6009805460ff19169055610dcf600160005b81156112215760095460009081906111e59060ff166117e8565b6040805180820190915261ffff928316808252929091166020909101819052600a80546201000090920263ffffffff1990921690921717905550505b8015610b3557600b54600090819061123b9060ff166117e8565b6040805180820190915261ffff928316808252929091166020909101819052600c80546201000090920263ffffffff1990921690921717905550505050565b6001600160a01b0383166112dc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b03821661133d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166114035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b0382166114655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b600081116114c75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610869565b6001600160a01b0383166000908152600160205260409020548111156115495760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610869565b6040805180820190915260085461ffff80821683526201000090910416602082015260055460029160009182906001600160a01b03908116908716036115d7575050604080518082018252600c5461ffff808216835262010000909104166020808301919091526001600160a01b03881660009081526003909152918220549193508692509060ff16611638565b6005546001600160a01b0390811690881603611638575050604080518082018252600a5461ffff808216835262010000909104166020808301919091526001600160a01b0387166000908152600390915291909120546001935085925060ff165b600654306000908152600160205260408120549091111590506001856002811115611665576116656121f7565b1415801561167b5750600454610100900460ff16155b8015611689575060045460ff165b80156116925750805b80156116b757506001600160a01b03881660009081526003602052604090205460ff16155b80156116dc57506001600160a01b03871660009081526003602052604090205460ff16155b156116ec576116ec60065461185d565b6002856002811115611700576117006121f7565b14806117095750815b80611726575060208301518351611720919061220d565b61ffff16155b1561173b57611736888888611751565b611747565b611747888888866118b1565b5050505050505050565b61175b8382611a51565b6117658282611a82565b816001600160a01b0316836001600160a01b031660008051602061230e8339815191528360405161139291815260200190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260ff1660000361180157506000928392509050565b8260ff16600103611833576007546001600160a01b03166118285750600092602892509050565b506014928392509050565b6007546001600160a01b031661185057506000926101f492509050565b5060c89261012c92509050565b6004805461ff001916610100179055600061187960028361222f565b905080476118878230611aaa565b60006118938247612185565b905061189f8382611c29565b50506004805461ff0019169055505050565b6020810151829061ffff161561194e576000612710836020015161ffff16856118da919061216e565b6118e4919061222f565b9050801561194c576118f68183612185565b915080600d600101600082825461190d9190612198565b9091555061191d90503082611a82565b60405181815230906001600160a01b0388169060008051602061230e8339815191529060200160405180910390a35b505b815161ffff16156119f4578151600090612710906119709061ffff168661216e565b61197a919061222f565b905080156119f25761198c8183612185565b915080600d60000160008282546119a39190612198565b90915550506007546119be906001600160a01b031682611a82565b6007546040518281526001600160a01b039182169188169060008051602061230e8339815191529060200160405180910390a35b505b6119fe8584611a51565b8015611a4a57611a0e8482611a82565b836001600160a01b0316856001600160a01b031660008051602061230e83398151915283604051611a4191815260200190565b60405180910390a35b5050505050565b6001600160a01b03821660009081526001602052604081208054839290611a79908490612185565b90915550505050565b6001600160a01b03821660009081526001602052604081208054839290611a79908490612198565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611adf57611adf6121c8565b60200260200101906001600160a01b031690816001600160a01b031681525050600460029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b769190612251565b81600181518110611b8957611b896121c8565b6001600160a01b039283166020918202929092010152600454611bb5913091620100009004168561127a565b6004805460405163791ac94760e01b8152620100009091046001600160a01b03169163791ac94791611bf29187916000918791899142910161226e565b600060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b50505050505050565b600454611c479030906201000090046001600160a01b03168461127a565b6004546001600160a01b03620100009091041663f305d719823085600080611c776000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611cdf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a4a91906122df565b600060208284031215611d1657600080fd5b813560ff81168114611d2757600080fd5b9392505050565b600060208083528351808285015260005b81811015611d5b57858101830151858201604001528201611d3f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108ad57600080fd5b60008060408385031215611da457600080fd5b8235611daf81611d7c565b946020939093013593505050565b600080600060608486031215611dd257600080fd5b8335611ddd81611d7c565b92506020840135611ded81611d7c565b929592945050506040919091013590565b60008060408385031215611e1157600080fd5b8235611e1c81611d7c565b91506020830135611e2c81611d7c565b809150509250929050565b600060208284031215611e4957600080fd5b8135611d2781611d7c565b600060208284031215611e6657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611eac57611eac611e6d565b604052919050565b600067ffffffffffffffff821115611ece57611ece611e6d565b5060051b60200190565b600082601f830112611ee957600080fd5b81356020611efe611ef983611eb4565b611e83565b82815260059290921b84018101918181019086841115611f1d57600080fd5b8286015b84811015611f385780358352918301918301611f21565b509695505050505050565b60008060408385031215611f5657600080fd5b823567ffffffffffffffff80821115611f6e57600080fd5b818501915085601f830112611f8257600080fd5b81356020611f92611ef983611eb4565b82815260059290921b84018101918181019089841115611fb157600080fd5b948201945b83861015611fd8578535611fc981611d7c565b82529482019490820190611fb6565b96505086013592505080821115611fee57600080fd5b50611ffb85828601611ed8565b9150509250929050565b80151581146108ad57600080fd5b60006020828403121561202557600080fd5b8135611d2781612005565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156120b657816000190482111561209c5761209c612065565b808516156120a957918102915b93841c9390800290612080565b509250929050565b6000826120cd575060016108c1565b816120da575060006108c1565b81600181146120f057600281146120fa57612116565b60019150506108c1565b60ff84111561210b5761210b612065565b50506001821b6108c1565b5060208310610133831016604e8410600b8410161715612139575081810a6108c1565b612143838361207b565b806000190482111561215757612157612065565b029392505050565b6000611d2760ff8416836120be565b80820281158282048414176108c1576108c1612065565b818103818111156108c1576108c1612065565b808201808211156108c1576108c1612065565b6000602082840312156121bd57600080fd5b8151611d2781612005565b634e487b7160e01b600052603260045260246000fd5b6000600182016121f0576121f0612065565b5060010190565b634e487b7160e01b600052602160045260246000fd5b61ffff81811683821601908082111561222857612228612065565b5092915050565b60008261224c57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561226357600080fd5b8151611d2781611d7c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122be5784516001600160a01b031683529383019391830191600101612299565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156122f457600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220bcf95025357001b60d6879ea40a9578042e5781de42414a806ca59548d09d56f64736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102555760003560e01c80638da5cb5b11610139578063b2ca2f06116100b6578063e2f456051161007a578063e2f4560514610789578063ea2f0b371461079f578063f2fde38b146107bf578063f66895a3146107df578063f887ea4014610804578063f90dfee51461082a57600080fd5b8063b2ca2f06146106d9578063cd4c7d90146106ee578063d257b34f14610703578063d54adc8414610723578063dd62ed3e1461074357600080fd5b8063a457c2d7116100fd578063a457c2d714610639578063a5ece94114610659578063a8aa1b3114610679578063a9059cbb14610699578063aacebbe3146106b957600080fd5b80638da5cb5b14610584578063924de9b7146105a257806395d89b41146105c25780639ba5e4d5146105ef5780639dbcb1d61461061f57600080fd5b8063441b1d30116101d2578063538ba4f911610196578063538ba4f9146104ad5780636ddd1713146104da578063706f6937146104f457806370a0823114610514578063715018a61461054a578063864701a51461055f57600080fd5b8063441b1d30146103d457806347c23092146103f45780634ac92b27146104145780635331803c146104345780635342acb41461047457600080fd5b8063313ce56711610219578063313ce56714610338578063394207311461035a578063395093511461037457806340b28c2f14610394578063437823ec146103b457600080fd5b80630444a3731461026157806306fdde0314610283578063095ea7b3146102c557806318160ddd146102f557806323b872dd1461031857600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061028161027c366004611d04565b61083f565b005b34801561028f57600080fd5b506040805180820190915260078152662237b3b1b7b4b760c91b60208201525b6040516102bc9190611d2e565b60405180910390f35b3480156102d157600080fd5b506102e56102e0366004611d91565b6108b0565b60405190151581526020016102bc565b34801561030157600080fd5b5061030a6108c7565b6040519081526020016102bc565b34801561032457600080fd5b506102e5610333366004611dbd565b6108eb565b34801561034457600080fd5b5060095b60405160ff90911681526020016102bc565b34801561036657600080fd5b50600b546103489060ff1681565b34801561038057600080fd5b506102e561038f366004611d91565b6109a5565b3480156103a057600080fd5b506102816103af366004611dfe565b6109dc565b3480156103c057600080fd5b506102816103cf366004611e37565b610a40565b3480156103e057600080fd5b506102816103ef366004611e54565b610a8e565b34801561040057600080fd5b5061028161040f366004611dbd565b610b39565b34801561042057600080fd5b5061028161042f366004611d04565b610c34565b34801561044057600080fd5b506008546104599061ffff808216916201000090041682565b6040805161ffff9384168152929091166020830152016102bc565b34801561048057600080fd5b506102e561048f366004611e37565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156104b957600080fd5b506104c2600081565b6040516001600160a01b0390911681526020016102bc565b3480156104e657600080fd5b506004546102e59060ff1681565b34801561050057600080fd5b5061028161050f366004611f43565b610ca8565b34801561052057600080fd5b5061030a61052f366004611e37565b6001600160a01b031660009081526001602052604090205490565b34801561055657600080fd5b50610281610d9b565b34801561056b57600080fd5b50600a546104599061ffff808216916201000090041682565b34801561059057600080fd5b506000546001600160a01b03166104c2565b3480156105ae57600080fd5b506102816105bd366004612013565b610dd1565b3480156105ce57600080fd5b50604080518082019091526004815263444f475360e01b60208201526102af565b3480156105fb57600080fd5b50600d54600e5461060a919082565b604080519283526020830191909152016102bc565b34801561062b57600080fd5b506009546103489060ff1681565b34801561064557600080fd5b506102e5610654366004611d91565b610e0e565b34801561066557600080fd5b506007546104c2906001600160a01b031681565b34801561068557600080fd5b506005546104c2906001600160a01b031681565b3480156106a557600080fd5b506102e56106b4366004611d91565b610ea9565b3480156106c557600080fd5b506102816106d4366004611e37565b610eb6565b3480156106e557600080fd5b50610281610f76565b3480156106fa57600080fd5b50610281610fc1565b34801561070f57600080fd5b5061028161071e366004611e54565b611001565b34801561072f57600080fd5b5061028161073e366004611d04565b611047565b34801561074f57600080fd5b5061030a61075e366004611dfe565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561079557600080fd5b5061030a60065481565b3480156107ab57600080fd5b506102816107ba366004611e37565b6110ac565b3480156107cb57600080fd5b506102816107da366004611e37565b6110f7565b3480156107eb57600080fd5b50600c546104599061ffff808216916201000090041682565b34801561081057600080fd5b506004546104c2906201000090046001600160a01b031681565b34801561083657600080fd5b5061028161118f565b6000546001600160a01b031633146108725760405162461bcd60e51b815260040161086990612030565b60405180910390fd5b60008160ff16118015610889575060028160ff1611155b61089257600080fd5b6009805460ff191660ff83161790556108ad600160006111cb565b50565b60006108bd33848461127a565b5060015b92915050565b60006108d56009600a61215f565b6108e69066038d7ea4c6800061216e565b905090565b60006108f884848461139f565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019811461099a57828110156109865760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610869565b61099a85336109958685612185565b61127a565b506001949350505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916108bd918590610995908690612198565b6000546001600160a01b03163314610a065760405162461bcd60e51b815260040161086990612030565b6004805462010000600160b01b031916620100006001600160a01b0394851602179055600580546001600160a01b03191691909216179055565b6000546001600160a01b03163314610a6a5760405162461bcd60e51b815260040161086990612030565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610ab85760405162461bcd60e51b815260040161086990612030565b80471015610b085760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e7420424e422062616c616e636500000000000000006044820152606401610869565b604051339082156108fc029083906000818181858888f19350505050158015610b35573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610b635760405162461bcd60e51b815260040161086990612030565b306001600160a01b03841603610bbb5760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f74207472616e73666572206f75742073656c6621000000000000006044820152606401610869565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e91906121ab565b50505050565b6000546001600160a01b03163314610c5e5760405162461bcd60e51b815260040161086990612030565b60008160ff16118015610c75575060028160ff1611155b610c7e57600080fd5b6009805460ff831660ff199182168117909255600b805490911690911790556108ad6001806111cb565b6000546001600160a01b03163314610cd25760405162461bcd60e51b815260040161086990612030565b8051825114610d235760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a6500006044820152606401610869565b60005b8251811015610d9657610d8433848381518110610d4557610d456121c8565b60200260200101516009600a610d5b919061215f565b858581518110610d6d57610d6d6121c8565b6020026020010151610d7f919061216e565b611751565b80610d8e816121de565b915050610d26565b505050565b6000546001600160a01b03163314610dc55760405162461bcd60e51b815260040161086990612030565b610dcf6000611798565b565b6000546001600160a01b03163314610dfb5760405162461bcd60e51b815260040161086990612030565b6004805460ff1916911515919091179055565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610e905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610869565b610e9f33856109958685612185565b5060019392505050565b60006108bd33848461139f565b6000546001600160a01b03163314610ee05760405162461bcd60e51b815260040161086990612030565b6007546001600160a01b03808316911603610f325760405162461bcd60e51b815260206004820152601260248201527115d85b1b195d08185b1c9958591e481cd95d60721b6044820152606401610869565b600780546001600160a01b0319166001600160a01b0383169081179091556000908152600360205260409020805460ff191660019081179091556108ad90806111cb565b6000546001600160a01b03163314610fa05760405162461bcd60e51b815260040161086990612030565b6009805460ff19908116909155600b80549091169055610dcf6001806111cb565b6000546001600160a01b03163314610feb5760405162461bcd60e51b815260040161086990612030565b600b805460ff19169055610dcf600060016111cb565b6000546001600160a01b0316331461102b5760405162461bcd60e51b815260040161086990612030565b6110376009600a61215f565b611041908261216e565b60065550565b6000546001600160a01b031633146110715760405162461bcd60e51b815260040161086990612030565b60008160ff16118015611088575060028160ff1611155b61109157600080fd5b600b805460ff191660ff83161790556108ad600060016111cb565b6000546001600160a01b031633146110d65760405162461bcd60e51b815260040161086990612030565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b031633146111215760405162461bcd60e51b815260040161086990612030565b6001600160a01b0381166111865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610869565b6108ad81611798565b6000546001600160a01b031633146111b95760405162461bcd60e51b815260040161086990612030565b6009805460ff19169055610dcf600160005b81156112215760095460009081906111e59060ff166117e8565b6040805180820190915261ffff928316808252929091166020909101819052600a80546201000090920263ffffffff1990921690921717905550505b8015610b3557600b54600090819061123b9060ff166117e8565b6040805180820190915261ffff928316808252929091166020909101819052600c80546201000090920263ffffffff1990921690921717905550505050565b6001600160a01b0383166112dc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b03821661133d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166114035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b0382166114655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b600081116114c75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610869565b6001600160a01b0383166000908152600160205260409020548111156115495760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610869565b6040805180820190915260085461ffff80821683526201000090910416602082015260055460029160009182906001600160a01b03908116908716036115d7575050604080518082018252600c5461ffff808216835262010000909104166020808301919091526001600160a01b03881660009081526003909152918220549193508692509060ff16611638565b6005546001600160a01b0390811690881603611638575050604080518082018252600a5461ffff808216835262010000909104166020808301919091526001600160a01b0387166000908152600390915291909120546001935085925060ff165b600654306000908152600160205260408120549091111590506001856002811115611665576116656121f7565b1415801561167b5750600454610100900460ff16155b8015611689575060045460ff165b80156116925750805b80156116b757506001600160a01b03881660009081526003602052604090205460ff16155b80156116dc57506001600160a01b03871660009081526003602052604090205460ff16155b156116ec576116ec60065461185d565b6002856002811115611700576117006121f7565b14806117095750815b80611726575060208301518351611720919061220d565b61ffff16155b1561173b57611736888888611751565b611747565b611747888888866118b1565b5050505050505050565b61175b8382611a51565b6117658282611a82565b816001600160a01b0316836001600160a01b031660008051602061230e8339815191528360405161139291815260200190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260ff1660000361180157506000928392509050565b8260ff16600103611833576007546001600160a01b03166118285750600092602892509050565b506014928392509050565b6007546001600160a01b031661185057506000926101f492509050565b5060c89261012c92509050565b6004805461ff001916610100179055600061187960028361222f565b905080476118878230611aaa565b60006118938247612185565b905061189f8382611c29565b50506004805461ff0019169055505050565b6020810151829061ffff161561194e576000612710836020015161ffff16856118da919061216e565b6118e4919061222f565b9050801561194c576118f68183612185565b915080600d600101600082825461190d9190612198565b9091555061191d90503082611a82565b60405181815230906001600160a01b0388169060008051602061230e8339815191529060200160405180910390a35b505b815161ffff16156119f4578151600090612710906119709061ffff168661216e565b61197a919061222f565b905080156119f25761198c8183612185565b915080600d60000160008282546119a39190612198565b90915550506007546119be906001600160a01b031682611a82565b6007546040518281526001600160a01b039182169188169060008051602061230e8339815191529060200160405180910390a35b505b6119fe8584611a51565b8015611a4a57611a0e8482611a82565b836001600160a01b0316856001600160a01b031660008051602061230e83398151915283604051611a4191815260200190565b60405180910390a35b5050505050565b6001600160a01b03821660009081526001602052604081208054839290611a79908490612185565b90915550505050565b6001600160a01b03821660009081526001602052604081208054839290611a79908490612198565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611adf57611adf6121c8565b60200260200101906001600160a01b031690816001600160a01b031681525050600460029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b769190612251565b81600181518110611b8957611b896121c8565b6001600160a01b039283166020918202929092010152600454611bb5913091620100009004168561127a565b6004805460405163791ac94760e01b8152620100009091046001600160a01b03169163791ac94791611bf29187916000918791899142910161226e565b600060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b50505050505050565b600454611c479030906201000090046001600160a01b03168461127a565b6004546001600160a01b03620100009091041663f305d719823085600080611c776000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611cdf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a4a91906122df565b600060208284031215611d1657600080fd5b813560ff81168114611d2757600080fd5b9392505050565b600060208083528351808285015260005b81811015611d5b57858101830151858201604001528201611d3f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108ad57600080fd5b60008060408385031215611da457600080fd5b8235611daf81611d7c565b946020939093013593505050565b600080600060608486031215611dd257600080fd5b8335611ddd81611d7c565b92506020840135611ded81611d7c565b929592945050506040919091013590565b60008060408385031215611e1157600080fd5b8235611e1c81611d7c565b91506020830135611e2c81611d7c565b809150509250929050565b600060208284031215611e4957600080fd5b8135611d2781611d7c565b600060208284031215611e6657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611eac57611eac611e6d565b604052919050565b600067ffffffffffffffff821115611ece57611ece611e6d565b5060051b60200190565b600082601f830112611ee957600080fd5b81356020611efe611ef983611eb4565b611e83565b82815260059290921b84018101918181019086841115611f1d57600080fd5b8286015b84811015611f385780358352918301918301611f21565b509695505050505050565b60008060408385031215611f5657600080fd5b823567ffffffffffffffff80821115611f6e57600080fd5b818501915085601f830112611f8257600080fd5b81356020611f92611ef983611eb4565b82815260059290921b84018101918181019089841115611fb157600080fd5b948201945b83861015611fd8578535611fc981611d7c565b82529482019490820190611fb6565b96505086013592505080821115611fee57600080fd5b50611ffb85828601611ed8565b9150509250929050565b80151581146108ad57600080fd5b60006020828403121561202557600080fd5b8135611d2781612005565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156120b657816000190482111561209c5761209c612065565b808516156120a957918102915b93841c9390800290612080565b509250929050565b6000826120cd575060016108c1565b816120da575060006108c1565b81600181146120f057600281146120fa57612116565b60019150506108c1565b60ff84111561210b5761210b612065565b50506001821b6108c1565b5060208310610133831016604e8410600b8410161715612139575081810a6108c1565b612143838361207b565b806000190482111561215757612157612065565b029392505050565b6000611d2760ff8416836120be565b80820281158282048414176108c1576108c1612065565b818103818111156108c1576108c1612065565b808201808211156108c1576108c1612065565b6000602082840312156121bd57600080fd5b8151611d2781612005565b634e487b7160e01b600052603260045260246000fd5b6000600182016121f0576121f0612065565b5060010190565b634e487b7160e01b600052602160045260246000fd5b61ffff81811683821601908082111561222857612228612065565b5092915050565b60008261224c57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561226357600080fd5b8151611d2781611d7c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122be5784516001600160a01b031683529383019391830191600101612299565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156122f457600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220bcf95025357001b60d6879ea40a9578042e5781de42414a806ca59548d09d56f64736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

2849:13286:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14797:185;;;;;;;;;;-1:-1:-1;14797:185:0;;;;;:::i;:::-;;:::i;:::-;;4730:82;;;;;;;;;;-1:-1:-1;4800:4:0;;;;;;;;;;;;-1:-1:-1;;;4800:4:0;;;;4730:82;;;;;;;:::i;:::-;;;;;;;;5578:161;;;;;;;;;;-1:-1:-1;5578:161:0;;;;;:::i;:::-;;:::i;:::-;;;1462:14:1;;1455:22;1437:41;;1425:2;1410:18;5578:161:0;1297:187:1;5023:95:0;;;;;;;;;;;;;:::i;:::-;;;1635:25:1;;;1623:2;1608:18;5023:95:0;1489:177:1;5747:495:0;;;;;;;;;;-1:-1:-1;5747:495:0;;;;;:::i;:::-;;:::i;4910:82::-;;;;;;;;;;-1:-1:-1;3242:1:0;4910:82;;;2304:4:1;2292:17;;;2274:36;;2262:2;2247:18;4910:82:0;2132:184:1;3924:26:0;;;;;;;;;;-1:-1:-1;3924:26:0;;;;;;;;6250:215;;;;;;;;;;-1:-1:-1;6250:215:0;;;;;:::i;:::-;;:::i;13429:154::-;;;;;;;;;;-1:-1:-1;13429:154:0;;;;;:::i;:::-;;:::i;6858:111::-;;;;;;;;;;-1:-1:-1;6858:111:0;;;;;:::i;:::-;;:::i;15491:196::-;;;;;;;;;;-1:-1:-1;15491:196:0;;;;;:::i;:::-;;:::i;15860:230::-;;;;;;;;;;-1:-1:-1;15860:230:0;;;;;:::i;:::-;;:::i;14572:217::-;;;;;;;;;;-1:-1:-1;14572:217:0;;;;;:::i;:::-;;:::i;3818:39::-;;;;;;;;;;-1:-1:-1;3818:39:0;;;;;;;;;;;;;;;;;;;3331:6:1;3364:15;;;3346:34;;3416:15;;;;3411:2;3396:18;;3389:43;3294:18;3818:39:0;3151:287:1;7097:123:0;;;;;;;;;;-1:-1:-1;7097:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;7185:27:0;7161:4;7185:27;;;:18;:27;;;;;;;;;7097:123;3445:49;;;;;;;;;;;;3492:1;3445:49;;;;;-1:-1:-1;;;;;3607:32:1;;;3589:51;;3577:2;3562:18;3445:49:0;3443:203:1;3092:23:0;;;;;;;;;;-1:-1:-1;3092:23:0;;;;;;;;14078:336;;;;;;;;;;-1:-1:-1;14078:336:0;;;;;:::i;:::-;;:::i;5126:118::-;;;;;;;;;;-1:-1:-1;5126:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5219:17:0;5192:7;5219:17;;;:8;:17;;;;;;;5126:118;1626:94;;;;;;;;;;;;;:::i;3896:21::-;;;;;;;;;;-1:-1:-1;3896:21:0;;;;;;;;;;;;;;;1403:87;;;;;;;;;;-1:-1:-1;1449:7:0;1476:6;-1:-1:-1;;;;;1476:6:0;1403:87;;13316:101;;;;;;;;;;-1:-1:-1;13316:101:0;;;;;:::i;:::-;;:::i;4818:86::-;;;;;;;;;;-1:-1:-1;4890:6:0;;;;;;;;;;;;-1:-1:-1;;;4890:6:0;;;;4818:86;;4082:36;;;;;;;;;;-1:-1:-1;4082:36:0;;;;;;;;;;;;;6681:25:1;;;6737:2;6722:18;;6715:34;;;;6654:18;4082:36:0;6507:248:1;3864:25:0;;;;;;;;;;-1:-1:-1;3864:25:0;;;;;;;;6473:377;;;;;;;;;;-1:-1:-1;6473:377:0;;;;;:::i;:::-;;:::i;3501:46::-;;;;;;;;;;-1:-1:-1;3501:46:0;;;;-1:-1:-1;;;;;3501:46:0;;;3180:19;;;;;;;;;;-1:-1:-1;3180:19:0;;;;-1:-1:-1;;;;;3180:19:0;;;5252:167;;;;;;;;;;-1:-1:-1;5252:167:0;;;;;:::i;:::-;;:::i;12889:282::-;;;;;;;;;;-1:-1:-1;12889:282:0;;;;;:::i;:::-;;:::i;14428:136::-;;;;;;;;;;;;;:::i;15305:114::-;;;;;;;;;;;;;:::i;13179:129::-;;;;;;;;;;-1:-1:-1;13179:129:0;;;;;:::i;:::-;;:::i;14990:187::-;;;;;;;;;;-1:-1:-1;14990:187:0;;;;;:::i;:::-;;:::i;5427:143::-;;;;;;;;;;-1:-1:-1;5427:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5535:18:0;;;5508:7;5535:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5427:143;3364:66;;;;;;;;;;;;;;;;6977:110;;;;;;;;;;-1:-1:-1;6977:110:0;;;;;:::i;:::-;;:::i;1728:192::-;;;;;;;;;;-1:-1:-1;1728:192:0;;;;;:::i;:::-;;:::i;3957:22::-;;;;;;;;;;-1:-1:-1;3957:22:0;;;;;;;;;;;;;;;3152:21;;;;;;;;;;-1:-1:-1;3152:21:0;;;;;;;-1:-1:-1;;;;;3152:21:0;;;15185:112;;;;;;;;;;;;;:::i;14797:185::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;;;;;;;;;14877:1:::1;14865:9;:13;;;:30;;;;;14894:1;14882:9;:13;;;;14865:30;14857:39;;;::::0;::::1;;14907:12;:24:::0;;-1:-1:-1;;14907:24:0::1;;::::0;::::1;;::::0;;14942:32:::1;-1:-1:-1::0;;14942:19:0::1;:32::i;:::-;14797:185:::0;:::o;5578:161::-;5653:4;5670:39;904:10;5693:7;5702:6;5670:8;:39::i;:::-;-1:-1:-1;5727:4:0;5578:161;;;;;:::o;5023:95::-;5076:7;3343:12;3242:1;3343:2;:12;:::i;:::-;3336:19;;:4;:19;:::i;:::-;5096:14;;5023:95;:::o;5747:495::-;5853:4;5870:36;5880:6;5888:9;5899:6;5870:9;:36::i;:::-;-1:-1:-1;;;;;5946:19:0;;5919:24;5946:19;;;:11;:19;;;;;;;;904:10;5946:33;;;;;;;;-1:-1:-1;;5994:37:0;;5990:221;;6076:6;6056:16;:26;;6048:79;;;;-1:-1:-1;;;6048:79:0;;9234:2:1;6048:79:0;;;9216:21:1;9273:2;9253:18;;;9246:30;9312:34;9292:18;;;9285:62;-1:-1:-1;;;9363:18:1;;;9356:38;9411:19;;6048:79:0;9032:404:1;6048:79:0;6142:57;6151:6;904:10;6173:25;6192:6;6173:16;:25;:::i;:::-;6142:8;:57::i;:::-;-1:-1:-1;6230:4:0;;5747:495;-1:-1:-1;;;;5747:495:0:o;6250:215::-;904:10;6338:4;6387:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6387:34:0;;;;;;;;;;6338:4;;6355:80;;6378:7;;6387:47;;6424:10;;6387:47;:::i;13429:154::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;13523:6:::1;:27:::0;;-1:-1:-1;;;;;;13523:27:0::1;::::0;-1:-1:-1;;;;;13523:27:0;;::::1;;;::::0;;13561:4:::1;:14:::0;;-1:-1:-1;;;;;;13561:14:0::1;::::0;;;::::1;;::::0;;13429:154::o;6858:111::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6927:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;6927:34:0::1;6957:4;6927:34;::::0;;6858:111::o;15491:196::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;15591:9:::1;15566:21;:34;;15558:71;;;::::0;-1:-1:-1;;;15558:71:0;;9906:2:1;15558:71:0::1;::::0;::::1;9888:21:1::0;9945:2;9925:18;;;9918:30;9984:26;9964:18;;;9957:54;10028:18;;15558:71:0::1;9704:348:1::0;15558:71:0::1;15640:39;::::0;15648:10:::1;::::0;15640:39;::::1;;;::::0;15669:9;;15640:39:::1;::::0;;;15669:9;15648:10;15640:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15491:196:::0;:::o;15860:230::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;15995:4:::1;-1:-1:-1::0;;;;;15973:27:0;::::1;::::0;15965:65:::1;;;::::0;-1:-1:-1;;;15965:65:0;;10259:2:1;15965:65:0::1;::::0;::::1;10241:21:1::0;10298:2;10278:18;;;10271:30;10337:27;10317:18;;;10310:55;10382:18;;15965:65:0::1;10057:349:1::0;15965:65:0::1;16041:41;::::0;-1:-1:-1;;;16041:41:0;;-1:-1:-1;;;;;10603:32:1;;;16041:41:0::1;::::0;::::1;10585:51:1::0;10652:18;;;10645:34;;;16041:27:0;::::1;::::0;::::1;::::0;10558:18:1;;16041:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15860:230:::0;;;:::o;14572:217::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;14649:1:::1;14637:9;:13;;;:30;;;;;14666:1;14654:9;:13;;;;14637:30;14629:39;;;::::0;::::1;;14679:12;:24:::0;;::::1;::::0;::::1;-1:-1:-1::0;;14679:24:0;;::::1;::::0;::::1;::::0;;;14714:13:::1;:25:::0;;;;::::1;::::0;;::::1;::::0;;14750:31:::1;14679:24:::0;;14750:19:::1;:31::i;14078:336::-:0;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;14210:7:::1;:14;14191:8;:15;:33;14183:76;;;::::0;-1:-1:-1;;;14183:76:0;;11142:2:1;14183:76:0::1;::::0;::::1;11124:21:1::0;11181:2;11161:18;;;11154:30;11220:32;11200:18;;;11193:60;11270:18;;14183:76:0::1;10940:354:1::0;14183:76:0::1;14274:9;14270:137;14292:8;:15;14288:1;:19;14270:137;;;14328:67;14344:10;14356:8;14365:1;14356:11;;;;;;;;:::i;:::-;;;;;;;3242:1;14382:2;:12;;;;:::i;:::-;14369:7;14377:1;14369:10;;;;;;;;:::i;:::-;;;;;;;:25;;;;:::i;:::-;14328:15;:67::i;:::-;14309:3:::0;::::1;::::0;::::1;:::i;:::-;;;;14270:137;;;;14078:336:::0;;:::o;1626:94::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;1691:21:::1;1709:1;1691:9;:21::i;:::-;1626:94::o:0;13316:101::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;13387:11:::1;:22:::0;;-1:-1:-1;;13387:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13316:101::o;6473:377::-;904:10;6566:4;6610:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6610:34:0;;;;;;;;;;6663:35;;;;6655:85;;;;-1:-1:-1;;;6655:85:0;;11773:2:1;6655:85:0;;;11755:21:1;11812:2;11792:18;;;11785:30;11851:34;11831:18;;;11824:62;-1:-1:-1;;;11902:18:1;;;11895:35;11947:19;;6655:85:0;11571:401:1;6655:85:0;6751:67;904:10;6774:7;6783:34;6802:15;6783:16;:34;:::i;6751:67::-;-1:-1:-1;6838:4:0;;6473:377;-1:-1:-1;;;6473:377:0:o;5252:167::-;5330:4;5347:42;904:10;5371:9;5382:6;5347:9;:42::i;12889:282::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;12976:16:::1;::::0;-1:-1:-1;;;;;12976:29:0;;::::1;:16:::0;::::1;:29:::0;12968:60:::1;;;::::0;-1:-1:-1;;;12968:60:0;;12179:2:1;12968:60:0::1;::::0;::::1;12161:21:1::0;12218:2;12198:18;;;12191:30;-1:-1:-1;;;12237:18:1;;;12230:48;12295:18;;12968:60:0::1;11977:342:1::0;12968:60:0::1;13039:16;:28:::0;;-1:-1:-1;;;;;;13039:28:0::1;-1:-1:-1::0;;;;;13039:28:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;13078:36:0;;;:18:::1;:36;::::0;;;;:43;;-1:-1:-1;;13078:43:0::1;-1:-1:-1::0;13078:43:0;;::::1;::::0;;;13132:31:::1;::::0;-1:-1:-1;13132:19:0::1;:31::i;14428:136::-:0;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;14470:12:::1;:16:::0;;-1:-1:-1;;14470:16:0;;::::1;::::0;;;14497:13:::1;:17:::0;;;;::::1;::::0;;14525:31:::1;14470:16:::0;;14525:19:::1;:31::i;15305:114::-:0;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;15351:13:::1;:17:::0;;-1:-1:-1;;15351:17:0::1;::::0;;15379:32:::1;15367:1;15351:17:::0;15379:19:::1;:32::i;13179:129::-:0;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;13288:12:::1;3242:1;13288:2;:12;:::i;:::-;13279:21;::::0;:6;:21:::1;:::i;:::-;13258:18;:42:::0;-1:-1:-1;13179:129:0:o;14990:187::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;15071:1:::1;15059:9;:13;;;:30;;;;;15088:1;15076:9;:13;;;;15059:30;15051:39;;;::::0;::::1;;15101:13;:25:::0;;-1:-1:-1;;15101:25:0::1;;::::0;::::1;;::::0;;15137:32:::1;-1:-1:-1::0;;15137:19:0::1;:32::i;6977:110::-:0;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7044:27:0::1;7074:5;7044:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;7044:35:0::1;::::0;;6977:110::o;1728:192::-;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1817:22:0;::::1;1809:73;;;::::0;-1:-1:-1;;;1809:73:0;;12526:2:1;1809:73:0::1;::::0;::::1;12508:21:1::0;12565:2;12545:18;;;12538:30;12604:34;12584:18;;;12577:62;-1:-1:-1;;;12655:18:1;;;12648:36;12701:19;;1809:73:0::1;12324:402:1::0;1809:73:0::1;1893:19;1903:8;1893:9;:19::i;15185:112::-:0;1449:7;1476:6;-1:-1:-1;;;;;1476:6:0;904:10;1538:23;1530:68;;;;-1:-1:-1;;;1530:68:0;;;;;;;:::i;:::-;15230:12:::1;:16:::0;;-1:-1:-1;;15230:16:0::1;::::0;;15257:32:::1;15230:16:::0;15245:1:::1;12498:383:::0;12585:10;12581:140;;;12657:12;;12613:9;;;;12637:33;;12657:12;;12637:19;:33::i;:::-;12696:13;;;;;;;;;;;;;;;;;;;;;;;;;;;12685:8;:24;;;;;;-1:-1:-1;;12685:24:0;;;;;;;;;-1:-1:-1;;12581:140:0;12735:11;12731:143;;;12808:13;;12764:9;;;;12788:34;;12808:13;;12788:19;:34::i;:::-;12849:13;;;;;;;;;;;;;;;;;;;;;;;;;;;12837:9;:25;;;;;;-1:-1:-1;;12837:25:0;;;;;;;;;-1:-1:-1;;12498:383:0;;:::o;7234:335::-;-1:-1:-1;;;;;7327:19:0;;7319:68;;;;-1:-1:-1;;;7319:68:0;;12933:2:1;7319:68:0;;;12915:21:1;12972:2;12952:18;;;12945:30;13011:34;12991:18;;;12984:62;-1:-1:-1;;;13062:18:1;;;13055:34;13106:19;;7319:68:0;12731:400:1;7319:68:0;-1:-1:-1;;;;;7406:21:0;;7398:68;;;;-1:-1:-1;;;7398:68:0;;13338:2:1;7398:68:0;;;13320:21:1;13377:2;13357:18;;;13350:30;13416:34;13396:18;;;13389:62;-1:-1:-1;;;13467:18:1;;;13460:32;13509:19;;7398:68:0;13136:398:1;7398:68:0;-1:-1:-1;;;;;7477:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7529:32;;1635:25:1;;;7529:32:0;;1608:18:1;7529:32:0;;;;;;;;7234:335;;;:::o;7577:1609::-;-1:-1:-1;;;;;7665:18:0;;7657:68;;;;-1:-1:-1;;;7657:68:0;;13741:2:1;7657:68:0;;;13723:21:1;13780:2;13760:18;;;13753:30;13819:34;13799:18;;;13792:62;-1:-1:-1;;;13870:18:1;;;13863:35;13915:19;;7657:68:0;13539:401:1;7657:68:0;-1:-1:-1;;;;;7744:16:0;;7736:64;;;;-1:-1:-1;;;7736:64:0;;14147:2:1;7736:64:0;;;14129:21:1;14186:2;14166:18;;;14159:30;14225:34;14205:18;;;14198:62;-1:-1:-1;;;14276:18:1;;;14269:33;14319:19;;7736:64:0;13945:399:1;7736:64:0;7828:1;7819:6;:10;7811:64;;;;-1:-1:-1;;;7811:64:0;;14551:2:1;7811:64:0;;;14533:21:1;14590:2;14570:18;;;14563:30;14629:34;14609:18;;;14602:62;-1:-1:-1;;;14680:18:1;;;14673:39;14729:19;;7811:64:0;14349:405:1;7811:64:0;-1:-1:-1;;;;;5219:17:0;;5192:7;5219:17;;;:8;:17;;;;;;7894:6;:25;;7886:86;;;;-1:-1:-1;;;7886:86:0;;14961:2:1;7886:86:0;;;14943:21:1;15000:2;14980:18;;;14973:30;15039:34;15019:18;;;15012:62;-1:-1:-1;;;15090:18:1;;;15083:47;15147:19;;7886:86:0;14759:413:1;7886:86:0;8093:38;;;;;;;;;8118:13;8093:38;;;;;;;;;;;;;;;;8197:4;;8022:22;;7993:26;;;;-1:-1:-1;;;;;8197:4:0;;;8191:10;;;;8187:414;;-1:-1:-1;;8294:21:0;;;;;;;;8306:9;8294:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8354:26:0;;8233:18;8354:26;;;:18;:26;;;;;;;8233:18;;-1:-1:-1;8275:4:0;;-1:-1:-1;8294:21:0;8354:26;;8187:414;;;8410:4;;-1:-1:-1;;;;;8410:4:0;;;8402:12;;;;8398:203;;-1:-1:-1;;8504:20:0;;;;;;;;8516:8;8504:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8563:26:0;;-1:-1:-1;8563:26:0;;;:18;:26;;;;;;;;8446:17;;-1:-1:-1;8487:2:0;;-1:-1:-1;8563:26:0;;8398:203;8656:18;;8646:4;8613:12;5219:17;;;:8;:17;;;;;;8613:12;;-1:-1:-1;8628:46:0;;-1:-1:-1;8704:17:0;8688:12;:33;;;;;;;;:::i;:::-;;;:46;;;;-1:-1:-1;8726:8:0;;;;;;;8725:9;8688:46;:61;;;;-1:-1:-1;8738:11:0;;;;8688:61;:72;;;;;8753:7;8688:72;:101;;;;-1:-1:-1;;;;;;8765:24:0;;;;;;:18;:24;;;;;;;;8764:25;8688:101;:128;;;;-1:-1:-1;;;;;;8794:22:0;;;;;;:18;:22;;;;;;;;8793:23;8688:128;8685:193;;;8832:34;8847:18;;8832:14;:34::i;:::-;8910:22;8894:12;:38;;;;;;;;:::i;:::-;;:80;;;;8953:21;8894:80;:147;;;-1:-1:-1;9017:19:0;;;;8995;;:41;;9017:19;8995:41;:::i;:::-;:46;;;8894:147;8890:289;;;9058:33;9074:4;9080:2;9084:6;9058:15;:33::i;:::-;8890:289;;;9124:43;9139:4;9145:2;9149:6;9157:9;9124:14;:43::i;:::-;7646:1540;;;;;7577:1609;;;:::o;13595:232::-;13692:31;13707:6;13715:7;13692:14;:31::i;:::-;13734;13746:9;13757:7;13734:11;:31::i;:::-;13800:9;-1:-1:-1;;;;;13783:36:0;13792:6;-1:-1:-1;;;;;13783:36:0;-1:-1:-1;;;;;;;;;;;13811:7:0;13783:36;;;;1635:25:1;;1623:2;1608:18;;1489:177;1928:173:0;1984:16;2003:6;;-1:-1:-1;;;;;2020:17:0;;;-1:-1:-1;;;;;;2020:17:0;;;;;;2053:40;;2003:6;;;;;;;2053:40;;1984:16;2053:40;1973:128;1928:173;:::o;12043:447::-;12105:6;12113;12136:4;:9;;12144:1;12136:9;12132:55;;-1:-1:-1;12170:1:0;;;;-1:-1:-1;12043:447:0;-1:-1:-1;12043:447:0:o;12132:55::-;12201:4;:9;;12209:1;12201:9;12197:158;;12231:16;;-1:-1:-1;;;;;12231:16:0;12227:87;;-1:-1:-1;12292:1:0;;12295:2;;-1:-1:-1;12043:447:0;-1:-1:-1;12043:447:0:o;12227:87::-;-1:-1:-1;12336:2:0;;;;-1:-1:-1;12043:447:0;-1:-1:-1;12043:447:0:o;12197:158::-;12379:16;;-1:-1:-1;;;;;12379:16:0;12375:80;;-1:-1:-1;12436:1:0;;12439:3;;-1:-1:-1;12043:447:0;-1:-1:-1;12043:447:0:o;12375:80::-;-1:-1:-1;12473:3:0;;12478;;-1:-1:-1;12043:447:0;-1:-1:-1;12043:447:0:o;10451:487::-;4159:8;:15;;-1:-1:-1;;4159:15:0;;;;;;10616:24:::1;10639:1;10616:20:::0;:24:::1;:::i;:::-;10593:47:::0;-1:-1:-1;10593:47:0;10727:21:::1;10759:45;10593:47:::0;10798:4:::1;10759:16;:45::i;:::-;10815:18;10836:40;10861:14:::0;10836:21:::1;:40;:::i;:::-;10815:61;;10887:43;10900:17;10919:10;10887:12;:43::i;:::-;-1:-1:-1::0;;4197:8:0;:16;;-1:-1:-1;;4197:16:0;;;-1:-1:-1;;;10451:487:0:o;9250:1193::-;9428:19;;;;9397:7;;9428:24;;;9425:391;;9469:18;9522:5;9500:9;:19;;;9490:29;;:7;:29;;;;:::i;:::-;:37;;;;:::i;:::-;9469:58;-1:-1:-1;9546:15:0;;9542:263;;9582:29;9601:10;9582:29;;:::i;:::-;;;9655:10;9630:11;:21;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;9684:38:0;;-1:-1:-1;9704:4:0;9711:10;9684:11;:38::i;:::-;9746:43;;1635:25:1;;;9771:4:0;;-1:-1:-1;;;;;9746:43:0;;;-1:-1:-1;;;;;;;;;;;9746:43:0;1623:2:1;1608:18;9746:43:0;;;;;;;9542:263;9454:362;9425:391;9830:19;;:24;;;9826:398;;9902:19;;9871:18;;9924:5;;9892:29;;;;:7;:29;:::i;:::-;:37;;;;:::i;:::-;9871:58;-1:-1:-1;9948:15:0;;9944:269;;9984:29;10003:10;9984:29;;:::i;:::-;;;10057:10;10032:11;:21;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;10098:16:0;;10086:41;;-1:-1:-1;;;;;10098:16:0;10116:10;10086:11;:41::i;:::-;10168:16;;10151:46;;1635:25:1;;;-1:-1:-1;;;;;10168:16:0;;;;10151:46;;;-1:-1:-1;;;;;;;;;;;10151:46:0;1623:2:1;1608:18;10151:46:0;;;;;;;9944:269;9856:368;9826:398;10238:31;10253:6;10261:7;10238:14;:31::i;:::-;10284:20;;10280:156;;10321:39;10333:9;10344:15;10321:11;:39::i;:::-;10397:9;-1:-1:-1;;;;;10380:44:0;10389:6;-1:-1:-1;;;;;10380:44:0;-1:-1:-1;;;;;;;;;;;10408:15:0;10380:44;;;;1635:25:1;;1623:2;1608:18;;1489:177;10380:44:0;;;;;;;;10280:156;9358:1085;9250:1193;;;;:::o;13953:113::-;-1:-1:-1;;;;;14030:17:0;;;;;;:8;:17;;;;;:28;;14051:7;;14030:17;:28;;14051:7;;14030:28;:::i;:::-;;;;-1:-1:-1;;;;13953:113:0:o;13835:110::-;-1:-1:-1;;;;;13909:17:0;;;;;;:8;:17;;;;;:28;;13930:7;;13909:17;:28;;13930:7;;13909:28;:::i;11449:586::-;11618:16;;;11632:1;11618:16;;;;;;;;11594:21;;11618:16;;;;;;;;;;-1:-1:-1;11618:16:0;11594:40;;11663:4;11645;11650:1;11645:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11645:23:0;;;-1:-1:-1;;;;;11645:23:0;;;;;11689:6;;;;;;;;;-1:-1:-1;;;;;11689:6:0;-1:-1:-1;;;;;11689:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11679:4;11684:1;11679:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11679:23:0;;;:7;;;;;;;;;:23;11747:6;;11715:53;;11732:4;;11747:6;;;;11756:11;11715:8;:53::i;:::-;11807:6;;;:220;;-1:-1:-1;;;11807:220:0;;:6;;;;-1:-1:-1;;;;;11807:6:0;;:57;;:220;;11879:11;;11905:1;;11949:4;;11976:9;;12001:15;;11807:220;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11523:512;11449:586;;:::o;10946:495::-;11126:6;;11094:53;;11111:4;;11126:6;;;-1:-1:-1;;;;;11126:6:0;11135:11;11094:8;:53::i;:::-;11190:6;;-1:-1:-1;;;;;11190:6:0;;;;;:22;11220:9;11253:4;11273:11;11299:1;;11385:7;1449;1476:6;-1:-1:-1;;;;;1476:6:0;;1403:87;11385:7;11190:243;;;;;;-1:-1:-1;;;;;;11190:243:0;;;-1:-1:-1;;;;;17312:15:1;;;11190:243:0;;;17294:34:1;17344:18;;;17337:34;;;;17387:18;;;17380:34;;;;17430:18;;;17423:34;17494:15;;;17473:19;;;17466:44;11407:15:0;17526:19:1;;;17519:35;17228:19;;11190:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:269:1:-;71:6;124:2;112:9;103:7;99:23;95:32;92:52;;;140:1;137;130:12;92:52;179:9;166:23;229:4;222:5;218:16;211:5;208:27;198:55;;249:1;246;239:12;198:55;272:5;14:269;-1:-1:-1;;;14:269:1:o;288:548::-;400:4;429:2;458;447:9;440:21;490:6;484:13;533:6;528:2;517:9;513:18;506:34;558:1;568:140;582:6;579:1;576:13;568:140;;;677:14;;;673:23;;667:30;643:17;;;662:2;639:26;632:66;597:10;;568:140;;;572:3;757:1;752:2;743:6;732:9;728:22;724:31;717:42;827:2;820;816:7;811:2;803:6;799:15;795:29;784:9;780:45;776:54;768:62;;;;288:548;;;;:::o;841:131::-;-1:-1:-1;;;;;916:31:1;;906:42;;896:70;;962:1;959;952:12;977:315;1045:6;1053;1106:2;1094:9;1085:7;1081:23;1077:32;1074:52;;;1122:1;1119;1112:12;1074:52;1161:9;1148:23;1180:31;1205:5;1180:31;:::i;:::-;1230:5;1282:2;1267:18;;;;1254:32;;-1:-1:-1;;;977:315:1:o;1671:456::-;1748:6;1756;1764;1817:2;1805:9;1796:7;1792:23;1788:32;1785:52;;;1833:1;1830;1823:12;1785:52;1872:9;1859:23;1891:31;1916:5;1891:31;:::i;:::-;1941:5;-1:-1:-1;1998:2:1;1983:18;;1970:32;2011:33;1970:32;2011:33;:::i;:::-;1671:456;;2063:7;;-1:-1:-1;;;2117:2:1;2102:18;;;;2089:32;;1671:456::o;2321:388::-;2389:6;2397;2450:2;2438:9;2429:7;2425:23;2421:32;2418:52;;;2466:1;2463;2456:12;2418:52;2505:9;2492:23;2524:31;2549:5;2524:31;:::i;:::-;2574:5;-1:-1:-1;2631:2:1;2616:18;;2603:32;2644:33;2603:32;2644:33;:::i;:::-;2696:7;2686:17;;;2321:388;;;;;:::o;2714:247::-;2773:6;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2881:9;2868:23;2900:31;2925:5;2900:31;:::i;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3651:127::-;3712:10;3707:3;3703:20;3700:1;3693:31;3743:4;3740:1;3733:15;3767:4;3764:1;3757:15;3783:275;3854:2;3848:9;3919:2;3900:13;;-1:-1:-1;;3896:27:1;3884:40;;3954:18;3939:34;;3975:22;;;3936:62;3933:88;;;4001:18;;:::i;:::-;4037:2;4030:22;3783:275;;-1:-1:-1;3783:275:1:o;4063:183::-;4123:4;4156:18;4148:6;4145:30;4142:56;;;4178:18;;:::i;:::-;-1:-1:-1;4223:1:1;4219:14;4235:4;4215:25;;4063:183::o;4251:662::-;4305:5;4358:3;4351:4;4343:6;4339:17;4335:27;4325:55;;4376:1;4373;4366:12;4325:55;4412:6;4399:20;4438:4;4462:60;4478:43;4518:2;4478:43;:::i;:::-;4462:60;:::i;:::-;4556:15;;;4642:1;4638:10;;;;4626:23;;4622:32;;;4587:12;;;;4666:15;;;4663:35;;;4694:1;4691;4684:12;4663:35;4730:2;4722:6;4718:15;4742:142;4758:6;4753:3;4750:15;4742:142;;;4824:17;;4812:30;;4862:12;;;;4775;;4742:142;;;-1:-1:-1;4902:5:1;4251:662;-1:-1:-1;;;;;;4251:662:1:o;4918:1215::-;5036:6;5044;5097:2;5085:9;5076:7;5072:23;5068:32;5065:52;;;5113:1;5110;5103:12;5065:52;5153:9;5140:23;5182:18;5223:2;5215:6;5212:14;5209:34;;;5239:1;5236;5229:12;5209:34;5277:6;5266:9;5262:22;5252:32;;5322:7;5315:4;5311:2;5307:13;5303:27;5293:55;;5344:1;5341;5334:12;5293:55;5380:2;5367:16;5402:4;5426:60;5442:43;5482:2;5442:43;:::i;5426:60::-;5520:15;;;5602:1;5598:10;;;;5590:19;;5586:28;;;5551:12;;;;5626:19;;;5623:39;;;5658:1;5655;5648:12;5623:39;5682:11;;;;5702:217;5718:6;5713:3;5710:15;5702:217;;;5798:3;5785:17;5815:31;5840:5;5815:31;:::i;:::-;5859:18;;5735:12;;;;5897;;;;5702:217;;;5938:5;-1:-1:-1;;5981:18:1;;5968:32;;-1:-1:-1;;6012:16:1;;;6009:36;;;6041:1;6038;6031:12;6009:36;;6064:63;6119:7;6108:8;6097:9;6093:24;6064:63;:::i;:::-;6054:73;;;4918:1215;;;;;:::o;6138:118::-;6224:5;6217:13;6210:21;6203:5;6200:32;6190:60;;6246:1;6243;6236:12;6261:241;6317:6;6370:2;6358:9;6349:7;6345:23;6341:32;6338:52;;;6386:1;6383;6376:12;6338:52;6425:9;6412:23;6444:28;6466:5;6444:28;:::i;6983:356::-;7185:2;7167:21;;;7204:18;;;7197:30;7263:34;7258:2;7243:18;;7236:62;7330:2;7315:18;;6983:356::o;7344:127::-;7405:10;7400:3;7396:20;7393:1;7386:31;7436:4;7433:1;7426:15;7460:4;7457:1;7450:15;7476:422;7565:1;7608:5;7565:1;7622:270;7643:7;7633:8;7630:21;7622:270;;;7702:4;7698:1;7694:6;7690:17;7684:4;7681:27;7678:53;;;7711:18;;:::i;:::-;7761:7;7751:8;7747:22;7744:55;;;7781:16;;;;7744:55;7860:22;;;;7820:15;;;;7622:270;;;7626:3;7476:422;;;;;:::o;7903:806::-;7952:5;7982:8;7972:80;;-1:-1:-1;8023:1:1;8037:5;;7972:80;8071:4;8061:76;;-1:-1:-1;8108:1:1;8122:5;;8061:76;8153:4;8171:1;8166:59;;;;8239:1;8234:130;;;;8146:218;;8166:59;8196:1;8187:10;;8210:5;;;8234:130;8271:3;8261:8;8258:17;8255:43;;;8278:18;;:::i;:::-;-1:-1:-1;;8334:1:1;8320:16;;8349:5;;8146:218;;8448:2;8438:8;8435:16;8429:3;8423:4;8420:13;8416:36;8410:2;8400:8;8397:16;8392:2;8386:4;8383:12;8379:35;8376:77;8373:159;;;-1:-1:-1;8485:19:1;;;8517:5;;8373:159;8564:34;8589:8;8583:4;8564:34;:::i;:::-;8634:6;8630:1;8626:6;8622:19;8613:7;8610:32;8607:58;;;8645:18;;:::i;:::-;8683:20;;7903:806;-1:-1:-1;;;7903:806:1:o;8714:140::-;8772:5;8801:47;8842:4;8832:8;8828:19;8822:4;8801:47;:::i;8859:168::-;8932:9;;;8963;;8980:15;;;8974:22;;8960:37;8950:71;;9001:18;;:::i;9441:128::-;9508:9;;;9529:11;;;9526:37;;;9543:18;;:::i;9574:125::-;9639:9;;;9660:10;;;9657:36;;;9673:18;;:::i;10690:245::-;10757:6;10810:2;10798:9;10789:7;10785:23;10781:32;10778:52;;;10826:1;10823;10816:12;10778:52;10858:9;10852:16;10877:28;10899:5;10877:28;:::i;11299:127::-;11360:10;11355:3;11351:20;11348:1;11341:31;11391:4;11388:1;11381:15;11415:4;11412:1;11405:15;11431:135;11470:3;11491:17;;;11488:43;;11511:18;;:::i;:::-;-1:-1:-1;11558:1:1;11547:13;;11431:135::o;15177:127::-;15238:10;15233:3;15229:20;15226:1;15219:31;15269:4;15266:1;15259:15;15293:4;15290:1;15283:15;15309:168;15376:6;15402:10;;;15414;;;15398:27;;15437:11;;;15434:37;;;15451:18;;:::i;:::-;15434:37;15309:168;;;;:::o;15482:217::-;15522:1;15548;15538:132;;15592:10;15587:3;15583:20;15580:1;15573:31;15627:4;15624:1;15617:15;15655:4;15652:1;15645:15;15538:132;-1:-1:-1;15684:9:1;;15482:217::o;15704:251::-;15774:6;15827:2;15815:9;15806:7;15802:23;15798:32;15795:52;;;15843:1;15840;15833:12;15795:52;15875:9;15869:16;15894:31;15919:5;15894:31;:::i;15960:988::-;16230:4;16278:3;16267:9;16263:19;16309:6;16298:9;16291:25;16335:2;16373:6;16368:2;16357:9;16353:18;16346:34;16416:3;16411:2;16400:9;16396:18;16389:31;16440:6;16475;16469:13;16506:6;16498;16491:22;16544:3;16533:9;16529:19;16522:26;;16583:2;16575:6;16571:15;16557:29;;16604:1;16614:195;16628:6;16625:1;16622:13;16614:195;;;16693:13;;-1:-1:-1;;;;;16689:39:1;16677:52;;16784:15;;;;16749:12;;;;16725:1;16643:9;16614:195;;;-1:-1:-1;;;;;;;16865:32:1;;;;16860:2;16845:18;;16838:60;-1:-1:-1;;;16929:3:1;16914:19;16907:35;16826:3;15960:988;-1:-1:-1;;;15960:988:1:o;17565:306::-;17653:6;17661;17669;17722:2;17710:9;17701:7;17697:23;17693:32;17690:52;;;17738:1;17735;17728:12;17690:52;17767:9;17761:16;17751:26;;17817:2;17806:9;17802:18;17796:25;17786:35;;17861:2;17850:9;17846:18;17840:25;17830:35;;17565:306;;;;;:::o

Swarm Source

ipfs://bcf95025357001b60d6879ea40a9578042e5781de42414a806ca59548d09d56f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Dogcoin [DOGS] is a layer 2 project just like Polygon and Binance Chain but with advanced features Like offering fee percentages to dapp owner and contract creator.

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.