ETH Price: $2,441.66 (+1.65%)

Contract

0x8208B2A34f9d47D9A29f906f59033Aa2a621e352
 

Overview

ETH Balance

2 wei

Eth Value

Less Than $0.01 (@ $2,441.66/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve175734002023-06-27 21:36:59471 days ago1687901819IN
0x8208B2A3...2a621e352
0 ETH0.0005790912.46786615
Approve175733892023-06-27 21:34:47471 days ago1687901687IN
0x8208B2A3...2a621e352
0 ETH0.0003802812.95826147
Approve175732782023-06-27 21:12:11471 days ago1687900331IN
0x8208B2A3...2a621e352
0 ETH0.0006622214.25761023
Approve175732612023-06-27 21:08:47471 days ago1687900127IN
0x8208B2A3...2a621e352
0 ETH0.0006921714.906246
Approve175732492023-06-27 21:06:23471 days ago1687899983IN
0x8208B2A3...2a621e352
0 ETH0.0008018117.26290244
Approve175731622023-06-27 20:48:47471 days ago1687898927IN
0x8208B2A3...2a621e352
0 ETH0.0004208815.85420473
Approve175731622023-06-27 20:48:47471 days ago1687898927IN
0x8208B2A3...2a621e352
0 ETH0.0006329513.62745077
Approve175724842023-06-27 18:31:59471 days ago1687890719IN
0x8208B2A3...2a621e352
0 ETH0.0006142413.22472917
Approve174091012023-06-04 18:46:47494 days ago1685904407IN
0x8208B2A3...2a621e352
0 ETH0.0008655318.63488121
Approve174090952023-06-04 18:45:35494 days ago1685904335IN
0x8208B2A3...2a621e352
0 ETH0.0008971519.31563909
Approve174090832023-06-04 18:43:11494 days ago1685904191IN
0x8208B2A3...2a621e352
0 ETH0.0009105419.60399943
Approve174090522023-06-04 18:36:59494 days ago1685903819IN
0x8208B2A3...2a621e352
0 ETH0.0005771121.73954343
Approve174090512023-06-04 18:36:47494 days ago1685903807IN
0x8208B2A3...2a621e352
0 ETH0.0009940621.40224286
Approve173926482023-06-02 11:05:59497 days ago1685703959IN
0x8208B2A3...2a621e352
0 ETH0.0006678525.15744935
Approve173926482023-06-02 11:05:59497 days ago1685703959IN
0x8208B2A3...2a621e352
0 ETH0.0011496324.75144935
Approve173926172023-06-02 10:59:23497 days ago1685703563IN
0x8208B2A3...2a621e352
0 ETH0.0010316122.21050372
Approve173926032023-06-02 10:56:35497 days ago1685703395IN
0x8208B2A3...2a621e352
0 ETH0.0011178924.06808434
Approve173925792023-06-02 10:51:47497 days ago1685703107IN
0x8208B2A3...2a621e352
0 ETH0.0011785325.38025527
Approve173924742023-06-02 10:29:47497 days ago1685701787IN
0x8208B2A3...2a621e352
0 ETH0.0010972223.62305719
Approve173924622023-06-02 10:27:23497 days ago1685701643IN
0x8208B2A3...2a621e352
0 ETH0.0010977923.63533273
Approve173924482023-06-02 10:24:35497 days ago1685701475IN
0x8208B2A3...2a621e352
0 ETH0.0010846723.35296988
Approve173924332023-06-02 10:21:35497 days ago1685701295IN
0x8208B2A3...2a621e352
0 ETH0.0011342624.42059134
Approve173924212023-06-02 10:19:11497 days ago1685701151IN
0x8208B2A3...2a621e352
0 ETH0.0011473924.70341521
Approve173924082023-06-02 10:16:35497 days ago1685700995IN
0x8208B2A3...2a621e352
0 ETH0.0012737427.42369564
Approve173923962023-06-02 10:14:11497 days ago1685700851IN
0x8208B2A3...2a621e352
0 ETH0.0011564224.89765217
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
175734052023-06-27 21:37:59471 days ago1687901879
0x8208B2A3...2a621e352
0.00012214 ETH
175734052023-06-27 21:37:59471 days ago1687901879
0x8208B2A3...2a621e352
0.00012214 ETH
175734052023-06-27 21:37:59471 days ago1687901879
0x8208B2A3...2a621e352
0.00006107 ETH
175734052023-06-27 21:37:59471 days ago1687901879
0x8208B2A3...2a621e352
0.00006107 ETH
175734052023-06-27 21:37:59471 days ago1687901879
0x8208B2A3...2a621e352
0.00036642 ETH
175733942023-06-27 21:35:47471 days ago1687901747
0x8208B2A3...2a621e352
0.00012967 ETH
175733942023-06-27 21:35:47471 days ago1687901747
0x8208B2A3...2a621e352
0.00012967 ETH
175733942023-06-27 21:35:47471 days ago1687901747
0x8208B2A3...2a621e352
0.00006483 ETH
175733942023-06-27 21:35:47471 days ago1687901747
0x8208B2A3...2a621e352
0.00006483 ETH
175733942023-06-27 21:35:47471 days ago1687901747
0x8208B2A3...2a621e352
0.00038902 ETH
175733842023-06-27 21:33:47471 days ago1687901627
0x8208B2A3...2a621e352
0.00013767 ETH
175733842023-06-27 21:33:47471 days ago1687901627
0x8208B2A3...2a621e352
0.00013767 ETH
175733842023-06-27 21:33:47471 days ago1687901627
0x8208B2A3...2a621e352
0.00006883 ETH
175733842023-06-27 21:33:47471 days ago1687901627
0x8208B2A3...2a621e352
0.00006883 ETH
175733842023-06-27 21:33:47471 days ago1687901627
0x8208B2A3...2a621e352
0.00041303 ETH
175732792023-06-27 21:12:23471 days ago1687900343
0x8208B2A3...2a621e352
0.00014617 ETH
175732792023-06-27 21:12:23471 days ago1687900343
0x8208B2A3...2a621e352
0.00014617 ETH
175732792023-06-27 21:12:23471 days ago1687900343
0x8208B2A3...2a621e352
0.00007308 ETH
175732792023-06-27 21:12:23471 days ago1687900343
0x8208B2A3...2a621e352
0.00007308 ETH
175732792023-06-27 21:12:23471 days ago1687900343
0x8208B2A3...2a621e352
0.00043853 ETH
175732722023-06-27 21:10:59471 days ago1687900259
0x8208B2A3...2a621e352
0.0001552 ETH
175732722023-06-27 21:10:59471 days ago1687900259
0x8208B2A3...2a621e352
0.0001552 ETH
175732722023-06-27 21:10:59471 days ago1687900259
0x8208B2A3...2a621e352
0.0000776 ETH
175732722023-06-27 21:10:59471 days ago1687900259
0x8208B2A3...2a621e352
0.0000776 ETH
175732722023-06-27 21:10:59471 days ago1687900259
0x8208B2A3...2a621e352
0.00046561 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Gamba

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
Gamba($GAMBA)
Website: gambaeth.com
Telegram: @gambaportal
*/

// SPDX-License-Identifier: MIT
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
    );
}

pragma solidity ^0.8.0;

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

pragma solidity ^0.8.0;

