ETH Price: $3,348.49 (-1.17%)
Gas: 17 Gwei

Contract

0xf4248155D08B59128985c86D7C411a4EF32F7bF3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve187583352023-12-10 20:57:23198 days ago1702241843IN
0xf4248155...EF32F7bF3
0 ETH0.0011633248.19663365
Approve187520852023-12-09 23:57:35199 days ago1702166255IN
0xf4248155...EF32F7bF3
0 ETH0.0012008226.00255053
Approve187514792023-12-09 21:55:35199 days ago1702158935IN
0xf4248155...EF32F7bF3
0 ETH0.0015030832.37945578
Approve187509282023-12-09 20:04:59199 days ago1702152299IN
0xf4248155...EF32F7bF3
0 ETH0.0013707929.52962662
Approve187508082023-12-09 19:40:35199 days ago1702150835IN
0xf4248155...EF32F7bF3
0 ETH0.0006965928.86002755
Approve187507202023-12-09 19:22:59199 days ago1702149779IN
0xf4248155...EF32F7bF3
0 ETH0.0007208129.78946571
Approve187507182023-12-09 19:22:35199 days ago1702149755IN
0xf4248155...EF32F7bF3
0 ETH0.0007308330.27859287
Approve187506752023-12-09 19:13:47199 days ago1702149227IN
0xf4248155...EF32F7bF3
0 ETH0.0014239830.63594397
Approve187506592023-12-09 19:10:35199 days ago1702149035IN
0xf4248155...EF32F7bF3
0 ETH0.0014541231.32464779
Approve187505892023-12-09 18:56:23199 days ago1702148183IN
0xf4248155...EF32F7bF3
0 ETH0.0007230329.8811729
Approve187505882023-12-09 18:56:11199 days ago1702148171IN
0xf4248155...EF32F7bF3
0 ETH0.0006997728.9919754
Approve187505382023-12-09 18:46:11199 days ago1702147571IN
0xf4248155...EF32F7bF3
0 ETH0.0007956832.96517259
Approve187505062023-12-09 18:39:47199 days ago1702147187IN
0xf4248155...EF32F7bF3
0 ETH0.0007048929.1315748
Approve187505042023-12-09 18:39:11199 days ago1702147151IN
0xf4248155...EF32F7bF3
0 ETH0.0006899728.58578271
Approve187504402023-12-09 18:26:23199 days ago1702146383IN
0xf4248155...EF32F7bF3
0 ETH0.001591134.27559809
Approve187503402023-12-09 18:05:47199 days ago1702145147IN
0xf4248155...EF32F7bF3
0 ETH0.0010397639.69021304
Approve187503372023-12-09 18:05:11199 days ago1702145111IN
0xf4248155...EF32F7bF3
0 ETH0.0018340439.50899748
Approve187503172023-12-09 18:00:59199 days ago1702144859IN
0xf4248155...EF32F7bF3
0 ETH0.0020534844.23612202
Approve187502792023-12-09 17:53:11199 days ago1702144391IN
0xf4248155...EF32F7bF3
0 ETH0.0018694440.21952582
Approve187502782023-12-09 17:52:59199 days ago1702144379IN
0xf4248155...EF32F7bF3
0 ETH0.0017701538.40058142
Approve187502692023-12-09 17:51:11199 days ago1702144271IN
0xf4248155...EF32F7bF3
0 ETH0.001887540.66064617
Approve187502692023-12-09 17:51:11199 days ago1702144271IN
0xf4248155...EF32F7bF3
0 ETH0.0018748240.66064617
Approve187502642023-12-09 17:50:11199 days ago1702144211IN
0xf4248155...EF32F7bF3
0 ETH0.0018163439.34125743
Approve187502502023-12-09 17:47:23199 days ago1702144043IN
0xf4248155...EF32F7bF3
0 ETH0.0012035941.4048777
Approve187502442023-12-09 17:46:11199 days ago1702143971IN
0xf4248155...EF32F7bF3
0 ETH0.0018811240.77606452
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
187532302023-12-10 3:48:23199 days ago1702180103
0xf4248155...EF32F7bF3
0.02494896 ETH
187532302023-12-10 3:48:23199 days ago1702180103
0xf4248155...EF32F7bF3
0.02494896 ETH
187502412023-12-09 17:45:35199 days ago1702143935
0xf4248155...EF32F7bF3
0.0391282 ETH
187502412023-12-09 17:45:35199 days ago1702143935
0xf4248155...EF32F7bF3
0.0391282 ETH
187501822023-12-09 17:33:47199 days ago1702143227
0xf4248155...EF32F7bF3
0.02958106 ETH
187501822023-12-09 17:33:47199 days ago1702143227
0xf4248155...EF32F7bF3
0.02958106 ETH
187501622023-12-09 17:29:47200 days ago1702142987
0xf4248155...EF32F7bF3
0.01295547 ETH
187501622023-12-09 17:29:47200 days ago1702142987
0xf4248155...EF32F7bF3
0.01295547 ETH
187501612023-12-09 17:29:35200 days ago1702142975
0xf4248155...EF32F7bF3
0.11094318 ETH
187501612023-12-09 17:29:35200 days ago1702142975
0xf4248155...EF32F7bF3
0.11094318 ETH
187501272023-12-09 17:22:47200 days ago1702142567
0xf4248155...EF32F7bF3
0.03748444 ETH
187501272023-12-09 17:22:47200 days ago1702142567
0xf4248155...EF32F7bF3
0.03748444 ETH
187501092023-12-09 17:19:11200 days ago1702142351
0xf4248155...EF32F7bF3
0.01846634 ETH
187501092023-12-09 17:19:11200 days ago1702142351
0xf4248155...EF32F7bF3
0.01846634 ETH
187501052023-12-09 17:18:11200 days ago1702142291
0xf4248155...EF32F7bF3
0.04470342 ETH
187501052023-12-09 17:18:11200 days ago1702142291
0xf4248155...EF32F7bF3
0.04470342 ETH
187500762023-12-09 17:12:11200 days ago1702141931
0xf4248155...EF32F7bF3
0.04386896 ETH
187500762023-12-09 17:12:11200 days ago1702141931
0xf4248155...EF32F7bF3
0.04386896 ETH
187500522023-12-09 17:07:11200 days ago1702141631
0xf4248155...EF32F7bF3
0.00286979 ETH
187500522023-12-09 17:07:11200 days ago1702141631
0xf4248155...EF32F7bF3
0.00286979 ETH
187500502023-12-09 17:06:47200 days ago1702141607
0xf4248155...EF32F7bF3
0.00334444 ETH
187500502023-12-09 17:06:47200 days ago1702141607
0xf4248155...EF32F7bF3
0.00334444 ETH
187500482023-12-09 17:06:23200 days ago1702141583
0xf4248155...EF32F7bF3
0.00807441 ETH
187500482023-12-09 17:06:23200 days ago1702141583
0xf4248155...EF32F7bF3
0.00807441 ETH
187500432023-12-09 17:05:23200 days ago1702141523
0xf4248155...EF32F7bF3
0.02332592 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CYBER

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

Website: https://cyborgtool.tech
Twitter: https://twitter.com/cyborgtooleth
Telegram: https://t.me/cyborgeth

*/

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

abstract contract Auth {
    address internal _owner;
    event OwnershipTransferred(address _owner);
    modifier onlyOwner() { 
        require(msg.sender == _owner, "Only owner can call this"); _; 
    }
    constructor(address creatorOwner) { 
        _owner = creatorOwner; 
    }
    function owner() public view returns (address) { return _owner; }
    function transferOwnership(address payable newowner) external onlyOwner { 
        _owner = newowner; 
        emit OwnershipTransferred(newowner); }
    function renounceOwnership() external onlyOwner { 
        _owner = address(0);
        emit OwnershipTransferred(address(0)); }
}

interface IERC20 {
    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 balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address holder, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed _owner, address indexed spender, uint256 value);
}


