ETH Price: $2,673.23 (+1.36%)

Contract

0x50c8240D4F0faF85DC6Bf289BC335d6d16624d0d
 

Overview

ETH Balance

0.000428144066037015 ETH

Eth Value

$1.14 (@ $2,673.23/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve163138932023-01-01 19:05:23599 days ago1672599923IN
0x50c8240D...d16624d0d
0 ETH0.0016369935.18218515
Approve163138572023-01-01 18:58:11599 days ago1672599491IN
0x50c8240D...d16624d0d
0 ETH0.0012547526.96710029
Approve163135652023-01-01 17:59:47599 days ago1672595987IN
0x50c8240D...d16624d0d
0 ETH0.0007177215.42534031
Approve163135532023-01-01 17:57:23599 days ago1672595843IN
0x50c8240D...d16624d0d
0 ETH0.0007156315.38033182
Approve163113232023-01-01 10:28:59599 days ago1672568939IN
0x50c8240D...d16624d0d
0 ETH0.0006250213.43312012
Approve163055642022-12-31 15:13:23600 days ago1672499603IN
0x50c8240D...d16624d0d
0 ETH0.0007820916.80874549
Approve163055602022-12-31 15:12:35600 days ago1672499555IN
0x50c8240D...d16624d0d
0 ETH0.0007569116.26756861
Approve163020622022-12-31 3:28:35601 days ago1672457315IN
0x50c8240D...d16624d0d
0 ETH0.0008805718.92539807
Approve163011732022-12-31 0:29:59601 days ago1672446599IN
0x50c8240D...d16624d0d
0 ETH0.0009305820
Approve162989972022-12-30 17:11:59601 days ago1672420319IN
0x50c8240D...d16624d0d
0 ETH0.0010860723.34190368
Approve162974562022-12-30 12:02:11601 days ago1672401731IN
0x50c8240D...d16624d0d
0 ETH0.0007161915.3924117
Approve162965742022-12-30 9:04:23601 days ago1672391063IN
0x50c8240D...d16624d0d
0 ETH0.0006870814.76689578
Approve162960432022-12-30 7:17:47602 days ago1672384667IN
0x50c8240D...d16624d0d
0 ETH0.0006665914.32647585
Approve162950262022-12-30 3:53:59602 days ago1672372439IN
0x50c8240D...d16624d0d
0 ETH0.0007887116.9510222
Approve162948752022-12-30 3:23:35602 days ago1672370615IN
0x50c8240D...d16624d0d
0 ETH0.0007503116.12571649
Approve162948072022-12-30 3:09:59602 days ago1672369799IN
0x50c8240D...d16624d0d
0 ETH0.0008926319.18457495
Approve162948062022-12-30 3:09:47602 days ago1672369787IN
0x50c8240D...d16624d0d
0 ETH0.0009087119.53009988
Approve162943212022-12-30 1:32:47602 days ago1672363967IN
0x50c8240D...d16624d0d
0 ETH0.0006124913.16371718
Approve162941302022-12-30 0:54:35602 days ago1672361675IN
0x50c8240D...d16624d0d
0 ETH0.0006249813.43213135
Approve162941052022-12-30 0:49:35602 days ago1672361375IN
0x50c8240D...d16624d0d
0 ETH0.0007437215.98406886
Approve162941042022-12-30 0:49:23602 days ago1672361363IN
0x50c8240D...d16624d0d
0 ETH0.0009615320.66524392
Approve162940952022-12-30 0:47:35602 days ago1672361255IN
0x50c8240D...d16624d0d
0 ETH0.0008996919.33622362
Approve162940942022-12-30 0:47:23602 days ago1672361243IN
0x50c8240D...d16624d0d
0 ETH0.0008154117.52487575
Approve162940362022-12-30 0:35:47602 days ago1672360547IN
0x50c8240D...d16624d0d
0 ETH0.0008195717.61421805
Approve162939932022-12-30 0:27:11602 days ago1672360031IN
0x50c8240D...d16624d0d
0 ETH0.0010701623
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
163139702023-01-01 19:20:47599 days ago1672600847
0x50c8240D...d16624d0d
0.00000359 ETH
163139702023-01-01 19:20:47599 days ago1672600847
0x50c8240D...d16624d0d
0.00042454 ETH
163139702023-01-01 19:20:47599 days ago1672600847
0x50c8240D...d16624d0d
0.00339639 ETH
163139702023-01-01 19:20:47599 days ago1672600847
0x50c8240D...d16624d0d
0.00378862 ETH
163135662023-01-01 17:59:59599 days ago1672595999
0x50c8240D...d16624d0d
0.00000408 ETH
163135662023-01-01 17:59:59599 days ago1672595999
0x50c8240D...d16624d0d
0.00045278 ETH
163135662023-01-01 17:59:59599 days ago1672595999
0x50c8240D...d16624d0d
0.00362225 ETH
163135662023-01-01 17:59:59599 days ago1672595999
0x50c8240D...d16624d0d
0.00403826 ETH
163055672022-12-31 15:13:59600 days ago1672499639
0x50c8240D...d16624d0d
0.00003665 ETH
163055672022-12-31 15:13:59600 days ago1672499639
0x50c8240D...d16624d0d
0.0004529 ETH
163055672022-12-31 15:13:59600 days ago1672499639
0x50c8240D...d16624d0d
0.00362322 ETH
163055672022-12-31 15:13:59600 days ago1672499639
0x50c8240D...d16624d0d
0.00374475 ETH
163020652022-12-31 3:29:11601 days ago1672457351
0x50c8240D...d16624d0d
0.00078427 ETH
163020652022-12-31 3:29:11601 days ago1672457351
0x50c8240D...d16624d0d
0.00627419 ETH
163020652022-12-31 3:29:11601 days ago1672457351
0x50c8240D...d16624d0d
0.00722348 ETH
162989992022-12-30 17:12:23601 days ago1672420343
0x50c8240D...d16624d0d
0.00000182 ETH
162989992022-12-30 17:12:23601 days ago1672420343
0x50c8240D...d16624d0d
0.00061744 ETH
162989992022-12-30 17:12:23601 days ago1672420343
0x50c8240D...d16624d0d
0.00493955 ETH
162989992022-12-30 17:12:23601 days ago1672420343
0x50c8240D...d16624d0d
0.00554327 ETH
162978082022-12-30 13:13:47601 days ago1672406027
0x50c8240D...d16624d0d
0.00002934 ETH
162978082022-12-30 13:13:47601 days ago1672406027
0x50c8240D...d16624d0d
0.00060181 ETH
162978082022-12-30 13:13:47601 days ago1672406027
0x50c8240D...d16624d0d
0.00481454 ETH
162978082022-12-30 13:13:47601 days ago1672406027
0x50c8240D...d16624d0d
0.00515223 ETH
162970742022-12-30 10:45:23601 days ago1672397123
0x50c8240D...d16624d0d
0.00000621 ETH
162970742022-12-30 10:45:23601 days ago1672397123
0x50c8240D...d16624d0d
0.00085973 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FuTu

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-29
*/

pragma solidity 0.8.4;
// SPDX-License-Identifier: Unlicensed



interface ERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

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

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

    function getOwner() external view returns (address);

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

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

interface UniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

// Contracts and libraries

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {return 0;}
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

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

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

contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

contract FuTu is Ownable, ERC20 {
    using SafeMath for uint256;

    uint8 constant _decimals = 18;

    uint256 _totalSupply = 10_000_000_000 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply;
    uint256 public _walletMax = _totalSupply;

    address DEAD_WALLET = 0x000000000000000000000000000000000000dEaD;
    address ZERO_WALLET = 0x0000000000000000000000000000000000000000;

    address uniswapAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    string constant _name = "Wealthy Rabbit";
    string constant _symbol = "Fu Tu";

    bool public restrictWhales = true;

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

    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isTxLimitExempt;

    uint256 public liquidityFee = 1;
    uint256 public marketingFee = 4;

    uint256 public totalFee = 5;
    uint256 public totalFeeIfSelling = 5;

    address public autoLiquidityReceiver;
    address public marketingWallet;

    UniswapRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = false;
    bool public blacklistMode = false;
    mapping(address => bool) public isBlacklisted;

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

    uint256 public swapThreshold = _totalSupply * 4 / 2000;

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);

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

    constructor() {
        router = UniswapRouter(uniswapAddress);
        pair = UniswapFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        _allowances[address(this)][address(pair)] = type(uint256).max;

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

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[DEAD_WALLET] = true;

        autoLiquidityReceiver = 0xD7250468161B04273D72f1a6e1b36e8ac72d198C;
        marketingWallet = 0xD7250468161B04273D72f1a6e1b36e8ac72d198C;

        totalFee = liquidityFee.add(marketingFee);
        totalFeeIfSelling = totalFee;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function name() external pure override returns (string memory) {return _name;}

    function symbol() external pure override returns (string memory) {return _symbol;}

    function decimals() external pure override returns (uint8) {return _decimals;}

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

    function getOwner() external view override returns (address) {return owner();}

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

    function allowance(address holder, address spender) external view override returns (uint256) {return _allowances[holder][spender];}

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD_WALLET)).sub(balanceOf(ZERO_WALLET));
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    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 transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwapAndLiquify) {return _basicTransfer(sender, recipient, amount);}
        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen, "Trading not open yet");
        }

        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
        if (msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold) {marketingAndLiquidity();}
        if (!launched() && recipient == pair) {
            require(_balances[sender] > 0, "Zero balance violated!");
            launch();
        }    

        // Blacklist
        if (blacklistMode) {
            require(!isBlacklisted[sender] && !isBlacklisted[recipient],"Blacklisted");
        }

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

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

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

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

    function extractFee(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 marketingAndLiquidity() internal lockTheSwap {
        uint256 tokensToLiquify = _balances[address(this)];
        uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).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;

        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));

        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingWallet).call{value : amountETHMarketing, gas : 30000}("");
        tmpSuccess = false;

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value : amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    // CONTRACT OWNER FUNCTIONS

    function setWalletLimit(uint256 newLimit) external onlyOwner {
        _walletMax = newLimit;
    }

    function tradingStatus(bool newStatus) public onlyOwner {
        tradingOpen = newStatus;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(uint256 newLiqFee, uint256 newmarketingFee) external onlyOwner {
        liquidityFee = newLiqFee;
        marketingFee = newmarketingFee;

        totalFee = liquidityFee.add(marketingFee);
        totalFeeIfSelling = totalFee;
    }

        function enable_blacklist(bool _status) public onlyOwner {
    blacklistMode = _status;
    }

        
    function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isBlacklisted[addresses[i]] = status;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract UniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newmarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000559565b62000023906402540be40062000625565b600281905560038190556004818155600580546001600160a01b031990811661dead1782556006805490911690556007805474017a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a81b03199091161790556001600c55600d829055600e819055600f556015805461ffff191690556017805462ffff0019166101001790556107d091620000b69162000625565b620000c29190620004ef565b601855348015620000d257600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600754601280546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200018557600080fd5b505afa1580156200019a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c09190620004ab565b6001600160a01b031663c9c65396601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021d57600080fd5b505afa15801562000232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002589190620004ab565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b158015620002a057600080fd5b505af1158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db9190620004ab565b601380546001600160a01b03199081166001600160a01b03938416178255306000818152600960209081526040808320601254881684528252808320600019908190558654881684528184205533808452600a8352818420805460ff1990811660019081179092559585528285208054871682179055600580548a1686528386208054881683179055918552600b84528285208054871682179055965488168452818420805486168817905554909616825294902080549091169092179091556010805473d7250468161b04273d72f1a6e1b36e8ac72d198c908316811790915560118054909216179055600d54600c54620003e3929091906200043c811b62000d5317901c565b600e819055600f5560025433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200065d565b6000806200044b8385620004d4565b905083811015620004a25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b600060208284031215620004bd578081fd5b81516001600160a01b0381168114620004a2578182fd5b60008219821115620004ea57620004ea62000647565b500190565b6000826200050b57634e487b7160e01b81526012600452602481fd5b500490565b600181815b808511156200055157816000190482111562000535576200053562000647565b808516156200054357918102915b93841c939080029062000515565b509250929050565b60006200056a60ff84168362000571565b9392505050565b6000826200058257506001620004a5565b816200059157506000620004a5565b8160018114620005aa5760028114620005b557620005d5565b6001915050620004a5565b60ff841115620005c957620005c962000647565b50506001821b620004a5565b5060208310610133831016604e8410600b8410161715620005fa575081810a620004a5565b62000606838362000510565b80600019048211156200061d576200061d62000647565b029392505050565b600081600019048311821515161562000642576200064262000647565b500290565b634e487b7160e01b600052601160045260246000fd5b611cb8806200066d6000396000f3fe6080604052600436106102605760003560e01c80637d1db4a511610144578063bf56b371116100b6578063f1d5f5171161007a578063f1d5f51714610735578063f2fde38b14610755578063f84ba65d14610775578063f887ea4014610795578063fe575a87146107b5578063ffb54a99146107e557600080fd5b8063bf56b37114610683578063ca33e64c14610699578063ca987b0e146106b9578063da00097d146106cf578063dd62ed3e146106ef57600080fd5b80638da5cb5b116101085780638da5cb5b146105725780638e2eee84146105df57806395d89b41146105ff57806398118cb41461062d578063a8aa1b3114610643578063a9059cbb1461066357600080fd5b80637d1db4a514610546578063807c2d9c1461055c578063893d20e814610572578063896648c1146105905780638b42507f146105af57600080fd5b8063313ce567116101dd5780635e562f3b116101a15780635e562f3b1461046d578063658d4b7f1461048d5780636b67c4df146104ad57806370a08231146104c3578063715018a6146104f957806375f0a8741461050e57600080fd5b8063313ce567146103c15780633f4218e0146103dd57806344de2e4c1461040d5780634a74bb021461042e578063571ac8b01461044d57600080fd5b806318160ddd1161022457806318160ddd146103475780631df4ccfc1461035c578063220f66961461037257806323b872dd1461038c5780632b112e49146103ac57600080fd5b80630445b6671461026c57806306fdde0314610295578063095ea7b3146102d55780630b78f9c0146103055780630d2959801461032757600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028260185481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b5060408051808201909152600e81526d15d9585b1d1a1e48149858989a5d60921b60208201525b60405161028c9190611ad3565b3480156102e157600080fd5b506102f56102f03660046119a9565b6107ff565b604051901515815260200161028c565b34801561031157600080fd5b50610325610320366004611a85565b61086c565b005b34801561033357600080fd5b50610325610342366004611a53565b6108bf565b34801561035357600080fd5b50600254610282565b34801561036857600080fd5b50610282600e5481565b34801561037e57600080fd5b506017546102f59060ff1681565b34801561039857600080fd5b506102f56103a7366004611935565b6108fc565b3480156103b857600080fd5b506102826109be565b3480156103cd57600080fd5b506040516012815260200161028c565b3480156103e957600080fd5b506102f56103f83660046118c5565b600a6020526000908152604090205460ff1681565b34801561041957600080fd5b506007546102f590600160a01b900460ff1681565b34801561043a57600080fd5b506017546102f590610100900460ff1681565b34801561045957600080fd5b506102f56104683660046118c5565b610a10565b34801561047957600080fd5b50610325610488366004611a53565b610a1e565b34801561049957600080fd5b506103256104a8366004611975565b610a62565b3480156104b957600080fd5b50610282600d5481565b3480156104cf57600080fd5b506102826104de3660046118c5565b6001600160a01b031660009081526008602052604090205490565b34801561050557600080fd5b50610325610ab7565b34801561051a57600080fd5b5060115461052e906001600160a01b031681565b6040516001600160a01b03909116815260200161028c565b34801561055257600080fd5b5061028260035481565b34801561056857600080fd5b5061028260045481565b34801561057e57600080fd5b506000546001600160a01b031661052e565b34801561059c57600080fd5b506015546102f590610100900460ff1681565b3480156105bb57600080fd5b506102f56105ca3660046118c5565b600b6020526000908152604090205460ff1681565b3480156105eb57600080fd5b506103256105fa3660046119d4565b610b2b565b34801561060b57600080fd5b50604080518082019091526005815264467520547560d81b60208201526102c8565b34801561063957600080fd5b50610282600c5481565b34801561064f57600080fd5b5060135461052e906001600160a01b031681565b34801561066f57600080fd5b506102f561067e3660046119a9565b610bd8565b34801561068f57600080fd5b5061028260145481565b3480156106a557600080fd5b5060105461052e906001600160a01b031681565b3480156106c557600080fd5b50610282600f5481565b3480156106db57600080fd5b506017546102f59062010000900460ff1681565b3480156106fb57600080fd5b5061028261070a3660046118fd565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561074157600080fd5b50610325610750366004611a6d565b610be5565b34801561076157600080fd5b506103256107703660046118c5565b610c14565b34801561078157600080fd5b50610325610790366004611975565b610cfe565b3480156107a157600080fd5b5060125461052e906001600160a01b031681565b3480156107c157600080fd5b506102f56107d03660046118c5565b60166020526000908152604090205460ff1681565b3480156107f157600080fd5b506015546102f59060ff1681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061085a9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461089f5760405162461bcd60e51b815260040161089690611b26565b60405180910390fd5b600c829055600d8190556108b38282610d53565b600e819055600f555050565b6000546001600160a01b031633146108e95760405162461bcd60e51b815260040161089690611b26565b6015805460ff1916911515919091179055565b6001600160a01b0383166000908152600960209081526040808320338452909152812054600019146109a9576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610984918490610db2565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6109b4848484610dec565b90505b9392505050565b6006546001600160a01b0316600090815260086020526040812054610a0b906005546001600160a01b0316600090815260086020526040902054610a059060025490611260565b90611260565b905090565b6000610866826000196107ff565b6000546001600160a01b03163314610a485760405162461bcd60e51b815260040161089690611b26565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b815260040161089690611b26565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ae15760405162461bcd60e51b815260040161089690611b26565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b555760405162461bcd60e51b815260040161089690611b26565b60005b82811015610bd2578160166000868685818110610b8557634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b9a91906118c5565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610bcb81611c39565b9050610b58565b50505050565b60006109b7338484610dec565b6000546001600160a01b03163314610c0f5760405162461bcd60e51b815260040161089690611b26565b600455565b6000546001600160a01b03163314610c3e5760405162461bcd60e51b815260040161089690611b26565b6001600160a01b038116610ca35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610896565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d285760405162461bcd60e51b815260040161089690611b26565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600080610d608385611bcb565b9050838110156109b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610896565b60008184841115610dd65760405162461bcd60e51b81526004016108969190611ad3565b506000610de38486611c22565b95945050505050565b60175460009060ff1615610e0c57610e058484846112a2565b90506109b7565b6001600160a01b03841660009081526001602052604090205460ff16158015610e4e57506001600160a01b03831660009081526001602052604090205460ff16155b15610e9c5760155460ff16610e9c5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610896565b60035482111580610ec557506001600160a01b0384166000908152600b602052604090205460ff165b610f055760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610896565b6013546001600160a01b03163314801590610f23575060175460ff16155b8015610f365750601754610100900460ff165b8015610f5357506018543060009081526008602052604090205410155b15610f6057610f60611388565b601454158015610f7d57506013546001600160a01b038481169116145b15610fe9576001600160a01b038416600090815260086020526040902054610fe05760405162461bcd60e51b81526020600482015260166024820152755a65726f2062616c616e63652076696f6c617465642160501b6044820152606401610896565b610fe943601455565b601554610100900460ff1615611075576001600160a01b03841660009081526016602052604090205460ff1615801561103b57506001600160a01b03831660009081526016602052604090205460ff16155b6110755760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610896565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546110c7918490610db2565b6001600160a01b038086166000908152600860209081526040808320949094559186168152600b909152205460ff1615801561110c5750600754600160a01b900460ff165b1561117c576004546001600160a01b0384166000908152600860205260409020546111379084610d53565b111561117c5760405162461bcd60e51b81526020600482015260146024820152734d61782077616c6c65742076696f6c617465642160601b6044820152606401610896565b6001600160a01b0384166000908152600a602052604081205460ff161580156111be57506001600160a01b0384166000908152600a602052604090205460ff16155b6111c857826111d3565b6111d3858585611703565b6001600160a01b0385166000908152600860205260409020549091506111f99082610d53565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061124d9085815260200190565b60405180910390a3506001949350505050565b60006109b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610db2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546112f3918490610db2565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546113229083610d53565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113769086815260200190565b60405180910390a35060019392505050565b6017805460ff1916600117905530600090815260086020526040812054600e54600c549192916113c9916002916113c39190829087906117c6565b90611845565b905060006113d78383611260565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061141f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561147357600080fd5b505afa158015611487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ab91906118e1565b816001815181106114cc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac94790611512908590600090869030904290600401611b5b565b600060405180830381600087803b15801561152c57600080fd5b505af1158015611540573d6000803e3d6000fd5b5050600c54479250600091506115649061155b906002611845565b600e5490611260565b9050600061158660026113c3846113c3600c54886117c690919063ffffffff16565b905060006115a3836113c3600d54876117c690919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d80600081146115fa576040519150601f19603f3d011682016040523d82523d6000602084013e6115ff565b606091505b506000925050881590506116ee5760125460105460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c4016060604051808303818588803b15801561167857600080fd5b505af115801561168c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116b19190611aa6565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805460ff1916905550505050505050565b60135460009081906001600160a01b0385811691161461172557600e54611729565b600f545b9050600061173c60646113c386856117c6565b306000908152600860205260409020549091506117599082610d53565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117aa9085815260200190565b60405180910390a36117bc8482611260565b9695505050505050565b6000826117d557506000610866565b60006117e18385611c03565b9050826117ee8583611be3565b146109b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610896565b60006109b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118a35760405162461bcd60e51b81526004016108969190611ad3565b506000610de38486611be3565b803580151581146118c057600080fd5b919050565b6000602082840312156118d6578081fd5b81356109b781611c6a565b6000602082840312156118f2578081fd5b81516109b781611c6a565b6000806040838503121561190f578081fd5b823561191a81611c6a565b9150602083013561192a81611c6a565b809150509250929050565b600080600060608486031215611949578081fd5b833561195481611c6a565b9250602084013561196481611c6a565b929592945050506040919091013590565b60008060408385031215611987578182fd5b823561199281611c6a565b91506119a0602084016118b0565b90509250929050565b600080604083850312156119bb578182fd5b82356119c681611c6a565b946020939093013593505050565b6000806000604084860312156119e8578283fd5b833567ffffffffffffffff808211156119ff578485fd5b818601915086601f830112611a12578485fd5b813581811115611a20578586fd5b8760208260051b8501011115611a34578586fd5b602092830195509350611a4a91860190506118b0565b90509250925092565b600060208284031215611a64578081fd5b6109b7826118b0565b600060208284031215611a7e578081fd5b5035919050565b60008060408385031215611a97578182fd5b50508035926020909101359150565b600080600060608486031215611aba578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611aff57858101830151858201604001528201611ae3565b81811115611b105783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611baa5784516001600160a01b031683529383019391830191600101611b85565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611bde57611bde611c54565b500190565b600082611bfe57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c1d57611c1d611c54565b500290565b600082821015611c3457611c34611c54565b500390565b6000600019821415611c4d57611c4d611c54565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611c7f57600080fd5b5056fea26469706673582212200873d2cdeaed16f54c7d9a981449f15807b69089d85032ef3965fab3bb15e99064736f6c63430008040033

Deployed Bytecode

0x6080604052600436106102605760003560e01c80637d1db4a511610144578063bf56b371116100b6578063f1d5f5171161007a578063f1d5f51714610735578063f2fde38b14610755578063f84ba65d14610775578063f887ea4014610795578063fe575a87146107b5578063ffb54a99146107e557600080fd5b8063bf56b37114610683578063ca33e64c14610699578063ca987b0e146106b9578063da00097d146106cf578063dd62ed3e146106ef57600080fd5b80638da5cb5b116101085780638da5cb5b146105725780638e2eee84146105df57806395d89b41146105ff57806398118cb41461062d578063a8aa1b3114610643578063a9059cbb1461066357600080fd5b80637d1db4a514610546578063807c2d9c1461055c578063893d20e814610572578063896648c1146105905780638b42507f146105af57600080fd5b8063313ce567116101dd5780635e562f3b116101a15780635e562f3b1461046d578063658d4b7f1461048d5780636b67c4df146104ad57806370a08231146104c3578063715018a6146104f957806375f0a8741461050e57600080fd5b8063313ce567146103c15780633f4218e0146103dd57806344de2e4c1461040d5780634a74bb021461042e578063571ac8b01461044d57600080fd5b806318160ddd1161022457806318160ddd146103475780631df4ccfc1461035c578063220f66961461037257806323b872dd1461038c5780632b112e49146103ac57600080fd5b80630445b6671461026c57806306fdde0314610295578063095ea7b3146102d55780630b78f9c0146103055780630d2959801461032757600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028260185481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b5060408051808201909152600e81526d15d9585b1d1a1e48149858989a5d60921b60208201525b60405161028c9190611ad3565b3480156102e157600080fd5b506102f56102f03660046119a9565b6107ff565b604051901515815260200161028c565b34801561031157600080fd5b50610325610320366004611a85565b61086c565b005b34801561033357600080fd5b50610325610342366004611a53565b6108bf565b34801561035357600080fd5b50600254610282565b34801561036857600080fd5b50610282600e5481565b34801561037e57600080fd5b506017546102f59060ff1681565b34801561039857600080fd5b506102f56103a7366004611935565b6108fc565b3480156103b857600080fd5b506102826109be565b3480156103cd57600080fd5b506040516012815260200161028c565b3480156103e957600080fd5b506102f56103f83660046118c5565b600a6020526000908152604090205460ff1681565b34801561041957600080fd5b506007546102f590600160a01b900460ff1681565b34801561043a57600080fd5b506017546102f590610100900460ff1681565b34801561045957600080fd5b506102f56104683660046118c5565b610a10565b34801561047957600080fd5b50610325610488366004611a53565b610a1e565b34801561049957600080fd5b506103256104a8366004611975565b610a62565b3480156104b957600080fd5b50610282600d5481565b3480156104cf57600080fd5b506102826104de3660046118c5565b6001600160a01b031660009081526008602052604090205490565b34801561050557600080fd5b50610325610ab7565b34801561051a57600080fd5b5060115461052e906001600160a01b031681565b6040516001600160a01b03909116815260200161028c565b34801561055257600080fd5b5061028260035481565b34801561056857600080fd5b5061028260045481565b34801561057e57600080fd5b506000546001600160a01b031661052e565b34801561059c57600080fd5b506015546102f590610100900460ff1681565b3480156105bb57600080fd5b506102f56105ca3660046118c5565b600b6020526000908152604090205460ff1681565b3480156105eb57600080fd5b506103256105fa3660046119d4565b610b2b565b34801561060b57600080fd5b50604080518082019091526005815264467520547560d81b60208201526102c8565b34801561063957600080fd5b50610282600c5481565b34801561064f57600080fd5b5060135461052e906001600160a01b031681565b34801561066f57600080fd5b506102f561067e3660046119a9565b610bd8565b34801561068f57600080fd5b5061028260145481565b3480156106a557600080fd5b5060105461052e906001600160a01b031681565b3480156106c557600080fd5b50610282600f5481565b3480156106db57600080fd5b506017546102f59062010000900460ff1681565b3480156106fb57600080fd5b5061028261070a3660046118fd565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561074157600080fd5b50610325610750366004611a6d565b610be5565b34801561076157600080fd5b506103256107703660046118c5565b610c14565b34801561078157600080fd5b50610325610790366004611975565b610cfe565b3480156107a157600080fd5b5060125461052e906001600160a01b031681565b3480156107c157600080fd5b506102f56107d03660046118c5565b60166020526000908152604090205460ff1681565b3480156107f157600080fd5b506015546102f59060ff1681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061085a9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461089f5760405162461bcd60e51b815260040161089690611b26565b60405180910390fd5b600c829055600d8190556108b38282610d53565b600e819055600f555050565b6000546001600160a01b031633146108e95760405162461bcd60e51b815260040161089690611b26565b6015805460ff1916911515919091179055565b6001600160a01b0383166000908152600960209081526040808320338452909152812054600019146109a9576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610984918490610db2565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6109b4848484610dec565b90505b9392505050565b6006546001600160a01b0316600090815260086020526040812054610a0b906005546001600160a01b0316600090815260086020526040902054610a059060025490611260565b90611260565b905090565b6000610866826000196107ff565b6000546001600160a01b03163314610a485760405162461bcd60e51b815260040161089690611b26565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b815260040161089690611b26565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ae15760405162461bcd60e51b815260040161089690611b26565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b555760405162461bcd60e51b815260040161089690611b26565b60005b82811015610bd2578160166000868685818110610b8557634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b9a91906118c5565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610bcb81611c39565b9050610b58565b50505050565b60006109b7338484610dec565b6000546001600160a01b03163314610c0f5760405162461bcd60e51b815260040161089690611b26565b600455565b6000546001600160a01b03163314610c3e5760405162461bcd60e51b815260040161089690611b26565b6001600160a01b038116610ca35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610896565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d285760405162461bcd60e51b815260040161089690611b26565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600080610d608385611bcb565b9050838110156109b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610896565b60008184841115610dd65760405162461bcd60e51b81526004016108969190611ad3565b506000610de38486611c22565b95945050505050565b60175460009060ff1615610e0c57610e058484846112a2565b90506109b7565b6001600160a01b03841660009081526001602052604090205460ff16158015610e4e57506001600160a01b03831660009081526001602052604090205460ff16155b15610e9c5760155460ff16610e9c5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610896565b60035482111580610ec557506001600160a01b0384166000908152600b602052604090205460ff165b610f055760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610896565b6013546001600160a01b03163314801590610f23575060175460ff16155b8015610f365750601754610100900460ff165b8015610f5357506018543060009081526008602052604090205410155b15610f6057610f60611388565b601454158015610f7d57506013546001600160a01b038481169116145b15610fe9576001600160a01b038416600090815260086020526040902054610fe05760405162461bcd60e51b81526020600482015260166024820152755a65726f2062616c616e63652076696f6c617465642160501b6044820152606401610896565b610fe943601455565b601554610100900460ff1615611075576001600160a01b03841660009081526016602052604090205460ff1615801561103b57506001600160a01b03831660009081526016602052604090205460ff16155b6110755760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610896565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546110c7918490610db2565b6001600160a01b038086166000908152600860209081526040808320949094559186168152600b909152205460ff1615801561110c5750600754600160a01b900460ff165b1561117c576004546001600160a01b0384166000908152600860205260409020546111379084610d53565b111561117c5760405162461bcd60e51b81526020600482015260146024820152734d61782077616c6c65742076696f6c617465642160601b6044820152606401610896565b6001600160a01b0384166000908152600a602052604081205460ff161580156111be57506001600160a01b0384166000908152600a602052604090205460ff16155b6111c857826111d3565b6111d3858585611703565b6001600160a01b0385166000908152600860205260409020549091506111f99082610d53565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061124d9085815260200190565b60405180910390a3506001949350505050565b60006109b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610db2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546112f3918490610db2565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546113229083610d53565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113769086815260200190565b60405180910390a35060019392505050565b6017805460ff1916600117905530600090815260086020526040812054600e54600c549192916113c9916002916113c39190829087906117c6565b90611845565b905060006113d78383611260565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061141f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561147357600080fd5b505afa158015611487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ab91906118e1565b816001815181106114cc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac94790611512908590600090869030904290600401611b5b565b600060405180830381600087803b15801561152c57600080fd5b505af1158015611540573d6000803e3d6000fd5b5050600c54479250600091506115649061155b906002611845565b600e5490611260565b9050600061158660026113c3846113c3600c54886117c690919063ffffffff16565b905060006115a3836113c3600d54876117c690919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d80600081146115fa576040519150601f19603f3d011682016040523d82523d6000602084013e6115ff565b606091505b506000925050881590506116ee5760125460105460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c4016060604051808303818588803b15801561167857600080fd5b505af115801561168c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116b19190611aa6565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805460ff1916905550505050505050565b60135460009081906001600160a01b0385811691161461172557600e54611729565b600f545b9050600061173c60646113c386856117c6565b306000908152600860205260409020549091506117599082610d53565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117aa9085815260200190565b60405180910390a36117bc8482611260565b9695505050505050565b6000826117d557506000610866565b60006117e18385611c03565b9050826117ee8583611be3565b146109b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610896565b60006109b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118a35760405162461bcd60e51b81526004016108969190611ad3565b506000610de38486611be3565b803580151581146118c057600080fd5b919050565b6000602082840312156118d6578081fd5b81356109b781611c6a565b6000602082840312156118f2578081fd5b81516109b781611c6a565b6000806040838503121561190f578081fd5b823561191a81611c6a565b9150602083013561192a81611c6a565b809150509250929050565b600080600060608486031215611949578081fd5b833561195481611c6a565b9250602084013561196481611c6a565b929592945050506040919091013590565b60008060408385031215611987578182fd5b823561199281611c6a565b91506119a0602084016118b0565b90509250929050565b600080604083850312156119bb578182fd5b82356119c681611c6a565b946020939093013593505050565b6000806000604084860312156119e8578283fd5b833567ffffffffffffffff808211156119ff578485fd5b818601915086601f830112611a12578485fd5b813581811115611a20578586fd5b8760208260051b8501011115611a34578586fd5b602092830195509350611a4a91860190506118b0565b90509250925092565b600060208284031215611a64578081fd5b6109b7826118b0565b600060208284031215611a7e578081fd5b5035919050565b60008060408385031215611a97578182fd5b50508035926020909101359150565b600080600060608486031215611aba578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611aff57858101830151858201604001528201611ae3565b81811115611b105783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611baa5784516001600160a01b031683529383019391830191600101611b85565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611bde57611bde611c54565b500190565b600082611bfe57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c1d57611c1d611c54565b500290565b600082821015611c3457611c34611c54565b500390565b6000600019821415611c4d57611c4d611c54565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611c7f57600080fd5b5056fea26469706673582212200873d2cdeaed16f54c7d9a981449f15807b69089d85032ef3965fab3bb15e99064736f6c63430008040033

Deployed Bytecode Sourcemap

4951:9529:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6395:54;;;;;;;;;;;;;;;;;;;9425:25:1;;;9413:2;9398:18;6395:54:0;;;;;;;;7608:78;;;;;;;;;;-1:-1:-1;7679:5:0;;;;;;;;;;;;-1:-1:-1;;;7679:5:0;;;;7608:78;;;;;;;:::i;8464:216::-;;;;;;;;;;-1:-1:-1;8464:216:0;;;;;:::i;:::-;;:::i;:::-;;;5154:14:1;;5147:22;5129:41;;5117:2;5102:18;8464:216:0;5084:92:1;13883:257:0;;;;;;;;;;-1:-1:-1;13883:257:0;;;;;:::i;:::-;;:::i;:::-;;13515:98;;;;;;;;;;-1:-1:-1;13515:98:0;;;;;:::i;:::-;;:::i;7870:86::-;;;;;;;;;;-1:-1:-1;7942:12:0;;7870:86;;5872:27;;;;;;;;;;;;;;;;6259:28;;;;;;;;;;-1:-1:-1;6259:28:0;;;;;;;;9671:370;;;;;;;;;;-1:-1:-1;9671:370:0;;;;;:::i;:::-;;:::i;8300:156::-;;;;;;;;;;;;;:::i;7784:78::-;;;;;;;;;;-1:-1:-1;7784:78:0;;5052:2;10844:36:1;;10832:2;10817:18;7784:78:0;10799:87:1;5688:43:0;;;;;;;;;;-1:-1:-1;5688:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5534:33;;;;;;;;;;-1:-1:-1;5534:33:0;;;;-1:-1:-1;;;5534:33:0;;;;;;6294:40;;;;;;;;;;-1:-1:-1;6294:40:0;;;;;;;;;;;8688:122;;;;;;;;;;-1:-1:-1;8688:122:0;;;;;:::i;:::-;;:::i;14152:95::-;;;;;;;;;;-1:-1:-1;14152:95:0;;;;;:::i;:::-;;:::i;13621:119::-;;;;;;;;;;-1:-1:-1;13621:119:0;;;;;:::i;:::-;;:::i;5832:31::-;;;;;;;;;;;;;;;;8050:103;;;;;;;;;;-1:-1:-1;8050:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;8133:18:0;8116:7;8133:18;;;:9;:18;;;;;;;8050:103;4544:148;;;;;;;;;;;;;:::i;5994:30::-;;;;;;;;;;-1:-1:-1;5994:30:0;;;;-1:-1:-1;;;;;5994:30:0;;;;;;-1:-1:-1;;;;;4333:32:1;;;4315:51;;4303:2;4288:18;5994:30:0;4270:102:1;5127:42:0;;;;;;;;;;;;;;;;5176:40;;;;;;;;;;;;;;;;7964:78;;;;;;;;;;-1:-1:-1;8016:7:0;4395:6;-1:-1:-1;;;;;4395:6:0;7964:78;8300:156;6165:33;;;;;;;;;;-1:-1:-1;6165:33:0;;;;;;;;;;;5738:47;;;;;;;;;;-1:-1:-1;5738:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14265:210;;;;;;;;;;-1:-1:-1;14265:210:0;;;;;:::i;:::-;;:::i;7694:82::-;;;;;;;;;;-1:-1:-1;7767:7:0;;;;;;;;;;;;-1:-1:-1;;;7767:7:0;;;;7694:82;;5794:31;;;;;;;;;;;;;;;;6067:19;;;;;;;;;;-1:-1:-1;6067:19:0;;;;-1:-1:-1;;;;;6067:19:0;;;9169:156;;;;;;;;;;-1:-1:-1;9169:156:0;;;;;:::i;:::-;;:::i;6095:25::-;;;;;;;;;;;;;;;;5951:36;;;;;;;;;;-1:-1:-1;5951:36:0;;;;-1:-1:-1;;;;;5951:36:0;;;5906;;;;;;;;;;;;;;;;6341:45;;;;;;;;;;-1:-1:-1;6341:45:0;;;;;;;;;;;8161:131;;;;;;;;;;-1:-1:-1;8161:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;8262:19:0;;;8245:7;8262:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8161:131;13406:101;;;;;;;;;;-1:-1:-1;13406:101:0;;;;;:::i;:::-;;:::i;4700:244::-;;;;;;;;;;-1:-1:-1;4700:244:0;;;;;:::i;:::-;;:::i;13748:127::-;;;;;;;;;;-1:-1:-1;13748:127:0;;;;;:::i;:::-;;:::i;6033:27::-;;;;;;;;;;-1:-1:-1;6033:27:0;;;;-1:-1:-1;;;;;6033:27:0;;;6205:45;;;;;;;;;;-1:-1:-1;6205:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6127:31;;;;;;;;;;-1:-1:-1;6127:31:0;;;;;;;;8464:216;8568:10;8539:4;8556:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8556:32:0;;;;;;;;;;:41;;;8613:37;8539:4;;8556:32;;8613:37;;;;8591:6;9425:25:1;;9413:2;9398:18;;9380:76;8613:37:0;;;;;;;;-1:-1:-1;8668:4:0;8464:216;;;;;:::o;13883:257::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;;;;;;;;;13974:12:::1;:24:::0;;;14009:12:::1;:30:::0;;;14063::::1;13989:9:::0;14024:15;14063:16:::1;:30::i;:::-;14052:8;:41:::0;;;14104:17:::1;:28:::0;-1:-1:-1;;13883:257:0:o;13515:98::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;13582:11:::1;:23:::0;;-1:-1:-1;;13582:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13515:98::o;9671:370::-;-1:-1:-1;;;;;9792:19:0;;9771:4;9792:19;;;:11;:19;;;;;;;;9812:10;9792:31;;;;;;;;-1:-1:-1;;9792:52:0;9788:188;;9895:69;;;;;;;;;;;-1:-1:-1;;;9895:69:0;;;;;;;;-1:-1:-1;;;;;9895:19:0;;-1:-1:-1;9895:19:0;;;:11;:19;;;;;9915:10;9895:31;;;;;;;;;;:69;;9931:6;;9895:35;:69::i;:::-;-1:-1:-1;;;;;9861:19:0;;;;;;:11;:19;;;;;;;;9881:10;9861:31;;;;;;;:103;9788:188;9993:40;10007:6;10015:9;10026:6;9993:13;:40::i;:::-;9986:47;;9671:370;;;;;;:::o;8300:156::-;8435:11;;-1:-1:-1;;;;;8435:11:0;8353:7;8133:18;;;:9;:18;;;;;;8380:68;;8407:11;;-1:-1:-1;;;;;8407:11:0;8116:7;8133:18;;;:9;:18;;;;;;8380:40;;:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;8373:75;;8300:156;:::o;8688:122::-;8743:4;8767:35;8775:7;-1:-1:-1;;8767:7:0;:35::i;14152:95::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;14216:13:::1;:23:::0;;;::::1;;;;-1:-1:-1::0;;14216:23:0;;::::1;::::0;;;::::1;::::0;;14152:95::o;13621:119::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13704:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;13704:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13621:119::o;4544:148::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;4651:1:::1;4635:6:::0;;4614:40:::1;::::0;-1:-1:-1;;;;;4635:6:0;;::::1;::::0;4614:40:::1;::::0;4651:1;;4614:40:::1;4682:1;4665:19:::0;;-1:-1:-1;;;;;;4665:19:0::1;::::0;;4544:148::o;14265:210::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;14367:9:::1;14362:106;14378:20:::0;;::::1;14362:106;;;14450:6;14420:13;:27;14434:9;;14444:1;14434:12;;;;;-1:-1:-1::0;;;14434:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14420:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14420:27:0;:36;;-1:-1:-1;;14420:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14400:3:::1;::::0;::::1;:::i;:::-;;;14362:106;;;;14265:210:::0;;;:::o;9169:156::-;9249:4;9273:44;9287:10;9299:9;9310:6;9273:13;:44::i;13406:101::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;13478:10:::1;:21:::0;13406:101::o;4700:244::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4789:22:0;::::1;4781:73;;;::::0;-1:-1:-1;;;4781:73:0;;6566:2:1;4781:73:0::1;::::0;::::1;6548:21:1::0;6605:2;6585:18;;;6578:30;6644:34;6624:18;;;6617:62;-1:-1:-1;;;6695:18:1;;;6688:36;6741:19;;4781:73:0::1;6538:228:1::0;4781:73:0::1;4891:6;::::0;;4870:38:::1;::::0;-1:-1:-1;;;;;4870:38:0;;::::1;::::0;4891:6;::::1;::::0;4870:38:::1;::::0;::::1;4919:6;:17:::0;;-1:-1:-1;;;;;;4919:17:0::1;-1:-1:-1::0;;;;;4919:17:0;;;::::1;::::0;;;::::1;::::0;;4700:244::o;13748:127::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13835:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;13835:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13748:127::o;2542:179::-;2600:7;;2632:5;2636:1;2632;:5;:::i;:::-;2620:17;;2661:1;2656;:6;;2648:46;;;;-1:-1:-1;;;2648:46:0;;6973:2:1;2648:46:0;;;6955:21:1;7012:2;6992:18;;;6985:30;7051:29;7031:18;;;7024:57;7098:18;;2648:46:0;6945:177:1;2873:190:0;2959:7;2995:12;2987:6;;;;2979:29;;;;-1:-1:-1;;;2979:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3019:9:0;3031:5;3035:1;3031;:5;:::i;:::-;3019:17;2873:190;-1:-1:-1;;;;;2873:190:0:o;10049:1447::-;10162:16;;10141:4;;10162:16;;10158:73;;;10188:41;10203:6;10211:9;10222:6;10188:14;:41::i;:::-;10181:48;;;;10158:73;-1:-1:-1;;;;;10245:22:0;;;;;;:14;:22;;;;;;;;10244:23;:53;;;;-1:-1:-1;;;;;;10272:25:0;;;;;;:14;:25;;;;;;;;10271:26;10244:53;10241:128;;;10321:11;;;;10313:44;;;;-1:-1:-1;;;10313:44:0;;7680:2:1;10313:44:0;;;7662:21:1;7719:2;7699:18;;;7692:30;-1:-1:-1;;;7738:18:1;;;7731:50;7798:18;;10313:44:0;7652:170:1;10313:44:0;10399:12;;10389:6;:22;;:49;;;-1:-1:-1;;;;;;10415:23:0;;;;;;:15;:23;;;;;;;;10389:49;10381:79;;;;-1:-1:-1;;;10381:79:0;;6220:2:1;10381:79:0;;;6202:21:1;6259:2;6239:18;;;6232:30;-1:-1:-1;;;6278:18:1;;;6271:47;6335:18;;10381:79:0;6192:167:1;10381:79:0;10489:4;;-1:-1:-1;;;;;10489:4:0;10475:10;:18;;;;:39;;-1:-1:-1;10498:16:0;;;;10497:17;10475:39;:64;;;;-1:-1:-1;10518:21:0;;;;;;;10475:64;:109;;;;-1:-1:-1;10571:13:0;;10561:4;10543:24;;;;:9;:24;;;;;;:41;;10475:109;10471:141;;;10587:23;:21;:23::i;:::-;8885:10;;:15;;;10626:32;;-1:-1:-1;10654:4:0;;-1:-1:-1;;;;;10641:17:0;;;10654:4;;10641:17;10626:32;10622:144;;;-1:-1:-1;;;;;10683:17:0;;10703:1;10683:17;;;:9;:17;;;;;;10675:56;;;;-1:-1:-1;;;10675:56:0;;7329:2:1;10675:56:0;;;7311:21:1;7368:2;7348:18;;;7341:30;-1:-1:-1;;;7387:18:1;;;7380:52;7449:18;;10675:56:0;7301:172:1;10675:56:0;10746:8;8967:12;8954:10;:25;8916:71;10746:8;10808:13;;;;;;;10804:120;;;-1:-1:-1;;;;;10847:21:0;;;;;;:13;:21;;;;;;;;10846:22;:51;;;;-1:-1:-1;;;;;;10873:24:0;;;;;;:13;:24;;;;;;;;10872:25;10846:51;10838:74;;;;-1:-1:-1;;;10838:74:0;;9141:2:1;10838:74:0;;;9123:21:1;9180:2;9160:18;;;9153:30;-1:-1:-1;;;9199:18:1;;;9192:41;9250:18;;10838:74:0;9113:161:1;10838:74:0;10984:53;;;;;;;;;;;-1:-1:-1;;;10984:53:0;;;;;;;;-1:-1:-1;;;;;10984:17:0;;-1:-1:-1;10984:17:0;;;:9;:17;;;;;;;;:53;;11006:6;;10984:21;:53::i;:::-;-1:-1:-1;;;;;10964:17:0;;;;;;;:9;:17;;;;;;;;:73;;;;11055:26;;;;;:15;:26;;;;;;;11054:27;:45;;;;-1:-1:-1;11085:14:0;;-1:-1:-1;;;11085:14:0;;;;11054:45;11050:157;;;11160:10;;-1:-1:-1;;;;;11124:20:0;;;;;;:9;:20;;;;;;:32;;11149:6;11124:24;:32::i;:::-;:46;;11116:79;;;;-1:-1:-1;;;11116:79:0;;8792:2:1;11116:79:0;;;8774:21:1;8831:2;8811:18;;;8804:30;-1:-1:-1;;;8850:18:1;;;8843:50;8910:18;;11116:79:0;8764:170:1;11116:79:0;-1:-1:-1;;;;;11242:19:0;;11219;11242;;;:11;:19;;;;;;;;11241:20;:47;;;;-1:-1:-1;;;;;;11266:22:0;;;;;;:11;:22;;;;;;;;11265:23;11241:47;:96;;11331:6;11241:96;;;11291:37;11302:6;11310:9;11321:6;11291:10;:37::i;:::-;-1:-1:-1;;;;;11371:20:0;;;;;;:9;:20;;;;;;11219:118;;-1:-1:-1;11371:37:0;;11219:118;11371:24;:37::i;:::-;-1:-1:-1;;;;;11348:20:0;;;;;;;:9;:20;;;;;;;:60;;;;11426:40;;;;;;;;;;11454:11;9425:25:1;;9413:2;9398:18;;9380:76;11426:40:0;;;;;;;;-1:-1:-1;11484:4:0;;10049:1447;-1:-1:-1;;;;10049:1447:0:o;2729:136::-;2787:7;2814:43;2818:1;2821;2814:43;;;;;;;;;;;;;;;;;:3;:43::i;9333:330::-;9463:53;;;;;;;;;;;-1:-1:-1;;;9463:53:0;;;;;;;;-1:-1:-1;;;;;9463:17:0;;9426:4;9463:17;;;:9;:17;;;;;;;:53;;9485:6;;9463:21;:53::i;:::-;-1:-1:-1;;;;;9443:17:0;;;;;;;:9;:17;;;;;;:73;;;;9550:20;;;;;;;:32;;9575:6;9550:24;:32::i;:::-;-1:-1:-1;;;;;9527:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9598:35;;;;;;;;;;9626:6;9425:25:1;;9413:2;9398:18;;9380:76;9598:35:0;;;;;;;;-1:-1:-1;9651:4:0;9333:330;;;;;:::o;11944:1419::-;6554:16;:23;;-1:-1:-1;;6554:23:0;6573:4;6554:23;;;12053:4:::1;6554:16:::0;12035:24;;;:9:::1;:24;::::0;;;;;12134:8:::1;::::0;12116:12:::1;::::0;12035:24;;6554:16;12096:54:::1;::::0;12148:1:::1;::::0;12096:47:::1;::::0;12134:8;12096:47;;12035:24;;12096:19:::1;:33::i;:::-;:37:::0;::::1;:47::i;:54::-;12070:80:::0;-1:-1:-1;12161:20:0::1;12184:36;:15:::0;12070:80;12184:19:::1;:36::i;:::-;12257:16;::::0;;12271:1:::1;12257:16:::0;;;;;::::1;::::0;;12161:59;;-1:-1:-1;12233:21:0::1;::::0;12257:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12257:16:0::1;12233:40;;12302:4;12284;12289:1;12284:7;;;;;;-1:-1:-1::0;;;12284:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12284:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12328:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;12328:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;12284:7;;12328:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12318:4;12323:1;12318:7;;;;;;-1:-1:-1::0;;;12318:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12318:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12354:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;12354:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;12426:12;;12354:6:::1;::::0;12469:4;;12496::::1;::::0;12516:15:::1;::::0;12354:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;12644:12:0::1;::::0;12575:21:::1;::::0;-1:-1:-1;12555:17:0::1;::::0;-1:-1:-1;12631:33:0::1;::::0;12644:19:::1;::::0;12661:1:::1;12644:16;:19::i;:::-;12631:8;::::0;;:12:::1;:33::i;:::-;12609:55;;12677:26;12706:51;12755:1;12706:44;12738:11;12706:27;12720:12;;12706:9;:13;;:27;;;;:::i;:51::-;12677:80;;12768:26;12797:44;12829:11;12797:27;12811:12;;12797:9;:13;;:27;;;;:::i;:44::-;12883:15;::::0;12875:74:::1;::::0;12768:73;;-1:-1:-1;12855:15:0::1;::::0;-1:-1:-1;;;;;12883:15:0;;::::1;::::0;12939:5:::1;::::0;12768:73;;12855:15;12875:74;12855:15;12875:74;12768:73;12883:15;12939:5;12875:74:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12973:5:0::1;::::0;-1:-1:-1;;12995:19:0;;;-1:-1:-1;12991:365:0::1;;13031:6;::::0;13206:21:::1;::::0;13031:245:::1;::::0;-1:-1:-1;;;13031:245:0;;13108:4:::1;13031:245;::::0;::::1;4718:34:1::0;4768:18;;;4761:34;;;13031:6:0::1;4811:18:1::0;;;4804:34;;;4854:18;;;4847:34;-1:-1:-1;;;;;13206:21:0;;::::1;4897:19:1::0;;;4890:44;13246:15:0::1;4950:19:1::0;;;4943:35;13031:6:0;::::1;::::0;:22:::1;::::0;13062:18;;4652:19:1;;13031:245:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13296:48:0::1;::::0;;10623:25:1;;;10679:2;10664:18;;10657:34;;;13296:48:0::1;::::0;-1:-1:-1;10596:18:1;13296:48:0::1;;;;;;;12991:365;-1:-1:-1::0;;6600:16:0;:24;;-1:-1:-1;;6600:24:0;;;-1:-1:-1;;;;;;;11944:1419:0:o;11504:432::-;11637:4;;11593:7;;;;-1:-1:-1;;;;;11637:17:0;;;:4;;:17;:48;;11677:8;;11637:48;;;11657:17;;11637:48;11613:72;-1:-1:-1;11696:17:0;11716:34;11746:3;11716:25;:6;11613:72;11716:10;:25::i;:34::-;11808:4;11790:24;;;;:9;:24;;;;;;11696:54;;-1:-1:-1;11790:39:0;;11696:54;11790:28;:39::i;:::-;11781:4;11763:24;;;;:9;:24;;;;;;;:66;;;;11845:42;;-1:-1:-1;;;;;11845:42:0;;;;;;;11877:9;9425:25:1;;9413:2;9398:18;;9380:76;11845:42:0;;;;;;;;11907:21;:6;11918:9;11907:10;:21::i;:::-;11900:28;11504:432;-1:-1:-1;;;;;;11504:432:0:o;3071:222::-;3129:7;3153:6;3149:23;;-1:-1:-1;3169:1:0;3162:8;;3149:23;3182:9;3194:5;3198:1;3194;:5;:::i;:::-;3182:17;-1:-1:-1;3227:1:0;3218:5;3222:1;3182:17;3218:5;:::i;:::-;:10;3210:56;;;;-1:-1:-1;;;3210:56:0;;8029:2:1;3210:56:0;;;8011:21:1;8068:2;8048:18;;;8041:30;8107:34;8087:18;;;8080:62;-1:-1:-1;;;8158:18:1;;;8151:31;8199:19;;3210:56:0;8001:223:1;3301:132:0;3359:7;3386:39;3390:1;3393;3386:39;;;;;;;;;;;;;;;;;3527:7;3562:12;3555:5;3547:28;;;;-1:-1:-1;;;3547:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3586:9:0;3598:5;3602:1;3598;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1646:6;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:2;;;1728:6;1720;1713:22;1675:2;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1865:35:1;1896:2;1881:18;;1865:35;:::i;:::-;1855:45;;1665:241;;;;;:::o;1911:325::-;1979:6;1987;2040:2;2028:9;2019:7;2015:23;2011:32;2008:2;;;2061:6;2053;2046:22;2008:2;2105:9;2092:23;2124:31;2149:5;2124:31;:::i;:::-;2174:5;2226:2;2211:18;;;;2198:32;;-1:-1:-1;;;1998:238:1:o;2241:739::-;2333:6;2341;2349;2402:2;2390:9;2381:7;2377:23;2373:32;2370:2;;;2423:6;2415;2408:22;2370:2;2468:9;2455:23;2497:18;2538:2;2530:6;2527:14;2524:2;;;2559:6;2551;2544:22;2524:2;2602:6;2591:9;2587:22;2577:32;;2647:7;2640:4;2636:2;2632:13;2628:27;2618:2;;2674:6;2666;2659:22;2618:2;2719;2706:16;2745:2;2737:6;2734:14;2731:2;;;2766:6;2758;2751:22;2731:2;2826:7;2819:4;2809:6;2806:1;2802:14;2798:2;2794:23;2790:34;2787:47;2784:2;;;2852:6;2844;2837:22;2784:2;2888:4;2880:13;;;;-1:-1:-1;2912:6:1;-1:-1:-1;2937:37:1;;2953:20;;;-1:-1:-1;2937:37:1;:::i;:::-;2927:47;;2360:620;;;;;:::o;2985:190::-;3041:6;3094:2;3082:9;3073:7;3069:23;3065:32;3062:2;;;3115:6;3107;3100:22;3062:2;3143:26;3159:9;3143:26;:::i;3180:190::-;3239:6;3292:2;3280:9;3271:7;3267:23;3263:32;3260:2;;;3313:6;3305;3298:22;3260:2;-1:-1:-1;3341:23:1;;3250:120;-1:-1:-1;3250:120:1:o;3375:258::-;3443:6;3451;3504:2;3492:9;3483:7;3479:23;3475:32;3472:2;;;3525:6;3517;3510:22;3472:2;-1:-1:-1;;3553:23:1;;;3623:2;3608:18;;;3595:32;;-1:-1:-1;3462:171:1:o;3638:316::-;3726:6;3734;3742;3795:2;3783:9;3774:7;3770:23;3766:32;3763:2;;;3816:6;3808;3801:22;3763:2;3850:9;3844:16;3834:26;;3900:2;3889:9;3885:18;3879:25;3869:35;;3944:2;3933:9;3929:18;3923:25;3913:35;;3753:201;;;;;:::o;5410:603::-;5522:4;5551:2;5580;5569:9;5562:21;5612:6;5606:13;5655:6;5650:2;5639:9;5635:18;5628:34;5680:4;5693:140;5707:6;5704:1;5701:13;5693:140;;;5802:14;;;5798:23;;5792:30;5768:17;;;5787:2;5764:26;5757:66;5722:10;;5693:140;;;5851:6;5848:1;5845:13;5842:2;;;5921:4;5916:2;5907:6;5896:9;5892:22;5888:31;5881:45;5842:2;-1:-1:-1;5997:2:1;5976:15;-1:-1:-1;;5972:29:1;5957:45;;;;6004:2;5953:54;;5531:482;-1:-1:-1;;;5531:482:1:o;8229:356::-;8431:2;8413:21;;;8450:18;;;8443:30;8509:34;8504:2;8489:18;;8482:62;8576:2;8561:18;;8403:182::o;9461:983::-;9723:4;9771:3;9760:9;9756:19;9802:6;9791:9;9784:25;9828:2;9866:6;9861:2;9850:9;9846:18;9839:34;9909:3;9904:2;9893:9;9889:18;9882:31;9933:6;9968;9962:13;9999:6;9991;9984:22;10037:3;10026:9;10022:19;10015:26;;10076:2;10068:6;10064:15;10050:29;;10097:4;10110:195;10124:6;10121:1;10118:13;10110:195;;;10189:13;;-1:-1:-1;;;;;10185:39:1;10173:52;;10280:15;;;;10245:12;;;;10221:1;10139:9;10110:195;;;-1:-1:-1;;;;;;;10361:32:1;;;;10356:2;10341:18;;10334:60;-1:-1:-1;;;10425:3:1;10410:19;10403:35;10322:3;9732:712;-1:-1:-1;;;9732:712:1:o;10891:128::-;10931:3;10962:1;10958:6;10955:1;10952:13;10949:2;;;10968:18;;:::i;:::-;-1:-1:-1;11004:9:1;;10939:80::o;11024:217::-;11064:1;11090;11080:2;;-1:-1:-1;;;11115:31:1;;11169:4;11166:1;11159:15;11197:4;11122:1;11187:15;11080:2;-1:-1:-1;11226:9:1;;11070:171::o;11246:168::-;11286:7;11352:1;11348;11344:6;11340:14;11337:1;11334:21;11329:1;11322:9;11315:17;11311:45;11308:2;;;11359:18;;:::i;:::-;-1:-1:-1;11399:9:1;;11298:116::o;11419:125::-;11459:4;11487:1;11484;11481:8;11478:2;;;11492:18;;:::i;:::-;-1:-1:-1;11529:9:1;;11468:76::o;11549:135::-;11588:3;-1:-1:-1;;11609:17:1;;11606:2;;;11629:18;;:::i;:::-;-1:-1:-1;11676:1:1;11665:13;;11596:88::o;11689:127::-;11750:10;11745:3;11741:20;11738:1;11731:31;11781:4;11778:1;11771:15;11805:4;11802:1;11795:15;11821:131;-1:-1:-1;;;;;11896:31:1;;11886:42;;11876:2;;11942:1;11939;11932:12;11876:2;11866:86;:::o

Swarm Source

ipfs://0873d2cdeaed16f54c7d9a981449f15807b69089d85032ef3965fab3bb15e990

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.