//Safe math functions
library SafeMath {
    function tryAdd(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    //sub
    function trySub(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    //mul
    function tryMul(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    //div
    function tryDiv(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    //mod
    function tryMod(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

pragma solidity ^0.8.0;

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

/*
Contract Name
*/
//
////
//
///////
//................
contract Gamba is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /*
Dead And Null Addresses holds the burned tokens
...............................................
*/
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    bool public restrictWhales = true;

    /*
Mapping Adderessess............................................:{}
*/
    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isTxLimitExempt;

    uint256 public teamFee = 1;
    uint256 public gambleFee;
    address public lpWallet;

    uint256 public lpFee;
    uint256 public marketingFee;

    uint256 public lpFeeOnSell;
    uint256 public marketingFeeOnSell;
    uint256 public gambleFeeOnSell;
    uint256 public teamFeeOnSell;

    uint256 public totalFee;
    uint256 public totalFeeIfSelling;

    IUniswapV2Router02 public router;
    address public pair;
    address public tokenOwner;
    address payable public marketingWallet;
    address payable public GambleWallet;
    address payable public teamWallet;
    address payable public utilsWallet;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public tradingStatus = false;

    mapping(address => bool) private bots;

    uint256 public _walletMax;
    uint256 public swapThreshold;

    //1000000000000000000,0xD99D1c33F9fC3444f8101754aBC46c52416550D1
    //RouterAddresses
    //address private dexRouter=0xD99D1c33F9fC3444f8101754aBC46c52416550D1;
    //address private dexRouter= 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3;
    //mainnet
    //0x10ed43c718714eb63d5aa57b78b54704e256024e
    constructor(uint256 initialSupply, address routerAddress) {
        _name = "Gamba";
        _symbol = "GAMBA";
        _totalSupply += initialSupply;
        _balances[msg.sender] += initialSupply;

        _walletMax = (initialSupply * 3) / 100;
        swapThreshold = (initialSupply * 5) / 4000;

        router = IUniswapV2Router02(routerAddress);
        pair = IUniswapV2Factory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );

        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[address(this)] = true;
        isFeeExempt[msg.sender] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        lpFee = 1;
        marketingFee = 20;
        gambleFee = 1;
        lpFeeOnSell = 1;
        marketingFeeOnSell = 30;
        gambleFeeOnSell = 0;
        teamFeeOnSell = 1;

        totalFee = marketingFee.add(lpFee).add(teamFee).add(gambleFee);
        totalFeeIfSelling = marketingFeeOnSell
            .add(lpFeeOnSell)
            .add(teamFeeOnSell)
            .add(gambleFeeOnSell);

        tokenOwner = msg.sender;
        marketingWallet = payable(0xAbF759c2CB2A9faC7373050228F3Ce39698b3a62);
        teamWallet = payable(0xE08A5092e4Adaa88B22dD12DC17f4B99c796397f);
        GambleWallet = payable(0x6146B7BFC8bB157343F5931d00E8807c0C2FF166);
        utilsWallet = payable(0xe2e3a84590aBf646f9E44396a26f4637a8595C9F);//);
        lpWallet = msg.sender;
    }

    //lock swap
    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    //

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

    //
    //
    ///
    //////CODES.....
    //
    //change development walllet
    function updateTeamWallet(address payable newAddress) external onlyOwner {
        teamWallet = payable(newAddress);
    }

    //
    function updateMarketingWallet(
        address payable newAddress
    ) external onlyOwner {
        marketingWallet = payable(newAddress);
    }

    //
    function updateGambleWallet(address payable newAddress) external onlyOwner {
        GambleWallet = payable(newAddress);
    }

    //set blacklisted
    function setBots(address[] memory bots_) external onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    //Owner functions CHANGES TAXES
    function changeFees(
        uint256 initialLpFee,
        uint256 initialLpFeeOnSell,
        uint256 initialMarketingFee,
        uint256 initialMarketingFeeOnSell,
        uint256 initialteamFee,
        uint256 initialteamFeeOnSell,
        uint256 initialgambleFee,
        uint256 initialgambleFeeOnSell
    ) external onlyOwner {
        lpFee = initialLpFee;
        marketingFee = initialMarketingFee;
        teamFee = initialteamFee;

        lpFeeOnSell = initialLpFeeOnSell;
        marketingFeeOnSell = initialMarketingFeeOnSell;
        teamFeeOnSell = initialteamFeeOnSell;

        gambleFee = initialgambleFee;
        gambleFeeOnSell = initialgambleFeeOnSell;

        totalFee = marketingFee.add(lpFee).add(teamFee).add(gambleFee);
        totalFeeIfSelling = marketingFeeOnSell
            .add(lpFeeOnSell)
            .add(teamFeeOnSell)
            .add(gambleFeeOnSell);
        //
        //
        //
        ////taxes requiremnts takenotes....... cooodes monkey
        require(totalFee <= 60, "Too high fee");
        require(totalFeeIfSelling <= 60, "Too high fee");
        //
        //
        //
    }

    //Change Wallet Limit Tx
    function changeWalletLimit(uint256 percent) external onlyOwner {
        require(percent >= 10, "min 1%");
        require(percent <= 1000, "max 100%");
        _walletMax = (totalSupply() * percent) / 1000;
    }

    //Prevent Larger holders from maxwallet
    function changeRestrictWhales(bool newValue) external onlyOwner {
        restrictWhales = newValue;
    }

    //remove tax from assigned address
    function changeIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    //remove limit from assigned addresses
    function changeIsTxLimitExempt(
        address holder,
        bool exempt
    ) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    // set trading wallet
    function setMarketingWallet(
        address payable newMarketingWallet
    ) external onlyOwner {
        marketingWallet = payable(newMarketingWallet);
    }

    //set LP Wallet
    function setLpWallet(address newLpWallet) external onlyOwner {
        lpWallet = newLpWallet;
    }

    // set new owner address
    function setOwnerWallet(address payable newOwnerWallet) external onlyOwner {
        isFeeExempt[msg.sender] = false;
        isTxLimitExempt[msg.sender] = false;
        tokenOwner = newOwnerWallet;
        isFeeExempt[newOwnerWallet] = true;
        isTxLimitExempt[newOwnerWallet] = true;
    }

    // switch trading status
    function switchTrading() external onlyOwner {
        tradingStatus = !tradingStatus;
    }

    function changeSwapBackSettings(
        bool enableSwapBack,
        uint256 newSwapBackLimit
    ) external onlyOwner {
        swapAndLiquifyEnabled = enableSwapBack;
        swapThreshold = newSwapBackLimit;
    }

    //remove from blacklisted
    function delBot(address notbot) external onlyOwner {
        bots[notbot] = false;
    }

    ////
    //get return info about contract
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

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

    function balanceOf(
        address account
    ) public view virtual override returns (uint256) {
        return _balances[account];
    }

    //
    ///
    //
    //
    function transfer(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    function allowance(
        address owner,
        address spender
    ) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

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

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = _allowances[owner][spender];
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        require(
            tradingStatus || isFeeExempt[sender],
            "Tradding has not started"
        );
        require(
            !bots[sender] && !bots[recipient],
            "if it is not a bot proceed else terminate"
        );

        if (inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (!isTxLimitExempt[recipient] && restrictWhales) {
            require(_balances[recipient].add(amount) <= _walletMax, "wallet");
        }

        if (
            msg.sender != pair &&
            !inSwapAndLiquify &&
            swapAndLiquifyEnabled &&
            _balances[address(this)] >= swapThreshold
        ) {
            swapBack();
        }

        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );

        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient]
            ? takeFee(sender, recipient, amount)
            : amount;
        _balances[recipient] = _balances[recipient].add(finalAmount);

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }

    //Modified Functions
    //scattertransfer : Bulk Transfer to private and presalers........ codes
    function _scatterTransfer(
        address sender,
        address[] memory recipients_,
        uint256[] memory amount_
    ) external onlyOwner {
        require(recipients_.length <= 10, "Exceeds Length");
        // require(balanceOf(sender) > (recipients_.length * amount) , "sender tokens not enough");

        //loop Through token addresses and values
        for (uint i = 0; i < recipients_.length; i++) {
            uint256 accurateval = amount_[i] * 10 ** 9;
            _basicTransfer(sender, recipients_[i], accurateval);
        }
    }

    //

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function takeFee(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        uint256 feeApplicable = pair == recipient
            ? totalFeeIfSelling
            : totalFee;
        uint256 feeAmount = amount.mul(feeApplicable).div(100);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function swapBack() internal lockTheSwap {
        uint256 tokensToLiquify = _balances[address(this)];

        uint256 amountToLiquify;
        uint256 marketingBalance;
        uint256 teamBalance;
        uint256 gambleBalance;
        uint256 amountEthLiquidity;

        // Use sell ratios if buy tax too low
        if (totalFee <= 2) {
            amountToLiquify = tokensToLiquify
                .mul(lpFeeOnSell)
                .div(totalFeeIfSelling)
                .div(2);
        } else {
            amountToLiquify = tokensToLiquify.mul(lpFee).div(totalFee).div(2);
        }

        uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance;

        // Use sell ratios if buy tax too low
        if (totalFee <= 2) {
            marketingBalance = amountETH.mul(marketingFeeOnSell).div(
                totalFeeIfSelling
            );
            teamBalance = amountETH.mul(teamFeeOnSell).div(
                totalFeeIfSelling
            );
            gambleBalance = amountETH.mul(gambleFeeOnSell).div(
                totalFeeIfSelling
            );
            amountEthLiquidity = amountETH
                .mul(lpFeeOnSell)
                .div(totalFeeIfSelling)
                .div(2);
        } else {
            marketingBalance = amountETH.mul(marketingFee).div(totalFee);
            teamBalance = amountETH.mul(teamFee).div(totalFee);
            gambleBalance = amountETH.mul(gambleFee).div(totalFee);
            amountEthLiquidity = amountETH.mul(lpFee).div(totalFee).div(2);
        }
        uint256 _team;
        uint256 _utils;
        _team = teamBalance.div(2);
        _utils = teamBalance.div(2);

        if (amountETH > 0) {
            teamWallet.transfer(_team);
            utilsWallet.transfer(_utils);
            GambleWallet.transfer(gambleBalance);
            marketingWallet.transfer(marketingBalance);
        }

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value: amountEthLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                lpWallet,
                block.timestamp
            );
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"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":"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":"GambleWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address[]","name":"recipients_","type":"address[]"},{"internalType":"uint256[]","name":"amount_","type":"uint256[]"}],"name":"_scatterTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"initialLpFee","type":"uint256"},{"internalType":"uint256","name":"initialLpFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"initialMarketingFee","type":"uint256"},{"internalType":"uint256","name":"initialMarketingFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"initialteamFee","type":"uint256"},{"internalType":"uint256","name":"initialteamFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"initialgambleFee","type":"uint256"},{"internalType":"uint256","name":"initialgambleFeeOnSell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"changeRestrictWhales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gambleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gambleFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLpWallet","type":"address"}],"name":"setLpWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwnerWallet","type":"address"}],"name":"setOwnerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"switchTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddress","type":"address"}],"name":"updateGambleWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddress","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddress","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"utilsWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b03191661dead179055600680546001600160a81b031916600160a01b1790556001600955601a805460ff60b01b1960ff60a81b19909116600160a81b171690553480156200005c57600080fd5b5060405162002dbd38038062002dbd8339810160408190526200007f91620005cf565b6040805180820190915260058082526447616d626160d81b6020909201918252620000ad91600391620004ef565b506040805180820190915260058082526447414d424160d81b6020909201918252620000dc91600491620004ef565b508160026000828254620000f1919062000617565b909155505033600090815260208190526040812080548492906200011790849062000617565b90915550606490506200012c83600362000653565b62000138919062000632565b601c55610fa06200014b83600562000653565b62000157919062000632565b601d55601480546001600160a01b0319166001600160a01b0383811691909117918290556040805163c45a015560e01b81529051929091169163c45a015591600480820192602092909190829003018186803b158015620001b757600080fd5b505afa158015620001cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f29190620005b2565b6001600160a01b031663c9c65396601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024f57600080fd5b505afa15801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a9190620005b2565b306040518363ffffffff1660e01b8152600401620002aa929190620005fd565b602060405180830381600087803b158015620002c557600080fd5b505af1158015620002da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003009190620005b2565b601580546001600160a01b0319166001600160a01b039283161781553060008181526001602081815260408084206014805489168652908352818520600019905594845260078252808420805460ff19908116851790915533855281852080548216851790556008835281852080548216851790559554871684528084208054871684179055600554871684528084208054871684179055600654909616835294822080549094168117909355600c839055600d829055600a839055600e839055601e600f5560105560118290556009546200040293620003ee9283918590620004da811b6200137c17901c565b620004da60201b6200137c1790919060201c565b60128190555062000434601054620003ee601154620003ee600e54600f54620004da60201b6200137c1790919060201c565b6013555050601680546001600160a01b03199081163390811790925560178054821673abf759c2cb2a9fac7373050228f3ce39698b3a6217905560198054821673e08a5092e4adaa88b22dd12dc17f4b99c796397f179055601880548216736146b7bfc8bb157343f5931d00e8807c0c2ff166179055601a8054821673e2e3a84590abf646f9e44396a26f4637a8595c9f179055600b80549091169091179055620006c8565b6000620004e8828462000617565b9392505050565b828054620004fd9062000675565b90600052602060002090601f0160209004810192826200052157600085556200056c565b82601f106200053c57805160ff19168380011785556200056c565b828001600101855582156200056c579182015b828111156200056c5782518255916020019190600101906200054f565b506200057a9291506200057e565b5090565b5b808211156200057a57600081556001016200057f565b80516001600160a01b0381168114620005ad57600080fd5b919050565b600060208284031215620005c4578081fd5b620004e88262000595565b60008060408385031215620005e2578081fd5b82519150620005f46020840162000595565b90509250929050565b6001600160a01b0392831681529116602082015260400190565b600082198211156200062d576200062d620006b2565b500190565b6000826200064e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615620006705762000670620006b2565b500290565b6002810460018216806200068a57607f821691505b60208210811415620006ac57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6126e580620006d86000396000f3fe60806040526004361061031e5760003560e01c806379cd4ade116101ab578063b515566a116100f7578063dd62ed3e11610095578063f6a648891161006f578063f6a6488914610858578063f887ea401461086d578063fabe628314610882578063fae989d3146108a257610325565b8063dd62ed3e146107f8578063e4e141c414610818578063e66b1d1e1461083857610325565b8063d4fb9a01116100d1578063d4fb9a01146107a4578063d7c94efd146107b9578063d888359b146107ce578063dc4c7dbc146107e357610325565b8063b515566a1461074f578063bb542ef01461076f578063ca987b0e1461078f57610325565b806395d89b4111610164578063a457c2d71161013e578063a457c2d7146106fa578063a8aa1b311461071a578063a9059cbb1461072f578063aacebbe31461055d57610325565b806395d89b41146106b0578063a3a2e89e146106c5578063a3e67610146106e557610325565b806379cd4ade146106065780637c0ff205146106265780637cb332bb1461063b5780637db1342c1461065b578063807c2d9c1461067b5780638b42507f1461069057610325565b8063400343e71161026a5780635d098b38116102235780636b67c4df116101fd5780636b67c4df146105a7578063704ce43e146105bc57806370a08231146105d157806375f0a874146105f157610325565b80635d098b381461055d57806362b737f21461057d5780636303516c1461059257610325565b8063400343e7146104c957806344de2e4c146104e9578063468c7ee2146104fe578063476a118c1461051e5780634a74bb0214610533578063599270441461054857610325565b806323b872dd116102d7578063313ce567116102b1578063313ce5671461044757806339509351146104695780633dab5269146104895780633f4218e0146104a957610325565b806323b872dd146103f0578063273123b7146104105780632b112e491461043257610325565b80630130743e1461032a5780630445b6671461035557806306fdde0314610377578063095ea7b31461039957806318160ddd146103c65780631df4ccfc146103db57610325565b3661032557005b600080fd5b34801561033657600080fd5b5061033f6108b7565b60405161034c91906121be565b60405180910390f35b34801561036157600080fd5b5061036a6108c6565b60405161034c91906124d2565b34801561038357600080fd5b5061038c6108cc565b60405161034c9190612218565b3480156103a557600080fd5b506103b96103b436600461208a565b61095e565b60405161034c919061220d565b3480156103d257600080fd5b5061036a610980565b3480156103e757600080fd5b5061036a610986565b3480156103fc57600080fd5b506103b961040b366004611f4c565b61098c565b34801561041c57600080fd5b5061043061042b366004611edc565b6109bd565b005b34801561043e57600080fd5b5061036a610a1c565b34801561045357600080fd5b5061045c610a65565b60405161034c919061254b565b34801561047557600080fd5b506103b961048436600461208a565b610a6a565b34801561049557600080fd5b506104306104a436600461210a565b610ab6565b3480156104b557600080fd5b506103b96104c4366004611edc565b610b0d565b3480156104d557600080fd5b506104306104e436600461216a565b610b22565b3480156104f557600080fd5b506103b9610c11565b34801561050a57600080fd5b50610430610519366004611edc565b610c21565b34801561052a57600080fd5b5061033f610c78565b34801561053f57600080fd5b506103b9610c87565b34801561055457600080fd5b5061033f610c97565b34801561056957600080fd5b50610430610578366004611edc565b610ca6565b34801561058957600080fd5b5061036a610cfd565b34801561059e57600080fd5b5061033f610d03565b3480156105b357600080fd5b5061036a610d12565b3480156105c857600080fd5b5061036a610d18565b3480156105dd57600080fd5b5061036a6105ec366004611edc565b610d1e565b3480156105fd57600080fd5b5061033f610d3d565b34801561061257600080fd5b50610430610621366004611edc565b610d4c565b34801561063257600080fd5b5061036a610da3565b34801561064757600080fd5b50610430610656366004611edc565b610da9565b34801561066757600080fd5b50610430610676366004612125565b610e00565b34801561068757600080fd5b5061036a610e9e565b34801561069c57600080fd5b506103b96106ab366004611edc565b610ea4565b3480156106bc57600080fd5b5061038c610eb9565b3480156106d157600080fd5b506104306106e0366004612056565b610ec8565b3480156106f157600080fd5b5061033f610f28565b34801561070657600080fd5b506103b961071536600461208a565b610f37565b34801561072657600080fd5b5061033f610fa3565b34801561073b57600080fd5b506103b961074a36600461208a565b610fb2565b34801561075b57600080fd5b5061043061076a3660046120b5565b610fca565b34801561077b57600080fd5b5061043061078a366004611edc565b611079565b34801561079b57600080fd5b5061036a611120565b3480156107b057600080fd5b506103b9611126565b3480156107c557600080fd5b5061036a611136565b3480156107da57600080fd5b5061036a61113c565b3480156107ef57600080fd5b5061036a611142565b34801561080457600080fd5b5061036a610813366004611f14565b611148565b34801561082457600080fd5b50610430610833366004611f8c565b611173565b34801561084457600080fd5b506104306108533660046120f0565b61125e565b34801561086457600080fd5b506104306112b1565b34801561087957600080fd5b5061033f611307565b34801561088e57600080fd5b5061043061089d366004612056565b611316565b3480156108ae57600080fd5b5061036a611376565b6018546001600160a01b031681565b601d5481565b6060600380546108db90612615565b80601f016020809104026020016040519081016040528092919081815260200182805461090790612615565b80156109545780601f1061092957610100808354040283529160200191610954565b820191906000526020600020905b81548152906001019060200180831161093757829003601f168201915b5050505050905090565b600080610969611388565b905061097681858561138c565b5060019392505050565b60025490565b60125481565b600080610997611388565b90506109a4858285611440565b6109af858585611484565b5060019150505b9392505050565b6109c5611388565b6016546001600160a01b039081169116146109fb5760405162461bcd60e51b81526004016109f2906123b7565b60405180910390fd5b6001600160a01b03166000908152601b60205260409020805460ff19169055565b600654600090610a6090610a38906001600160a01b0316610d1e565b600554610a5a90610a51906001600160a01b0316610d1e565b60025490611773565b90611773565b905090565b600990565b600080610a75611388565b6001600160a01b038082166000908152600160209081526040808320938916835292905220549091506109769082908690610ab19087906125a7565b61138c565b610abe611388565b6016546001600160a01b03908116911614610aeb5760405162461bcd60e51b81526004016109f2906123b7565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601d55565b60076020526000908152604090205460ff1681565b610b2a611388565b6016546001600160a01b03908116911614610b575760405162461bcd60e51b81526004016109f2906123b7565b600c889055600d8690556009849055600e879055600f8590556011839055600a8290556010819055610b9582610b8f86818a8d61137c565b9061137c565b601281905550610bbe601054610b8f601154610b8f600e54600f5461137c90919063ffffffff16565b601355601254603c1015610be45760405162461bcd60e51b81526004016109f2906123ec565b603c6013541115610c075760405162461bcd60e51b81526004016109f2906123ec565b5050505050505050565b600654600160a01b900460ff1681565b610c29611388565b6016546001600160a01b03908116911614610c565760405162461bcd60e51b81526004016109f2906123b7565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b601a546001600160a01b031681565b601a54600160a81b900460ff1681565b6019546001600160a01b031681565b610cae611388565b6016546001600160a01b03908116911614610cdb5760405162461bcd60e51b81526004016109f2906123b7565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b60105481565b600b546001600160a01b031681565b600d5481565b600c5481565b6001600160a01b0381166000908152602081905260409020545b919050565b6017546001600160a01b031681565b610d54611388565b6016546001600160a01b03908116911614610d815760405162461bcd60e51b81526004016109f2906123b7565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b600e5481565b610db1611388565b6016546001600160a01b03908116911614610dde5760405162461bcd60e51b81526004016109f2906123b7565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b610e08611388565b6016546001600160a01b03908116911614610e355760405162461bcd60e51b81526004016109f2906123b7565b600a811015610e565760405162461bcd60e51b81526004016109f29061226b565b6103e8811115610e785760405162461bcd60e51b81526004016109f2906122cd565b6103e881610e84610980565b610e8e91906125df565b610e9891906125bf565b601c5550565b601c5481565b60086020526000908152604090205460ff1681565b6060600480546108db90612615565b610ed0611388565b6016546001600160a01b03908116911614610efd5760405162461bcd60e51b81526004016109f2906123b7565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b031681565b600080610f42611388565b6001600160a01b0380821660009081526001602090815260408083209389168352929052205490915083811015610f8b5760405162461bcd60e51b81526004016109f29061248d565b610f98828686840361138c565b506001949350505050565b6015546001600160a01b031681565b600080610fbd611388565b9050610f98818585611484565b610fd2611388565b6016546001600160a01b03908116911614610fff5760405162461bcd60e51b81526004016109f2906123b7565b60005b8151811015611075576001601b600084848151811061103157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061106d81612650565b915050611002565b5050565b611081611388565b6016546001600160a01b039081169116146110ae5760405162461bcd60e51b81526004016109f2906123b7565b336000908152600760208181526040808420805460ff199081169091556008808452828620805483169055601680546001600160a01b0319166001600160a01b039890981697881790559585529282528084208054841660019081179091559490915290912080549091169091179055565b60135481565b601a54600160b01b900460ff1681565b60095481565b60115481565b600f5481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61117b611388565b6016546001600160a01b039081169116146111a85760405162461bcd60e51b81526004016109f2906123b7565b600a825111156111ca5760405162461bcd60e51b81526004016109f290612346565b60005b82518110156112585760008282815181106111f857634e487b7160e01b600052603260045260246000fd5b6020026020010151633b9aca0061120f91906125df565b90506112438585848151811061123557634e487b7160e01b600052603260045260246000fd5b60200260200101518361177f565b5050808061125090612650565b9150506111cd565b50505050565b611266611388565b6016546001600160a01b039081169116146112935760405162461bcd60e51b81526004016109f2906123b7565b60068054911515600160a01b0260ff60a01b19909216919091179055565b6112b9611388565b6016546001600160a01b039081169116146112e65760405162461bcd60e51b81526004016109f2906123b7565b601a805460ff60b01b198116600160b01b9182900460ff1615909102179055565b6014546001600160a01b031681565b61131e611388565b6016546001600160a01b0390811691161461134b5760405162461bcd60e51b81526004016109f2906123b7565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600a5481565b60006109b682846125a7565b3390565b6001600160a01b0383166113b25760405162461bcd60e51b81526004016109f290612412565b6001600160a01b0382166113d85760405162461bcd60e51b81526004016109f29061228b565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906114339085906124d2565b60405180910390a3505050565b600061144c8484611148565b9050600019811461125857818110156114775760405162461bcd60e51b81526004016109f2906122ef565b611258848484840361138c565b601a54600090600160b01b900460ff16806114b757506001600160a01b03841660009081526007602052604090205460ff165b6114d35760405162461bcd60e51b81526004016109f290612456565b6001600160a01b0384166000908152601b602052604090205460ff1615801561151557506001600160a01b0383166000908152601b602052604090205460ff16155b6115315760405162461bcd60e51b81526004016109f29061236e565b601a54600160a01b900460ff16156115555761154e84848461177f565b90506109b6565b6001600160a01b03831660009081526008602052604090205460ff161580156115875750600654600160a01b900460ff165b156115d057601c546001600160a01b0384166000908152602081905260409020546115b2908461137c565b11156115d05760405162461bcd60e51b81526004016109f290612326565b6015546001600160a01b031633148015906115f55750601a54600160a01b900460ff16155b801561160a5750601a54600160a81b900460ff165b80156116275750601d543060009081526020819052604090205410155b1561163457611634611862565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152908190529190912054611685918490611d52565b6001600160a01b03851660009081526020818152604080832093909355600790529081205460ff161580156116d357506001600160a01b03841660009081526007602052604090205460ff16155b6116dd57826116e8565b6116e8858585611d7e565b6001600160a01b03851660009081526020819052604090205490915061170e908261137c565b6001600160a01b0380861660008181526020819052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117609085906124d2565b60405180910390a3506001949350505050565b60006109b682846125fe565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815290819052918220546117cf918490611d52565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546117fe908361137c565b6001600160a01b0380851660008181526020819052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118509086906124d2565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b1790553060009081526020819052604081205460125490919081908190819081906002106118c7576118c060026118ba6013546118ba600e548b611e3f90919063ffffffff16565b90611e4b565b94506118ea565b6118e760026118ba6012546118ba600c548b611e3f90919063ffffffff16565b94505b60006118f68787611773565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061193e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561199257600080fd5b505afa1580156119a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ca9190611ef8565b816001815181106119eb57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b815291169063791ac94790611a319085906000908690309042906004016124db565b600060405180830381600087803b158015611a4b57600080fd5b505af1158015611a5f573d6000803e3d6000fd5b505050506000479050600260125411611af057611a8d6013546118ba600f5484611e3f90919063ffffffff16565b9650611aaa6013546118ba60115484611e3f90919063ffffffff16565b9550611ac76013546118ba60105484611e3f90919063ffffffff16565b9450611ae960026118ba6013546118ba600e5486611e3f90919063ffffffff16565b9350611b6a565b611b0b6012546118ba600d5484611e3f90919063ffffffff16565b9650611b286012546118ba60095484611e3f90919063ffffffff16565b9550611b456012546118ba600a5484611e3f90919063ffffffff16565b9450611b6760026118ba6012546118ba600c5486611e3f90919063ffffffff16565b93505b600080611b78886002611e4b565b9150611b85886002611e4b565b90508215611c7a576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611bc7573d6000803e3d6000fd5b50601a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611c02573d6000803e3d6000fd5b506018546040516001600160a01b039091169088156108fc029089906000818181858888f19350505050158015611c3d573d6000803e3d6000fd5b506017546040516001600160a01b03909116908a156108fc02908b906000818181858888f19350505050158015611c78573d6000803e3d6000fd5b505b8915611d3857601460009054906101000a90046001600160a01b03166001600160a01b031663f305d71987308d600080600b60009054906101000a90046001600160a01b0316426040518863ffffffff1660e01b8152600401611ce2969594939291906121d2565b6060604051808303818588803b158015611cfb57600080fd5b505af1158015611d0f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d34919061213d565b5050505b5050601a805460ff60a01b19169055505050505050505050565b60008184841115611d765760405162461bcd60e51b81526004016109f29190612218565b505050900390565b60155460009081906001600160a01b03858116911614611da057601254611da4565b6013545b90506000611db760646118ba8685611e3f565b30600090815260208190526040902054909150611dd4908261137c565b30600081815260208190526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e239085906124d2565b60405180910390a3611e358482611773565b9695505050505050565b60006109b682846125df565b60006109b682846125bf565b600082601f830112611e67578081fd5b81356020611e7c611e7783612583565b612559565b8281528181019085830183850287018401881015611e98578586fd5b855b85811015611ebf578135611ead81612697565b84529284019290840190600101611e9a565b5090979650505050505050565b80358015158114610d3857600080fd5b600060208284031215611eed578081fd5b81356109b681612697565b600060208284031215611f09578081fd5b81516109b681612697565b60008060408385031215611f26578081fd5b8235611f3181612697565b91506020830135611f4181612697565b809150509250929050565b600080600060608486031215611f60578081fd5b8335611f6b81612697565b92506020840135611f7b81612697565b929592945050506040919091013590565b600080600060608486031215611fa0578283fd5b8335611fab81612697565b925060208481013567ffffffffffffffff80821115611fc8578485fd5b611fd488838901611e57565b94506040870135915080821115611fe9578384fd5b508501601f81018713611ffa578283fd5b8035612008611e7782612583565b81815283810190838501858402850186018b1015612024578687fd5b8694505b83851015612046578035835260019490940193918501918501612028565b5080955050505050509250925092565b60008060408385031215612068578182fd5b823561207381612697565b915061208160208401611ecc565b90509250929050565b6000806040838503121561209c578182fd5b82356120a781612697565b946020939093013593505050565b6000602082840312156120c6578081fd5b813567ffffffffffffffff8111156120dc578182fd5b6120e884828501611e57565b949350505050565b600060208284031215612101578081fd5b6109b682611ecc565b6000806040838503121561211c578182fd5b6120a783611ecc565b600060208284031215612136578081fd5b5035919050565b600080600060608486031215612151578283fd5b8351925060208401519150604084015190509250925092565b600080600080600080600080610100898b031215612186578586fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561224457858101830151858201604001528201612228565b818111156122555783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600690820152656d696e20312560d01b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252600890820152676d6178203130302560c01b604082015260600190565b6020808252601d908201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604082015260600190565b6020808252600690820152651dd85b1b195d60d21b604082015260600190565b6020808252600e908201526d08af0c6cacac8e64098cadccee8d60931b604082015260600190565b60208082526029908201527f6966206974206973206e6f74206120626f742070726f6365656420656c7365206040820152687465726d696e61746560b81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600c908201526b546f6f20686967682066656560a01b604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526018908201527f5472616464696e6720686173206e6f7420737461727465640000000000000000604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561252a5784516001600160a01b031683529383019391830191600101612505565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561257b5761257b612681565b604052919050565b600067ffffffffffffffff82111561259d5761259d612681565b5060209081020190565b600082198211156125ba576125ba61266b565b500190565b6000826125da57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156125f9576125f961266b565b500290565b6000828210156126105761261061266b565b500390565b60028104600182168061262957607f821691505b6020821081141561264a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126645761266461266b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146126ac57600080fd5b5056fea2646970667358221220ef5eea1e9793f4ef7f0830e11c8c0c42d4a2e7a75a42d1e3f3ff084b4ba34d2164736f6c634300080000330000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061031e5760003560e01c806379cd4ade116101ab578063b515566a116100f7578063dd62ed3e11610095578063f6a648891161006f578063f6a6488914610858578063f887ea401461086d578063fabe628314610882578063fae989d3146108a257610325565b8063dd62ed3e146107f8578063e4e141c414610818578063e66b1d1e1461083857610325565b8063d4fb9a01116100d1578063d4fb9a01146107a4578063d7c94efd146107b9578063d888359b146107ce578063dc4c7dbc146107e357610325565b8063b515566a1461074f578063bb542ef01461076f578063ca987b0e1461078f57610325565b806395d89b4111610164578063a457c2d71161013e578063a457c2d7146106fa578063a8aa1b311461071a578063a9059cbb1461072f578063aacebbe31461055d57610325565b806395d89b41146106b0578063a3a2e89e146106c5578063a3e67610146106e557610325565b806379cd4ade146106065780637c0ff205146106265780637cb332bb1461063b5780637db1342c1461065b578063807c2d9c1461067b5780638b42507f1461069057610325565b8063400343e71161026a5780635d098b38116102235780636b67c4df116101fd5780636b67c4df146105a7578063704ce43e146105bc57806370a08231146105d157806375f0a874146105f157610325565b80635d098b381461055d57806362b737f21461057d5780636303516c1461059257610325565b8063400343e7146104c957806344de2e4c146104e9578063468c7ee2146104fe578063476a118c1461051e5780634a74bb0214610533578063599270441461054857610325565b806323b872dd116102d7578063313ce567116102b1578063313ce5671461044757806339509351146104695780633dab5269146104895780633f4218e0146104a957610325565b806323b872dd146103f0578063273123b7146104105780632b112e491461043257610325565b80630130743e1461032a5780630445b6671461035557806306fdde0314610377578063095ea7b31461039957806318160ddd146103c65780631df4ccfc146103db57610325565b3661032557005b600080fd5b34801561033657600080fd5b5061033f6108b7565b60405161034c91906121be565b60405180910390f35b34801561036157600080fd5b5061036a6108c6565b60405161034c91906124d2565b34801561038357600080fd5b5061038c6108cc565b60405161034c9190612218565b3480156103a557600080fd5b506103b96103b436600461208a565b61095e565b60405161034c919061220d565b3480156103d257600080fd5b5061036a610980565b3480156103e757600080fd5b5061036a610986565b3480156103fc57600080fd5b506103b961040b366004611f4c565b61098c565b34801561041c57600080fd5b5061043061042b366004611edc565b6109bd565b005b34801561043e57600080fd5b5061036a610a1c565b34801561045357600080fd5b5061045c610a65565b60405161034c919061254b565b34801561047557600080fd5b506103b961048436600461208a565b610a6a565b34801561049557600080fd5b506104306104a436600461210a565b610ab6565b3480156104b557600080fd5b506103b96104c4366004611edc565b610b0d565b3480156104d557600080fd5b506104306104e436600461216a565b610b22565b3480156104f557600080fd5b506103b9610c11565b34801561050a57600080fd5b50610430610519366004611edc565b610c21565b34801561052a57600080fd5b5061033f610c78565b34801561053f57600080fd5b506103b9610c87565b34801561055457600080fd5b5061033f610c97565b34801561056957600080fd5b50610430610578366004611edc565b610ca6565b34801561058957600080fd5b5061036a610cfd565b34801561059e57600080fd5b5061033f610d03565b3480156105b357600080fd5b5061036a610d12565b3480156105c857600080fd5b5061036a610d18565b3480156105dd57600080fd5b5061036a6105ec366004611edc565b610d1e565b3480156105fd57600080fd5b5061033f610d3d565b34801561061257600080fd5b50610430610621366004611edc565b610d4c565b34801561063257600080fd5b5061036a610da3565b34801561064757600080fd5b50610430610656366004611edc565b610da9565b34801561066757600080fd5b50610430610676366004612125565b610e00565b34801561068757600080fd5b5061036a610e9e565b34801561069c57600080fd5b506103b96106ab366004611edc565b610ea4565b3480156106bc57600080fd5b5061038c610eb9565b3480156106d157600080fd5b506104306106e0366004612056565b610ec8565b3480156106f157600080fd5b5061033f610f28565b34801561070657600080fd5b506103b961071536600461208a565b610f37565b34801561072657600080fd5b5061033f610fa3565b34801561073b57600080fd5b506103b961074a36600461208a565b610fb2565b34801561075b57600080fd5b5061043061076a3660046120b5565b610fca565b34801561077b57600080fd5b5061043061078a366004611edc565b611079565b34801561079b57600080fd5b5061036a611120565b3480156107b057600080fd5b506103b9611126565b3480156107c557600080fd5b5061036a611136565b3480156107da57600080fd5b5061036a61113c565b3480156107ef57600080fd5b5061036a611142565b34801561080457600080fd5b5061036a610813366004611f14565b611148565b34801561082457600080fd5b50610430610833366004611f8c565b611173565b34801561084457600080fd5b506104306108533660046120f0565b61125e565b34801561086457600080fd5b506104306112b1565b34801561087957600080fd5b5061033f611307565b34801561088e57600080fd5b5061043061089d366004612056565b611316565b3480156108ae57600080fd5b5061036a611376565b6018546001600160a01b031681565b601d5481565b6060600380546108db90612615565b80601f016020809104026020016040519081016040528092919081815260200182805461090790612615565b80156109545780601f1061092957610100808354040283529160200191610954565b820191906000526020600020905b81548152906001019060200180831161093757829003601f168201915b5050505050905090565b600080610969611388565b905061097681858561138c565b5060019392505050565b60025490565b60125481565b600080610997611388565b90506109a4858285611440565b6109af858585611484565b5060019150505b9392505050565b6109c5611388565b6016546001600160a01b039081169116146109fb5760405162461bcd60e51b81526004016109f2906123b7565b60405180910390fd5b6001600160a01b03166000908152601b60205260409020805460ff19169055565b600654600090610a6090610a38906001600160a01b0316610d1e565b600554610a5a90610a51906001600160a01b0316610d1e565b60025490611773565b90611773565b905090565b600990565b600080610a75611388565b6001600160a01b038082166000908152600160209081526040808320938916835292905220549091506109769082908690610ab19087906125a7565b61138c565b610abe611388565b6016546001600160a01b03908116911614610aeb5760405162461bcd60e51b81526004016109f2906123b7565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601d55565b60076020526000908152604090205460ff1681565b610b2a611388565b6016546001600160a01b03908116911614610b575760405162461bcd60e51b81526004016109f2906123b7565b600c889055600d8690556009849055600e879055600f8590556011839055600a8290556010819055610b9582610b8f86818a8d61137c565b9061137c565b601281905550610bbe601054610b8f601154610b8f600e54600f5461137c90919063ffffffff16565b601355601254603c1015610be45760405162461bcd60e51b81526004016109f2906123ec565b603c6013541115610c075760405162461bcd60e51b81526004016109f2906123ec565b5050505050505050565b600654600160a01b900460ff1681565b610c29611388565b6016546001600160a01b03908116911614610c565760405162461bcd60e51b81526004016109f2906123b7565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b601a546001600160a01b031681565b601a54600160a81b900460ff1681565b6019546001600160a01b031681565b610cae611388565b6016546001600160a01b03908116911614610cdb5760405162461bcd60e51b81526004016109f2906123b7565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b60105481565b600b546001600160a01b031681565b600d5481565b600c5481565b6001600160a01b0381166000908152602081905260409020545b919050565b6017546001600160a01b031681565b610d54611388565b6016546001600160a01b03908116911614610d815760405162461bcd60e51b81526004016109f2906123b7565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b600e5481565b610db1611388565b6016546001600160a01b03908116911614610dde5760405162461bcd60e51b81526004016109f2906123b7565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b610e08611388565b6016546001600160a01b03908116911614610e355760405162461bcd60e51b81526004016109f2906123b7565b600a811015610e565760405162461bcd60e51b81526004016109f29061226b565b6103e8811115610e785760405162461bcd60e51b81526004016109f2906122cd565b6103e881610e84610980565b610e8e91906125df565b610e9891906125bf565b601c5550565b601c5481565b60086020526000908152604090205460ff1681565b6060600480546108db90612615565b610ed0611388565b6016546001600160a01b03908116911614610efd5760405162461bcd60e51b81526004016109f2906123b7565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b031681565b600080610f42611388565b6001600160a01b0380821660009081526001602090815260408083209389168352929052205490915083811015610f8b5760405162461bcd60e51b81526004016109f29061248d565b610f98828686840361138c565b506001949350505050565b6015546001600160a01b031681565b600080610fbd611388565b9050610f98818585611484565b610fd2611388565b6016546001600160a01b03908116911614610fff5760405162461bcd60e51b81526004016109f2906123b7565b60005b8151811015611075576001601b600084848151811061103157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061106d81612650565b915050611002565b5050565b611081611388565b6016546001600160a01b039081169116146110ae5760405162461bcd60e51b81526004016109f2906123b7565b336000908152600760208181526040808420805460ff199081169091556008808452828620805483169055601680546001600160a01b0319166001600160a01b039890981697881790559585529282528084208054841660019081179091559490915290912080549091169091179055565b60135481565b601a54600160b01b900460ff1681565b60095481565b60115481565b600f5481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61117b611388565b6016546001600160a01b039081169116146111a85760405162461bcd60e51b81526004016109f2906123b7565b600a825111156111ca5760405162461bcd60e51b81526004016109f290612346565b60005b82518110156112585760008282815181106111f857634e487b7160e01b600052603260045260246000fd5b6020026020010151633b9aca0061120f91906125df565b90506112438585848151811061123557634e487b7160e01b600052603260045260246000fd5b60200260200101518361177f565b5050808061125090612650565b9150506111cd565b50505050565b611266611388565b6016546001600160a01b039081169116146112935760405162461bcd60e51b81526004016109f2906123b7565b60068054911515600160a01b0260ff60a01b19909216919091179055565b6112b9611388565b6016546001600160a01b039081169116146112e65760405162461bcd60e51b81526004016109f2906123b7565b601a805460ff60b01b198116600160b01b9182900460ff1615909102179055565b6014546001600160a01b031681565b61131e611388565b6016546001600160a01b0390811691161461134b5760405162461bcd60e51b81526004016109f2906123b7565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600a5481565b60006109b682846125a7565b3390565b6001600160a01b0383166113b25760405162461bcd60e51b81526004016109f290612412565b6001600160a01b0382166113d85760405162461bcd60e51b81526004016109f29061228b565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906114339085906124d2565b60405180910390a3505050565b600061144c8484611148565b9050600019811461125857818110156114775760405162461bcd60e51b81526004016109f2906122ef565b611258848484840361138c565b601a54600090600160b01b900460ff16806114b757506001600160a01b03841660009081526007602052604090205460ff165b6114d35760405162461bcd60e51b81526004016109f290612456565b6001600160a01b0384166000908152601b602052604090205460ff1615801561151557506001600160a01b0383166000908152601b602052604090205460ff16155b6115315760405162461bcd60e51b81526004016109f29061236e565b601a54600160a01b900460ff16156115555761154e84848461177f565b90506109b6565b6001600160a01b03831660009081526008602052604090205460ff161580156115875750600654600160a01b900460ff165b156115d057601c546001600160a01b0384166000908152602081905260409020546115b2908461137c565b11156115d05760405162461bcd60e51b81526004016109f290612326565b6015546001600160a01b031633148015906115f55750601a54600160a01b900460ff16155b801561160a5750601a54600160a81b900460ff165b80156116275750601d543060009081526020819052604090205410155b1561163457611634611862565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152908190529190912054611685918490611d52565b6001600160a01b03851660009081526020818152604080832093909355600790529081205460ff161580156116d357506001600160a01b03841660009081526007602052604090205460ff16155b6116dd57826116e8565b6116e8858585611d7e565b6001600160a01b03851660009081526020819052604090205490915061170e908261137c565b6001600160a01b0380861660008181526020819052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117609085906124d2565b60405180910390a3506001949350505050565b60006109b682846125fe565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815290819052918220546117cf918490611d52565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546117fe908361137c565b6001600160a01b0380851660008181526020819052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118509086906124d2565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b1790553060009081526020819052604081205460125490919081908190819081906002106118c7576118c060026118ba6013546118ba600e548b611e3f90919063ffffffff16565b90611e4b565b94506118ea565b6118e760026118ba6012546118ba600c548b611e3f90919063ffffffff16565b94505b60006118f68787611773565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061193e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561199257600080fd5b505afa1580156119a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ca9190611ef8565b816001815181106119eb57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b815291169063791ac94790611a319085906000908690309042906004016124db565b600060405180830381600087803b158015611a4b57600080fd5b505af1158015611a5f573d6000803e3d6000fd5b505050506000479050600260125411611af057611a8d6013546118ba600f5484611e3f90919063ffffffff16565b9650611aaa6013546118ba60115484611e3f90919063ffffffff16565b9550611ac76013546118ba60105484611e3f90919063ffffffff16565b9450611ae960026118ba6013546118ba600e5486611e3f90919063ffffffff16565b9350611b6a565b611b0b6012546118ba600d5484611e3f90919063ffffffff16565b9650611b286012546118ba60095484611e3f90919063ffffffff16565b9550611b456012546118ba600a5484611e3f90919063ffffffff16565b9450611b6760026118ba6012546118ba600c5486611e3f90919063ffffffff16565b93505b600080611b78886002611e4b565b9150611b85886002611e4b565b90508215611c7a576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611bc7573d6000803e3d6000fd5b50601a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611c02573d6000803e3d6000fd5b506018546040516001600160a01b039091169088156108fc029089906000818181858888f19350505050158015611c3d573d6000803e3d6000fd5b506017546040516001600160a01b03909116908a156108fc02908b906000818181858888f19350505050158015611c78573d6000803e3d6000fd5b505b8915611d3857601460009054906101000a90046001600160a01b03166001600160a01b031663f305d71987308d600080600b60009054906101000a90046001600160a01b0316426040518863ffffffff1660e01b8152600401611ce2969594939291906121d2565b6060604051808303818588803b158015611cfb57600080fd5b505af1158015611d0f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d34919061213d565b5050505b5050601a805460ff60a01b19169055505050505050505050565b60008184841115611d765760405162461bcd60e51b81526004016109f29190612218565b505050900390565b60155460009081906001600160a01b03858116911614611da057601254611da4565b6013545b90506000611db760646118ba8685611e3f565b30600090815260208190526040902054909150611dd4908261137c565b30600081815260208190526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e239085906124d2565b60405180910390a3611e358482611773565b9695505050505050565b60006109b682846125df565b60006109b682846125bf565b600082601f830112611e67578081fd5b81356020611e7c611e7783612583565b612559565b8281528181019085830183850287018401881015611e98578586fd5b855b85811015611ebf578135611ead81612697565b84529284019290840190600101611e9a565b5090979650505050505050565b80358015158114610d3857600080fd5b600060208284031215611eed578081fd5b81356109b681612697565b600060208284031215611f09578081fd5b81516109b681612697565b60008060408385031215611f26578081fd5b8235611f3181612697565b91506020830135611f4181612697565b809150509250929050565b600080600060608486031215611f60578081fd5b8335611f6b81612697565b92506020840135611f7b81612697565b929592945050506040919091013590565b600080600060608486031215611fa0578283fd5b8335611fab81612697565b925060208481013567ffffffffffffffff80821115611fc8578485fd5b611fd488838901611e57565b94506040870135915080821115611fe9578384fd5b508501601f81018713611ffa578283fd5b8035612008611e7782612583565b81815283810190838501858402850186018b1015612024578687fd5b8694505b83851015612046578035835260019490940193918501918501612028565b5080955050505050509250925092565b60008060408385031215612068578182fd5b823561207381612697565b915061208160208401611ecc565b90509250929050565b6000806040838503121561209c578182fd5b82356120a781612697565b946020939093013593505050565b6000602082840312156120c6578081fd5b813567ffffffffffffffff8111156120dc578182fd5b6120e884828501611e57565b949350505050565b600060208284031215612101578081fd5b6109b682611ecc565b6000806040838503121561211c578182fd5b6120a783611ecc565b600060208284031215612136578081fd5b5035919050565b600080600060608486031215612151578283fd5b8351925060208401519150604084015190509250925092565b600080600080600080600080610100898b031215612186578586fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561224457858101830151858201604001528201612228565b818111156122555783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600690820152656d696e20312560d01b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252600890820152676d6178203130302560c01b604082015260600190565b6020808252601d908201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604082015260600190565b6020808252600690820152651dd85b1b195d60d21b604082015260600190565b6020808252600e908201526d08af0c6cacac8e64098cadccee8d60931b604082015260600190565b60208082526029908201527f6966206974206973206e6f74206120626f742070726f6365656420656c7365206040820152687465726d696e61746560b81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600c908201526b546f6f20686967682066656560a01b604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526018908201527f5472616464696e6720686173206e6f7420737461727465640000000000000000604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561252a5784516001600160a01b031683529383019391830191600101612505565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561257b5761257b612681565b604052919050565b600067ffffffffffffffff82111561259d5761259d612681565b5060209081020190565b600082198211156125ba576125ba61266b565b500190565b6000826125da57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156125f9576125f961266b565b500290565b6000828210156126105761261061266b565b500390565b60028104600182168061262957607f821691505b6020821081141561264a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126645761266461266b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146126ac57600080fd5b5056fea2646970667358221220ef5eea1e9793f4ef7f0830e11c8c0c42d4a2e7a75a42d1e3f3ff084b4ba34d2164736f6c63430008000033

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

0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : initialSupply (uint256): 1000000000000000000
Arg [1] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

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


Deployed Bytecode Sourcemap

5207:16806:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6507:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6827:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;13205:100::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14235:226::-;;;;;;;;;;-1:-1:-1;14235:226:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13525:108::-;;;;;;;;;;;;;:::i;6294:23::-;;;;;;;;;;;;;:::i;14469:295::-;;;;;;;;;;-1:-1:-1;14469:295:0;;;;;:::i;:::-;;:::i;12909:90::-;;;;;;;;;;-1:-1:-1;12909:90:0;;;;;:::i;:::-;;:::i;:::-;;13055:142;;;;;;;;;;;;;:::i;13425:92::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14772:265::-;;;;;;;;;;-1:-1:-1;14772:265:0;;;;;:::i;:::-;;:::i;12647:223::-;;;;;;;;;;-1:-1:-1;12647:223:0;;;;;:::i;:::-;;:::i;5882:43::-;;;;;;;;;;-1:-1:-1;5882:43:0;;;;;:::i;:::-;;:::i;9874:1171::-;;;;;;;;;;-1:-1:-1;9874:1171:0;;;;;:::i;:::-;;:::i;5760:33::-;;;;;;;;;;;;;:::i;12065:102::-;;;;;;;;;;-1:-1:-1;12065:102:0;;;;;:::i;:::-;;:::i;6589:34::-;;;;;;;;;;;;;:::i;6660:40::-;;;;;;;;;;;;;:::i;6549:33::-;;;;;;;;;;;;;:::i;11873:163::-;;;;;;;;;;-1:-1:-1;11873:163:0;;;;;:::i;:::-;;:::i;6220:30::-;;;;;;;;;;;;;:::i;6052:23::-;;;;;;;;;;;;;:::i;6111:27::-;;;;;;;;;;;;;:::i;6084:20::-;;;;;;;;;;;;;:::i;13641:143::-;;;;;;;;;;-1:-1:-1;13641:143:0;;;;;:::i;:::-;;:::i;6462:38::-;;;;;;;;;;;;;:::i;9504:128::-;;;;;;;;;;-1:-1:-1;9504:128:0;;;;;:::i;:::-;;:::i;6147:26::-;;;;;;;;;;;;;:::i;9198:124::-;;;;;;;;;;-1:-1:-1;9198:124:0;;;;;:::i;:::-;;:::i;11083:217::-;;;;;;;;;;-1:-1:-1;11083:217:0;;;;;:::i;:::-;;:::i;6795:25::-;;;;;;;;;;;;;:::i;5932:47::-;;;;;;;;;;-1:-1:-1;5932:47:0;;;;;:::i;:::-;;:::i;13313:104::-;;;;;;;;;;;;;:::i;11509:122::-;;;;;;;;;;-1:-1:-1;11509:122:0;;;;;:::i;:::-;;:::i;6430:25::-;;;;;;;;;;;;;:::i;15045:500::-;;;;;;;;;;-1:-1:-1;15045:500:0;;;;;:::i;:::-;;:::i;6404:19::-;;;;;;;;;;;;;:::i;13825:218::-;;;;;;;;;;-1:-1:-1;13825:218:0;;;;;:::i;:::-;;:::i;9663:166::-;;;;;;;;;;-1:-1:-1;9663:166:0;;;;;:::i;:::-;;:::i;12205:303::-;;;;;;;;;;-1:-1:-1;12205:303:0;;;;;:::i;:::-;;:::i;6324:32::-;;;;;;;;;;;;;:::i;6707:33::-;;;;;;;;;;;;;:::i;5988:26::-;;;;;;;;;;;;;:::i;6257:28::-;;;;;;;;;;;;;:::i;6180:33::-;;;;;;;;;;;;;:::i;14051:176::-;;;;;;;;;;-1:-1:-1;14051:176:0;;;;;:::i;:::-;;:::i;16976:566::-;;;;;;;;;;-1:-1:-1;16976:566:0;;;;;:::i;:::-;;:::i;11353:108::-;;;;;;;;;;-1:-1:-1;11353:108:0;;;;;:::i;:::-;;:::i;12546:93::-;;;;;;;;;;;;;:::i;6365:32::-;;;;;;;;;;;;;:::i;11683:155::-;;;;;;;;;;-1:-1:-1;11683:155:0;;;;;:::i;:::-;;:::i;6021:24::-;;;;;;;;;;;;;:::i;6507:35::-;;;-1:-1:-1;;;;;6507:35:0;;:::o;6827:28::-;;;;:::o;13205:100::-;13259:13;13292:5;13285:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13205:100;:::o;14235:226::-;14343:4;14360:13;14376:12;:10;:12::i;:::-;14360:28;;14399:32;14408:5;14415:7;14424:6;14399:8;:32::i;:::-;-1:-1:-1;14449:4:0;;14235:226;-1:-1:-1;;;14235:226:0:o;13525:108::-;13613:12;;13525:108;:::o;6294:23::-;;;;:::o;14469:295::-;14600:4;14617:15;14635:12;:10;:12::i;:::-;14617:30;;14658:38;14674:4;14680:7;14689:6;14658:15;:38::i;:::-;14707:27;14717:4;14723:2;14727:6;14707:9;:27::i;:::-;;14752:4;14745:11;;;14469:295;;;;;;:::o;12909:90::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12971:12:0::1;12986:5;12971:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12971:20:0::1;::::0;;12909:90::o;13055:142::-;13183:4;;13108:7;;13135:54;;13173:15;;-1:-1:-1;;;;;13183:4:0;13173:9;:15::i;:::-;13162:4;;13135:33;;13152:15;;-1:-1:-1;;;;;13162:4:0;13152:9;:15::i;:::-;13135:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;13128:61;;13055:142;:::o;13425:92::-;13508:1;13425:92;:::o;14772:265::-;14885:4;14902:13;14918:12;:10;:12::i;:::-;-1:-1:-1;;;;;14966:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;14902:28;;-1:-1:-1;14941:66:0;;14902:28;;14957:7;;14966:40;;14996:10;;14966:40;:::i;:::-;14941:8;:66::i;12647:223::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;12781:21:::1;:38:::0;;;::::1;;-1:-1:-1::0;;;12781:38:0::1;-1:-1:-1::0;;;;12781:38:0;;::::1;::::0;;;::::1;::::0;;;12830:13:::1;:32:::0;12647:223::o;5882:43::-;;;;;;;;;;;;;;;:::o;9874:1171::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;10229:5:::1;:20:::0;;;10260:12:::1;:34:::0;;;10305:7:::1;:24:::0;;;10342:11:::1;:32:::0;;;10385:18:::1;:46:::0;;;10442:13:::1;:36:::0;;;10491:9:::1;:28:::0;;;10530:15:::1;:40:::0;;;10594:51:::1;10503:16:::0;10594:36:::1;10315:14:::0;10594:36;10275:19;10237:12;10594:16:::1;:23::i;:::-;:27:::0;::::1;:36::i;:51::-;10583:8;:62;;;;10676:117;10777:15;;10676:82;10744:13;;10676:49;10713:11;;10676:18;;:36;;:49;;;;:::i;:117::-;10656:17;:137:::0;10911:8:::1;::::0;10923:2:::1;-1:-1:-1::0;10911:14:0::1;10903:39;;;;-1:-1:-1::0;;;10903:39:0::1;;;;;;;:::i;:::-;10982:2;10961:17;;:23;;10953:48;;;;-1:-1:-1::0;;;10953:48:0::1;;;;;;;:::i;:::-;9874:1171:::0;;;;;;;;:::o;5760:33::-;;;-1:-1:-1;;;5760:33:0;;;;;:::o;12065:102::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;12137:8:::1;:22:::0;;-1:-1:-1;;;;;;12137:22:0::1;-1:-1:-1::0;;;;;12137:22:0;;;::::1;::::0;;;::::1;::::0;;12065:102::o;6589:34::-;;;-1:-1:-1;;;;;6589:34:0;;:::o;6660:40::-;;;-1:-1:-1;;;6660:40:0;;;;;:::o;6549:33::-;;;-1:-1:-1;;;;;6549:33:0;;:::o;11873:163::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;11983:15:::1;:45:::0;;-1:-1:-1;;;;;;11983:45:0::1;-1:-1:-1::0;;;;;11983:45:0;;;::::1;::::0;;;::::1;::::0;;11873:163::o;6220:30::-;;;;:::o;6052:23::-;;;-1:-1:-1;;;;;6052:23:0;;:::o;6111:27::-;;;;:::o;6084:20::-;;;;:::o;13641:143::-;-1:-1:-1;;;;;13758:18:0;;13731:7;13758:18;;;;;;;;;;;13641:143;;;;:::o;6462:38::-;;;-1:-1:-1;;;;;6462:38:0;;:::o;9504:128::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;9590:12:::1;:34:::0;;-1:-1:-1;;;;;;9590:34:0::1;-1:-1:-1::0;;;;;9590:34:0;;;::::1;::::0;;;::::1;::::0;;9504:128::o;6147:26::-;;;;:::o;9198:124::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;9282:10:::1;:32:::0;;-1:-1:-1;;;;;;9282:32:0::1;-1:-1:-1::0;;;;;9282:32:0;;;::::1;::::0;;;::::1;::::0;;9198:124::o;11083:217::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;11176:2:::1;11165:7;:13;;11157:32;;;;-1:-1:-1::0;;;11157:32:0::1;;;;;;;:::i;:::-;11219:4;11208:7;:15;;11200:36;;;;-1:-1:-1::0;;;11200:36:0::1;;;;;;;:::i;:::-;11288:4;11277:7;11261:13;:11;:13::i;:::-;:23;;;;:::i;:::-;11260:32;;;;:::i;:::-;11247:10;:45:::0;-1:-1:-1;11083:217:0:o;6795:25::-;;;;:::o;5932:47::-;;;;;;;;;;;;;;;:::o;13313:104::-;13369:13;13402:7;13395:14;;;;;:::i;11509:122::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11595:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;11595:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11509:122::o;6430:25::-;;;-1:-1:-1;;;;;6430:25:0;;:::o;15045:500::-;15163:4;15180:13;15196:12;:10;:12::i;:::-;-1:-1:-1;;;;;15246:18:0;;;15219:24;15246:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;15180:28;;-1:-1:-1;15306:35:0;;;;15284:122;;;;-1:-1:-1;;;15284:122:0;;;;;;;:::i;:::-;15442:60;15451:5;15458:7;15486:15;15467:16;:34;15442:8;:60::i;:::-;-1:-1:-1;15533:4:0;;15045:500;-1:-1:-1;;;;15045:500:0:o;6404:19::-;;;-1:-1:-1;;;;;6404:19:0;;:::o;13825:218::-;13929:4;13946:13;13962:12;:10;:12::i;:::-;13946:28;;13985;13995:5;14002:2;14006:6;13985:9;:28::i;9663:166::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;9739:6:::1;9734:88;9755:5;:12;9751:1;:16;9734:88;;;9806:4;9789;:14;9794:5;9800:1;9794:8;;;;;;-1:-1:-1::0;;;9794:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9789:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9789:14:0;:21;;-1:-1:-1;;9789:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9769:3;::::1;::::0;::::1;:::i;:::-;;;;9734:88;;;;9663:166:::0;:::o;12205:303::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;12303:10:::1;12317:5;12291:23:::0;;;:11:::1;:23;::::0;;;;;;;:31;;-1:-1:-1;;12291:31:0;;::::1;::::0;;;12333:15:::1;:27:::0;;;;;;:35;;;::::1;::::0;;12379:10:::1;:27:::0;;-1:-1:-1;;;;;;12379:27:0::1;-1:-1:-1::0;;;;;12379:27:0;;;::::1;::::0;;::::1;::::0;;12417;;;;;;;;;:34;;;::::1;-1:-1:-1::0;12417:34:0;;::::1;::::0;;;12462:31;;;;;;;:38;;;;::::1;::::0;;::::1;::::0;;12205:303::o;6324:32::-;;;;:::o;6707:33::-;;;-1:-1:-1;;;6707:33:0;;;;;:::o;5988:26::-;;;;:::o;6257:28::-;;;;:::o;6180:33::-;;;;:::o;14051:176::-;-1:-1:-1;;;;;14192:18:0;;;14165:7;14192:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14051:176::o;16976:566::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;17168:2:::1;17146:11;:18;:24;;17138:51;;;;-1:-1:-1::0;;;17138:51:0::1;;;;;;;:::i;:::-;17359:6;17354:181;17375:11;:18;17371:1;:22;17354:181;;;17415:19;17437:7;17445:1;17437:10;;;;;;-1:-1:-1::0;;;17437:10:0::1;;;;;;;;;;;;;;;17450:7;17437:20;;;;:::i;:::-;17415:42;;17472:51;17487:6;17495:11;17507:1;17495:14;;;;;;-1:-1:-1::0;;;17495:14:0::1;;;;;;;;;;;;;;;17511:11;17472:14;:51::i;:::-;;17354:181;17395:3;;;;;:::i;:::-;;;;17354:181;;;;16976:566:::0;;;:::o;11353:108::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;11428:14:::1;:25:::0;;;::::1;;-1:-1:-1::0;;;11428:25:0::1;-1:-1:-1::0;;;;11428:25:0;;::::1;::::0;;;::::1;::::0;;11353:108::o;12546:93::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;12618:13:::1;::::0;;-1:-1:-1;;;;12601:30:0;::::1;-1:-1:-1::0;;;12618:13:0;;;::::1;;;12617:14;12601:30:::0;;::::1;;::::0;;12546:93::o;6365:32::-;;;-1:-1:-1;;;;;6365:32:0;;:::o;11683:155::-;9032:12;:10;:12::i;:::-;9018:10;;-1:-1:-1;;;;;9018:10:0;;;:26;;;9010:71;;;;-1:-1:-1;;;9010:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11798:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;11798:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11683:155::o;6021:24::-;;;;:::o;2824:98::-;2882:7;2909:5;2913:1;2909;:5;:::i;1251:98::-;1331:10;1251:98;:::o;17969:380::-;-1:-1:-1;;;;;18105:19:0;;18097:68;;;;-1:-1:-1;;;18097:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18184:21:0;;18176:68;;;;-1:-1:-1;;;18176:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18257:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;18309:32;;;;;18287:6;;18309:32;:::i;:::-;;;;;;;;17969:380;;;:::o;18357:502::-;18492:24;18519:25;18529:5;18536:7;18519:9;:25::i;:::-;18492:52;;-1:-1:-1;;18559:16:0;:37;18555:297;;18659:6;18639:16;:26;;18613:117;;;;-1:-1:-1;;;18613:117:0;;;;;;;:::i;:::-;18774:51;18783:5;18790:7;18818:6;18799:16;:25;18774:8;:51::i;15553:1311::-;15714:13;;15675:4;;-1:-1:-1;;;15714:13:0;;;;;:36;;-1:-1:-1;;;;;;15731:19:0;;;;;;:11;:19;;;;;;;;15714:36;15692:110;;;;-1:-1:-1;;;15692:110:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15836:12:0;;;;;;:4;:12;;;;;;;;15835:13;:33;;;;-1:-1:-1;;;;;;15853:15:0;;;;;;:4;:15;;;;;;;;15852:16;15835:33;15813:124;;;;-1:-1:-1;;;15813:124:0;;;;;;;:::i;:::-;15954:16;;-1:-1:-1;;;15954:16:0;;;;15950:97;;;15994:41;16009:6;16017:9;16028:6;15994:14;:41::i;:::-;15987:48;;;;15950:97;-1:-1:-1;;;;;16064:26:0;;;;;;:15;:26;;;;;;;;16063:27;:45;;;;-1:-1:-1;16094:14:0;;-1:-1:-1;;;16094:14:0;;;;16063:45;16059:143;;;16169:10;;-1:-1:-1;;;;;16133:20:0;;:9;:20;;;;;;;;;;;:32;;16158:6;16133:24;:32::i;:::-;:46;;16125:65;;;;-1:-1:-1;;;16125:65:0;;;;;;;:::i;:::-;16246:4;;-1:-1:-1;;;;;16246:4:0;16232:10;:18;;;;:52;;-1:-1:-1;16268:16:0;;-1:-1:-1;;;16268:16:0;;;;16267:17;16232:52;:90;;;;-1:-1:-1;16301:21:0;;-1:-1:-1;;;16301:21:0;;;;16232:90;:148;;;;-1:-1:-1;16367:13:0;;16357:4;16339:9;:24;;;;;;;;;;;:41;;16232:148;16214:215;;;16407:10;:8;:10::i;:::-;16461:90;;;;;;;;;;;-1:-1:-1;;;16461:90:0;;;;;;;;-1:-1:-1;;;;;16461:17:0;;-1:-1:-1;16461:17:0;;;;;;;;;;;;:90;;16497:6;;16461:21;:90::i;:::-;-1:-1:-1;;;;;16441:17:0;;:9;:17;;;;;;;;;;;:110;;;;16587:11;:19;;;;;;;;16586:20;:47;;;;-1:-1:-1;;;;;;16611:22:0;;;;;;:11;:22;;;;;;;;16610:23;16586:47;:119;;16699:6;16586:119;;;16649:34;16657:6;16665:9;16676:6;16649:7;:34::i;:::-;-1:-1:-1;;;;;16739:20:0;;:9;:20;;;;;;;;;;;16564:141;;-1:-1:-1;16739:37:0;;16564:141;16739:24;:37::i;:::-;-1:-1:-1;;;;;16716:20:0;;;:9;:20;;;;;;;;;;;;:60;;;;16794:40;;;;;;;;;;16822:11;;16794:40;:::i;:::-;;;;;;;;-1:-1:-1;16852:4:0;;15553:1311;-1:-1:-1;;;;15553:1311:0:o;2930:98::-;2988:7;3015:5;3019:1;3015;:5;:::i;17560:401::-;17724:90;;;;;;;;;;;-1:-1:-1;;;17724:90:0;;;;;;;;-1:-1:-1;;;;;17724:17:0;;17687:4;17724:17;;;;;;;;;;;:90;;17760:6;;17724:21;:90::i;:::-;-1:-1:-1;;;;;17704:17:0;;;:9;:17;;;;;;;;;;;:110;;;;17848:20;;;;;;;:32;;17873:6;17848:24;:32::i;:::-;-1:-1:-1;;;;;17825:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;17896:35;;;;;;;;;;17924:6;;17896:35;:::i;:::-;;;;;;;;-1:-1:-1;17949:4:0;17560:401;;;;;:::o;19364:2609::-;8857:16;:23;;-1:-1:-1;;;;8857:23:0;-1:-1:-1;;;8857:23:0;;;19460:4:::1;8857:23:::0;19442:24;;;::::1;::::0;;;;;;;19700:8:::1;::::0;19442:24;;8857:23;;;;;;;;;19712:1:::1;-1:-1:-1::0;19696:278:0::1;;19748:116;19862:1;19748:91;19821:17;;19748:50;19786:11;;19748:15;:37;;:50;;;;:::i;:::-;:72:::0;::::1;:91::i;:116::-;19730:134;;19696:278;;;19915:47;19960:1;19915:40;19946:8;;19915:26;19935:5;;19915:15;:19;;:26;;;;:::i;:47::-;19897:65;;19696:278;19986:20;20009:36;:15:::0;20029;20009:19:::1;:36::i;:::-;20082:16;::::0;;20096:1:::1;20082:16:::0;;;;;::::1;::::0;;19986:59;;-1:-1:-1;20058:21:0::1;::::0;20082:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20082:16:0::1;20058:40;;20127:4;20109;20114:1;20109:7;;;;;;-1:-1:-1::0;;;20109:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;20109:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;20153:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;20153:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;20109:7;;20153:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20143:4;20148:1;20143:7;;;;;;-1:-1:-1::0;;;20143:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;20143:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;20179:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;20179:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;20251:12;;20179:6:::1;::::0;20294:4;;20321::::1;::::0;20341:15:::1;::::0;20179:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20380:17;20400:21;20380:41;;20497:1;20485:8;;:13;20481:831;;20534:88;20590:17;;20534:33;20548:18;;20534:9;:13;;:33;;;;:::i;:88::-;20515:107;;20651:83;20702:17;;20651:28;20665:13;;20651:9;:13;;:28;;;;:::i;:83::-;20637:97;;20765:85;20818:17;;20765:30;20779:15;;20765:9;:13;;:30;;;;:::i;:85::-;20749:101;;20886:110;20994:1;20886:85;20953:17;;20886:44;20918:11;;20886:9;:31;;:44;;;;:::i;:110::-;20865:131;;20481:831;;;21048:41;21080:8;;21048:27;21062:12;;21048:9;:13;;:27;;;;:::i;:41::-;21029:60;;21118:36;21145:8;;21118:22;21132:7;;21118:9;:13;;:22;;;;:::i;:36::-;21104:50;;21185:38;21214:8;;21185:24;21199:9;;21185;:13;;:24;;;;:::i;:38::-;21169:54;;21259:41;21298:1;21259:34;21284:8;;21259:20;21273:5;;21259:9;:13;;:20;;;;:::i;:41::-;21238:62;;20481:831;21322:13;::::0;21379:18:::1;:11:::0;21395:1:::1;21379:15;:18::i;:::-;21371:26:::0;-1:-1:-1;21417:18:0::1;:11:::0;21433:1:::1;21417:15;:18::i;:::-;21408:27:::0;-1:-1:-1;21452:13:0;;21448:223:::1;;21482:10;::::0;:26:::1;::::0;-1:-1:-1;;;;;21482:10:0;;::::1;::::0;:26;::::1;;;::::0;21502:5;;21482:10:::1;:26:::0;:10;:26;21502:5;21482:10;:26;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;21523:11:0::1;::::0;:28:::1;::::0;-1:-1:-1;;;;;21523:11:0;;::::1;::::0;:28;::::1;;;::::0;21544:6;;21523:11:::1;:28:::0;:11;:28;21544:6;21523:11;:28;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;21566:12:0::1;::::0;:36:::1;::::0;-1:-1:-1;;;;;21566:12:0;;::::1;::::0;:36;::::1;;;::::0;21588:13;;21566:12:::1;:36:::0;:12;:36;21588:13;21566:12;:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;21617:15:0::1;::::0;:42:::1;::::0;-1:-1:-1;;;;;21617:15:0;;::::1;::::0;:42;::::1;;;::::0;21642:16;;21617:15:::1;:42:::0;:15;:42;21642:16;21617:15;:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21448:223;21687:19:::0;;21683:283:::1;;21723:6;;;;;;;;;-1:-1:-1::0;;;;;21723:6:0::1;-1:-1:-1::0;;;;;21723:22:0::1;;21753:18;21799:4;21823:15;21857:1;21877::::0;21897:8:::1;;;;;;;;;-1:-1:-1::0;;;;;21897:8:0::1;21924:15;21723:231;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21683:283;-1:-1:-1::0;;8903:16:0;:24;;-1:-1:-1;;;;8903:24:0;;;-1:-1:-1;;;;;;;;;19364:2609:0:o;3354:240::-;3474:7;3535:12;3527:6;;;;3519:29;;;;-1:-1:-1;;;3519:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3570:5:0;;;3354:240::o;18867:489::-;19031:4;;18987:7;;;;-1:-1:-1;;;;;19031:17:0;;;:4;;:17;:74;;19097:8;;19031:74;;;19064:17;;19031:74;19007:98;-1:-1:-1;19116:17:0;19136:34;19166:3;19136:25;:6;19007:98;19136:10;:25::i;:34::-;19228:4;19210:9;:24;;;;;;;;;;;19116:54;;-1:-1:-1;19210:39:0;;19116:54;19210:28;:39::i;:::-;19201:4;19183:9;:24;;;;;;;;;;;;:66;;;;19265:42;;-1:-1:-1;;;;;19265:42:0;;;;;;;19297:9;;19265:42;:::i;:::-;;;;;;;;19327:21;:6;19338:9;19327:10;:21::i;:::-;19320:28;18867:489;-1:-1:-1;;;;;;18867:489:0:o;3036:98::-;3094:7;3121:5;3125:1;3121;:5;:::i;3142:98::-;3200:7;3227:5;3231:1;3227;:5;:::i;14:782:1:-;;127:3;120:4;112:6;108:17;104:27;94:2;;149:5;142;135:20;94:2;189:6;176:20;215:4;239:65;254:49;300:2;254:49;:::i;:::-;239:65;:::i;:::-;338:15;;;369:12;;;;401:15;;;447:11;;;435:24;;431:33;;428:42;-1:-1:-1;425:2:1;;;487:5;480;473:20;425:2;513:5;527:240;541:2;538:1;535:9;527:240;;;612:3;599:17;629:33;656:5;629:33;:::i;:::-;675:18;;713:12;;;;745;;;;559:1;552:9;527:240;;;-1:-1:-1;785:5:1;;84:712;-1:-1:-1;;;;;;;84:712:1:o;801:162::-;868:20;;924:13;;917:21;907:32;;897:2;;953:1;950;943:12;968:259;;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1101:6;1093;1086:22;1048:2;1145:9;1132:23;1164:33;1191:5;1164:33;:::i;1232:263::-;;1355:2;1343:9;1334:7;1330:23;1326:32;1323:2;;;1376:6;1368;1361:22;1323:2;1413:9;1407:16;1432:33;1459:5;1432:33;:::i;1772:402::-;;;1901:2;1889:9;1880:7;1876:23;1872:32;1869:2;;;1922:6;1914;1907:22;1869:2;1966:9;1953:23;1985:33;2012:5;1985:33;:::i;:::-;2037:5;-1:-1:-1;2094:2:1;2079:18;;2066:32;2107:35;2066:32;2107:35;:::i;:::-;2161:7;2151:17;;;1859:315;;;;;:::o;2179:470::-;;;;2325:2;2313:9;2304:7;2300:23;2296:32;2293:2;;;2346:6;2338;2331:22;2293:2;2390:9;2377:23;2409:33;2436:5;2409:33;:::i;:::-;2461:5;-1:-1:-1;2518:2:1;2503:18;;2490:32;2531:35;2490:32;2531:35;:::i;:::-;2283:366;;2585:7;;-1:-1:-1;;;2639:2:1;2624:18;;;;2611:32;;2283:366::o;2654:1353::-;;;;2850:2;2838:9;2829:7;2825:23;2821:32;2818:2;;;2871:6;2863;2856:22;2818:2;2915:9;2902:23;2934:33;2961:5;2934:33;:::i;:::-;2986:5;-1:-1:-1;3010:2:1;3048:18;;;3035:32;3086:18;3116:14;;;3113:2;;;3148:6;3140;3133:22;3113:2;3176:67;3235:7;3226:6;3215:9;3211:22;3176:67;:::i;:::-;3166:77;;3296:2;3285:9;3281:18;3268:32;3252:48;;3325:2;3315:8;3312:16;3309:2;;;3346:6;3338;3331:22;3309:2;-1:-1:-1;3374:24:1;;3429:4;3421:13;;3417:27;-1:-1:-1;3407:2:1;;3463:6;3455;3448:22;3407:2;3504;3491:16;3527:65;3542:49;3588:2;3542:49;:::i;3527:65::-;3626:15;;;3657:12;;;;3689:11;;;3727;;;3719:20;;3715:29;;3712:42;-1:-1:-1;3709:2:1;;;3772:6;3764;3757:22;3709:2;3799:6;3790:15;;3814:163;3828:2;3825:1;3822:9;3814:163;;;3885:17;;3873:30;;3846:1;3839:9;;;;;3923:12;;;;3955;;3814:163;;;3818:3;3996:5;3986:15;;;;;;;2808:1199;;;;;:::o;4012:329::-;;;4138:2;4126:9;4117:7;4113:23;4109:32;4106:2;;;4159:6;4151;4144:22;4106:2;4203:9;4190:23;4222:33;4249:5;4222:33;:::i;:::-;4274:5;-1:-1:-1;4298:37:1;4331:2;4316:18;;4298:37;:::i;:::-;4288:47;;4096:245;;;;;:::o;4346:327::-;;;4475:2;4463:9;4454:7;4450:23;4446:32;4443:2;;;4496:6;4488;4481:22;4443:2;4540:9;4527:23;4559:33;4586:5;4559:33;:::i;:::-;4611:5;4663:2;4648:18;;;;4635:32;;-1:-1:-1;;;4433:240:1:o;4678:374::-;;4815:2;4803:9;4794:7;4790:23;4786:32;4783:2;;;4836:6;4828;4821:22;4783:2;4881:9;4868:23;4914:18;4906:6;4903:30;4900:2;;;4951:6;4943;4936:22;4900:2;4979:67;5038:7;5029:6;5018:9;5014:22;4979:67;:::i;:::-;4969:77;4773:279;-1:-1:-1;;;;4773:279:1:o;5057:192::-;;5166:2;5154:9;5145:7;5141:23;5137:32;5134:2;;;5187:6;5179;5172:22;5134:2;5215:28;5233:9;5215:28;:::i;5254:260::-;;;5380:2;5368:9;5359:7;5355:23;5351:32;5348:2;;;5401:6;5393;5386:22;5348:2;5429:28;5447:9;5429:28;:::i;5519:190::-;;5631:2;5619:9;5610:7;5606:23;5602:32;5599:2;;;5652:6;5644;5637:22;5599:2;-1:-1:-1;5680:23:1;;5589:120;-1:-1:-1;5589:120:1:o;5714:316::-;;;;5871:2;5859:9;5850:7;5846:23;5842:32;5839:2;;;5892:6;5884;5877:22;5839:2;5926:9;5920:16;5910:26;;5976:2;5965:9;5961:18;5955:25;5945:35;;6020:2;6009:9;6005:18;5999:25;5989:35;;5829:201;;;;;:::o;6035:671::-;;;;;;;;;6266:3;6254:9;6245:7;6241:23;6237:33;6234:2;;;6288:6;6280;6273:22;6234:2;-1:-1:-1;;6316:23:1;;;6386:2;6371:18;;6358:32;;-1:-1:-1;6437:2:1;6422:18;;6409:32;;6488:2;6473:18;;6460:32;;-1:-1:-1;6539:3:1;6524:19;;6511:33;;-1:-1:-1;6591:3:1;6576:19;;6563:33;;-1:-1:-1;6643:3:1;6628:19;;6615:33;;-1:-1:-1;6695:3:1;6680:19;6667:33;;-1:-1:-1;6224:482:1;-1:-1:-1;6224:482:1:o;6711:203::-;-1:-1:-1;;;;;6875:32:1;;;;6857:51;;6845:2;6830:18;;6812:102::o;7143:607::-;-1:-1:-1;;;;;7502:15:1;;;7484:34;;7549:2;7534:18;;7527:34;;;;7592:2;7577:18;;7570:34;;;;7635:2;7620:18;;7613:34;;;;7684:15;;;7678:3;7663:19;;7656:44;7464:3;7716:19;;7709:35;;;;7433:3;7418:19;;7400:350::o;7755:187::-;7920:14;;7913:22;7895:41;;7883:2;7868:18;;7850:92::o;8181:603::-;;8322:2;8351;8340:9;8333:21;8383:6;8377:13;8426:6;8421:2;8410:9;8406:18;8399:34;8451:4;8464:140;8478:6;8475:1;8472:13;8464:140;;;8573:14;;;8569:23;;8563:30;8539:17;;;8558:2;8535:26;8528:66;8493:10;;8464:140;;;8622:6;8619:1;8616:13;8613:2;;;8692:4;8687:2;8678:6;8667:9;8663:22;8659:31;8652:45;8613:2;-1:-1:-1;8768:2:1;8747:15;-1:-1:-1;;8743:29:1;8728:45;;;;8775:2;8724:54;;8302:482;-1:-1:-1;;;8302:482:1:o;8789:329::-;8991:2;8973:21;;;9030:1;9010:18;;;9003:29;-1:-1:-1;;;9063:2:1;9048:18;;9041:36;9109:2;9094:18;;8963:155::o;9123:398::-;9325:2;9307:21;;;9364:2;9344:18;;;9337:30;9403:34;9398:2;9383:18;;9376:62;-1:-1:-1;;;9469:2:1;9454:18;;9447:32;9511:3;9496:19;;9297:224::o;9526:331::-;9728:2;9710:21;;;9767:1;9747:18;;;9740:29;-1:-1:-1;;;9800:2:1;9785:18;;9778:38;9848:2;9833:18;;9700:157::o;9862:353::-;10064:2;10046:21;;;10103:2;10083:18;;;10076:30;10142:31;10137:2;10122:18;;10115:59;10206:2;10191:18;;10036:179::o;10220:329::-;10422:2;10404:21;;;10461:1;10441:18;;;10434:29;-1:-1:-1;;;10494:2:1;10479:18;;10472:36;10540:2;10525:18;;10394:155::o;10554:338::-;10756:2;10738:21;;;10795:2;10775:18;;;10768:30;-1:-1:-1;;;10829:2:1;10814:18;;10807:44;10883:2;10868:18;;10728:164::o;10897:405::-;11099:2;11081:21;;;11138:2;11118:18;;;11111:30;11177:34;11172:2;11157:18;;11150:62;-1:-1:-1;;;11243:2:1;11228:18;;11221:39;11292:3;11277:19;;11071:231::o;11307:356::-;11509:2;11491:21;;;11528:18;;;11521:30;11587:34;11582:2;11567:18;;11560:62;11654:2;11639:18;;11481:182::o;11668:336::-;11870:2;11852:21;;;11909:2;11889:18;;;11882:30;-1:-1:-1;;;11943:2:1;11928:18;;11921:42;11995:2;11980:18;;11842:162::o;12009:400::-;12211:2;12193:21;;;12250:2;12230:18;;;12223:30;12289:34;12284:2;12269:18;;12262:62;-1:-1:-1;;;12355:2:1;12340:18;;12333:34;12399:3;12384:19;;12183:226::o;12414:348::-;12616:2;12598:21;;;12655:2;12635:18;;;12628:30;12694:26;12689:2;12674:18;;12667:54;12753:2;12738:18;;12588:174::o;12767:401::-;12969:2;12951:21;;;13008:2;12988:18;;;12981:30;13047:34;13042:2;13027:18;;13020:62;-1:-1:-1;;;13113:2:1;13098:18;;13091:35;13158:3;13143:19;;12941:227::o;13173:177::-;13319:25;;;13307:2;13292:18;;13274:76::o;13355:983::-;;13665:3;13654:9;13650:19;13696:6;13685:9;13678:25;13722:2;13760:6;13755:2;13744:9;13740:18;13733:34;13803:3;13798:2;13787:9;13783:18;13776:31;13827:6;13862;13856:13;13893:6;13885;13878:22;13931:3;13920:9;13916:19;13909:26;;13970:2;13962:6;13958:15;13944:29;;13991:4;14004:195;14018:6;14015:1;14012:13;14004:195;;;14083:13;;-1:-1:-1;;;;;14079:39:1;14067:52;;14174:15;;;;14139:12;;;;14115:1;14033:9;14004:195;;;-1:-1:-1;;;;;;;14255:32:1;;;;14250:2;14235:18;;14228:60;-1:-1:-1;;;14319:3:1;14304:19;14297:35;14216:3;13626:712;-1:-1:-1;;;13626:712:1:o;14343:184::-;14515:4;14503:17;;;;14485:36;;14473:2;14458:18;;14440:87::o;14532:251::-;14602:2;14596:9;14632:17;;;14679:18;14664:34;;14700:22;;;14661:62;14658:2;;;14726:18;;:::i;:::-;14762:2;14755:22;14576:207;;-1:-1:-1;14576:207:1:o;14788:192::-;;14887:18;14879:6;14876:30;14873:2;;;14909:18;;:::i;:::-;-1:-1:-1;14969:4:1;14950:17;;;14946:28;;14863:117::o;14985:128::-;;15056:1;15052:6;15049:1;15046:13;15043:2;;;15062:18;;:::i;:::-;-1:-1:-1;15098:9:1;;15033:80::o;15118:217::-;;15184:1;15174:2;;-1:-1:-1;;;15209:31:1;;15263:4;15260:1;15253:15;15291:4;15216:1;15281:15;15174:2;-1:-1:-1;15320:9:1;;15164:171::o;15340:168::-;;15446:1;15442;15438:6;15434:14;15431:1;15428:21;15423:1;15416:9;15409:17;15405:45;15402:2;;;15453:18;;:::i;:::-;-1:-1:-1;15493:9:1;;15392:116::o;15513:125::-;;15581:1;15578;15575:8;15572:2;;;15586:18;;:::i;:::-;-1:-1:-1;15623:9:1;;15562:76::o;15643:380::-;15728:1;15718:12;;15775:1;15765:12;;;15786:2;;15840:4;15832:6;15828:17;15818:27;;15786:2;15893;15885:6;15882:14;15862:18;15859:38;15856:2;;;15939:10;15934:3;15930:20;15927:1;15920:31;15974:4;15971:1;15964:15;16002:4;15999:1;15992:15;15856:2;;15698:325;;;:::o;16028:135::-;;-1:-1:-1;;16088:17:1;;16085:2;;;16108:18;;:::i;:::-;-1:-1:-1;16155:1:1;16144:13;;16075:88::o;16168:127::-;16229:10;16224:3;16220:20;16217:1;16210:31;16260:4;16257:1;16250:15;16284:4;16281:1;16274:15;16300:127;16361:10;16356:3;16352:20;16349:1;16342:31;16392:4;16389:1;16382:15;16416:4;16413:1;16406:15;16432:133;-1:-1:-1;;;;;16509:31:1;;16499:42;;16489:2;;16555:1;16552;16545:12;16489:2;16479:86;:::o

Swarm Source

ipfs://ef5eea1e9793f4ef7f0830e11c8c0c42d4a2e7a75a42d1e3f3ff084b4ba34d21

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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