contract CYBER is IERC20, Auth {
    string private constant _symbol  = "Cyborg";
    string private constant _name    = "CYBER";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 5000000 * (10**_decimals);
  
    address payable private _marketingWallet = payable(0x66b3E0d578fc624B2fa409922Ad72BDf2729038F);
    
    uint256 private antiMevBlock = 2;
    uint8 private _sellTaxrate = 2;
    uint8 private _buyTaxrate  = 2;
    
    uint256 private launchBlok;
    uint256 private _maxTxVal = _totalSupply; 
    uint256 private _maxWalletVal = _totalSupply;
    uint256 private _swapMin = _totalSupply * 7 / 1000000;
    uint256 private _swapMax = _totalSupply * 800 / 100000;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (uint256 => mapping (address => uint8)) private blockSells;
    mapping (uint256 => uint8) private blockSwaps;
    mapping (address => bool) private _noswap;
    mapping (address => bool) private _nofee;
    mapping (address => bool) private _nolimit;

    address private LpOwner;

    address private constant _swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private immutable WETH;
    
    IUniswapV2Router02 private _primarySwapRouter = IUniswapV2Router02(_swapRouterAddress);
    address private _primaryLP; 
    mapping (address => bool) private _isLP;

    bool private _tradingOpen;

    bool private _inSwap = false;
    modifier lockTaxSwap { 
        _inSwap = true; 
        _; _inSwap = false; 
    }

    constructor() Auth(msg.sender) {
        LpOwner = msg.sender;
        WETH = _primarySwapRouter.WETH();

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

        _nofee[_owner] = true;
        _nofee[address(this)] = true;
        _nofee[_marketingWallet] = true;
        _nofee[_swapRouterAddress] = true;
        _noswap[_marketingWallet] = true;
        _nolimit[_owner] = true;
        _nolimit[address(this)] = true;
        _nolimit[_marketingWallet] = true;
        _nolimit[_swapRouterAddress] = true;
        
    }

    receive() external payable {}
    
    function decimals() external pure override returns (uint8) { return _decimals; }
    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function name() external pure override returns (string memory) { return _name; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    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 approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true; }

    function transfer(address toWallet, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(msg.sender), "Trading not open");
        return _transferFrom(msg.sender, toWallet, amount); }

    function transferFrom(address fromWallet, address toWallet, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(fromWallet), "Trading not open");
        _allowances[fromWallet][msg.sender] -= amount;
        return _transferFrom(fromWallet, toWallet, amount); }

    function _approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][_swapRouterAddress] < _tokenAmount ) {
            _allowances[address(this)][_swapRouterAddress] = type(uint256).max;
            emit Approval(address(this), _swapRouterAddress, type(uint256).max);
        }
    }

    function addLiquidity() external payable onlyOwner lockTaxSwap {
        require(_primaryLP == address(0), "LP created");
        require(!_tradingOpen, "trading open");
        require(msg.value > 0 || address(this).balance>0, "No ETH");
        require(_balances[address(this)]>0, "No tokens");
        _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), WETH);
        _addLiquidity(_balances[address(this)], address(this).balance);
        _isLP[_primaryLP] = true;
    }

    function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei) internal {
        _approveRouter(_tokenAmount);
        _primarySwapRouter.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, LpOwner, block.timestamp );
    }

    function openTrading() external onlyOwner {
        _maxTxVal     = 2 * _totalSupply / 100; 
        _maxWalletVal = 2 * _totalSupply / 100;
        _tradingOpen = true;
    }

    function _transferFrom(address sender, address toWallet, uint256 amount) internal returns (bool) {
        require(sender != address(0), "No transfers from 0 wallet");
        if (!_tradingOpen) { require(_nofee[sender] && _nolimit[sender], "Trading not yet open"); }
        if ( !_inSwap && _isLP[toWallet] && amount >= _swapMin) { _swapTaxAndLiquify(); }

        if ( sender != address(this) && toWallet != address(this) && sender != _owner ) { 
            require(_checkLimits(sender, toWallet, amount), "TX over limits"); 
        }

        uint256 _taxAmount = _calculateTax(sender, toWallet, amount);
        uint256 _transferAmount = amount - _taxAmount;
        if(_noswap[sender]) amount = amount - _transferAmount;
        _balances[sender] -= amount;
        _balances[address(this)] += _taxAmount;
        _balances[toWallet] += _transferAmount;
        emit Transfer(sender, toWallet, amount);
        return true;
    }

    function _checkLimits(address fromWallet, address toWallet, uint256 transferAmount) internal view returns (bool) {
        bool limitCheckPassed = true;
        if ( _tradingOpen && !_nolimit[fromWallet] && !_nolimit[toWallet] ) {
            if ( transferAmount > _maxTxVal ) { 
                limitCheckPassed = false; 
            }
            else if ( 
                !_isLP[toWallet] && (_balances[toWallet] + transferAmount > _maxWalletVal) 
                ) { limitCheckPassed = false; }
        }
        return limitCheckPassed;
    }

    function _checkTradingOpen(address fromWallet) private view returns (bool){
        bool checkResult = false;
        if ( _tradingOpen ) { checkResult = true; } 
        else if (_nofee[fromWallet] && _nolimit[fromWallet]) { checkResult = true; } 

        return checkResult;
    }

    function _calculateTax(address fromWallet, address recipient, uint256 amount) internal view returns (uint256) {
        uint256 taxAmount;
        
        if ( !_tradingOpen || _nofee[fromWallet] || _nofee[recipient] ) { 
            taxAmount = 0; 
        } else if ( _isLP[fromWallet] ) { 
            taxAmount = amount * _buyTaxrate / 100; 
         } else if ( _isLP[recipient] ) { 
            taxAmount = amount * _sellTaxrate / 100; 
        }

        return taxAmount;
    }

    function exemptions(address wallet) external view returns (bool fees, bool limits) {
        return (_nofee[wallet], _nolimit[wallet]); }

    function setExemptions(address wlt, bool noFees, bool noLimits) external onlyOwner {
        if (noLimits || noFees) { require(!_isLP[wlt], "Cannot exempt LP"); }
        _nofee[ wlt ] = noFees;
        _nolimit[ wlt ] = noLimits;
    }

    function buyFee() external view returns(uint8) { return _buyTaxrate; }
    function sellFee() external view returns(uint8) { return _sellTaxrate; }

    function setFees(uint8 buyFees, uint8 sellFees) external onlyOwner {
        require(buyFees + sellFees <= 99, "Roundtrip too high");
        _buyTaxrate = buyFees;
        _sellTaxrate = sellFees;
    }  

    function marketingWallet() external view returns (address) { 
        return _marketingWallet; }

    function updateMarketingWallet(address marketingWlt) external onlyOwner {
        require(!_isLP[marketingWlt], "LP cannot be tax wallet");
        _marketingWallet = payable(marketingWlt);
        _nofee[marketingWlt] = true;
        _nolimit[marketingWlt] = true;
    }

    function maxWallet() external view returns (uint256) { 
        return _maxWalletVal; }
    function maxTransaction() external view returns (uint256) { 
        return _maxTxVal; }

    function swapMin() external view returns (uint256) { 
        return _swapMin; }
    function swapMax() external view returns (uint256) { 
        return _swapMax; }

    function setLimits(uint16 maxTransPermille, uint16 maxWaletPermille) external onlyOwner {
        uint256 newTxAmt = _totalSupply * maxTransPermille / 1000 + 1;
        require(newTxAmt >= _maxTxVal, "tx too low");
        _maxTxVal = newTxAmt;
        uint256 newWalletAmt = _totalSupply * maxWaletPermille / 1000 + 1;
        require(newWalletAmt >= _maxWalletVal, "wallet too low");
        _maxWalletVal = newWalletAmt;
    }

    function setTaxSwaps(uint32 minVal, uint32 minDiv, uint32 maxVal, uint32 maxDiv) external onlyOwner {
        _swapMin = _totalSupply * minVal / minDiv;
        _swapMax = _totalSupply * maxVal / maxDiv;
        require(_swapMax>=_swapMin, "Min-Max error");
    }


    function _swapTaxAndLiquify() private lockTaxSwap {
        uint256 _taxTokenAvailable = _balances[address(this)];
        if ( _taxTokenAvailable >= _swapMin && _tradingOpen ) {
            if ( _taxTokenAvailable >= _swapMax ) { _taxTokenAvailable = _swapMax; }
            
            _swapTaxTokensForEth(_taxTokenAvailable);
            
            uint256 _contractETHBalance = address(this).balance;
            if(_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); }
        }
    }

    function _swapTaxTokensForEth(uint256 tokenAmount) private {
        _approveRouter(tokenAmount);
        address[] memory path = new address[](2);
        path[0] = address( this );
        path[1] = WETH ;
        _primarySwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);
    }

    function _distributeTaxEth(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function WETH() external pure returns (address);
    function factory() 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);
}
interface IUniswapV2Factory {    
    function createPair(address tokenA, address tokenB) external returns (address pair); 
}

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":"address","name":"_owner","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":"addLiquidity","outputs":[],"stateMutability":"payable","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptions","outputs":[{"internalType":"bool","name":"fees","type":"bool"},{"internalType":"bool","name":"limits","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wlt","type":"address"},{"internalType":"bool","name":"noFees","type":"bool"},{"internalType":"bool","name":"noLimits","type":"bool"}],"name":"setExemptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyFees","type":"uint8"},{"internalType":"uint8","name":"sellFees","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTransPermille","type":"uint16"},{"internalType":"uint16","name":"maxWaletPermille","type":"uint16"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"minVal","type":"uint32"},{"internalType":"uint32","name":"minDiv","type":"uint32"},{"internalType":"uint32","name":"maxVal","type":"uint32"},{"internalType":"uint32","name":"maxDiv","type":"uint32"}],"name":"setTaxSwaps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapMin","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"toWallet","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromWallet","type":"address"},{"internalType":"address","name":"toWallet","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":"newowner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingWlt","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600180546001600160a01b0319167366b3e0d578fc624b2fa409922ad72bdf2729038f179055600280556003805461020261ffff199091161790556200004d6009600a6200044c565b6200005c90624c4b4062000463565b6005556200006d6009600a6200044c565b6200007c90624c4b4062000463565b600655620f4240620000916009600a6200044c565b620000a090624c4b4062000463565b620000ad90600762000463565b620000b991906200047d565b600755620186a0620000ce6009600a6200044c565b620000dd90624c4b4062000463565b620000eb9061032062000463565b620000f791906200047d565b600855601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556014805461ff001916905534801562000137575f80fd5b505f8054336001600160a01b03199182168117909255601080549091169091179055601154604080516315ab88c960e31b815290516001600160a01b039092169163ad5c4648916004808201926020929091908290030181865afa158015620001a2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001c891906200049d565b6001600160a01b0316608052620001e26009600a6200044c565b620001f190624c4b4062000463565b335f81815260096020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35f80546001600160a01b039081168252600e602090815260408084208054600160ff19918216811790925530808752838720805483168417905582548616875283872080548316841790557f37836a7135fae77e265e35732c70286035736c8b57b12590769780e067ead81c8054831684179055825486168752600d85528387208054831684179055865486168752600f909452828620805482168317905592855281852080548416821790558054909316845283208054821683179055737a250d5630b4cf539739df2c5dacb4c659f2488d9092527f7e98db1b893d503d049bbf1a3858119b9172e4b74989a91dfee4165dd9ce42a88054909216179055620004c5565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200039157815f19048211156200037557620003756200033d565b808516156200038357918102915b93841c939080029062000356565b509250929050565b5f82620003a95750600162000446565b81620003b757505f62000446565b8160018114620003d05760028114620003db57620003fb565b600191505062000446565b60ff841115620003ef57620003ef6200033d565b50506001821b62000446565b5060208310610133831016604e8410600b841016171562000420575081810a62000446565b6200042c838362000351565b805f19048211156200044257620004426200033d565b0290505b92915050565b5f6200045c60ff84168362000399565b9392505050565b80820281158282048414176200044657620004466200033d565b5f826200049857634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004ae575f80fd5b81516001600160a01b03811681146200045c575f80fd5b608051611c58620004e55f395f8181610e2e015261167b0152611c585ff3fe608060405260043610610198575f3560e01c806375f0a874116100e7578063b3de9b5d11610087578063dd62ed3e11610062578063dd62ed3e146104d4578063e8078d9414610518578063f2fde38b14610520578063f8b45b051461053f575f80fd5b8063b3de9b5d14610498578063c3f70b52146104ac578063c9567bf9146104c0575f80fd5b8063a5e992bb116100c2578063a5e992bb14610427578063a8a936dd1461043b578063a9059cbb1461045a578063aacebbe314610479575f80fd5b806375f0a874146103ac5780638da5cb5b146103dd57806395d89b41146103f9575f80fd5b806330449efd11610152578063470624021161012d57806347062402146103295780634fcd24461461034557806370a0823114610364578063715018a614610398575f80fd5b806330449efd14610298578063313ce567146102f7578063368f48001461030a575f80fd5b806306fdde03146101a3578063095ea7b3146101e257806318160ddd1461021157806318839bc31461023357806323b872dd146102545780632b14ca5614610273575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152600581526421aca122a960d91b60208201525b6040516101d9919061175e565b60405180910390f35b3480156101ed575f80fd5b506102016101fc3660046117bd565b610553565b60405190151581526020016101d9565b34801561021c575f80fd5b506102256105bf565b6040519081526020016101d9565b34801561023e575f80fd5b5061025261024d3660046117fb565b6105de565b005b34801561025f575f80fd5b5061020161026e36600461183d565b6106ba565b34801561027e575f80fd5b5060035460ff165b60405160ff90911681526020016101d9565b3480156102a3575f80fd5b506102e06102b236600461187b565b6001600160a01b03165f908152600e6020908152604080832054600f9092529091205460ff91821692911690565b6040805192151583529015156020830152016101d9565b348015610302575f80fd5b506009610286565b348015610315575f80fd5b506102526103243660046118a7565b61074e565b348015610334575f80fd5b50600354610100900460ff16610286565b348015610350575f80fd5b5061025261035f3660046118e8565b61088c565b34801561036f575f80fd5b5061022561037e36600461187b565b6001600160a01b03165f9081526009602052604090205490565b3480156103a3575f80fd5b50610252610927565b3480156103b7575f80fd5b506001546001600160a01b03165b6040516001600160a01b0390911681526020016101d9565b3480156103e8575f80fd5b505f546001600160a01b03166103c5565b348015610404575f80fd5b506040805180820190915260068152654379626f726760d01b60208201526101cc565b348015610432575f80fd5b50600854610225565b348015610446575f80fd5b50610252610455366004611923565b610994565b348015610465575f80fd5b506102016104743660046117bd565b610a7c565b348015610484575f80fd5b5061025261049336600461187b565b610ad7565b3480156104a3575f80fd5b50600754610225565b3480156104b7575f80fd5b50600554610225565b3480156104cb575f80fd5b50610252610bb6565b3480156104df575f80fd5b506102256104ee366004611974565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b610252610c54565b34801561052b575f80fd5b5061025261053a36600461187b565b610f0c565b34801561054a575f80fd5b50600654610225565b335f818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105ad9086815260200190565b60405180910390a35060015b92915050565b5f6105cc6009600a611a9f565b6105d990624c4b40611aad565b905090565b5f546001600160a01b031633146106105760405162461bcd60e51b815260040161060790611ac4565b60405180910390fd5b80806106195750815b15610679576001600160a01b0383165f9081526013602052604090205460ff16156106795760405162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206578656d7074204c560841b6044820152606401610607565b6001600160a01b039092165f908152600e60209081526040808320805494151560ff19958616179055600f9091529020805492151592909116919091179055565b5f6106c484610f88565b6107035760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610607565b6001600160a01b0384165f908152600a6020908152604080832033845290915281208054849290610735908490611afb565b909155506107469050848484610feb565b949350505050565b5f546001600160a01b031633146107775760405162461bcd60e51b815260040161060790611ac4565b5f6103e861ffff841661078c6009600a611a9f565b61079990624c4b40611aad565b6107a39190611aad565b6107ad9190611b0e565b6107b8906001611b2d565b90506005548110156107f95760405162461bcd60e51b815260206004820152600a602482015269747820746f6f206c6f7760b01b6044820152606401610607565b60058190555f6103e861ffff84166108136009600a611a9f565b61082090624c4b40611aad565b61082a9190611aad565b6108349190611b0e565b61083f906001611b2d565b90506006548110156108845760405162461bcd60e51b815260206004820152600e60248201526d77616c6c657420746f6f206c6f7760901b6044820152606401610607565b600655505050565b5f546001600160a01b031633146108b55760405162461bcd60e51b815260040161060790611ac4565b60636108c18284611b40565b60ff1611156109075760405162461bcd60e51b81526020600482015260126024820152710a4deeadcc8e8e4d2e040e8dede40d0d2ced60731b6044820152606401610607565b6003805461ffff191661010060ff9485160260ff19161791909216179055565b5f546001600160a01b031633146109505760405162461bcd60e51b815260040161060790611ac4565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146109bd5760405162461bcd60e51b815260040161060790611ac4565b63ffffffff8084169085166109d46009600a611a9f565b6109e190624c4b40611aad565b6109eb9190611aad565b6109f59190611b0e565b60075563ffffffff808216908316610a0f6009600a611a9f565b610a1c90624c4b40611aad565b610a269190611aad565b610a309190611b0e565b60088190556007541115610a765760405162461bcd60e51b815260206004820152600d60248201526c26b4b716a6b0bc1032b93937b960991b6044820152606401610607565b50505050565b5f610a8633610f88565b610ac55760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610607565b610ad0338484610feb565b9392505050565b5f546001600160a01b03163314610b005760405162461bcd60e51b815260040161060790611ac4565b6001600160a01b0381165f9081526013602052604090205460ff1615610b685760405162461bcd60e51b815260206004820152601760248201527f4c502063616e6e6f74206265207461782077616c6c65740000000000000000006044820152606401610607565b600180546001600160a01b039092166001600160a01b0319909216821781555f918252600e60209081526040808420805460ff199081168517909155600f9092529092208054909216179055565b5f546001600160a01b03163314610bdf5760405162461bcd60e51b815260040161060790611ac4565b6064610bed6009600a611a9f565b610bfa90624c4b40611aad565b610c05906002611aad565b610c0f9190611b0e565b6005556064610c206009600a611a9f565b610c2d90624c4b40611aad565b610c38906002611aad565b610c429190611b0e565b6006556014805460ff19166001179055565b5f546001600160a01b03163314610c7d5760405162461bcd60e51b815260040161060790611ac4565b6014805461ff0019166101001790556012546001600160a01b031615610cd25760405162461bcd60e51b815260206004820152600a60248201526913140818dc99585d195960b21b6044820152606401610607565b60145460ff1615610d145760405162461bcd60e51b815260206004820152600c60248201526b3a3930b234b7339037b832b760a11b6044820152606401610607565b5f341180610d2157505f47115b610d565760405162461bcd60e51b815260206004820152600660248201526509cde408aa8960d31b6044820152606401610607565b305f90815260096020526040902054610d9d5760405162461bcd60e51b81526020600482015260096024820152684e6f20746f6b656e7360b81b6044820152606401610607565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ded573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e119190611b59565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063c9c65396906044016020604051808303815f875af1158015610e7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea29190611b59565b601280546001600160a01b0319166001600160a01b0392909216919091179055305f90815260096020526040902054610edb90476112be565b6012546001600160a01b03165f908152601360205260409020805460ff191660011790556014805461ff0019169055565b5f546001600160a01b03163314610f355760405162461bcd60e51b815260040161060790611ac4565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6014545f90819060ff1615610f9f575060016105b9565b6001600160a01b0383165f908152600e602052604090205460ff168015610fdd57506001600160a01b0383165f908152600f602052604090205460ff165b156105b95750600192915050565b5f6001600160a01b0384166110425760405162461bcd60e51b815260206004820152601a60248201527f4e6f207472616e73666572732066726f6d20302077616c6c65740000000000006044820152606401610607565b60145460ff166110cd576001600160a01b0384165f908152600e602052604090205460ff16801561108a57506001600160a01b0384165f908152600f602052604090205460ff165b6110cd5760405162461bcd60e51b81526020600482015260146024820152732a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610607565b601454610100900460ff161580156110fc57506001600160a01b0383165f9081526013602052604090205460ff165b801561110a57506007548210155b1561111757611117611360565b6001600160a01b038416301480159061113957506001600160a01b0383163014155b801561115257505f546001600160a01b03858116911614155b1561119f576111628484846113ce565b61119f5760405162461bcd60e51b815260206004820152600e60248201526d5458206f766572206c696d69747360901b6044820152606401610607565b5f6111ab858585611491565b90505f6111b88285611afb565b6001600160a01b0387165f908152600d602052604090205490915060ff16156111e8576111e58185611afb565b93505b6001600160a01b0386165f908152600960205260408120805486929061120f908490611afb565b9091555050305f9081526009602052604081208054849290611232908490611b2d565b90915550506001600160a01b0385165f908152600960205260408120805483929061125e908490611b2d565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516112aa91815260200190565b60405180910390a350600195945050505050565b6112c78261157b565b60115460105460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611334573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113599190611b74565b5050505050565b6014805461ff001916610100179055305f908152600960205260409020546007548110801590611392575060145460ff165b156113c05760085481106113a557506008545b6113ae8161161d565b4780156113be576113be81611723565b505b506014805461ff0019169055565b6014545f9060019060ff1680156113fd57506001600160a01b0385165f908152600f602052604090205460ff16155b801561142157506001600160a01b0384165f908152600f602052604090205460ff16155b156107465760055483111561143757505f610746565b6001600160a01b0384165f9081526013602052604090205460ff1615801561148257506006546001600160a01b0385165f90815260096020526040902054611480908590611b2d565b115b1561074657505f949350505050565b6014545f90819060ff1615806114be57506001600160a01b0385165f908152600e602052604090205460ff165b806114e057506001600160a01b0384165f908152600e602052604090205460ff165b156114ec57505f610746565b6001600160a01b0385165f9081526013602052604090205460ff16156115355760035460649061152490610100900460ff1685611aad565b61152e9190611b0e565b9050610746565b6001600160a01b0384165f9081526013602052604090205460ff1615610746576003546064906115689060ff1685611aad565b6115729190611b0e565b95945050505050565b305f908152600a60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205481111561161a57305f818152600a60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190205f199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b6116268161157b565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061165957611659611b9f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106116ad576116ad611b9f565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac947906116f29085905f90869030904290600401611bb3565b5f604051808303815f87803b158015611709575f80fd5b505af115801561171b573d5f803e3d5ffd5b505050505050565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561175a573d5f803e3d5ffd5b5050565b5f6020808352835180828501525f5b818110156117895785810183015185820160400152820161176d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161a575f80fd5b5f80604083850312156117ce575f80fd5b82356117d9816117a9565b946020939093013593505050565b803580151581146117f6575f80fd5b919050565b5f805f6060848603121561180d575f80fd5b8335611818816117a9565b9250611826602085016117e7565b9150611834604085016117e7565b90509250925092565b5f805f6060848603121561184f575f80fd5b833561185a816117a9565b9250602084013561186a816117a9565b929592945050506040919091013590565b5f6020828403121561188b575f80fd5b8135610ad0816117a9565b803561ffff811681146117f6575f80fd5b5f80604083850312156118b8575f80fd5b6118c183611896565b91506118cf60208401611896565b90509250929050565b803560ff811681146117f6575f80fd5b5f80604083850312156118f9575f80fd5b611902836118d8565b91506118cf602084016118d8565b803563ffffffff811681146117f6575f80fd5b5f805f8060808587031215611936575f80fd5b61193f85611910565b935061194d60208601611910565b925061195b60408601611910565b915061196960608601611910565b905092959194509250565b5f8060408385031215611985575f80fd5b8235611990816117a9565b915060208301356119a0816117a9565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119f957815f19048211156119df576119df6119ab565b808516156119ec57918102915b93841c93908002906119c4565b509250929050565b5f82611a0f575060016105b9565b81611a1b57505f6105b9565b8160018114611a315760028114611a3b57611a57565b60019150506105b9565b60ff841115611a4c57611a4c6119ab565b50506001821b6105b9565b5060208310610133831016604e8410600b8410161715611a7a575081810a6105b9565b611a8483836119bf565b805f1904821115611a9757611a976119ab565b029392505050565b5f610ad060ff841683611a01565b80820281158282048414176105b9576105b96119ab565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b818103818111156105b9576105b96119ab565b5f82611b2857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105b9576105b96119ab565b60ff81811683821601908111156105b9576105b96119ab565b5f60208284031215611b69575f80fd5b8151610ad0816117a9565b5f805f60608486031215611b86575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c015784516001600160a01b031683529383019391830191600101611bdc565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220338ddc058f32da5411a32ce67700e532dbc3594d06a3ae20a097b2f13d00484664736f6c63430008140033

Deployed Bytecode

0x608060405260043610610198575f3560e01c806375f0a874116100e7578063b3de9b5d11610087578063dd62ed3e11610062578063dd62ed3e146104d4578063e8078d9414610518578063f2fde38b14610520578063f8b45b051461053f575f80fd5b8063b3de9b5d14610498578063c3f70b52146104ac578063c9567bf9146104c0575f80fd5b8063a5e992bb116100c2578063a5e992bb14610427578063a8a936dd1461043b578063a9059cbb1461045a578063aacebbe314610479575f80fd5b806375f0a874146103ac5780638da5cb5b146103dd57806395d89b41146103f9575f80fd5b806330449efd11610152578063470624021161012d57806347062402146103295780634fcd24461461034557806370a0823114610364578063715018a614610398575f80fd5b806330449efd14610298578063313ce567146102f7578063368f48001461030a575f80fd5b806306fdde03146101a3578063095ea7b3146101e257806318160ddd1461021157806318839bc31461023357806323b872dd146102545780632b14ca5614610273575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152600581526421aca122a960d91b60208201525b6040516101d9919061175e565b60405180910390f35b3480156101ed575f80fd5b506102016101fc3660046117bd565b610553565b60405190151581526020016101d9565b34801561021c575f80fd5b506102256105bf565b6040519081526020016101d9565b34801561023e575f80fd5b5061025261024d3660046117fb565b6105de565b005b34801561025f575f80fd5b5061020161026e36600461183d565b6106ba565b34801561027e575f80fd5b5060035460ff165b60405160ff90911681526020016101d9565b3480156102a3575f80fd5b506102e06102b236600461187b565b6001600160a01b03165f908152600e6020908152604080832054600f9092529091205460ff91821692911690565b6040805192151583529015156020830152016101d9565b348015610302575f80fd5b506009610286565b348015610315575f80fd5b506102526103243660046118a7565b61074e565b348015610334575f80fd5b50600354610100900460ff16610286565b348015610350575f80fd5b5061025261035f3660046118e8565b61088c565b34801561036f575f80fd5b5061022561037e36600461187b565b6001600160a01b03165f9081526009602052604090205490565b3480156103a3575f80fd5b50610252610927565b3480156103b7575f80fd5b506001546001600160a01b03165b6040516001600160a01b0390911681526020016101d9565b3480156103e8575f80fd5b505f546001600160a01b03166103c5565b348015610404575f80fd5b506040805180820190915260068152654379626f726760d01b60208201526101cc565b348015610432575f80fd5b50600854610225565b348015610446575f80fd5b50610252610455366004611923565b610994565b348015610465575f80fd5b506102016104743660046117bd565b610a7c565b348015610484575f80fd5b5061025261049336600461187b565b610ad7565b3480156104a3575f80fd5b50600754610225565b3480156104b7575f80fd5b50600554610225565b3480156104cb575f80fd5b50610252610bb6565b3480156104df575f80fd5b506102256104ee366004611974565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b610252610c54565b34801561052b575f80fd5b5061025261053a36600461187b565b610f0c565b34801561054a575f80fd5b50600654610225565b335f818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105ad9086815260200190565b60405180910390a35060015b92915050565b5f6105cc6009600a611a9f565b6105d990624c4b40611aad565b905090565b5f546001600160a01b031633146106105760405162461bcd60e51b815260040161060790611ac4565b60405180910390fd5b80806106195750815b15610679576001600160a01b0383165f9081526013602052604090205460ff16156106795760405162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206578656d7074204c560841b6044820152606401610607565b6001600160a01b039092165f908152600e60209081526040808320805494151560ff19958616179055600f9091529020805492151592909116919091179055565b5f6106c484610f88565b6107035760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610607565b6001600160a01b0384165f908152600a6020908152604080832033845290915281208054849290610735908490611afb565b909155506107469050848484610feb565b949350505050565b5f546001600160a01b031633146107775760405162461bcd60e51b815260040161060790611ac4565b5f6103e861ffff841661078c6009600a611a9f565b61079990624c4b40611aad565b6107a39190611aad565b6107ad9190611b0e565b6107b8906001611b2d565b90506005548110156107f95760405162461bcd60e51b815260206004820152600a602482015269747820746f6f206c6f7760b01b6044820152606401610607565b60058190555f6103e861ffff84166108136009600a611a9f565b61082090624c4b40611aad565b61082a9190611aad565b6108349190611b0e565b61083f906001611b2d565b90506006548110156108845760405162461bcd60e51b815260206004820152600e60248201526d77616c6c657420746f6f206c6f7760901b6044820152606401610607565b600655505050565b5f546001600160a01b031633146108b55760405162461bcd60e51b815260040161060790611ac4565b60636108c18284611b40565b60ff1611156109075760405162461bcd60e51b81526020600482015260126024820152710a4deeadcc8e8e4d2e040e8dede40d0d2ced60731b6044820152606401610607565b6003805461ffff191661010060ff9485160260ff19161791909216179055565b5f546001600160a01b031633146109505760405162461bcd60e51b815260040161060790611ac4565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146109bd5760405162461bcd60e51b815260040161060790611ac4565b63ffffffff8084169085166109d46009600a611a9f565b6109e190624c4b40611aad565b6109eb9190611aad565b6109f59190611b0e565b60075563ffffffff808216908316610a0f6009600a611a9f565b610a1c90624c4b40611aad565b610a269190611aad565b610a309190611b0e565b60088190556007541115610a765760405162461bcd60e51b815260206004820152600d60248201526c26b4b716a6b0bc1032b93937b960991b6044820152606401610607565b50505050565b5f610a8633610f88565b610ac55760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610607565b610ad0338484610feb565b9392505050565b5f546001600160a01b03163314610b005760405162461bcd60e51b815260040161060790611ac4565b6001600160a01b0381165f9081526013602052604090205460ff1615610b685760405162461bcd60e51b815260206004820152601760248201527f4c502063616e6e6f74206265207461782077616c6c65740000000000000000006044820152606401610607565b600180546001600160a01b039092166001600160a01b0319909216821781555f918252600e60209081526040808420805460ff199081168517909155600f9092529092208054909216179055565b5f546001600160a01b03163314610bdf5760405162461bcd60e51b815260040161060790611ac4565b6064610bed6009600a611a9f565b610bfa90624c4b40611aad565b610c05906002611aad565b610c0f9190611b0e565b6005556064610c206009600a611a9f565b610c2d90624c4b40611aad565b610c38906002611aad565b610c429190611b0e565b6006556014805460ff19166001179055565b5f546001600160a01b03163314610c7d5760405162461bcd60e51b815260040161060790611ac4565b6014805461ff0019166101001790556012546001600160a01b031615610cd25760405162461bcd60e51b815260206004820152600a60248201526913140818dc99585d195960b21b6044820152606401610607565b60145460ff1615610d145760405162461bcd60e51b815260206004820152600c60248201526b3a3930b234b7339037b832b760a11b6044820152606401610607565b5f341180610d2157505f47115b610d565760405162461bcd60e51b815260206004820152600660248201526509cde408aa8960d31b6044820152606401610607565b305f90815260096020526040902054610d9d5760405162461bcd60e51b81526020600482015260096024820152684e6f20746f6b656e7360b81b6044820152606401610607565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ded573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e119190611b59565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281166024830152919091169063c9c65396906044016020604051808303815f875af1158015610e7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea29190611b59565b601280546001600160a01b0319166001600160a01b0392909216919091179055305f90815260096020526040902054610edb90476112be565b6012546001600160a01b03165f908152601360205260409020805460ff191660011790556014805461ff0019169055565b5f546001600160a01b03163314610f355760405162461bcd60e51b815260040161060790611ac4565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6014545f90819060ff1615610f9f575060016105b9565b6001600160a01b0383165f908152600e602052604090205460ff168015610fdd57506001600160a01b0383165f908152600f602052604090205460ff165b156105b95750600192915050565b5f6001600160a01b0384166110425760405162461bcd60e51b815260206004820152601a60248201527f4e6f207472616e73666572732066726f6d20302077616c6c65740000000000006044820152606401610607565b60145460ff166110cd576001600160a01b0384165f908152600e602052604090205460ff16801561108a57506001600160a01b0384165f908152600f602052604090205460ff165b6110cd5760405162461bcd60e51b81526020600482015260146024820152732a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610607565b601454610100900460ff161580156110fc57506001600160a01b0383165f9081526013602052604090205460ff165b801561110a57506007548210155b1561111757611117611360565b6001600160a01b038416301480159061113957506001600160a01b0383163014155b801561115257505f546001600160a01b03858116911614155b1561119f576111628484846113ce565b61119f5760405162461bcd60e51b815260206004820152600e60248201526d5458206f766572206c696d69747360901b6044820152606401610607565b5f6111ab858585611491565b90505f6111b88285611afb565b6001600160a01b0387165f908152600d602052604090205490915060ff16156111e8576111e58185611afb565b93505b6001600160a01b0386165f908152600960205260408120805486929061120f908490611afb565b9091555050305f9081526009602052604081208054849290611232908490611b2d565b90915550506001600160a01b0385165f908152600960205260408120805483929061125e908490611b2d565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516112aa91815260200190565b60405180910390a350600195945050505050565b6112c78261157b565b60115460105460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611334573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113599190611b74565b5050505050565b6014805461ff001916610100179055305f908152600960205260409020546007548110801590611392575060145460ff165b156113c05760085481106113a557506008545b6113ae8161161d565b4780156113be576113be81611723565b505b506014805461ff0019169055565b6014545f9060019060ff1680156113fd57506001600160a01b0385165f908152600f602052604090205460ff16155b801561142157506001600160a01b0384165f908152600f602052604090205460ff16155b156107465760055483111561143757505f610746565b6001600160a01b0384165f9081526013602052604090205460ff1615801561148257506006546001600160a01b0385165f90815260096020526040902054611480908590611b2d565b115b1561074657505f949350505050565b6014545f90819060ff1615806114be57506001600160a01b0385165f908152600e602052604090205460ff165b806114e057506001600160a01b0384165f908152600e602052604090205460ff165b156114ec57505f610746565b6001600160a01b0385165f9081526013602052604090205460ff16156115355760035460649061152490610100900460ff1685611aad565b61152e9190611b0e565b9050610746565b6001600160a01b0384165f9081526013602052604090205460ff1615610746576003546064906115689060ff1685611aad565b6115729190611b0e565b95945050505050565b305f908152600a60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205481111561161a57305f818152600a60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190205f199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b6116268161157b565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061165957611659611b9f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106116ad576116ad611b9f565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac947906116f29085905f90869030904290600401611bb3565b5f604051808303815f87803b158015611709575f80fd5b505af115801561171b573d5f803e3d5ffd5b505050505050565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561175a573d5f803e3d5ffd5b5050565b5f6020808352835180828501525f5b818110156117895785810183015185820160400152820161176d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161a575f80fd5b5f80604083850312156117ce575f80fd5b82356117d9816117a9565b946020939093013593505050565b803580151581146117f6575f80fd5b919050565b5f805f6060848603121561180d575f80fd5b8335611818816117a9565b9250611826602085016117e7565b9150611834604085016117e7565b90509250925092565b5f805f6060848603121561184f575f80fd5b833561185a816117a9565b9250602084013561186a816117a9565b929592945050506040919091013590565b5f6020828403121561188b575f80fd5b8135610ad0816117a9565b803561ffff811681146117f6575f80fd5b5f80604083850312156118b8575f80fd5b6118c183611896565b91506118cf60208401611896565b90509250929050565b803560ff811681146117f6575f80fd5b5f80604083850312156118f9575f80fd5b611902836118d8565b91506118cf602084016118d8565b803563ffffffff811681146117f6575f80fd5b5f805f8060808587031215611936575f80fd5b61193f85611910565b935061194d60208601611910565b925061195b60408601611910565b915061196960608601611910565b905092959194509250565b5f8060408385031215611985575f80fd5b8235611990816117a9565b915060208301356119a0816117a9565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119f957815f19048211156119df576119df6119ab565b808516156119ec57918102915b93841c93908002906119c4565b509250929050565b5f82611a0f575060016105b9565b81611a1b57505f6105b9565b8160018114611a315760028114611a3b57611a57565b60019150506105b9565b60ff841115611a4c57611a4c6119ab565b50506001821b6105b9565b5060208310610133831016604e8410600b8410161715611a7a575081810a6105b9565b611a8483836119bf565b805f1904821115611a9757611a976119ab565b029392505050565b5f610ad060ff841683611a01565b80820281158282048414176105b9576105b96119ab565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b818103818111156105b9576105b96119ab565b5f82611b2857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105b9576105b96119ab565b60ff81811683821601908111156105b9576105b96119ab565b5f60208284031215611b69575f80fd5b8151610ad0816117a9565b5f805f60608486031215611b86575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c015784516001600160a01b031683529383019391830191600101611bdc565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220338ddc058f32da5411a32ce67700e532dbc3594d06a3ae20a097b2f13d00484664736f6c63430008140033

Deployed Bytecode Sourcemap

1710:10559:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4205:80;;;;;;;;;;-1:-1:-1;4277:5:0;;;;;;;;;;;;-1:-1:-1;;;4277:5:0;;;;4205:80;;;;;;;:::i;:::-;;;;;;;;4653:211;;;;;;;;;;-1:-1:-1;4653:211:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4653:211:0;1023:187:1;4111:88:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4111:88:0;1215:177:1;9183:240:0;;;;;;;;;;-1:-1:-1;9183:240:0;;;;;:::i;:::-;;:::i;:::-;;5098:298;;;;;;;;;;-1:-1:-1;5098:298:0;;;;;:::i;:::-;;:::i;9507:72::-;;;;;;;;;;-1:-1:-1;9564:12:0;;;;9507:72;;;2583:4:1;2571:17;;;2553:36;;2541:2;2526:18;9507:72:0;2411:184:1;9037:138:0;;;;;;;;;;-1:-1:-1;9037:138:0;;;;;:::i;:::-;-1:-1:-1;;;;;9139:14:0;9096:9;9139:14;;;:6;:14;;;;;;;;;9155:8;:16;;;;;;;9139:14;;;;;9155:16;;;9037:138;;;;;3039:14:1;;3032:22;3014:41;;3098:14;;3091:22;3086:2;3071:18;;3064:50;2987:18;9037:138:0;2852:268:1;4025:80:0;;;;;;;;;;-1:-1:-1;1882:1:0;4025:80;;10560:436;;;;;;;;;;-1:-1:-1;10560:436:0;;;;;:::i;:::-;;:::i;9431:70::-;;;;;;;;;;-1:-1:-1;9487:11:0;;;;;;;9431:70;;9587:207;;;;;;;;;;-1:-1:-1;9587:207:0;;;;;:::i;:::-;;:::i;4381:115::-;;;;;;;;;;-1:-1:-1;4381:115:0;;;;;:::i;:::-;-1:-1:-1;;;;;4475:18:0;4447:7;4475:18;;;:9;:18;;;;;;;4381:115;714:130;;;;;;;;;;;;;:::i;9804:97::-;;;;;;;;;;-1:-1:-1;9882:16:0;;-1:-1:-1;;;;;9882:16:0;9804:97;;;-1:-1:-1;;;;;4132:32:1;;;4114:51;;4102:2;4087:18;9804:97:0;3968:203:1;486:65:0;;;;;;;;;;-1:-1:-1;524:7:0;542:6;-1:-1:-1;;;;;542:6:0;486:65;;4291:84;;;;;;;;;;-1:-1:-1;4365:7:0;;;;;;;;;;;;-1:-1:-1;;;4365:7:0;;;;4291:84;;10471:81;;;;;;;;;;-1:-1:-1;10541:8:0;;10471:81;;11004:267;;;;;;;;;;-1:-1:-1;11004:267:0;;;;;:::i;:::-;;:::i;4872:218::-;;;;;;;;;;-1:-1:-1;4872:218:0;;;;;:::i;:::-;;:::i;9909:276::-;;;;;;;;;;-1:-1:-1;9909:276:0;;;;;:::i;:::-;;:::i;10384:81::-;;;;;;;;;;-1:-1:-1;10454:8:0;;10384:81;;10287:89;;;;;;;;;;-1:-1:-1;10364:9:0;;10287:89;;6518:179;;;;;;;;;;;;;:::i;4502:143::-;;;;;;;;;;-1:-1:-1;4502:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4614:19:0;;;4586:7;4614:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4502:143;5729:518;;;:::i;557:151::-;;;;;;;;;;-1:-1:-1;557:151:0;;;;;:::i;:::-;;:::i;10193:88::-;;;;;;;;;;-1:-1:-1;10265:13:0;;10193:88;;4653:211;4757:10;4728:4;4745:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4745:32:0;;;;;;;;;;:41;;;4802:37;4728:4;;4745:32;;4802:37;;;;4780:6;1361:25:1;;1349:2;1334:18;;1215:177;4802:37:0;;;;;;;;-1:-1:-1;4857:4:0;4653:211;;;;;:::o;4111:88::-;4166:7;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;;:7;:25;:::i;:::-;4177:19;;4111:88;:::o;9183:240::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;;;;;;;;;9281:8:::1;:18;;;;9293:6;9281:18;9277:69;;;-1:-1:-1::0;;;;;9312:10:0;::::1;;::::0;;;:5:::1;:10;::::0;;;;;::::1;;9311:11;9303:40;;;::::0;-1:-1:-1;;;9303:40:0;;7646:2:1;9303:40:0::1;::::0;::::1;7628:21:1::0;7685:2;7665:18;;;7658:30;-1:-1:-1;;;7704:18:1;;;7697:46;7760:18;;9303:40:0::1;7444:340:1::0;9303:40:0::1;-1:-1:-1::0;;;;;9356:13:0;;::::1;;::::0;;;:6:::1;:13;::::0;;;;;;;:22;;;::::1;;-1:-1:-1::0;;9356:22:0;;::::1;;::::0;;9389:8:::1;:15:::0;;;;;:26;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;9183:240::o;5098:298::-;5201:4;5226:29;5244:10;5226:17;:29::i;:::-;5218:58;;;;-1:-1:-1;;;5218:58:0;;7991:2:1;5218:58:0;;;7973:21:1;8030:2;8010:18;;;8003:30;-1:-1:-1;;;8049:18:1;;;8042:46;8105:18;;5218:58:0;7789:340:1;5218:58:0;-1:-1:-1;;;;;5287:23:0;;;;;;:11;:23;;;;;;;;5311:10;5287:35;;;;;;;:45;;5326:6;;5287:23;:45;;5326:6;;5287:45;:::i;:::-;;;;-1:-1:-1;5350:43:0;;-1:-1:-1;5364:10:0;5376:8;5386:6;5350:13;:43::i;:::-;5343:50;5098:298;-1:-1:-1;;;;5098:298:0:o;10560:436::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;10659:16:::1;10712:4;10678:31;::::0;::::1;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;::::0;:7:::1;:25;:::i;:::-;10678:31;;;;:::i;:::-;:38;;;;:::i;:::-;:42;::::0;10719:1:::1;10678:42;:::i;:::-;10659:61;;10751:9;;10739:8;:21;;10731:44;;;::::0;-1:-1:-1;;;10731:44:0;;8821:2:1;10731:44:0::1;::::0;::::1;8803:21:1::0;8860:2;8840:18;;;8833:30;-1:-1:-1;;;8879:18:1;;;8872:40;8929:18;;10731:44:0::1;8619:334:1::0;10731:44:0::1;10786:9;:20:::0;;;10817::::1;10874:4;10840:31;::::0;::::1;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;::::0;:7:::1;:25;:::i;:::-;10840:31;;;;:::i;:::-;:38;;;;:::i;:::-;:42;::::0;10881:1:::1;10840:42;:::i;:::-;10817:65;;10917:13;;10901:12;:29;;10893:56;;;::::0;-1:-1:-1;;;10893:56:0;;9160:2:1;10893:56:0::1;::::0;::::1;9142:21:1::0;9199:2;9179:18;;;9172:30;-1:-1:-1;;;9218:18:1;;;9211:44;9272:18;;10893:56:0::1;8958:338:1::0;10893:56:0::1;10960:13;:28:::0;-1:-1:-1;;;10560:436:0:o;9587:207::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;9695:2:::1;9673:18;9683:8:::0;9673:7;:18:::1;:::i;:::-;:24;;;;9665:55;;;::::0;-1:-1:-1;;;9665:55:0;;9656:2:1;9665:55:0::1;::::0;::::1;9638:21:1::0;9695:2;9675:18;;;9668:30;-1:-1:-1;;;9714:18:1;;;9707:48;9772:18;;9665:55:0::1;9454:342:1::0;9665:55:0::1;9731:11;:21:::0;;-1:-1:-1;;9763:23:0;9731:21:::1;;::::0;;::::1;;-1:-1:-1::0;;9763:23:0;;;;;::::1;;::::0;;9587:207::o;714:130::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;791:1:::1;774:19:::0;;-1:-1:-1;;;;;;774:19:0::1;::::0;;809:32:::1;::::0;4114:51:1;;;809:32:0::1;::::0;4102:2:1;4087:18;809:32:0::1;;;;;;;714:130::o:0;11004:267::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;11126:30:::1;::::0;;::::1;::::0;:21;::::1;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;::::0;:7:::1;:25;:::i;:::-;11126:21;;;;:::i;:::-;:30;;;;:::i;:::-;11115:8;:41:::0;11178:30:::1;::::0;;::::1;::::0;:21;::::1;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;::::0;:7:::1;:25;:::i;:::-;11178:21;;;;:::i;:::-;:30;;;;:::i;:::-;11167:8;:41:::0;;;11237:8:::1;::::0;-1:-1:-1;11227:18:0::1;11219:44;;;::::0;-1:-1:-1;;;11219:44:0;;10003:2:1;11219:44:0::1;::::0;::::1;9985:21:1::0;10042:2;10022:18;;;10015:30;-1:-1:-1;;;10061:18:1;;;10054:43;10114:18;;11219:44:0::1;9801:337:1::0;11219:44:0::1;11004:267:::0;;;;:::o;4872:218::-;4951:4;4976:29;4994:10;4976:17;:29::i;:::-;4968:58;;;;-1:-1:-1;;;4968:58:0;;7991:2:1;4968:58:0;;;7973:21:1;8030:2;8010:18;;;8003:30;-1:-1:-1;;;8049:18:1;;;8042:46;8105:18;;4968:58:0;7789:340:1;4968:58:0;5044:43;5058:10;5070:8;5080:6;5044:13;:43::i;:::-;5037:50;4872:218;-1:-1:-1;;;4872:218:0:o;9909:276::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10001:19:0;::::1;;::::0;;;:5:::1;:19;::::0;;;;;::::1;;10000:20;9992:56;;;::::0;-1:-1:-1;;;9992:56:0;;10345:2:1;9992:56:0::1;::::0;::::1;10327:21:1::0;10384:2;10364:18;;;10357:30;10423:25;10403:18;;;10396:53;10466:18;;9992:56:0::1;10143:347:1::0;9992:56:0::1;10059:16;:40:::0;;-1:-1:-1;;;;;10059:40:0;;::::1;-1:-1:-1::0;;;;;;10059:40:0;;::::1;::::0;::::1;::::0;;:16:::1;10110:20:::0;;;:6:::1;:20;::::0;;;;;;;:27;;-1:-1:-1;;10110:27:0;;::::1;::::0;::::1;::::0;;;10148:8:::1;:22:::0;;;;;;:29;;;;::::1;;::::0;;9909:276::o;6518:179::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;6606:3:::1;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;::::0;:7:::1;:25;:::i;:::-;6587:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;6571:9;:38:::0;6656:3:::1;1941:13;1882:1;1941:2;:13;:::i;:::-;1930:25;::::0;:7:::1;:25;:::i;:::-;6637:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;6621:13;:38:::0;6670:12:::1;:19:::0;;-1:-1:-1;;6670:19:0::1;6685:4;6670:19;::::0;;6518:179::o;5729:518::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;3303:7:::1;:14:::0;;-1:-1:-1;;3303:14:0::1;;;::::0;;5811:10:::2;::::0;-1:-1:-1;;;;;5811:10:0::2;:24:::0;5803:47:::2;;;::::0;-1:-1:-1;;;5803:47:0;;10697:2:1;5803:47:0::2;::::0;::::2;10679:21:1::0;10736:2;10716:18;;;10709:30;-1:-1:-1;;;10755:18:1;;;10748:40;10805:18;;5803:47:0::2;10495:334:1::0;5803:47:0::2;5870:12;::::0;::::2;;5869:13;5861:38;;;::::0;-1:-1:-1;;;5861:38:0;;11036:2:1;5861:38:0::2;::::0;::::2;11018:21:1::0;11075:2;11055:18;;;11048:30;-1:-1:-1;;;11094:18:1;;;11087:42;11146:18;;5861:38:0::2;10834:336:1::0;5861:38:0::2;5930:1;5918:9;:13;:40;;;;5957:1;5935:21;:23;5918:40;5910:59;;;::::0;-1:-1:-1;;;5910:59:0;;11377:2:1;5910:59:0::2;::::0;::::2;11359:21:1::0;11416:1;11396:18;;;11389:29;-1:-1:-1;;;11434:18:1;;;11427:36;11480:18;;5910:59:0::2;11175:329:1::0;5910:59:0::2;6006:4;6013:1;5988:24:::0;;;:9:::2;:24;::::0;;;;;5980:48:::2;;;::::0;-1:-1:-1;;;5980:48:0;;11711:2:1;5980:48:0::2;::::0;::::2;11693:21:1::0;11750:1;11730:18;;;11723:29;-1:-1:-1;;;11768:18:1;;;11761:39;11817:18;;5980:48:0::2;11509:332:1::0;5980:48:0::2;6070:18;;;;;;;;;-1:-1:-1::0;;;;;6070:18:0::2;-1:-1:-1::0;;;;;6070:26:0::2;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6052:79;::::0;-1:-1:-1;;;6052:79:0;;6119:4:::2;6052:79;::::0;::::2;12314:34:1::0;-1:-1:-1;;;;;6126:4:0::2;12384:15:1::0;;12364:18;;;12357:43;6052:58:0;;;::::2;::::0;::::2;::::0;12249:18:1;;6052:79:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6039:10;:92:::0;;-1:-1:-1;;;;;;6039:92:0::2;-1:-1:-1::0;;;;;6039:92:0;;;::::2;::::0;;;::::2;::::0;;6174:4:::2;-1:-1:-1::0;6156:24:0;;;:9:::2;:24;::::0;;;;;6142:62:::2;::::0;6182:21:::2;6142:13;:62::i;:::-;6221:10;::::0;-1:-1:-1;;;;;6221:10:0::2;6215:17;::::0;;;:5:::2;:17;::::0;;;;:24;;-1:-1:-1;;6215:24:0::2;6235:4;6215:24;::::0;;3332:7:::1;:15:::0;;-1:-1:-1;;3332:15:0::1;::::0;;5729:518::o;557:151::-;351:6;;-1:-1:-1;;;;;351:6:0;337:10;:20;329:57;;;;-1:-1:-1;;;329:57:0;;;;;;;:::i;:::-;641:6:::1;:17:::0;;-1:-1:-1;;;;;;641:17:0::1;-1:-1:-1::0;;;;;641:17:0;::::1;::::0;;::::1;::::0;;;675:30:::1;::::0;4114:51:1;;;675:30:0::1;::::0;4102:2:1;4087:18;675:30:0::1;;;;;;;557:151:::0;:::o;8234:289::-;8359:12;;8303:4;;;;8359:12;;8354:130;;;-1:-1:-1;8390:4:0;8354:130;;;-1:-1:-1;;;;;8417:18:0;;;;;;:6;:18;;;;;;;;:42;;;;-1:-1:-1;;;;;;8439:20:0;;;;;;:8;:20;;;;;;;;8417:42;8413:71;;;-1:-1:-1;8477:4:0;8504:11;8234:289;-1:-1:-1;;8234:289:0:o;6705:954::-;6796:4;-1:-1:-1;;;;;6821:20:0;;6813:59;;;;-1:-1:-1;;;6813:59:0;;12829:2:1;6813:59:0;;;12811:21:1;12868:2;12848:18;;;12841:30;12907:28;12887:18;;;12880:56;12953:18;;6813:59:0;12627:350:1;6813:59:0;6888:12;;;;6883:91;;-1:-1:-1;;;;;6912:14:0;;;;;;:6;:14;;;;;;;;:34;;;;-1:-1:-1;;;;;;6930:16:0;;;;;;:8;:16;;;;;;;;6912:34;6904:67;;;;-1:-1:-1;;;6904:67:0;;13184:2:1;6904:67:0;;;13166:21:1;13223:2;13203:18;;;13196:30;-1:-1:-1;;;13242:18:1;;;13235:50;13302:18;;6904:67:0;12982:344:1;6904:67:0;6990:7;;;;;;;6989:8;:27;;;;-1:-1:-1;;;;;;7001:15:0;;;;;;:5;:15;;;;;;;;6989:27;:49;;;;;7030:8;;7020:6;:18;;6989:49;6984:81;;;7042:20;:18;:20::i;:::-;-1:-1:-1;;;;;7082:23:0;;7100:4;7082:23;;;;:52;;-1:-1:-1;;;;;;7109:25:0;;7129:4;7109:25;;7082:52;:72;;;;-1:-1:-1;7148:6:0;;-1:-1:-1;;;;;7138:16:0;;;7148:6;;7138:16;;7082:72;7077:174;;;7181:38;7194:6;7202:8;7212:6;7181:12;:38::i;:::-;7173:65;;;;-1:-1:-1;;;7173:65:0;;13533:2:1;7173:65:0;;;13515:21:1;13572:2;13552:18;;;13545:30;-1:-1:-1;;;13591:18:1;;;13584:44;13645:18;;7173:65:0;13331:338:1;7173:65:0;7263:18;7284:39;7298:6;7306:8;7316:6;7284:13;:39::i;:::-;7263:60;-1:-1:-1;7334:23:0;7360:19;7263:60;7360:6;:19;:::i;:::-;-1:-1:-1;;;;;7393:15:0;;;;;;:7;:15;;;;;;7334:45;;-1:-1:-1;7393:15:0;;7390:53;;;7419:24;7428:15;7419:6;:24;:::i;:::-;7410:33;;7390:53;-1:-1:-1;;;;;7454:17:0;;;;;;:9;:17;;;;;:27;;7475:6;;7454:17;:27;;7475:6;;7454:27;:::i;:::-;;;;-1:-1:-1;;7510:4:0;7492:24;;;;:9;:24;;;;;:38;;7520:10;;7492:24;:38;;7520:10;;7492:38;:::i;:::-;;;;-1:-1:-1;;;;;;;7541:19:0;;;;;;:9;:19;;;;;:38;;7564:15;;7541:19;:38;;7564:15;;7541:38;:::i;:::-;;;;;;;;7612:8;-1:-1:-1;;;;;7595:34:0;7604:6;-1:-1:-1;;;;;7595:34:0;;7622:6;7595:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;7595:34:0;;;;;;;;-1:-1:-1;7647:4:0;;6705:954;-1:-1:-1;;;;;6705:954:0:o;6255:255::-;6343:28;6358:12;6343:14;:28::i;:::-;6382:18;;6476:7;;6382:120;;-1:-1:-1;;;6382:120:0;;6449:4;6382:120;;;14015:34:1;14065:18;;;14058:34;;;6382:18:0;14108::1;;;14101:34;;;14151:18;;;14144:34;-1:-1:-1;;;;;6476:7:0;;;14194:19:1;;;14187:44;6485:15:0;14247:19:1;;;14240:35;6382:18:0;;;:34;;6424:13;;13949:19:1;;6382:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6255:255;;:::o;11281:518::-;3303:7;:14;;-1:-1:-1;;3303:14:0;;;;;11389:4:::1;3303:14:::0;11371:24;;;:9:::1;:24;::::0;;;;;11433:8:::1;::::0;11411:30;::::1;::::0;::::1;::::0;:46:::1;;-1:-1:-1::0;11445:12:0::1;::::0;::::1;;11411:46;11406:386;;;11502:8;;11480:18;:30;11475:72;;-1:-1:-1::0;11536:8:0::1;::::0;11475:72:::1;11575:40;11596:18;11575:20;:40::i;:::-;11674:21;11713:23:::0;;11710:71:::1;;11740:38;11758:19;11740:17;:38::i;:::-;11460:332;11406:386;-1:-1:-1::0;3332:7:0;:15;;-1:-1:-1;;3332:15:0;;;11281:518::o;7667:559::-;7835:12;;7774:4;;7815;;7835:12;;:37;;;;-1:-1:-1;;;;;;7852:20:0;;;;;;:8;:20;;;;;;;;7851:21;7835:37;:60;;;;-1:-1:-1;;;;;;7877:18:0;;;;;;:8;:18;;;;;;;;7876:19;7835:60;7830:355;;;7935:9;;7918:14;:26;7913:261;;;-1:-1:-1;7986:5:0;7913:261;;;-1:-1:-1;;;;;8051:15:0;;;;;;:5;:15;;;;;;;;8050:16;:74;;;;-1:-1:-1;8110:13:0;;-1:-1:-1;;;;;8071:19:0;;;;;;:9;:19;;;;;;:36;;8093:14;;8071:36;:::i;:::-;:52;8050:74;8027:147;;;-1:-1:-1;8166:5:0;8202:16;7667:559;-1:-1:-1;;;;7667:559:0:o;8531:498::-;8696:12;;8632:7;;;;8696:12;;8695:13;;:35;;-1:-1:-1;;;;;;8712:18:0;;;;;;:6;:18;;;;;;;;8695:35;:56;;;-1:-1:-1;;;;;;8734:17:0;;;;;;:6;:17;;;;;;;;8695:56;8690:303;;;-1:-1:-1;8782:1:0;8690:303;;;-1:-1:-1;;;;;8807:17:0;;;;;;:5;:17;;;;;;;;8802:191;;;8864:11;;8878:3;;8855:20;;8864:11;;;;;8855:6;:20;:::i;:::-;:26;;;;:::i;:::-;8843:38;;8802:191;;;-1:-1:-1;;;;;8906:16:0;;;;;;:5;:16;;;;;;;;8901:92;;;8962:12;;8977:3;;8953:21;;8962:12;;8953:6;:21;:::i;:::-;:27;;;;:::i;:::-;8941:39;8531:498;-1:-1:-1;;;;;8531:498:0:o;5404:317::-;5495:4;5475:26;;;;:11;:26;;;;;;;;2933:42;5475:46;;;;;;;;:61;-1:-1:-1;5470:244:0;;;5574:4;5554:26;;;;:11;:26;;;;;;;;2933:42;5554:46;;;;;;;;;;-1:-1:-1;;5554:66:0;;;;5640:62;;1361:25:1;;;2933:42:0;;5574:4;5640:62;;1334:18:1;5640:62:0;;;;;;;5470:244;5404:317;:::o;11807:348::-;11877:27;11892:11;11877:14;:27::i;:::-;11939:16;;;11953:1;11939:16;;;;;;;;11915:21;;11939:16;;;;;;;;;;-1:-1:-1;11939:16:0;11915:40;;11985:4;11966;11971:1;11966:7;;;;;;;;:::i;:::-;;;;;;:25;-1:-1:-1;;;;;11966:25:0;;;-1:-1:-1;;;;;11966:25:0;;;;;12012:4;12002;12007:1;12002:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12002:14:0;;;:7;;;;;;;;;:14;12028:18;;:119;;-1:-1:-1;;;12028:119:0;;:18;;;:69;;:119;;12098:11;;12028:18;;12112:4;;12125;;12131:15;;12028:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11866:289;11807:348;:::o;12163:103::-;12225:16;;:33;;-1:-1:-1;;;;;12225:16:0;;;;:33;;;;;12251:6;;12225:16;:33;:16;:33;12251:6;12225:16;:33;;;;;;;;;;;;;;;;;;;;;12163:103;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:160::-;1462:20;;1518:13;;1511:21;1501:32;;1491:60;;1547:1;1544;1537:12;1491:60;1397:160;;;:::o;1562:383::-;1633:6;1641;1649;1702:2;1690:9;1681:7;1677:23;1673:32;1670:52;;;1718:1;1715;1708:12;1670:52;1757:9;1744:23;1776:31;1801:5;1776:31;:::i;:::-;1826:5;-1:-1:-1;1850:35:1;1881:2;1866:18;;1850:35;:::i;:::-;1840:45;;1904:35;1935:2;1924:9;1920:18;1904:35;:::i;:::-;1894:45;;1562:383;;;;;:::o;1950:456::-;2027:6;2035;2043;2096:2;2084:9;2075:7;2071:23;2067:32;2064:52;;;2112:1;2109;2102:12;2064:52;2151:9;2138:23;2170:31;2195:5;2170:31;:::i;:::-;2220:5;-1:-1:-1;2277:2:1;2262:18;;2249:32;2290:33;2249:32;2290:33;:::i;:::-;1950:456;;2342:7;;-1:-1:-1;;;2396:2:1;2381:18;;;;2368:32;;1950:456::o;2600:247::-;2659:6;2712:2;2700:9;2691:7;2687:23;2683:32;2680:52;;;2728:1;2725;2718:12;2680:52;2767:9;2754:23;2786:31;2811:5;2786:31;:::i;3125:159::-;3192:20;;3252:6;3241:18;;3231:29;;3221:57;;3274:1;3271;3264:12;3289:256;3355:6;3363;3416:2;3404:9;3395:7;3391:23;3387:32;3384:52;;;3432:1;3429;3422:12;3384:52;3455:28;3473:9;3455:28;:::i;:::-;3445:38;;3502:37;3535:2;3524:9;3520:18;3502:37;:::i;:::-;3492:47;;3289:256;;;;;:::o;3550:156::-;3616:20;;3676:4;3665:16;;3655:27;;3645:55;;3696:1;3693;3686:12;3711:252;3775:6;3783;3836:2;3824:9;3815:7;3811:23;3807:32;3804:52;;;3852:1;3849;3842:12;3804:52;3875:27;3892:9;3875:27;:::i;:::-;3865:37;;3921:36;3953:2;3942:9;3938:18;3921:36;:::i;4176:163::-;4243:20;;4303:10;4292:22;;4282:33;;4272:61;;4329:1;4326;4319:12;4344:401;4426:6;4434;4442;4450;4503:3;4491:9;4482:7;4478:23;4474:33;4471:53;;;4520:1;4517;4510:12;4471:53;4543:28;4561:9;4543:28;:::i;:::-;4533:38;;4590:37;4623:2;4612:9;4608:18;4590:37;:::i;:::-;4580:47;;4646:37;4679:2;4668:9;4664:18;4646:37;:::i;:::-;4636:47;;4702:37;4735:2;4724:9;4720:18;4702:37;:::i;:::-;4692:47;;4344:401;;;;;;;:::o;4750:388::-;4818:6;4826;4879:2;4867:9;4858:7;4854:23;4850:32;4847:52;;;4895:1;4892;4885:12;4847:52;4934:9;4921:23;4953:31;4978:5;4953:31;:::i;:::-;5003:5;-1:-1:-1;5060:2:1;5045:18;;5032:32;5073:33;5032:32;5073:33;:::i;:::-;5125:7;5115:17;;;4750:388;;;;;:::o;5403:127::-;5464:10;5459:3;5455:20;5452:1;5445:31;5495:4;5492:1;5485:15;5519:4;5516:1;5509:15;5535:422;5624:1;5667:5;5624:1;5681:270;5702:7;5692:8;5689:21;5681:270;;;5761:4;5757:1;5753:6;5749:17;5743:4;5740:27;5737:53;;;5770:18;;:::i;:::-;5820:7;5810:8;5806:22;5803:55;;;5840:16;;;;5803:55;5919:22;;;;5879:15;;;;5681:270;;;5685:3;5535:422;;;;;:::o;5962:806::-;6011:5;6041:8;6031:80;;-1:-1:-1;6082:1:1;6096:5;;6031:80;6130:4;6120:76;;-1:-1:-1;6167:1:1;6181:5;;6120:76;6212:4;6230:1;6225:59;;;;6298:1;6293:130;;;;6205:218;;6225:59;6255:1;6246:10;;6269:5;;;6293:130;6330:3;6320:8;6317:17;6314:43;;;6337:18;;:::i;:::-;-1:-1:-1;;6393:1:1;6379:16;;6408:5;;6205:218;;6507:2;6497:8;6494:16;6488:3;6482:4;6479:13;6475:36;6469:2;6459:8;6456:16;6451:2;6445:4;6442:12;6438:35;6435:77;6432:159;;;-1:-1:-1;6544:19:1;;;6576:5;;6432:159;6623:34;6648:8;6642:4;6623:34;:::i;:::-;6693:6;6689:1;6685:6;6681:19;6672:7;6669:32;6666:58;;;6704:18;;:::i;:::-;6742:20;;5962:806;-1:-1:-1;;;5962:806:1:o;6773:140::-;6831:5;6860:47;6901:4;6891:8;6887:19;6881:4;6860:47;:::i;6918:168::-;6991:9;;;7022;;7039:15;;;7033:22;;7019:37;7009:71;;7060:18;;:::i;7091:348::-;7293:2;7275:21;;;7332:2;7312:18;;;7305:30;7371:26;7366:2;7351:18;;7344:54;7430:2;7415:18;;7091:348::o;8134:128::-;8201:9;;;8222:11;;;8219:37;;;8236:18;;:::i;8267:217::-;8307:1;8333;8323:132;;8377:10;8372:3;8368:20;8365:1;8358:31;8412:4;8409:1;8402:15;8440:4;8437:1;8430:15;8323:132;-1:-1:-1;8469:9:1;;8267:217::o;8489:125::-;8554:9;;;8575:10;;;8572:36;;;8588:18;;:::i;9301:148::-;9389:4;9368:12;;;9382;;;9364:31;;9407:13;;9404:39;;;9423:18;;:::i;11846:251::-;11916:6;11969:2;11957:9;11948:7;11944:23;11940:32;11937:52;;;11985:1;11982;11975:12;11937:52;12017:9;12011:16;12036:31;12061:5;12036:31;:::i;14286:306::-;14374:6;14382;14390;14443:2;14431:9;14422:7;14418:23;14414:32;14411:52;;;14459:1;14456;14449:12;14411:52;14488:9;14482:16;14472:26;;14538:2;14527:9;14523:18;14517:25;14507:35;;14582:2;14571:9;14567:18;14561:25;14551:35;;14286:306;;;;;:::o;14729:127::-;14790:10;14785:3;14781:20;14778:1;14771:31;14821:4;14818:1;14811:15;14845:4;14842:1;14835:15;14861:980;15123:4;15171:3;15160:9;15156:19;15202:6;15191:9;15184:25;15228:2;15266:6;15261:2;15250:9;15246:18;15239:34;15309:3;15304:2;15293:9;15289:18;15282:31;15333:6;15368;15362:13;15399:6;15391;15384:22;15437:3;15426:9;15422:19;15415:26;;15476:2;15468:6;15464:15;15450:29;;15497:1;15507:195;15521:6;15518:1;15515:13;15507:195;;;15586:13;;-1:-1:-1;;;;;15582:39:1;15570:52;;15677:15;;;;15642:12;;;;15618:1;15536:9;15507:195;;;-1:-1:-1;;;;;;;15758:32:1;;;;15753:2;15738:18;;15731:60;-1:-1:-1;;;15822:3:1;15807:19;15800:35;15719:3;14861:980;-1:-1:-1;;;14861:980:1:o

Swarm Source

ipfs://338ddc058f32da5411a32ce67700e532dbc3594d06a3ae20a097b2f13d004846

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.