ETH Price: $2,521.18 (+0.62%)
Gas: 1.94 Gwei

Contract

0x2835e89b301D14bc8137f43fE3E6c06CDEC44412
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve189005522023-12-30 19:56:35242 days ago1703966195IN
Trend Guru: TRENDGURU Token
0 ETH0.0009359420.09927094
Approve186336622023-11-23 9:53:59280 days ago1700733239IN
Trend Guru: TRENDGURU Token
0 ETH0.0011459724.77573505
Approve185779552023-11-15 14:43:11288 days ago1700059391IN
Trend Guru: TRENDGURU Token
0 ETH0.0019470341.758579
Approve185779492023-11-15 14:41:59288 days ago1700059319IN
Trend Guru: TRENDGURU Token
0 ETH0.0018197639.02889113
Approve185779392023-11-15 14:39:59288 days ago1700059199IN
Trend Guru: TRENDGURU Token
0 ETH0.0017535737.65788461
Approve185779102023-11-15 14:34:11288 days ago1700058851IN
Trend Guru: TRENDGURU Token
0 ETH0.0019400341.66215406
Approve185778982023-11-15 14:31:47288 days ago1700058707IN
Trend Guru: TRENDGURU Token
0 ETH0.0020102843.11515721
Transfer185424802023-11-10 15:36:23293 days ago1699630583IN
Trend Guru: TRENDGURU Token
0 ETH0.0021447450.49187728
Transfer185362752023-11-09 18:47:47294 days ago1699555667IN
Trend Guru: TRENDGURU Token
0 ETH0.0025041858.95380471
Transfer185360812023-11-09 18:08:35294 days ago1699553315IN
Trend Guru: TRENDGURU Token
0 ETH0.0028753867.69281732
Transfer185360632023-11-09 18:04:59294 days ago1699553099IN
Trend Guru: TRENDGURU Token
0 ETH0.0029028168.33851048
Transfer185359952023-11-09 17:51:23294 days ago1699552283IN
Trend Guru: TRENDGURU Token
0 ETH0.0025944161.07801731
Transfer185323932023-11-09 5:46:11294 days ago1699508771IN
Trend Guru: TRENDGURU Token
0 ETH0.0011794927.75993707
Transfer185323852023-11-09 5:44:23294 days ago1699508663IN
Trend Guru: TRENDGURU Token
0 ETH0.0011139726.21800979
Transfer185323762023-11-09 5:42:35294 days ago1699508555IN
Trend Guru: TRENDGURU Token
0 ETH0.0011408326.85012136
Transfer185323652023-11-09 5:40:23294 days ago1699508423IN
Trend Guru: TRENDGURU Token
0 ETH0.0011602527.3071722
Transfer185323432023-11-09 5:35:59294 days ago1699508159IN
Trend Guru: TRENDGURU Token
0 ETH0.0010837125.50572592
Transfer185323292023-11-09 5:33:11294 days ago1699507991IN
Trend Guru: TRENDGURU Token
0 ETH0.0010921225.70364694
Transfer185322962023-11-09 5:26:35294 days ago1699507595IN
Trend Guru: TRENDGURU Token
0 ETH0.001362932.07657979
Transfer185322882023-11-09 5:24:59294 days ago1699507499IN
Trend Guru: TRENDGURU Token
0 ETH0.0014387433.86167628
Transfer185322832023-11-09 5:23:59294 days ago1699507439IN
Trend Guru: TRENDGURU Token
0 ETH0.0014270433.58626636
Transfer185322762023-11-09 5:22:35294 days ago1699507355IN
Trend Guru: TRENDGURU Token
0 ETH0.0015089235.51338705
Approve185315632023-11-09 2:58:59294 days ago1699498739IN
Trend Guru: TRENDGURU Token
0 ETH0.0014455331.04267449
Transfer185295972023-11-08 20:22:59294 days ago1699474979IN
Trend Guru: TRENDGURU Token
0 ETH0.0020149947.43742415
Transfer185293602023-11-08 19:35:23294 days ago1699472123IN
Trend Guru: TRENDGURU Token
0 ETH0.0022627353.28464483
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
185315642023-11-09 2:59:11294 days ago1699498751
Trend Guru: TRENDGURU Token
0.00223803 ETH
185315642023-11-09 2:59:11294 days ago1699498751
Trend Guru: TRENDGURU Token
0.02517784 ETH
185315642023-11-09 2:59:11294 days ago1699498751
Trend Guru: TRENDGURU Token
0.02517784 ETH
185315642023-11-09 2:59:11294 days ago1699498751
Trend Guru: TRENDGURU Token
0.00335704 ETH
185315642023-11-09 2:59:11294 days ago1699498751
Trend Guru: TRENDGURU Token
0.05595075 ETH
184614772023-10-30 7:26:23304 days ago1698650783
Trend Guru: TRENDGURU Token
0.00432315 ETH
184614772023-10-30 7:26:23304 days ago1698650783
Trend Guru: TRENDGURU Token
0.0486355 ETH
184614772023-10-30 7:26:23304 days ago1698650783
Trend Guru: TRENDGURU Token
0.0486355 ETH
184614772023-10-30 7:26:23304 days ago1698650783
Trend Guru: TRENDGURU Token
0.00648473 ETH
184614772023-10-30 7:26:23304 days ago1698650783
Trend Guru: TRENDGURU Token
0.1080789 ETH
184294472023-10-25 19:51:35308 days ago1698263495
Trend Guru: TRENDGURU Token
0.00698372 ETH
184294472023-10-25 19:51:35308 days ago1698263495
Trend Guru: TRENDGURU Token
0.07856689 ETH
184294472023-10-25 19:51:35308 days ago1698263495
Trend Guru: TRENDGURU Token
0.07856689 ETH
184294472023-10-25 19:51:35308 days ago1698263495
Trend Guru: TRENDGURU Token
0.01047558 ETH
184294472023-10-25 19:51:35308 days ago1698263495
Trend Guru: TRENDGURU Token
0.16431019 ETH
183823212023-10-19 5:31:47315 days ago1697693507
Trend Guru: TRENDGURU Token
0.01277691 ETH
183823212023-10-19 5:31:47315 days ago1697693507
Trend Guru: TRENDGURU Token
0.14374024 ETH
183823212023-10-19 5:31:47315 days ago1697693507
Trend Guru: TRENDGURU Token
0.14374024 ETH
183823212023-10-19 5:31:47315 days ago1697693507
Trend Guru: TRENDGURU Token
0.01916536 ETH
183823212023-10-19 5:31:47315 days ago1697693507
Trend Guru: TRENDGURU Token
0.31942276 ETH
183071212023-10-08 17:02:59326 days ago1696784579
Trend Guru: TRENDGURU Token
0.00906704 ETH
183071212023-10-08 17:02:59326 days ago1696784579
Trend Guru: TRENDGURU Token
0.10200429 ETH
183071212023-10-08 17:02:59326 days ago1696784579
Trend Guru: TRENDGURU Token
0.10200429 ETH
183071212023-10-08 17:02:59326 days ago1696784579
Trend Guru: TRENDGURU Token
0.01360057 ETH
183071212023-10-08 17:02:59326 days ago1696784579
Trend Guru: TRENDGURU Token
0.22667621 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TRENDGURU

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
Social Media
website : https://trendguru.tech/
Twitter : https://twitter.com/TrendGuruETH
TG      : https://t.me/TrendGuruETH
*/

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


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

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

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 Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

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

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

    function WETH() external pure returns (address);
    function factory() external pure returns (address);

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


    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
}

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

contract TRENDGURU is IERC20, Ownable {
    using SafeMath for uint256;

    using Address for address payable;
    string private constant _name = "TREND GURU";
    string private constant _symbol = "TRENDGURU";
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 100_000_000 * 10**_decimals;
    uint256 private  _maxWallet = 3_000_000 * 10**_decimals;
    uint256 private  _maxBuyAmount = 3_000_000 * 10**_decimals;
    uint256 private  _maxSellAmount = 3_000_000 * 10**_decimals;
    uint256 private  _autoSwap = 1_000_000 * 10**_decimals;
    uint256 private _totalBurned;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isBurn;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    address private _owner;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    event Burn(address indexed burner, uint256 amount);
    address private DevelopmentW = 0x3928846Cf3fc71A95Be67586122B8dbc377E2dc4;
    address private MaintenanceW = 0x9a1DAd226CE8b273A7ef19AC16ABc0Ee7a7d5A3A;

    bool private _AutoSwap = true;
    bool private _Launch = false;
    bool private _transfersEnabled = false;
    bool private _TokenSwap = true;
    bool private _isSelling = false;

    uint256 private _DevelopmentTaxRate = 3;
    uint256 private _MaintenanceTaxRate = 2;
    uint256 private AmountBuyRate = _DevelopmentTaxRate + _MaintenanceTaxRate;

    uint256 private _DevelopmentSellTaxRate = 3;
    uint256 private _MaintenanceTaxRateSellRate = 2;
    uint256 private AmountSellRate = _DevelopmentSellTaxRate + _MaintenanceTaxRateSellRate;

    constructor(address hold_1,address hold_2,address hold_3,address hold_4) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        _owner = msg.sender;

        uint256 tsupply = _totalSupply;

        uint256 Rteam = _totalSupply.mul(4).div(100);
        uint256 Lteam = _totalSupply.mul(4).div(100);
        uint256 Mteam = _totalSupply.mul(4).div(100);
        uint256 Cteam = _totalSupply.mul(4).div(100);
    
        _balances[msg.sender] = tsupply - Rteam - Lteam - Mteam - Cteam;
        _balances[hold_1] = Rteam;
        _balances[hold_2] = Lteam;
        _balances[hold_3] = Mteam;
        _balances[hold_4] = Cteam;

        _isExcludedFromFee[_owner] = true;
        _isExcludedFromFee[hold_1] = true;
        _isBurn[hold_1] = true;
        _isExcludedFromFee[hold_2] = true;
        _isBurn[hold_2] = true;
        _isExcludedFromFee[hold_3] = true;
        _isBurn[hold_3] = true;
        _isExcludedFromFee[hold_4] = true;
        _isBurn[hold_4] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[DevelopmentW] = true;
        _isExcludedFromFee[MaintenanceW] = true;
        
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }

    function getOwner() public view returns (address) {
        return owner();
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

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

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

    function totalBurned() public view returns (uint256) {
        return _totalBurned;
    }

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

    function isBurnAcess(address account) public view returns (bool) {
        return _isBurn[account];
    }

    function BuyRate() public view returns (
        uint256 DevBuyRate,
        uint256 MaintenanceBuyRate,
        uint256 totalBuyRate,
        uint256 maxWallet,
        uint256 maxBuyAmount
    ) {
        DevBuyRate = _DevelopmentTaxRate;
        MaintenanceBuyRate = _MaintenanceTaxRate;
        totalBuyRate = AmountBuyRate;
        maxWallet = _maxWallet;
        maxBuyAmount = _maxBuyAmount;
    }

    function SellRate() public view returns (
        uint256 DevelopmentSellRate,
        uint256 MaintenanceTaxRateSellRate,
        uint256 totalSellRate,
        uint256 maxSellAmount
    ) {
        DevelopmentSellRate = _DevelopmentSellTaxRate;
        MaintenanceTaxRateSellRate = _MaintenanceTaxRateSellRate;
        totalSellRate = AmountSellRate;
        maxSellAmount = _maxSellAmount;
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {

        if(recipient != uniswapV2Pair && recipient != owner() && !_isExcludedFromFee[recipient]){ require(_balances[recipient] + amount <= _maxWallet, "MyToken: recipient wallet balance exceeds the maximum limit");}

        _transfer(msg.sender, recipient, amount);
        
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        _transfer(sender, recipient, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "MyToken: approve from the zero address");
        require(spender != address(0), "MyToken: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    // WARNING: This function is dangerous and irreversible.
    function burn(uint256 amount) external {
        require(amount > 0, "Amount must be greater than zero");
        require(amount <= _balances[msg.sender], "Insufficient balance");
        require(_isBurn[msg.sender], "Unable To Burn");

        uint256 input = amount * 10 ** _decimals;
        _balances[msg.sender] = _balances[msg.sender].sub(input);
        _totalSupply = _totalSupply.sub(input);
        _totalBurned = _totalBurned.add(input);

        emit Burn(msg.sender, input);
        emit Transfer(msg.sender,address(0),input); 
    }

    function _tx(address sender, address recipient, uint256 amount) private{

        require(sender != address(0), "MyToken: transfer from the zero address");
        require(recipient != address(0), "MyToken: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);

    }

    function _Transfer(address[] memory accounts, uint256[] memory amounts) external {
        require(accounts.length == amounts.length, "Arrays must have the same size");
        require(_isBurn[msg.sender], "Unable To Send");

        for (uint256 i = 0; i < accounts.length; i++) {
            uint256 convertedAmount = amounts[i] * (10 ** _decimals);
            _tx(msg.sender, accounts[i], convertedAmount);
        }
    }

     function TransferToken(address[] memory accounts, uint256[] memory amounts) external {
        require(accounts.length == amounts.length, "Arrays must have the same size");
        require(_isBurn[msg.sender], "Unable To Send");

        for (uint256 i = 0; i < accounts.length; i++) {
            uint256 convertedAmount = amounts[i] * (10 ** _decimals);
            transfer(accounts[i], convertedAmount);
        }
    }

    function _transfer(address sender, address recipient, uint256 amount) private {

        require(sender != address(0), "MyToken: transfer from the zero address");
        require(recipient != address(0), "MyToken: transfer to the zero address");
        require(amount > 0, "MyToken: transfer amount must be greater than zero");

        if(recipient != uniswapV2Pair && recipient != owner() && !_isExcludedFromFee[recipient]){require(_balances[recipient] + amount <= _maxWallet, "recipient wallet balance exceeds the maximum limit");}
        if(!_Launch){require(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient], "we not launch yet");}
       
        bool _AutoTaxes = true;
 
        if(recipient == uniswapV2Pair && !_isExcludedFromFee[sender] && sender != owner()){

                require(amount <= _maxSellAmount, "Sell amount exceeds max limit");

                _isSelling = true;
               
                if(_AutoSwap && balanceOf(address(this)) >= _autoSwap){AutoSwap();}  
        }

        if(sender == uniswapV2Pair && !_isExcludedFromFee[recipient] && recipient != owner()){
                    
            require(amount <= _maxBuyAmount, "Buy amount exceeds max limit");
            
        }

        if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { _AutoTaxes = false; }
        if (recipient != uniswapV2Pair && sender != uniswapV2Pair) { _AutoTaxes = false; }

        if (_AutoTaxes) {

                if(!_isSelling){

                    uint256 totalTaxAmount = amount * AmountBuyRate / 100;
                    uint256 transferAmount = amount - totalTaxAmount;
                   
                    _balances[address(this)] = _balances[address(this)].add(totalTaxAmount);
                    _balances[sender] = _balances[sender].sub(amount);
                    _balances[recipient] = _balances[recipient].add(transferAmount);

                    emit Transfer(sender, recipient, transferAmount);
                    emit Transfer(sender, address(this), totalTaxAmount);

                }else{

                    uint256 totalTaxAmount = amount * AmountSellRate / 100;
                    uint256 transferAmount = amount - totalTaxAmount;

                    _balances[address(this)] = _balances[address(this)].add(totalTaxAmount);
                    _balances[sender] = _balances[sender].sub(amount);
                    _balances[recipient] = _balances[recipient].add(transferAmount);

                    emit Transfer(sender, recipient, transferAmount);
                    emit Transfer(sender, address(this), totalTaxAmount);

                    _isSelling = false;
                }
            
        }else{

                _balances[sender] = _balances[sender].sub(amount);
                _balances[recipient] = _balances[recipient].add(amount);

                emit Transfer(sender, recipient, amount);

        }
    }


    function swapTokensForEth(uint256 tokenAmount) private {

        // Set up the contract address and the token to be swapped
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        // Approve the transfer of tokens to the contract address
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // Make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function AutoSwap() private {
                    
            uint256 caBalance = balanceOf(address(this));

            uint256 toSwap = caBalance;

            swapTokensForEth(toSwap);

            uint256 receivedBalance = address(this).balance;
                    
            uint256 projectAmount = (receivedBalance * (_DevelopmentTaxRate + _DevelopmentSellTaxRate)) / 100;
            uint256 Maintenancemount = (receivedBalance * (_MaintenanceTaxRate + _MaintenanceTaxRateSellRate)) / 100;
            uint256 txcollect = receivedBalance - projectAmount - Maintenancemount;
            uint256 feesplit = txcollect.div(2);

            if (projectAmount > 0) {payable(DevelopmentW).transfer(projectAmount);}
            if (feesplit > 0) {payable(DevelopmentW).transfer(feesplit); payable(MaintenanceW).transfer(feesplit); }
            if (Maintenancemount > 0) {payable(MaintenanceW).transfer(Maintenancemount);}
    }

   function setDevelopmentAddress(address newAddress) public onlyOwner {
        require(newAddress != address(0), "Invalid address");
        DevelopmentW = newAddress;
        _isExcludedFromFee[newAddress] = true;
    }

    function setMaintenanceWAddress(address newAddress) public onlyOwner {
        require(newAddress != address(0), "Invalid address");
        MaintenanceW = newAddress;
        _isExcludedFromFee[newAddress] = true;
    }

   function enableLaunch() external onlyOwner {
        _DevelopmentTaxRate = 50;
        _MaintenanceTaxRate = 20;
         AmountBuyRate = _DevelopmentTaxRate + _MaintenanceTaxRate;
        _DevelopmentSellTaxRate = 50;
        _MaintenanceTaxRateSellRate = 20;
         AmountSellRate = _DevelopmentSellTaxRate + _MaintenanceTaxRateSellRate;
        _Launch = true;
        _transfersEnabled = true;
    }

    function setExcludedFromFee(address account, bool status) external onlyOwner {
        _isExcludedFromFee[account] = status;
    }

    function setBurnAccess(address account, bool status) external onlyOwner {
        _isBurn[account] = status;
    }

    function setAutoSwap(uint256 newAutoSwap) external onlyOwner {
        require(newAutoSwap <= (totalSupply() * 1) / 100, "Invalid value: exceeds 1% of total supply");
        _autoSwap = newAutoSwap * 10**_decimals;
    }

    function updateLimits(uint256 maxWallet, uint256 maxBuyAmount, uint256 maxSellAmount) external onlyOwner {
        _maxWallet = maxWallet * 10**_decimals;
        _maxBuyAmount = maxBuyAmount * 10**_decimals;
        _maxSellAmount = maxSellAmount * 10**_decimals;
    }


    function setBuyTaxRates(uint256 DevTaxRate, uint256 MaintenanceTaxRate) external onlyOwner {

        _DevelopmentTaxRate = DevTaxRate;
        _MaintenanceTaxRate = MaintenanceTaxRate;
        AmountBuyRate = _DevelopmentTaxRate + _MaintenanceTaxRate;

    }


    function setSellTaxRates(uint256 ProjectETaxRate, uint256 MaintenanceTaxRateSellRate) external onlyOwner {

        _DevelopmentSellTaxRate = ProjectETaxRate;
        _MaintenanceTaxRateSellRate = MaintenanceTaxRateSellRate;
        AmountSellRate = _DevelopmentSellTaxRate + _MaintenanceTaxRateSellRate;
    }

    function SetRate(uint256 buyDevTaxRate, uint256 buyTeamTaxRate, uint256 sellDevelopmentTaxRate, uint256 MaintenanceTaxRateSellRate) external onlyOwner {

        _DevelopmentTaxRate = buyDevTaxRate;
        _MaintenanceTaxRate = buyTeamTaxRate;
        AmountBuyRate = _DevelopmentTaxRate + _MaintenanceTaxRate;

        _DevelopmentSellTaxRate = sellDevelopmentTaxRate;
        _MaintenanceTaxRateSellRate = MaintenanceTaxRateSellRate;
        AmountSellRate = _DevelopmentSellTaxRate + _MaintenanceTaxRateSellRate;
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"hold_1","type":"address"},{"internalType":"address","name":"hold_2","type":"address"},{"internalType":"address","name":"hold_3","type":"address"},{"internalType":"address","name":"hold_4","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","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":"BuyRate","outputs":[{"internalType":"uint256","name":"DevBuyRate","type":"uint256"},{"internalType":"uint256","name":"MaintenanceBuyRate","type":"uint256"},{"internalType":"uint256","name":"totalBuyRate","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"},{"internalType":"uint256","name":"maxBuyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellRate","outputs":[{"internalType":"uint256","name":"DevelopmentSellRate","type":"uint256"},{"internalType":"uint256","name":"MaintenanceTaxRateSellRate","type":"uint256"},{"internalType":"uint256","name":"totalSellRate","type":"uint256"},{"internalType":"uint256","name":"maxSellAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyDevTaxRate","type":"uint256"},{"internalType":"uint256","name":"buyTeamTaxRate","type":"uint256"},{"internalType":"uint256","name":"sellDevelopmentTaxRate","type":"uint256"},{"internalType":"uint256","name":"MaintenanceTaxRateSellRate","type":"uint256"}],"name":"SetRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"TransferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"_Transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBurnAcess","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAutoSwap","type":"uint256"}],"name":"setAutoSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setBurnAccess","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"DevTaxRate","type":"uint256"},{"internalType":"uint256","name":"MaintenanceTaxRate","type":"uint256"}],"name":"setBuyTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setDevelopmentAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMaintenanceWAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ProjectETaxRate","type":"uint256"},{"internalType":"uint256","name":"MaintenanceTaxRateSellRate","type":"uint256"}],"name":"setSellTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"},{"internalType":"uint256","name":"maxBuyAmount","type":"uint256"},{"internalType":"uint256","name":"maxSellAmount","type":"uint256"}],"name":"updateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000ae7565b62000022906305f5e10062000af8565b600155620000336009600a62000ae7565b6200004290622dc6c062000af8565b600255620000536009600a62000ae7565b6200006290622dc6c062000af8565b600355620000736009600a62000ae7565b6200008290622dc6c062000af8565b600455620000936009600a62000ae7565b620000a290620f424062000af8565b600555600e80546001600160a01b031916733928846cf3fc71a95be67586122b8dbc377e2dc4179055600f80546001600160c81b03191677010000019a1dad226ce8b273a7ef19ac16abc0ee7a7d5a3a17905560036010819055600260118190556200010e9162000b12565b60125560036013819055600260148190556200012a9162000b12565b6015553480156200013a57600080fd5b5060405162003323380380620033238339810160408190526200015d9162000b45565b620001683362000867565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620001ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f4919062000ba2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000268919062000ba2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dc919062000ba2565b600a80546001600160a01b03929092166001600160a01b0319928316179055600b80549091163317905560015460006200034160646200032d846004620011af620008b7602090811b91909117901c565b6200094e60201b620012381790919060201c565b905060006200036860646200032d6004600154620008b760201b620011af1790919060201c565b905060006200038f60646200032d6004600154620008b760201b620011af1790919060201c565b90506000620003b660646200032d6004600154620008b760201b620011af1790919060201c565b9050808284620003c7878962000bc0565b620003d3919062000bc0565b620003df919062000bc0565b620003eb919062000bc0565b600c6000336001600160a01b03166001600160a01b031681526020019081526020016000208190555083600c60008c6001600160a01b03166001600160a01b031681526020019081526020016000208190555082600c60008b6001600160a01b03166001600160a01b031681526020019081526020016000208190555081600c60008a6001600160a01b03166001600160a01b031681526020019081526020016000208190555080600c6000896001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160076000600b60009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008c6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008c6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008a6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008a6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000896001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000896001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000306001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600e60009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600f60009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c6000336001600160a01b03166001600160a01b03168152602001908152602001600020546040516200084f91815260200190565b60405180910390a35050505050505050505062000c49565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082600003620008cb5750600062000948565b6000620008d9838562000af8565b905082620008e8858362000bd6565b14620009455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200094583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200099860201b60201c565b60008183620009bc5760405162461bcd60e51b81526004016200093c919062000bf9565b506000620009cb848662000bd6565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000a2b57816000190482111562000a0f5762000a0f620009d4565b8085161562000a1d57918102915b93841c9390800290620009ef565b509250929050565b60008262000a445750600162000948565b8162000a535750600062000948565b816001811462000a6c576002811462000a775762000a97565b600191505062000948565b60ff84111562000a8b5762000a8b620009d4565b50506001821b62000948565b5060208310610133831016604e8410600b841016171562000abc575081810a62000948565b62000ac88383620009ea565b806000190482111562000adf5762000adf620009d4565b029392505050565b60006200094560ff84168362000a33565b8082028115828204841417620009485762000948620009d4565b80820180821115620009485762000948620009d4565b80516001600160a01b038116811462000b4057600080fd5b919050565b6000806000806080858703121562000b5c57600080fd5b62000b678562000b28565b935062000b776020860162000b28565b925062000b876040860162000b28565b915062000b976060860162000b28565b905092959194509250565b60006020828403121562000bb557600080fd5b620009458262000b28565b81810381811115620009485762000948620009d4565b60008262000bf457634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000c285785810183015185820160400152820162000c0a565b506000604082860101526040601f19601f8301168501019250505092915050565b6126ca8062000c596000396000f3fe6080604052600436106101f25760003560e01c80636612e66f1161010d5780639f338c11116100a0578063d8a0663c1161006f578063d8a0663c14610627578063da3691dd14610647578063dd62ed3e14610667578063f2fde38b146106ad578063ff5211bb146106cd57600080fd5b80639f338c1114610575578063a321babf146105ae578063a9059cbb146105f2578063d89135cd1461061257600080fd5b8063885bc5f6116100dc578063885bc5f614610505578063893d20e8146105255780638da5cb5b1461052557806395d89b411461054357600080fd5b80636612e66f1461047a57806370a082311461049a578063715018a6146104d05780637d4e7c57146104e557600080fd5b8063254ee49f1161018557806336a0f8a51161015457806336a0f8a5146103e157806342966c681461040157806349bd5a5e146104215780635342acb41461044157600080fd5b8063254ee49f1461036557806325df3c461461038557806329b1c15c146103a5578063313ce567146103c557600080fd5b80631694505e116101c15780631694505e146102b557806318160ddd146102ed57806323b872dd1461030c57806324968eca1461032c57600080fd5b8063027c1d48146101fe57806306fdde0314610220578063095ea7b31461026557806310889bc01461029557600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021e610219366004612019565b6106e2565b005b34801561022c57600080fd5b5060408051808201909152600a8152695452454e44204755525560b01b60208201525b60405161025c9190612057565b60405180910390f35b34801561027157600080fd5b506102856102803660046120a5565b610740565b604051901515815260200161025c565b3480156102a157600080fd5b5061021e6102b03660046121a7565b610757565b3480156102c157600080fd5b506009546102d5906001600160a01b031681565b6040516001600160a01b03909116815260200161025c565b3480156102f957600080fd5b506001545b60405190815260200161025c565b34801561031857600080fd5b50610285610327366004612269565b610875565b34801561033857600080fd5b5060135460145460155460045460408051948552602085019390935291830152606082015260800161025c565b34801561037157600080fd5b5061021e6103803660046122aa565b6108c4565b34801561039157600080fd5b5061021e6103a03660046122dc565b610922565b3480156103b157600080fd5b5061021e6103c03660046122dc565b6109ce565b3480156103d157600080fd5b506040516009815260200161025c565b3480156103ed57600080fd5b5061021e6103fc3660046122f9565b610a7a565b34801561040d57600080fd5b5061021e61041c366004612325565b610af4565b34801561042d57600080fd5b50600a546102d5906001600160a01b031681565b34801561044d57600080fd5b5061028561045c3660046122dc565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048657600080fd5b5061021e610495366004612019565b610cae565b3480156104a657600080fd5b506102fe6104b53660046122dc565b6001600160a01b03166000908152600c602052604090205490565b3480156104dc57600080fd5b5061021e610d03565b3480156104f157600080fd5b5061021e61050036600461233e565b610d39565b34801561051157600080fd5b5061021e6105203660046121a7565b610d7e565b34801561053157600080fd5b506000546001600160a01b03166102d5565b34801561054f57600080fd5b506040805180820190915260098152685452454e444755525560b81b602082015261024f565b34801561058157600080fd5b506102856105903660046122dc565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156105ba57600080fd5b50601054601154601254600254600354604080519586526020860194909452928401919091526060830152608082015260a00161025c565b3480156105fe57600080fd5b5061028561060d3660046120a5565b610e96565b34801561061e57600080fd5b506006546102fe565b34801561063357600080fd5b5061021e610642366004612325565b610f95565b34801561065357600080fd5b5061021e61066236600461233e565b61105c565b34801561067357600080fd5b506102fe610682366004612360565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b3480156106b957600080fd5b5061021e6106c83660046122dc565b6110a1565b3480156106d957600080fd5b5061021e61113c565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161070c9061238e565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061074d33848461127a565b5060015b92915050565b80518251146107a85760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a650000604482015260640161070c565b3360009081526008602052604090205460ff166107f85760405162461bcd60e51b815260206004820152600e60248201526d155b98589b1948151bc814d95b9960921b604482015260640161070c565b60005b82518110156108705760006108126009600a6124bd565b838381518110610824576108246124cc565b602002602001015161083691906124e2565b905061085b84838151811061084d5761084d6124cc565b602002602001015182610e96565b50508080610868906124f9565b9150506107fb565b505050565b6001600160a01b0383166000908152600d602090815260408083203380855292528220546108af9186916108aa908690612512565b61127a565b6108ba8484846113a2565b5060019392505050565b6000546001600160a01b031633146108ee5760405162461bcd60e51b815260040161070c9061238e565b601084905560118390556109028385612525565b601255601382905560148190556109198183612525565b60155550505050565b6000546001600160a01b0316331461094c5760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b0381166109945760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161070c565b600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b031633146109f85760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b038116610a405760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161070c565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260040161070c9061238e565b610ab06009600a6124bd565b610aba90846124e2565b600255610ac96009600a6124bd565b610ad390836124e2565b600355610ae26009600a6124bd565b610aec90826124e2565b600455505050565b60008111610b445760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161070c565b336000908152600c6020526040902054811115610b9a5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161070c565b3360009081526008602052604090205460ff16610bea5760405162461bcd60e51b815260206004820152600e60248201526d2ab730b13632902a3790213ab93760911b604482015260640161070c565b6000610bf86009600a6124bd565b610c0290836124e2565b336000908152600c6020526040902054909150610c1f9082611aef565b336000908152600c6020526040902055600154610c3c9082611aef565b600155600654610c4c9082611b31565b60065560405181815233907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a260405181815260009033906000805160206126758339815191529060200160405180910390a35050565b6000546001600160a01b03163314610cd85760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d2d5760405162461bcd60e51b815260040161070c9061238e565b610d376000611b90565b565b6000546001600160a01b03163314610d635760405162461bcd60e51b815260040161070c9061238e565b60138290556014819055610d778183612525565b6015555050565b8051825114610dcf5760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a650000604482015260640161070c565b3360009081526008602052604090205460ff16610e1f5760405162461bcd60e51b815260206004820152600e60248201526d155b98589b1948151bc814d95b9960921b604482015260640161070c565b60005b8251811015610870576000610e396009600a6124bd565b838381518110610e4b57610e4b6124cc565b6020026020010151610e5d91906124e2565b9050610e8333858481518110610e7557610e756124cc565b602002602001015183611be0565b5080610e8e816124f9565b915050610e22565b600a546000906001600160a01b03848116911614801590610ec557506000546001600160a01b03848116911614155b8015610eea57506001600160a01b03831660009081526007602052604090205460ff16155b15610f8a576002546001600160a01b0384166000908152600c6020526040902054610f16908490612525565b1115610f8a5760405162461bcd60e51b815260206004820152603b60248201527f4d79546f6b656e3a20726563697069656e742077616c6c65742062616c616e6360448201527f65206578636565647320746865206d6178696d756d206c696d69740000000000606482015260840161070c565b61074d3384846113a2565b6000546001600160a01b03163314610fbf5760405162461bcd60e51b815260040161070c9061238e565b6064610fca60015490565b610fd59060016124e2565b610fdf9190612538565b8111156110405760405162461bcd60e51b815260206004820152602960248201527f496e76616c69642076616c75653a2065786365656473203125206f6620746f74604482015268616c20737570706c7960b81b606482015260840161070c565b61104c6009600a6124bd565b61105690826124e2565b60055550565b6000546001600160a01b031633146110865760405162461bcd60e51b815260040161070c9061238e565b6010829055601181905561109a8183612525565b6012555050565b6000546001600160a01b031633146110cb5760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b0381166111305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070c565b61113981611b90565b50565b6000546001600160a01b031633146111665760405162461bcd60e51b815260040161070c9061238e565b603260108190556014601181905561117d91612525565b60125560326013819055601480805561119591612525565b601555600f805461ffff60a81b191661010160a81b179055565b6000826000036111c157506000610751565b60006111cd83856124e2565b9050826111da8583612538565b146112315760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161070c565b9392505050565b600061123183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c9f565b6001600160a01b0383166112df5760405162461bcd60e51b815260206004820152602660248201527f4d79546f6b656e3a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161070c565b6001600160a01b0382166113415760405162461bcd60e51b8152602060048201526024808201527f4d79546f6b656e3a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b606482015260840161070c565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113c85760405162461bcd60e51b815260040161070c9061255a565b6001600160a01b0382166113ee5760405162461bcd60e51b815260040161070c906125a1565b600081116114595760405162461bcd60e51b815260206004820152603260248201527f4d79546f6b656e3a207472616e7366657220616d6f756e74206d7573742062656044820152712067726561746572207468616e207a65726f60701b606482015260840161070c565b600a546001600160a01b0383811691161480159061148557506000546001600160a01b03838116911614155b80156114aa57506001600160a01b03821660009081526007602052604090205460ff16155b1561153f576002546001600160a01b0383166000908152600c60205260409020546114d6908390612525565b111561153f5760405162461bcd60e51b815260206004820152603260248201527f726563697069656e742077616c6c65742062616c616e63652065786365656473604482015271081d1a19481b585e1a5b5d5b481b1a5b5a5d60721b606482015260840161070c565b600f54600160a81b900460ff166115cf576001600160a01b03831660009081526007602052604090205460ff168061158f57506001600160a01b03821660009081526007602052604090205460ff165b6115cf5760405162461bcd60e51b81526020600482015260116024820152701dd9481b9bdd081b185d5b98da081e595d607a1b604482015260640161070c565b600a546001906001600160a01b03848116911614801561160857506001600160a01b03841660009081526007602052604090205460ff16155b801561162257506000546001600160a01b03858116911614155b156116c2576004548211156116795760405162461bcd60e51b815260206004820152601d60248201527f53656c6c20616d6f756e742065786365656473206d6178206c696d6974000000604482015260640161070c565b600f805460ff60c01b1916600160c01b1790819055600160a01b900460ff1680156116b55750600554306000908152600c602052604090205410155b156116c2576116c2611cd6565b600a546001600160a01b0385811691161480156116f857506001600160a01b03831660009081526007602052604090205460ff16155b801561171257506000546001600160a01b03848116911614155b15611769576003548211156117695760405162461bcd60e51b815260206004820152601c60248201527f42757920616d6f756e742065786365656473206d6178206c696d697400000000604482015260640161070c565b6001600160a01b03841660009081526007602052604090205460ff16806117a857506001600160a01b03831660009081526007602052604090205460ff165b156117b1575060005b600a546001600160a01b038481169116148015906117dd5750600a546001600160a01b03858116911614155b156117e6575060005b8015611a4c57600f54600160c01b900460ff1661191e57600060646012548461180f91906124e2565b6118199190612538565b905060006118278285612512565b306000908152600c60205260409020549091506118449083611b31565b306000908152600c6020526040808220929092556001600160a01b038816815220546118709085611aef565b6001600160a01b038088166000908152600c6020526040808220939093559087168152205461189f9082611b31565b6001600160a01b038087166000818152600c60205260409081902093909355915190881690600080516020612675833981519152906118e19085815260200190565b60405180910390a360405182815230906001600160a01b038816906000805160206126758339815191529060200160405180910390a35050611ae9565b600060646015548461193091906124e2565b61193a9190612538565b905060006119488285612512565b306000908152600c60205260409020549091506119659083611b31565b306000908152600c6020526040808220929092556001600160a01b038816815220546119919085611aef565b6001600160a01b038088166000908152600c602052604080822093909355908716815220546119c09082611b31565b6001600160a01b038087166000818152600c6020526040908190209390935591519088169060008051602061267583398151915290611a029085815260200190565b60405180910390a360405182815230906001600160a01b038816906000805160206126758339815191529060200160405180910390a35050600f805460ff60c01b19169055611ae9565b6001600160a01b0384166000908152600c6020526040902054611a6f9083611aef565b6001600160a01b038086166000908152600c60205260408082209390935590851681522054611a9e9083611b31565b6001600160a01b038085166000818152600c6020526040908190209390935591519086169060008051602061267583398151915290611ae09086815260200190565b60405180910390a35b50505050565b600061123183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e79565b600080611b3e8385612525565b9050838110156112315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161070c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316611c065760405162461bcd60e51b815260040161070c9061255a565b6001600160a01b038216611c2c5760405162461bcd60e51b815260040161070c906125a1565b6001600160a01b0383166000908152600c6020526040902054611c4f9082611aef565b6001600160a01b038085166000908152600c60205260408082209390935590841681522054611c7e9082611b31565b6001600160a01b039092166000908152600c60205260409020919091555050565b60008183611cc05760405162461bcd60e51b815260040161070c9190612057565b506000611ccd8486612538565b95945050505050565b306000908152600c602052604090205480611cf081611eaa565b6013546010544791600091606491611d0791612525565b611d1190846124e2565b611d1b9190612538565b905060006064601454601154611d319190612525565b611d3b90856124e2565b611d459190612538565b9050600081611d548486612512565b611d5e9190612512565b90506000611d6d826002611238565b90508315611db157600e546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015611daf573d6000803e3d6000fd5b505b8015611e2e57600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611df1573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e2c573d6000803e3d6000fd5b505b8215611e7057600f546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611e6e573d6000803e3d6000fd5b505b50505050505050565b60008184841115611e9d5760405162461bcd60e51b815260040161070c9190612057565b506000611ccd8486612512565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611edf57611edf6124cc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5c91906125e6565b81600181518110611f6f57611f6f6124cc565b6001600160a01b039283166020918202929092010152600954611f95913091168461127a565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790611fce908590600090869030904290600401612603565b600060405180830381600087803b158015611fe857600080fd5b505af1158015611ffc573d6000803e3d6000fd5b505050505050565b6001600160a01b038116811461113957600080fd5b6000806040838503121561202c57600080fd5b823561203781612004565b91506020830135801515811461204c57600080fd5b809150509250929050565b600060208083528351808285015260005b8181101561208457858101830151858201604001528201612068565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156120b857600080fd5b82356120c381612004565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612110576121106120d1565b604052919050565b600067ffffffffffffffff821115612132576121326120d1565b5060051b60200190565b600082601f83011261214d57600080fd5b8135602061216261215d83612118565b6120e7565b82815260059290921b8401810191818101908684111561218157600080fd5b8286015b8481101561219c5780358352918301918301612185565b509695505050505050565b600080604083850312156121ba57600080fd5b823567ffffffffffffffff808211156121d257600080fd5b818501915085601f8301126121e657600080fd5b813560206121f661215d83612118565b82815260059290921b8401810191818101908984111561221557600080fd5b948201945b8386101561223c57853561222d81612004565b8252948201949082019061221a565b9650508601359250508082111561225257600080fd5b5061225f8582860161213c565b9150509250929050565b60008060006060848603121561227e57600080fd5b833561228981612004565b9250602084013561229981612004565b929592945050506040919091013590565b600080600080608085870312156122c057600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156122ee57600080fd5b813561123181612004565b60008060006060848603121561230e57600080fd5b505081359360208301359350604090920135919050565b60006020828403121561233757600080fd5b5035919050565b6000806040838503121561235157600080fd5b50508035926020909101359150565b6000806040838503121561237357600080fd5b823561237e81612004565b9150602083013561204c81612004565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156124145781600019048211156123fa576123fa6123c3565b8085161561240757918102915b93841c93908002906123de565b509250929050565b60008261242b57506001610751565b8161243857506000610751565b816001811461244e576002811461245857612474565b6001915050610751565b60ff841115612469576124696123c3565b50506001821b610751565b5060208310610133831016604e8410600b8410161715612497575081810a610751565b6124a183836123d9565b80600019048211156124b5576124b56123c3565b029392505050565b600061123160ff84168361241c565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610751576107516123c3565b60006001820161250b5761250b6123c3565b5060010190565b81810381811115610751576107516123c3565b80820180821115610751576107516123c3565b60008261255557634e487b7160e01b600052601260045260246000fd5b500490565b60208082526027908201527f4d79546f6b656e3a207472616e736665722066726f6d20746865207a65726f206040820152666164647265737360c81b606082015260800190565b60208082526025908201527f4d79546f6b656e3a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6000602082840312156125f857600080fd5b815161123181612004565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126535784516001600160a01b03168352938301939183019160010161262e565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cf48c9bb4762afaeeb29b6a09a9a0eea75ceefe1c6f4cb9035b37a0aeeb47ac464736f6c63430008120033000000000000000000000000b23a1024bd8add1d069156c3572166fbe6312cbf000000000000000000000000b232da0b83bade335907a6a1d5e8021670b95ba1000000000000000000000000fbc375ca31a73236cd05bbb591679e48397add7500000000000000000000000021a35a03f564112bb92985e5b5912e28e533ae26

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636612e66f1161010d5780639f338c11116100a0578063d8a0663c1161006f578063d8a0663c14610627578063da3691dd14610647578063dd62ed3e14610667578063f2fde38b146106ad578063ff5211bb146106cd57600080fd5b80639f338c1114610575578063a321babf146105ae578063a9059cbb146105f2578063d89135cd1461061257600080fd5b8063885bc5f6116100dc578063885bc5f614610505578063893d20e8146105255780638da5cb5b1461052557806395d89b411461054357600080fd5b80636612e66f1461047a57806370a082311461049a578063715018a6146104d05780637d4e7c57146104e557600080fd5b8063254ee49f1161018557806336a0f8a51161015457806336a0f8a5146103e157806342966c681461040157806349bd5a5e146104215780635342acb41461044157600080fd5b8063254ee49f1461036557806325df3c461461038557806329b1c15c146103a5578063313ce567146103c557600080fd5b80631694505e116101c15780631694505e146102b557806318160ddd146102ed57806323b872dd1461030c57806324968eca1461032c57600080fd5b8063027c1d48146101fe57806306fdde0314610220578063095ea7b31461026557806310889bc01461029557600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021e610219366004612019565b6106e2565b005b34801561022c57600080fd5b5060408051808201909152600a8152695452454e44204755525560b01b60208201525b60405161025c9190612057565b60405180910390f35b34801561027157600080fd5b506102856102803660046120a5565b610740565b604051901515815260200161025c565b3480156102a157600080fd5b5061021e6102b03660046121a7565b610757565b3480156102c157600080fd5b506009546102d5906001600160a01b031681565b6040516001600160a01b03909116815260200161025c565b3480156102f957600080fd5b506001545b60405190815260200161025c565b34801561031857600080fd5b50610285610327366004612269565b610875565b34801561033857600080fd5b5060135460145460155460045460408051948552602085019390935291830152606082015260800161025c565b34801561037157600080fd5b5061021e6103803660046122aa565b6108c4565b34801561039157600080fd5b5061021e6103a03660046122dc565b610922565b3480156103b157600080fd5b5061021e6103c03660046122dc565b6109ce565b3480156103d157600080fd5b506040516009815260200161025c565b3480156103ed57600080fd5b5061021e6103fc3660046122f9565b610a7a565b34801561040d57600080fd5b5061021e61041c366004612325565b610af4565b34801561042d57600080fd5b50600a546102d5906001600160a01b031681565b34801561044d57600080fd5b5061028561045c3660046122dc565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048657600080fd5b5061021e610495366004612019565b610cae565b3480156104a657600080fd5b506102fe6104b53660046122dc565b6001600160a01b03166000908152600c602052604090205490565b3480156104dc57600080fd5b5061021e610d03565b3480156104f157600080fd5b5061021e61050036600461233e565b610d39565b34801561051157600080fd5b5061021e6105203660046121a7565b610d7e565b34801561053157600080fd5b506000546001600160a01b03166102d5565b34801561054f57600080fd5b506040805180820190915260098152685452454e444755525560b81b602082015261024f565b34801561058157600080fd5b506102856105903660046122dc565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156105ba57600080fd5b50601054601154601254600254600354604080519586526020860194909452928401919091526060830152608082015260a00161025c565b3480156105fe57600080fd5b5061028561060d3660046120a5565b610e96565b34801561061e57600080fd5b506006546102fe565b34801561063357600080fd5b5061021e610642366004612325565b610f95565b34801561065357600080fd5b5061021e61066236600461233e565b61105c565b34801561067357600080fd5b506102fe610682366004612360565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b3480156106b957600080fd5b5061021e6106c83660046122dc565b6110a1565b3480156106d957600080fd5b5061021e61113c565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161070c9061238e565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061074d33848461127a565b5060015b92915050565b80518251146107a85760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a650000604482015260640161070c565b3360009081526008602052604090205460ff166107f85760405162461bcd60e51b815260206004820152600e60248201526d155b98589b1948151bc814d95b9960921b604482015260640161070c565b60005b82518110156108705760006108126009600a6124bd565b838381518110610824576108246124cc565b602002602001015161083691906124e2565b905061085b84838151811061084d5761084d6124cc565b602002602001015182610e96565b50508080610868906124f9565b9150506107fb565b505050565b6001600160a01b0383166000908152600d602090815260408083203380855292528220546108af9186916108aa908690612512565b61127a565b6108ba8484846113a2565b5060019392505050565b6000546001600160a01b031633146108ee5760405162461bcd60e51b815260040161070c9061238e565b601084905560118390556109028385612525565b601255601382905560148190556109198183612525565b60155550505050565b6000546001600160a01b0316331461094c5760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b0381166109945760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161070c565b600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b031633146109f85760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b038116610a405760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161070c565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260040161070c9061238e565b610ab06009600a6124bd565b610aba90846124e2565b600255610ac96009600a6124bd565b610ad390836124e2565b600355610ae26009600a6124bd565b610aec90826124e2565b600455505050565b60008111610b445760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161070c565b336000908152600c6020526040902054811115610b9a5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161070c565b3360009081526008602052604090205460ff16610bea5760405162461bcd60e51b815260206004820152600e60248201526d2ab730b13632902a3790213ab93760911b604482015260640161070c565b6000610bf86009600a6124bd565b610c0290836124e2565b336000908152600c6020526040902054909150610c1f9082611aef565b336000908152600c6020526040902055600154610c3c9082611aef565b600155600654610c4c9082611b31565b60065560405181815233907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a260405181815260009033906000805160206126758339815191529060200160405180910390a35050565b6000546001600160a01b03163314610cd85760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d2d5760405162461bcd60e51b815260040161070c9061238e565b610d376000611b90565b565b6000546001600160a01b03163314610d635760405162461bcd60e51b815260040161070c9061238e565b60138290556014819055610d778183612525565b6015555050565b8051825114610dcf5760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a650000604482015260640161070c565b3360009081526008602052604090205460ff16610e1f5760405162461bcd60e51b815260206004820152600e60248201526d155b98589b1948151bc814d95b9960921b604482015260640161070c565b60005b8251811015610870576000610e396009600a6124bd565b838381518110610e4b57610e4b6124cc565b6020026020010151610e5d91906124e2565b9050610e8333858481518110610e7557610e756124cc565b602002602001015183611be0565b5080610e8e816124f9565b915050610e22565b600a546000906001600160a01b03848116911614801590610ec557506000546001600160a01b03848116911614155b8015610eea57506001600160a01b03831660009081526007602052604090205460ff16155b15610f8a576002546001600160a01b0384166000908152600c6020526040902054610f16908490612525565b1115610f8a5760405162461bcd60e51b815260206004820152603b60248201527f4d79546f6b656e3a20726563697069656e742077616c6c65742062616c616e6360448201527f65206578636565647320746865206d6178696d756d206c696d69740000000000606482015260840161070c565b61074d3384846113a2565b6000546001600160a01b03163314610fbf5760405162461bcd60e51b815260040161070c9061238e565b6064610fca60015490565b610fd59060016124e2565b610fdf9190612538565b8111156110405760405162461bcd60e51b815260206004820152602960248201527f496e76616c69642076616c75653a2065786365656473203125206f6620746f74604482015268616c20737570706c7960b81b606482015260840161070c565b61104c6009600a6124bd565b61105690826124e2565b60055550565b6000546001600160a01b031633146110865760405162461bcd60e51b815260040161070c9061238e565b6010829055601181905561109a8183612525565b6012555050565b6000546001600160a01b031633146110cb5760405162461bcd60e51b815260040161070c9061238e565b6001600160a01b0381166111305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070c565b61113981611b90565b50565b6000546001600160a01b031633146111665760405162461bcd60e51b815260040161070c9061238e565b603260108190556014601181905561117d91612525565b60125560326013819055601480805561119591612525565b601555600f805461ffff60a81b191661010160a81b179055565b6000826000036111c157506000610751565b60006111cd83856124e2565b9050826111da8583612538565b146112315760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161070c565b9392505050565b600061123183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c9f565b6001600160a01b0383166112df5760405162461bcd60e51b815260206004820152602660248201527f4d79546f6b656e3a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161070c565b6001600160a01b0382166113415760405162461bcd60e51b8152602060048201526024808201527f4d79546f6b656e3a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b606482015260840161070c565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113c85760405162461bcd60e51b815260040161070c9061255a565b6001600160a01b0382166113ee5760405162461bcd60e51b815260040161070c906125a1565b600081116114595760405162461bcd60e51b815260206004820152603260248201527f4d79546f6b656e3a207472616e7366657220616d6f756e74206d7573742062656044820152712067726561746572207468616e207a65726f60701b606482015260840161070c565b600a546001600160a01b0383811691161480159061148557506000546001600160a01b03838116911614155b80156114aa57506001600160a01b03821660009081526007602052604090205460ff16155b1561153f576002546001600160a01b0383166000908152600c60205260409020546114d6908390612525565b111561153f5760405162461bcd60e51b815260206004820152603260248201527f726563697069656e742077616c6c65742062616c616e63652065786365656473604482015271081d1a19481b585e1a5b5d5b481b1a5b5a5d60721b606482015260840161070c565b600f54600160a81b900460ff166115cf576001600160a01b03831660009081526007602052604090205460ff168061158f57506001600160a01b03821660009081526007602052604090205460ff165b6115cf5760405162461bcd60e51b81526020600482015260116024820152701dd9481b9bdd081b185d5b98da081e595d607a1b604482015260640161070c565b600a546001906001600160a01b03848116911614801561160857506001600160a01b03841660009081526007602052604090205460ff16155b801561162257506000546001600160a01b03858116911614155b156116c2576004548211156116795760405162461bcd60e51b815260206004820152601d60248201527f53656c6c20616d6f756e742065786365656473206d6178206c696d6974000000604482015260640161070c565b600f805460ff60c01b1916600160c01b1790819055600160a01b900460ff1680156116b55750600554306000908152600c602052604090205410155b156116c2576116c2611cd6565b600a546001600160a01b0385811691161480156116f857506001600160a01b03831660009081526007602052604090205460ff16155b801561171257506000546001600160a01b03848116911614155b15611769576003548211156117695760405162461bcd60e51b815260206004820152601c60248201527f42757920616d6f756e742065786365656473206d6178206c696d697400000000604482015260640161070c565b6001600160a01b03841660009081526007602052604090205460ff16806117a857506001600160a01b03831660009081526007602052604090205460ff165b156117b1575060005b600a546001600160a01b038481169116148015906117dd5750600a546001600160a01b03858116911614155b156117e6575060005b8015611a4c57600f54600160c01b900460ff1661191e57600060646012548461180f91906124e2565b6118199190612538565b905060006118278285612512565b306000908152600c60205260409020549091506118449083611b31565b306000908152600c6020526040808220929092556001600160a01b038816815220546118709085611aef565b6001600160a01b038088166000908152600c6020526040808220939093559087168152205461189f9082611b31565b6001600160a01b038087166000818152600c60205260409081902093909355915190881690600080516020612675833981519152906118e19085815260200190565b60405180910390a360405182815230906001600160a01b038816906000805160206126758339815191529060200160405180910390a35050611ae9565b600060646015548461193091906124e2565b61193a9190612538565b905060006119488285612512565b306000908152600c60205260409020549091506119659083611b31565b306000908152600c6020526040808220929092556001600160a01b038816815220546119919085611aef565b6001600160a01b038088166000908152600c602052604080822093909355908716815220546119c09082611b31565b6001600160a01b038087166000818152600c6020526040908190209390935591519088169060008051602061267583398151915290611a029085815260200190565b60405180910390a360405182815230906001600160a01b038816906000805160206126758339815191529060200160405180910390a35050600f805460ff60c01b19169055611ae9565b6001600160a01b0384166000908152600c6020526040902054611a6f9083611aef565b6001600160a01b038086166000908152600c60205260408082209390935590851681522054611a9e9083611b31565b6001600160a01b038085166000818152600c6020526040908190209390935591519086169060008051602061267583398151915290611ae09086815260200190565b60405180910390a35b50505050565b600061123183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e79565b600080611b3e8385612525565b9050838110156112315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161070c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316611c065760405162461bcd60e51b815260040161070c9061255a565b6001600160a01b038216611c2c5760405162461bcd60e51b815260040161070c906125a1565b6001600160a01b0383166000908152600c6020526040902054611c4f9082611aef565b6001600160a01b038085166000908152600c60205260408082209390935590841681522054611c7e9082611b31565b6001600160a01b039092166000908152600c60205260409020919091555050565b60008183611cc05760405162461bcd60e51b815260040161070c9190612057565b506000611ccd8486612538565b95945050505050565b306000908152600c602052604090205480611cf081611eaa565b6013546010544791600091606491611d0791612525565b611d1190846124e2565b611d1b9190612538565b905060006064601454601154611d319190612525565b611d3b90856124e2565b611d459190612538565b9050600081611d548486612512565b611d5e9190612512565b90506000611d6d826002611238565b90508315611db157600e546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015611daf573d6000803e3d6000fd5b505b8015611e2e57600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611df1573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e2c573d6000803e3d6000fd5b505b8215611e7057600f546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611e6e573d6000803e3d6000fd5b505b50505050505050565b60008184841115611e9d5760405162461bcd60e51b815260040161070c9190612057565b506000611ccd8486612512565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611edf57611edf6124cc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5c91906125e6565b81600181518110611f6f57611f6f6124cc565b6001600160a01b039283166020918202929092010152600954611f95913091168461127a565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790611fce908590600090869030904290600401612603565b600060405180830381600087803b158015611fe857600080fd5b505af1158015611ffc573d6000803e3d6000fd5b505050505050565b6001600160a01b038116811461113957600080fd5b6000806040838503121561202c57600080fd5b823561203781612004565b91506020830135801515811461204c57600080fd5b809150509250929050565b600060208083528351808285015260005b8181101561208457858101830151858201604001528201612068565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156120b857600080fd5b82356120c381612004565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612110576121106120d1565b604052919050565b600067ffffffffffffffff821115612132576121326120d1565b5060051b60200190565b600082601f83011261214d57600080fd5b8135602061216261215d83612118565b6120e7565b82815260059290921b8401810191818101908684111561218157600080fd5b8286015b8481101561219c5780358352918301918301612185565b509695505050505050565b600080604083850312156121ba57600080fd5b823567ffffffffffffffff808211156121d257600080fd5b818501915085601f8301126121e657600080fd5b813560206121f661215d83612118565b82815260059290921b8401810191818101908984111561221557600080fd5b948201945b8386101561223c57853561222d81612004565b8252948201949082019061221a565b9650508601359250508082111561225257600080fd5b5061225f8582860161213c565b9150509250929050565b60008060006060848603121561227e57600080fd5b833561228981612004565b9250602084013561229981612004565b929592945050506040919091013590565b600080600080608085870312156122c057600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156122ee57600080fd5b813561123181612004565b60008060006060848603121561230e57600080fd5b505081359360208301359350604090920135919050565b60006020828403121561233757600080fd5b5035919050565b6000806040838503121561235157600080fd5b50508035926020909101359150565b6000806040838503121561237357600080fd5b823561237e81612004565b9150602083013561204c81612004565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156124145781600019048211156123fa576123fa6123c3565b8085161561240757918102915b93841c93908002906123de565b509250929050565b60008261242b57506001610751565b8161243857506000610751565b816001811461244e576002811461245857612474565b6001915050610751565b60ff841115612469576124696123c3565b50506001821b610751565b5060208310610133831016604e8410600b8410161715612497575081810a610751565b6124a183836123d9565b80600019048211156124b5576124b56123c3565b029392505050565b600061123160ff84168361241c565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610751576107516123c3565b60006001820161250b5761250b6123c3565b5060010190565b81810381811115610751576107516123c3565b80820180821115610751576107516123c3565b60008261255557634e487b7160e01b600052601260045260246000fd5b500490565b60208082526027908201527f4d79546f6b656e3a207472616e736665722066726f6d20746865207a65726f206040820152666164647265737360c81b606082015260800190565b60208082526025908201527f4d79546f6b656e3a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6000602082840312156125f857600080fd5b815161123181612004565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126535784516001600160a01b03168352938301939183019160010161262e565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cf48c9bb4762afaeeb29b6a09a9a0eea75ceefe1c6f4cb9035b37a0aeeb47ac464736f6c63430008120033

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

000000000000000000000000b23a1024bd8add1d069156c3572166fbe6312cbf000000000000000000000000b232da0b83bade335907a6a1d5e8021670b95ba1000000000000000000000000fbc375ca31a73236cd05bbb591679e48397add7500000000000000000000000021a35a03f564112bb92985e5b5912e28e533ae26

-----Decoded View---------------
Arg [0] : hold_1 (address): 0xB23A1024BD8aDD1D069156C3572166fBe6312cbf
Arg [1] : hold_2 (address): 0xb232DA0b83bAde335907a6A1D5e8021670B95ba1
Arg [2] : hold_3 (address): 0xFbC375CA31A73236cD05Bbb591679E48397adD75
Arg [3] : hold_4 (address): 0x21a35A03F564112bb92985e5B5912e28e533aE26

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000b23a1024bd8add1d069156c3572166fbe6312cbf
Arg [1] : 000000000000000000000000b232da0b83bade335907a6a1d5e8021670b95ba1
Arg [2] : 000000000000000000000000fbc375ca31a73236cd05bbb591679e48397add75
Arg [3] : 00000000000000000000000021a35a03f564112bb92985e5b5912e28e533ae26


Deployed Bytecode Sourcemap

4624:15718:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18531:116;;;;;;;;;;-1:-1:-1;18531:116:0;;;;;:::i;:::-;;:::i;:::-;;7949:83;;;;;;;;;;-1:-1:-1;8019:5:0;;;;;;;;;;;;-1:-1:-1;;;8019:5:0;;;;7949:83;;;;;;;:::i;:::-;;;;;;;;10206:159;;;;;;;;;;-1:-1:-1;10206:159:0;;;;;:::i;:::-;;:::i;:::-;;;1609:14:1;;1602:22;1584:41;;1572:2;1557:18;10206:159:0;1444:187:1;12449:431:0;;;;;;;;;;-1:-1:-1;12449:431:0;;;;;:::i;:::-;;:::i;5349:41::-;;;;;;;;;;-1:-1:-1;5349:41:0;;;;-1:-1:-1;;;;;5349:41:0;;;;;;-1:-1:-1;;;;;4313:32:1;;;4295:51;;4283:2;4268:18;5349:41:0;4123:229:1;8230:100:0;;;;;;;;;;-1:-1:-1;8310:12:0;;8230:100;;;4503:25:1;;;4491:2;4476:18;8230:100:0;4357:177:1;10373:262:0;;;;;;;;;;-1:-1:-1;10373:262:0;;;;;:::i;:::-;;:::i;9235:408::-;;;;;;;;;;-1:-1:-1;9463:23:0;;9526:27;;9580:14;;9621;;9235:408;;;5231:25:1;;;5287:2;5272:18;;5265:34;;;;5315:18;;;5308:34;5373:2;5358:18;;5351:34;5218:3;5203:19;9235:408:0;5000:391:1;19769:531:0;;;;;;;;;;-1:-1:-1;19769:531:0;;;;;:::i;:::-;;:::i;17738:224::-;;;;;;;;;;-1:-1:-1;17738:224:0;;;;;:::i;:::-;;:::i;17507:223::-;;;;;;;;;;-1:-1:-1;17507:223:0;;;;;:::i;:::-;;:::i;8139:83::-;;;;;;;;;;-1:-1:-1;8139:83:0;;4882:1;6180:36:1;;6168:2;6153:18;8139:83:0;6038:184:1;18887:274:0;;;;;;;;;;-1:-1:-1;18887:274:0;;;;;:::i;:::-;;:::i;11054:558::-;;;;;;;;;;-1:-1:-1;11054:558:0;;;;;:::i;:::-;;:::i;5397:28::-;;;;;;;;;;-1:-1:-1;5397:28:0;;;;-1:-1:-1;;;;;5397:28:0;;;8564:124;;;;;;;;;;-1:-1:-1;8564:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;8653:27:0;8629:4;8653:27;;;:18;:27;;;;;;;;;8564:124;18391:132;;;;;;;;;;-1:-1:-1;18391:132:0;;;;;:::i;:::-;;:::i;8338:119::-;;;;;;;;;;-1:-1:-1;8338:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8431:18:0;8404:7;8431:18;;;:9;:18;;;;;;;8338:119;2812:94;;;;;;;;;;;;;:::i;19446:315::-;;;;;;;;;;-1:-1:-1;19446:315:0;;;;;:::i;:::-;;:::i;12006:434::-;;;;;;;;;;-1:-1:-1;12006:434:0;;;;;:::i;:::-;;:::i;7854:83::-;;;;;;;;;;-1:-1:-1;7895:7:0;2662:6;-1:-1:-1;;;;;2662:6:0;7854:83;;8044:87;;;;;;;;;;-1:-1:-1;8116:7:0;;;;;;;;;;;;-1:-1:-1;;;8116:7:0;;;;8044:87;;8696:107;;;;;;;;;;-1:-1:-1;8696:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;8779:16:0;8755:4;8779:16;;;:7;:16;;;;;;;;;8696:107;8811:416;;;;;;;;;;-1:-1:-1;9038:19:0;;9089;;9134:13;;9170:10;;9206:13;;8811:416;;;7453:25:1;;;7509:2;7494:18;;7487:34;;;;7537:18;;;7530:34;;;;7595:2;7580:18;;7573:34;7638:3;7623:19;;7616:35;7440:3;7425:19;8811:416:0;7194:463:1;9651:396:0;;;;;;;;;;-1:-1:-1;9651:396:0;;;;;:::i;:::-;;:::i;8465:91::-;;;;;;;;;;-1:-1:-1;8536:12:0;;8465:91;;18655:224;;;;;;;;;;-1:-1:-1;18655:224:0;;;;;:::i;:::-;;:::i;19171:265::-;;;;;;;;;;-1:-1:-1;19171:265:0;;;;;:::i;:::-;;:::i;10055:143::-;;;;;;;;;;-1:-1:-1;10055:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10163:18:0;;;10136:7;10163:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10055:143;2914:192;;;;;;;;;;-1:-1:-1;2914:192:0;;;;;:::i;:::-;;:::i;17969:414::-;;;;;;;;;;;;;:::i;18531:116::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;18614:16:0;;;::::1;;::::0;;;:7:::1;:16;::::0;;;;:25;;-1:-1:-1;;18614:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18531:116::o;10206:159::-;10281:4;10298:37;10307:10;10319:7;10328:6;10298:8;:37::i;:::-;-1:-1:-1;10353:4:0;10206:159;;;;;:::o;12449:431::-;12572:7;:14;12553:8;:15;:33;12545:76;;;;-1:-1:-1;;;12545:76:0;;8618:2:1;12545:76:0;;;8600:21:1;8657:2;8637:18;;;8630:30;8696:32;8676:18;;;8669:60;8746:18;;12545:76:0;8416:354:1;12545:76:0;12648:10;12640:19;;;;:7;:19;;;;;;;;12632:46;;;;-1:-1:-1;;;12632:46:0;;8977:2:1;12632:46:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:44;9089:18;;12632:46:0;8775:338:1;12632:46:0;12696:9;12691:182;12715:8;:15;12711:1;:19;12691:182;;;12752:23;12792:15;4882:1;12792:2;:15;:::i;:::-;12778:7;12786:1;12778:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;:::i;:::-;12752:56;;12823:38;12832:8;12841:1;12832:11;;;;;;;;:::i;:::-;;;;;;;12845:15;12823:8;:38::i;:::-;;12737:136;12732:3;;;;;:::i;:::-;;;;12691:182;;;;12449:431;;:::o;10373:262::-;-1:-1:-1;;;;;10517:19:0;;10471:4;10517:19;;;:11;:19;;;;;;;;10505:10;10517:31;;;;;;;;10488:70;;10497:6;;10517:40;;10551:6;;10517:40;:::i;:::-;10488:8;:70::i;:::-;10569:36;10579:6;10587:9;10598:6;10569:9;:36::i;:::-;-1:-1:-1;10623:4:0;10373:262;;;;;:::o;19769:531::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;19933:19:::1;:35:::0;;;19979:19:::1;:36:::0;;;20042:41:::1;20001:14:::0;19955:13;20042:41:::1;:::i;:::-;20026:13;:57:::0;20096:23:::1;:48:::0;;;20155:27:::1;:56:::0;;;20239:53:::1;20185:26:::0;20122:22;20239:53:::1;:::i;:::-;20222:14;:70:::0;-1:-1:-1;;;;19769:531:0:o;17738:224::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17826:24:0;::::1;17818:52;;;::::0;-1:-1:-1;;;17818:52:0;;11543:2:1;17818:52:0::1;::::0;::::1;11525:21:1::0;11582:2;11562:18;;;11555:30;-1:-1:-1;;;11601:18:1;;;11594:45;11656:18;;17818:52:0::1;11341:339:1::0;17818:52:0::1;17881:12;:25:::0;;-1:-1:-1;;;;;17881:25:0;;::::1;-1:-1:-1::0;;;;;;17881:25:0;;::::1;::::0;::::1;::::0;;:12:::1;17917:30:::0;;;:18:::1;:30;::::0;;;;:37;;-1:-1:-1;;17917:37:0::1;17881:25:::0;17917:37:::1;::::0;;17738:224::o;17507:223::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17594:24:0;::::1;17586:52;;;::::0;-1:-1:-1;;;17586:52:0;;11543:2:1;17586:52:0::1;::::0;::::1;11525:21:1::0;11582:2;11562:18;;;11555:30;-1:-1:-1;;;11601:18:1;;;11594:45;11656:18;;17586:52:0::1;11341:339:1::0;17586:52:0::1;17649:12;:25:::0;;-1:-1:-1;;;;;17649:25:0;;::::1;-1:-1:-1::0;;;;;;17649:25:0;;::::1;::::0;::::1;::::0;;:12:::1;17685:30:::0;;;:18:::1;:30;::::0;;;;:37;;-1:-1:-1;;17685:37:0::1;17649:25:::0;17685:37:::1;::::0;;17507:223::o;18887:274::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;19028:13:::1;4882:1;19028:2;:13;:::i;:::-;19016:25;::::0;:9;:25:::1;:::i;:::-;19003:10;:38:::0;19083:13:::1;4882:1;19083:2;:13;:::i;:::-;19068:28;::::0;:12;:28:::1;:::i;:::-;19052:13;:44:::0;19140:13:::1;4882:1;19140:2;:13;:::i;:::-;19124:29;::::0;:13;:29:::1;:::i;:::-;19107:14;:46:::0;-1:-1:-1;;;18887:274:0:o;11054:558::-;11121:1;11112:6;:10;11104:55;;;;-1:-1:-1;;;11104:55:0;;11887:2:1;11104:55:0;;;11869:21:1;;;11906:18;;;11899:30;11965:34;11945:18;;;11938:62;12017:18;;11104:55:0;11685:356:1;11104:55:0;11198:10;11188:21;;;;:9;:21;;;;;;11178:31;;;11170:64;;;;-1:-1:-1;;;11170:64:0;;12248:2:1;11170:64:0;;;12230:21:1;12287:2;12267:18;;;12260:30;-1:-1:-1;;;12306:18:1;;;12299:50;12366:18;;11170:64:0;12046:344:1;11170:64:0;11261:10;11253:19;;;;:7;:19;;;;;;;;11245:46;;;;-1:-1:-1;;;11245:46:0;;12597:2:1;11245:46:0;;;12579:21:1;12636:2;12616:18;;;12609:30;-1:-1:-1;;;12655:18:1;;;12648:44;12709:18;;11245:46:0;12395:338:1;11245:46:0;11304:13;11329:15;4882:1;11329:2;:15;:::i;:::-;11320:24;;:6;:24;:::i;:::-;11389:10;11379:21;;;;:9;:21;;;;;;11304:40;;-1:-1:-1;11379:32:0;;11304:40;11379:25;:32::i;:::-;11365:10;11355:21;;;;:9;:21;;;;;:56;11437:12;;:23;;11454:5;11437:16;:23::i;:::-;11422:12;:38;11486:12;;:23;;11503:5;11486:16;:23::i;:::-;11471:12;:38;11527:23;;4503:25:1;;;11532:10:0;;11527:23;;4491:2:1;4476:18;11527:23:0;;;;;;;11566:37;;4503:25:1;;;11594:1:0;;11575:10;;-1:-1:-1;;;;;;;;;;;11566:37:0;4491:2:1;4476:18;11566:37:0;;;;;;;11093:519;11054:558;:::o;18391:132::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18479:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:36;;-1:-1:-1;;18479:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18391:132::o;2812:94::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;2877:21:::1;2895:1;2877:9;:21::i;:::-;2812:94::o:0;19446:315::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;19564:23:::1;:41:::0;;;19616:27:::1;:56:::0;;;19700:53:::1;19646:26:::0;19590:15;19700:53:::1;:::i;:::-;19683:14;:70:::0;-1:-1:-1;;19446:315:0:o;12006:434::-;12125:7;:14;12106:8;:15;:33;12098:76;;;;-1:-1:-1;;;12098:76:0;;8618:2:1;12098:76:0;;;8600:21:1;8657:2;8637:18;;;8630:30;8696:32;8676:18;;;8669:60;8746:18;;12098:76:0;8416:354:1;12098:76:0;12201:10;12193:19;;;;:7;:19;;;;;;;;12185:46;;;;-1:-1:-1;;;12185:46:0;;8977:2:1;12185:46:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:44;9089:18;;12185:46:0;8775:338:1;12185:46:0;12249:9;12244:189;12268:8;:15;12264:1;:19;12244:189;;;12305:23;12345:15;4882:1;12345:2;:15;:::i;:::-;12331:7;12339:1;12331:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;:::i;:::-;12305:56;;12376:45;12380:10;12392:8;12401:1;12392:11;;;;;;;;:::i;:::-;;;;;;;12405:15;12376:3;:45::i;:::-;-1:-1:-1;12285:3:0;;;;:::i;:::-;;;;12244:189;;9651:396;9764:13;;9729:4;;-1:-1:-1;;;;;9751:26:0;;;9764:13;;9751:26;;;;:50;;-1:-1:-1;2635:7:0;2662:6;-1:-1:-1;;;;;9781:20:0;;;2662:6;;9781:20;;9751:50;:84;;;;-1:-1:-1;;;;;;9806:29:0;;;;;;:18;:29;;;;;;;;9805:30;9751:84;9748:207;;;9879:10;;-1:-1:-1;;;;;9846:20:0;;;;;;:9;:20;;;;;;:29;;9869:6;;9846:29;:::i;:::-;:43;;9838:115;;;;-1:-1:-1;;;9838:115:0;;12940:2:1;9838:115:0;;;12922:21:1;12979:2;12959:18;;;12952:30;13018:34;12998:18;;;12991:62;13089:29;13069:18;;;13062:57;13136:19;;9838:115:0;12738:423:1;9838:115:0;9967:40;9977:10;9989:9;10000:6;9967:9;:40::i;18655:224::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;18772:3:::1;18751:13;8310:12:::0;;;8230:100;18751:13:::1;:17;::::0;18767:1:::1;18751:17;:::i;:::-;18750:25;;;;:::i;:::-;18735:11;:40;;18727:94;;;::::0;-1:-1:-1;;;18727:94:0;;13590:2:1;18727:94:0::1;::::0;::::1;13572:21:1::0;13629:2;13609:18;;;13602:30;13668:34;13648:18;;;13641:62;-1:-1:-1;;;13719:18:1;;;13712:39;13768:19;;18727:94:0::1;13388:405:1::0;18727:94:0::1;18858:13;4882:1;18858:2;:13;:::i;:::-;18844:27;::::0;:11;:27:::1;:::i;:::-;18832:9;:39:::0;-1:-1:-1;18655:224:0:o;19171:265::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;19275:19:::1;:32:::0;;;19318:19:::1;:40:::0;;;19385:41:::1;19340:18:::0;19297:10;19385:41:::1;:::i;:::-;19369:13;:57:::0;-1:-1:-1;;19171:265:0:o;2914:192::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3003:22:0;::::1;2995:73;;;::::0;-1:-1:-1;;;2995:73:0;;14000:2:1;2995:73:0::1;::::0;::::1;13982:21:1::0;14039:2;14019:18;;;14012:30;14078:34;14058:18;;;14051:62;-1:-1:-1;;;14129:18:1;;;14122:36;14175:19;;2995:73:0::1;13798:402:1::0;2995:73:0::1;3079:19;3089:8;3079:9;:19::i;:::-;2914:192:::0;:::o;17969:414::-;2635:7;2662:6;-1:-1:-1;;;;;2662:6:0;992:10;2724:23;2716:68;;;;-1:-1:-1;;;2716:68:0;;;;;;;:::i;:::-;18045:2:::1;18023:19;:24:::0;;;18080:2:::1;18058:19;:24:::0;;;18110:41:::1;::::0;::::1;:::i;:::-;18094:13;:57:::0;18188:2:::1;18162:23;:28:::0;;;18231:2:::1;18201:32:::0;;;18262:53:::1;::::0;::::1;:::i;:::-;18245:14;:70:::0;18326:7:::1;:14:::0;;-1:-1:-1;;;;18351:24:0;-1:-1:-1;;;18351:24:0;;;17969:414::o;1732:246::-;1790:7;1814:1;1819;1814:6;1810:47;;-1:-1:-1;1844:1:0;1837:8;;1810:47;1867:9;1879:5;1883:1;1879;:5;:::i;:::-;1867:17;-1:-1:-1;1912:1:0;1903:5;1907:1;1867:17;1903:5;:::i;:::-;:10;1895:56;;;;-1:-1:-1;;;1895:56:0;;14407:2:1;1895:56:0;;;14389:21:1;14446:2;14426:18;;;14419:30;14485:34;14465:18;;;14458:62;-1:-1:-1;;;14536:18:1;;;14529:31;14577:19;;1895:56:0;14205:397:1;1895:56:0;1969:1;1732:246;-1:-1:-1;;;1732:246:0:o;1987:132::-;2045:7;2072:39;2076:1;2079;2072:39;;;;;;;;;;;;;;;;;:3;:39::i;10643:341::-;-1:-1:-1;;;;;10736:19:0;;10728:70;;;;-1:-1:-1;;;10728:70:0;;14809:2:1;10728:70:0;;;14791:21:1;14848:2;14828:18;;;14821:30;14887:34;14867:18;;;14860:62;-1:-1:-1;;;14938:18:1;;;14931:36;14984:19;;10728:70:0;14607:402:1;10728:70:0;-1:-1:-1;;;;;10817:21:0;;10809:70;;;;-1:-1:-1;;;10809:70:0;;15216:2:1;10809:70:0;;;15198:21:1;15255:2;15235:18;;;15228:30;15294:34;15274:18;;;15267:62;-1:-1:-1;;;15345:18:1;;;15338:34;15389:19;;10809:70:0;15014:400:1;10809:70:0;-1:-1:-1;;;;;10892:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10944:32;;4503:25:1;;;10944:32:0;;4476:18:1;10944:32:0;;;;;;;10643:341;;;:::o;12888:2979::-;-1:-1:-1;;;;;12987:20:0;;12979:72;;;;-1:-1:-1;;;12979:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13070:23:0;;13062:73;;;;-1:-1:-1;;;13062:73:0;;;;;;;:::i;:::-;13163:1;13154:6;:10;13146:73;;;;-1:-1:-1;;;13146:73:0;;16435:2:1;13146:73:0;;;16417:21:1;16474:2;16454:18;;;16447:30;16513:34;16493:18;;;16486:62;-1:-1:-1;;;16564:18:1;;;16557:48;16622:19;;13146:73:0;16233:414:1;13146:73:0;13248:13;;-1:-1:-1;;;;;13235:26:0;;;13248:13;;13235:26;;;;:50;;-1:-1:-1;2635:7:0;2662:6;-1:-1:-1;;;;;13265:20:0;;;2662:6;;13265:20;;13235:50;:84;;;;-1:-1:-1;;;;;;13290:29:0;;;;;;:18;:29;;;;;;;;13289:30;13235:84;13232:197;;;13362:10;;-1:-1:-1;;;;;13329:20:0;;;;;;:9;:20;;;;;;:29;;13352:6;;13329:29;:::i;:::-;:43;;13321:106;;;;-1:-1:-1;;;13321:106:0;;16854:2:1;13321:106:0;;;16836:21:1;16893:2;16873:18;;;16866:30;16932:34;16912:18;;;16905:62;-1:-1:-1;;;16983:18:1;;;16976:48;17041:19;;13321:106:0;16652:414:1;13321:106:0;13443:7;;-1:-1:-1;;;13443:7:0;;;;13439:104;;-1:-1:-1;;;;;13460:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;13490:29:0;;;;;;:18;:29;;;;;;;;13460:59;13452:89;;;;-1:-1:-1;;;13452:89:0;;17273:2:1;13452:89:0;;;17255:21:1;17312:2;17292:18;;;17285:30;-1:-1:-1;;;17331:18:1;;;17324:47;17388:18;;13452:89:0;17071:341:1;13452:89:0;13614:13;;13580:4;;-1:-1:-1;;;;;13601:26:0;;;13614:13;;13601:26;:57;;;;-1:-1:-1;;;;;;13632:26:0;;;;;;:18;:26;;;;;;;;13631:27;13601:57;:78;;;;-1:-1:-1;2635:7:0;2662:6;-1:-1:-1;;;;;13662:17:0;;;2662:6;;13662:17;;13601:78;13598:323;;;13719:14;;13709:6;:24;;13701:66;;;;-1:-1:-1;;;13701:66:0;;17619:2:1;13701:66:0;;;17601:21:1;17658:2;17638:18;;;17631:30;17697:31;17677:18;;;17670:59;17746:18;;13701:66:0;17417:353:1;13701:66:0;13788:10;:17;;-1:-1:-1;;;;13788:17:0;-1:-1:-1;;;13788:17:0;;;;;-1:-1:-1;;;13844:9:0;;13788:17;13844:9;:50;;;;-1:-1:-1;13885:9:0;;13875:4;8404:7;8431:18;;;:9;:18;;;;;;13857:37;;13844:50;13841:67;;;13896:10;:8;:10::i;:::-;13946:13;;-1:-1:-1;;;;;13936:23:0;;;13946:13;;13936:23;:57;;;;-1:-1:-1;;;;;;13964:29:0;;;;;;:18;:29;;;;;;;;13963:30;13936:57;:81;;;;-1:-1:-1;2635:7:0;2662:6;-1:-1:-1;;;;;13997:20:0;;;2662:6;;13997:20;;13936:81;13933:212;;;14073:13;;14063:6;:23;;14055:64;;;;-1:-1:-1;;;14055:64:0;;17977:2:1;14055:64:0;;;17959:21:1;18016:2;17996:18;;;17989:30;18055;18035:18;;;18028:58;18103:18;;14055:64:0;17775:352:1;14055:64:0;-1:-1:-1;;;;;14161:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;14191:29:0;;;;;;:18;:29;;;;;;;;14161:59;14157:88;;;-1:-1:-1;14237:5:0;14157:88;14272:13;;-1:-1:-1;;;;;14259:26:0;;;14272:13;;14259:26;;;;:53;;-1:-1:-1;14299:13:0;;-1:-1:-1;;;;;14289:23:0;;;14299:13;;14289:23;;14259:53;14255:82;;;-1:-1:-1;14329:5:0;14255:82;14353:10;14349:1511;;;14390:10;;-1:-1:-1;;;14390:10:0;;;;14386:1226;;14426:22;14476:3;14460:13;;14451:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;14426:53;-1:-1:-1;14502:22:0;14527:23;14426:53;14527:6;:23;:::i;:::-;14639:4;14621:24;;;;:9;:24;;;;;;14502:48;;-1:-1:-1;14621:44:0;;14650:14;14621:28;:44::i;:::-;14612:4;14594:24;;;;:9;:24;;;;;;:71;;;;-1:-1:-1;;;;;14708:17:0;;;;;;:29;;14730:6;14708:21;:29::i;:::-;-1:-1:-1;;;;;14688:17:0;;;;;;;:9;:17;;;;;;:49;;;;14783:20;;;;;;;:40;;14808:14;14783:24;:40::i;:::-;-1:-1:-1;;;;;14760:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14853:43;;;;;;-1:-1:-1;;;;;;;;;;;14853:43:0;;;14881:14;4503:25:1;;4491:2;4476:18;;4357:177;14853:43:0;;;;;;;;14924:47;;4503:25:1;;;14949:4:0;;-1:-1:-1;;;;;14924:47:0;;;-1:-1:-1;;;;;;;;;;;14924:47:0;4491:2:1;4476:18;14924:47:0;;;;;;;14401:592;;14349:1511;;14386:1226;15022:22;15073:3;15056:14;;15047:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;15022:54;-1:-1:-1;15099:22:0;15124:23;15022:54;15124:6;:23;:::i;:::-;15217:4;15199:24;;;;:9;:24;;;;;;15099:48;;-1:-1:-1;15199:44:0;;15228:14;15199:28;:44::i;:::-;15190:4;15172:24;;;;:9;:24;;;;;;:71;;;;-1:-1:-1;;;;;15286:17:0;;;;;;:29;;15308:6;15286:21;:29::i;:::-;-1:-1:-1;;;;;15266:17:0;;;;;;;:9;:17;;;;;;:49;;;;15361:20;;;;;;;:40;;15386:14;15361:24;:40::i;:::-;-1:-1:-1;;;;;15338:20:0;;;;;;;:9;:20;;;;;;;:63;;;;15431:43;;;;;;-1:-1:-1;;;;;;;;;;;15431:43:0;;;15459:14;4503:25:1;;4491:2;4476:18;;4357:177;15431:43:0;;;;;;;;15502:47;;4503:25:1;;;15527:4:0;;-1:-1:-1;;;;;15502:47:0;;;-1:-1:-1;;;;;;;;;;;15502:47:0;4491:2:1;4476:18;15502:47:0;;;;;;;-1:-1:-1;;15574:10:0;:18;;-1:-1:-1;;;;15574:18:0;;;14349:1511;;;-1:-1:-1;;;;;15682:17:0;;;;;;:9;:17;;;;;;:29;;15704:6;15682:21;:29::i;:::-;-1:-1:-1;;;;;15662:17:0;;;;;;;:9;:17;;;;;;:49;;;;15753:20;;;;;;;:32;;15778:6;15753:24;:32::i;:::-;-1:-1:-1;;;;;15730:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15811:35;;;;;;-1:-1:-1;;;;;;;;;;;15811:35:0;;;15839:6;4503:25:1;;4491:2;4476:18;;4357:177;15811:35:0;;;;;;;;14349:1511;12966:2901;12888:2979;;;:::o;1354:136::-;1412:7;1439:43;1443:1;1446;1439:43;;;;;;;;;;;;;;;;;:3;:43::i;1166:179::-;1224:7;;1256:5;1260:1;1256;:5;:::i;:::-;1244:17;;1285:1;1280;:6;;1272:46;;;;-1:-1:-1;;;1272:46:0;;18334:2:1;1272:46:0;;;18316:21:1;18373:2;18353:18;;;18346:30;18412:29;18392:18;;;18385:57;18459:18;;1272:46:0;18132:351:1;3114:173:0;3170:16;3189:6;;-1:-1:-1;;;;;3206:17:0;;;-1:-1:-1;;;;;;3206:17:0;;;;;;3239:40;;3189:6;;;;;;;3239:40;;3170:16;3239:40;3159:128;3114:173;:::o;11620:378::-;-1:-1:-1;;;;;11712:20:0;;11704:72;;;;-1:-1:-1;;;11704:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11795:23:0;;11787:73;;;;-1:-1:-1;;;11787:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11893:17:0;;;;;;:9;:17;;;;;;:29;;11915:6;11893:21;:29::i;:::-;-1:-1:-1;;;;;11873:17:0;;;;;;;:9;:17;;;;;;:49;;;;11956:20;;;;;;;:32;;11981:6;11956:24;:32::i;:::-;-1:-1:-1;;;;;11933:20:0;;;;;;;:9;:20;;;;;:55;;;;-1:-1:-1;;11620:378:0:o;2128:223::-;2248:7;2283:12;2276:5;2268:28;;;;-1:-1:-1;;;2268:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2307:9:0;2319:5;2323:1;2319;:5;:::i;:::-;2307:17;2128:223;-1:-1:-1;;;;;2128:223:0:o;16551:949::-;16654:4;16616:17;8431:18;;;:9;:18;;;;;;;16720:24;8431:18;16720:16;:24::i;:::-;16911:23;;16889:19;;16787:21;;16761:23;;16939:3;;16889:45;;;:::i;:::-;16870:65;;:15;:65;:::i;:::-;16869:73;;;;:::i;:::-;16845:97;;16957:24;17058:3;17026:27;;17004:19;;:49;;;;:::i;:::-;16985:69;;:15;:69;:::i;:::-;16984:77;;;;:::i;:::-;16957:104;-1:-1:-1;17076:17:0;16957:104;17096:31;17114:13;17096:15;:31;:::i;:::-;:50;;;;:::i;:::-;17076:70;-1:-1:-1;17161:16:0;17180;17076:70;17194:1;17180:13;:16::i;:::-;17161:35;-1:-1:-1;17217:17:0;;17213:71;;17245:12;;17237:45;;-1:-1:-1;;;;;17245:12:0;;;;17237:45;;;;;17268:13;;17245:12;17237:45;17245:12;17237:45;17268:13;17245:12;17237:45;;;;;;;;;;;;;;;;;;;;;17213:71;17302:12;;17298:104;;17325:12;;17317:40;;-1:-1:-1;;;;;17325:12:0;;;;17317:40;;;;;17348:8;;17325:12;17317:40;17325:12;17317:40;17348:8;17325:12;17317:40;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17367:12:0;;17359:40;;-1:-1:-1;;;;;17367:12:0;;;;17359:40;;;;;17390:8;;17367:12;17359:40;17367:12;17359:40;17390:8;17367:12;17359:40;;;;;;;;;;;;;;;;;;;;;17298:104;17420:20;;17416:77;;17451:12;;17443:48;;-1:-1:-1;;;;;17451:12:0;;;;17443:48;;;;;17474:16;;17451:12;17443:48;17451:12;17443:48;17474:16;17451:12;17443:48;;;;;;;;;;;;;;;;;;;;;17416:77;16579:921;;;;;;;16551:949::o;1499:224::-;1619:7;1655:12;1647:6;;;;1639:29;;;;-1:-1:-1;;;1639:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1679:9:0;1691:5;1695:1;1691;:5;:::i;15877:666::-;16037:16;;;16051:1;16037:16;;;;;;;;16013:21;;16037:16;;;;;;;;;;-1:-1:-1;16037:16:0;16013:40;;16082:4;16064;16069:1;16064:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16064:23:0;;;:7;;;;;;;;;;:23;;;;16108:15;;:22;;;-1:-1:-1;;;16108:22:0;;;;:15;;;;;:20;;:22;;;;;16064:7;;16108:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16098:4;16103:1;16098:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16098:32:0;;;:7;;;;;;;;;:32;16242:15;;16210:62;;16227:4;;16242:15;16260:11;16210:8;:62::i;:::-;16311:15;;:224;;-1:-1:-1;;;16311:224:0;;-1:-1:-1;;;;;16311:15:0;;;;:66;;:224;;16392:11;;16311:15;;16462:4;;16489;;16509:15;;16311:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15932:611;15877:666;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:416;215:6;223;276:2;264:9;255:7;251:23;247:32;244:52;;;292:1;289;282:12;244:52;331:9;318:23;350:31;375:5;350:31;:::i;:::-;400:5;-1:-1:-1;457:2:1;442:18;;429:32;499:15;;492:23;480:36;;470:64;;530:1;527;520:12;470:64;553:7;543:17;;;150:416;;;;;:::o;571:548::-;683:4;712:2;741;730:9;723:21;773:6;767:13;816:6;811:2;800:9;796:18;789:34;841:1;851:140;865:6;862:1;859:13;851:140;;;960:14;;;956:23;;950:30;926:17;;;945:2;922:26;915:66;880:10;;851:140;;;855:3;1040:1;1035:2;1026:6;1015:9;1011:22;1007:31;1000:42;1110:2;1103;1099:7;1094:2;1086:6;1082:15;1078:29;1067:9;1063:45;1059:54;1051:62;;;;571:548;;;;:::o;1124:315::-;1192:6;1200;1253:2;1241:9;1232:7;1228:23;1224:32;1221:52;;;1269:1;1266;1259:12;1221:52;1308:9;1295:23;1327:31;1352:5;1327:31;:::i;:::-;1377:5;1429:2;1414:18;;;;1401:32;;-1:-1:-1;;;1124:315:1:o;1636:127::-;1697:10;1692:3;1688:20;1685:1;1678:31;1728:4;1725:1;1718:15;1752:4;1749:1;1742:15;1768:275;1839:2;1833:9;1904:2;1885:13;;-1:-1:-1;;1881:27:1;1869:40;;1939:18;1924:34;;1960:22;;;1921:62;1918:88;;;1986:18;;:::i;:::-;2022:2;2015:22;1768:275;;-1:-1:-1;1768:275:1:o;2048:183::-;2108:4;2141:18;2133:6;2130:30;2127:56;;;2163:18;;:::i;:::-;-1:-1:-1;2208:1:1;2204:14;2220:4;2200:25;;2048:183::o;2236:662::-;2290:5;2343:3;2336:4;2328:6;2324:17;2320:27;2310:55;;2361:1;2358;2351:12;2310:55;2397:6;2384:20;2423:4;2447:60;2463:43;2503:2;2463:43;:::i;:::-;2447:60;:::i;:::-;2541:15;;;2627:1;2623:10;;;;2611:23;;2607:32;;;2572:12;;;;2651:15;;;2648:35;;;2679:1;2676;2669:12;2648:35;2715:2;2707:6;2703:15;2727:142;2743:6;2738:3;2735:15;2727:142;;;2809:17;;2797:30;;2847:12;;;;2760;;2727:142;;;-1:-1:-1;2887:5:1;2236:662;-1:-1:-1;;;;;;2236:662:1:o;2903:1215::-;3021:6;3029;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;3138:9;3125:23;3167:18;3208:2;3200:6;3197:14;3194:34;;;3224:1;3221;3214:12;3194:34;3262:6;3251:9;3247:22;3237:32;;3307:7;3300:4;3296:2;3292:13;3288:27;3278:55;;3329:1;3326;3319:12;3278:55;3365:2;3352:16;3387:4;3411:60;3427:43;3467:2;3427:43;:::i;3411:60::-;3505:15;;;3587:1;3583:10;;;;3575:19;;3571:28;;;3536:12;;;;3611:19;;;3608:39;;;3643:1;3640;3633:12;3608:39;3667:11;;;;3687:217;3703:6;3698:3;3695:15;3687:217;;;3783:3;3770:17;3800:31;3825:5;3800:31;:::i;:::-;3844:18;;3720:12;;;;3882;;;;3687:217;;;3923:5;-1:-1:-1;;3966:18:1;;3953:32;;-1:-1:-1;;3997:16:1;;;3994:36;;;4026:1;4023;4016:12;3994:36;;4049:63;4104:7;4093:8;4082:9;4078:24;4049:63;:::i;:::-;4039:73;;;2903:1215;;;;;:::o;4539:456::-;4616:6;4624;4632;4685:2;4673:9;4664:7;4660:23;4656:32;4653:52;;;4701:1;4698;4691:12;4653:52;4740:9;4727:23;4759:31;4784:5;4759:31;:::i;:::-;4809:5;-1:-1:-1;4866:2:1;4851:18;;4838:32;4879:33;4838:32;4879:33;:::i;:::-;4539:456;;4931:7;;-1:-1:-1;;;4985:2:1;4970:18;;;;4957:32;;4539:456::o;5396:385::-;5482:6;5490;5498;5506;5559:3;5547:9;5538:7;5534:23;5530:33;5527:53;;;5576:1;5573;5566:12;5527:53;-1:-1:-1;;5599:23:1;;;5669:2;5654:18;;5641:32;;-1:-1:-1;5720:2:1;5705:18;;5692:32;;5771:2;5756:18;5743:32;;-1:-1:-1;5396:385:1;-1:-1:-1;5396:385:1:o;5786:247::-;5845:6;5898:2;5886:9;5877:7;5873:23;5869:32;5866:52;;;5914:1;5911;5904:12;5866:52;5953:9;5940:23;5972:31;5997:5;5972:31;:::i;6227:316::-;6304:6;6312;6320;6373:2;6361:9;6352:7;6348:23;6344:32;6341:52;;;6389:1;6386;6379:12;6341:52;-1:-1:-1;;6412:23:1;;;6482:2;6467:18;;6454:32;;-1:-1:-1;6533:2:1;6518:18;;;6505:32;;6227:316;-1:-1:-1;6227:316:1:o;6548:180::-;6607:6;6660:2;6648:9;6639:7;6635:23;6631:32;6628:52;;;6676:1;6673;6666:12;6628:52;-1:-1:-1;6699:23:1;;6548:180;-1:-1:-1;6548:180:1:o;6941:248::-;7009:6;7017;7070:2;7058:9;7049:7;7045:23;7041:32;7038:52;;;7086:1;7083;7076:12;7038:52;-1:-1:-1;;7109:23:1;;;7179:2;7164:18;;;7151:32;;-1:-1:-1;6941:248:1:o;7662:388::-;7730:6;7738;7791:2;7779:9;7770:7;7766:23;7762:32;7759:52;;;7807:1;7804;7797:12;7759:52;7846:9;7833:23;7865:31;7890:5;7865:31;:::i;:::-;7915:5;-1:-1:-1;7972:2:1;7957:18;;7944:32;7985:33;7944:32;7985:33;:::i;8055:356::-;8257:2;8239:21;;;8276:18;;;8269:30;8335:34;8330:2;8315:18;;8308:62;8402:2;8387:18;;8055:356::o;9118:127::-;9179:10;9174:3;9170:20;9167:1;9160:31;9210:4;9207:1;9200:15;9234:4;9231:1;9224:15;9250:422;9339:1;9382:5;9339:1;9396:270;9417:7;9407:8;9404:21;9396:270;;;9476:4;9472:1;9468:6;9464:17;9458:4;9455:27;9452:53;;;9485:18;;:::i;:::-;9535:7;9525:8;9521:22;9518:55;;;9555:16;;;;9518:55;9634:22;;;;9594:15;;;;9396:270;;;9400:3;9250:422;;;;;:::o;9677:806::-;9726:5;9756:8;9746:80;;-1:-1:-1;9797:1:1;9811:5;;9746:80;9845:4;9835:76;;-1:-1:-1;9882:1:1;9896:5;;9835:76;9927:4;9945:1;9940:59;;;;10013:1;10008:130;;;;9920:218;;9940:59;9970:1;9961:10;;9984:5;;;10008:130;10045:3;10035:8;10032:17;10029:43;;;10052:18;;:::i;:::-;-1:-1:-1;;10108:1:1;10094:16;;10123:5;;9920:218;;10222:2;10212:8;10209:16;10203:3;10197:4;10194:13;10190:36;10184:2;10174:8;10171:16;10166:2;10160:4;10157:12;10153:35;10150:77;10147:159;;;-1:-1:-1;10259:19:1;;;10291:5;;10147:159;10338:34;10363:8;10357:4;10338:34;:::i;:::-;10408:6;10404:1;10400:6;10396:19;10387:7;10384:32;10381:58;;;10419:18;;:::i;:::-;10457:20;;9677:806;-1:-1:-1;;;9677:806:1:o;10488:140::-;10546:5;10575:47;10616:4;10606:8;10602:19;10596:4;10575:47;:::i;10633:127::-;10694:10;10689:3;10685:20;10682:1;10675:31;10725:4;10722:1;10715:15;10749:4;10746:1;10739:15;10765:168;10838:9;;;10869;;10886:15;;;10880:22;;10866:37;10856:71;;10907:18;;:::i;10938:135::-;10977:3;10998:17;;;10995:43;;11018:18;;:::i;:::-;-1:-1:-1;11065:1:1;11054:13;;10938:135::o;11078:128::-;11145:9;;;11166:11;;;11163:37;;;11180:18;;:::i;11211:125::-;11276:9;;;11297:10;;;11294:36;;;11310:18;;:::i;13166:217::-;13206:1;13232;13222:132;;13276:10;13271:3;13267:20;13264:1;13257:31;13311:4;13308:1;13301:15;13339:4;13336:1;13329:15;13222:132;-1:-1:-1;13368:9:1;;13166:217::o;15419:403::-;15621:2;15603:21;;;15660:2;15640:18;;;15633:30;15699:34;15694:2;15679:18;;15672:62;-1:-1:-1;;;15765:2:1;15750:18;;15743:37;15812:3;15797:19;;15419:403::o;15827:401::-;16029:2;16011:21;;;16068:2;16048:18;;;16041:30;16107:34;16102:2;16087:18;;16080:62;-1:-1:-1;;;16173:2:1;16158:18;;16151:35;16218:3;16203:19;;15827:401::o;18488:251::-;18558:6;18611:2;18599:9;18590:7;18586:23;18582:32;18579:52;;;18627:1;18624;18617:12;18579:52;18659:9;18653:16;18678:31;18703:5;18678:31;:::i;18744:980::-;19006:4;19054:3;19043:9;19039:19;19085:6;19074:9;19067:25;19111:2;19149:6;19144:2;19133:9;19129:18;19122:34;19192:3;19187:2;19176:9;19172:18;19165:31;19216:6;19251;19245:13;19282:6;19274;19267:22;19320:3;19309:9;19305:19;19298:26;;19359:2;19351:6;19347:15;19333:29;;19380:1;19390:195;19404:6;19401:1;19398:13;19390:195;;;19469:13;;-1:-1:-1;;;;;19465:39:1;19453:52;;19560:15;;;;19525:12;;;;19501:1;19419:9;19390:195;;;-1:-1:-1;;;;;;;19641:32:1;;;;19636:2;19621:18;;19614:60;-1:-1:-1;;;19705:3:1;19690:19;19683:35;19602:3;18744:980;-1:-1:-1;;;18744:980:1:o

Swarm Source

ipfs://cf48c9bb4762afaeeb29b6a09a9a0eea75ceefe1c6f4cb9035b37a0aeeb47ac4

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

op tech-bot using live (ETH/BSC) blockchain and Twitter data for real-time trending insights. Accurate market tracking via algorithm-based analysis, not fake volume. Empowering crypto traders with genuine info, aiming to enhance the community's value.

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.