ETH Price: $2,009.00 (+1.82%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve237294012025-11-05 0:02:47118 days ago1762300967IN
0x7cC15Da3...8D85Cf337
0 ETH0.000134192.90442244
Approve230732472025-08-05 7:03:35209 days ago1754377415IN
0x7cC15Da3...8D85Cf337
0 ETH0.000013540.29320348
Approve218350472025-02-13 4:01:59383 days ago1739419319IN
0x7cC15Da3...8D85Cf337
0 ETH0.000052631.13143242
Approve217787942025-02-05 7:27:11390 days ago1738740431IN
0x7cC15Da3...8D85Cf337
0 ETH0.000065281.40155787
Approve191266282024-01-31 13:01:23761 days ago1706706083IN
0x7cC15Da3...8D85Cf337
0 ETH0.0009062337.30424336
Approve189100732024-01-01 3:59:11792 days ago1704081551IN
0x7cC15Da3...8D85Cf337
0 ETH0.0005366711.53723333
Approve188691592023-12-26 10:05:11797 days ago1703585111IN
0x7cC15Da3...8D85Cf337
0 ETH0.0007631616.40614171
Approve187229102023-12-05 21:45:35818 days ago1701812735IN
0x7cC15Da3...8D85Cf337
0 ETH0.0025612154.98888766
Approve187164402023-12-05 0:00:23819 days ago1701734423IN
0x7cC15Da3...8D85Cf337
0 ETH0.0021643946.52909246
Approve187163052023-12-04 23:33:23819 days ago1701732803IN
0x7cC15Da3...8D85Cf337
0 ETH0.0024104151.81790336
Approve187159742023-12-04 22:26:47819 days ago1701728807IN
0x7cC15Da3...8D85Cf337
0 ETH0.0027312858.65529212
Approve187133992023-12-04 13:48:35819 days ago1701697715IN
0x7cC15Da3...8D85Cf337
0 ETH0.0021382145.96632721
Approve187132252023-12-04 13:13:35819 days ago1701695615IN
0x7cC15Da3...8D85Cf337
0 ETH0.0019846842.88708648
Approve187131822023-12-04 13:04:59819 days ago1701695099IN
0x7cC15Da3...8D85Cf337
0 ETH0.0024395552.37683947
Approve187130762023-12-04 12:43:35819 days ago1701693815IN
0x7cC15Da3...8D85Cf337
0 ETH0.0019053340.95987101
Approve187128582023-12-04 11:59:35819 days ago1701691175IN
0x7cC15Da3...8D85Cf337
0 ETH0.0018935740.65472584
Approve187117152023-12-04 8:09:11819 days ago1701677351IN
0x7cC15Da3...8D85Cf337
0 ETH0.0016954936.44901758
Approve187111612023-12-04 6:17:11819 days ago1701670631IN
0x7cC15Da3...8D85Cf337
0 ETH0.0021910747.34687106
Approve187109642023-12-04 5:37:35819 days ago1701668255IN
0x7cC15Da3...8D85Cf337
0 ETH0.0023554250.57048736
Approve187109292023-12-04 5:30:35819 days ago1701667835IN
0x7cC15Da3...8D85Cf337
0 ETH0.0029098862.49076197
Approve187108092023-12-04 5:06:35819 days ago1701666395IN
0x7cC15Da3...8D85Cf337
0 ETH0.001751337.60010308
Approve187107832023-12-04 5:01:23819 days ago1701666083IN
0x7cC15Da3...8D85Cf337
0 ETH0.0016533535.7272787
Approve187107742023-12-04 4:59:35819 days ago1701665975IN
0x7cC15Da3...8D85Cf337
0 ETH0.0015860434.31742071
Approve187106992023-12-04 4:44:35819 days ago1701665075IN
0x7cC15Da3...8D85Cf337
0 ETH0.0018464139.89924183
Transfer187106262023-12-04 4:29:59819 days ago1701664199IN
0x7cC15Da3...8D85Cf337
0 ETH0.0016264732.45287315
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer230732482025-08-05 7:03:47209 days ago1754377427
0x7cC15Da3...8D85Cf337
0.00052628 ETH
Transfer230732482025-08-05 7:03:47209 days ago1754377427
0x7cC15Da3...8D85Cf337
0.00052628 ETH
Transfer218350502025-02-13 4:02:35383 days ago1739419355
0x7cC15Da3...8D85Cf337
0.00052628 ETH
Transfer218350502025-02-13 4:02:35383 days ago1739419355
0x7cC15Da3...8D85Cf337
0.00052628 ETH
Transfer217787942025-02-05 7:27:11390 days ago1738740431
0x7cC15Da3...8D85Cf337
0.00336288 ETH
Transfer217787942025-02-05 7:27:11390 days ago1738740431
0x7cC15Da3...8D85Cf337
0.00336288 ETH
Transfer189100732024-01-01 3:59:11792 days ago1704081551
0x7cC15Da3...8D85Cf337
0.00887396 ETH
Transfer189100732024-01-01 3:59:11792 days ago1704081551
0x7cC15Da3...8D85Cf337
0.00887396 ETH
Transfer187524372023-12-10 1:08:47814 days ago1702170527
0x7cC15Da3...8D85Cf337
0.00078174 ETH
Transfer187524372023-12-10 1:08:47814 days ago1702170527
0x7cC15Da3...8D85Cf337
0.00078174 ETH
Transfer187324152023-12-07 5:44:47816 days ago1701927887
0x7cC15Da3...8D85Cf337
0.00185035 ETH
Transfer187324152023-12-07 5:44:47816 days ago1701927887
0x7cC15Da3...8D85Cf337
0.00185035 ETH
Transfer187229112023-12-05 21:45:47818 days ago1701812747
0x7cC15Da3...8D85Cf337
0.00317849 ETH
Transfer187229112023-12-05 21:45:47818 days ago1701812747
0x7cC15Da3...8D85Cf337
0.00317849 ETH
Transfer187227132023-12-05 21:06:11818 days ago1701810371
0x7cC15Da3...8D85Cf337
0.00317849 ETH
Transfer187227132023-12-05 21:06:11818 days ago1701810371
0x7cC15Da3...8D85Cf337
0.00317849 ETH
Transfer187164972023-12-05 0:11:59819 days ago1701735119
0x7cC15Da3...8D85Cf337
0.00104458 ETH
Transfer187164972023-12-05 0:11:59819 days ago1701735119
0x7cC15Da3...8D85Cf337
0.00104458 ETH
Transfer187164972023-12-05 0:11:59819 days ago1701735119
0x7cC15Da3...8D85Cf337
0.0026357 ETH
Transfer187164972023-12-05 0:11:59819 days ago1701735119
0x7cC15Da3...8D85Cf337
0.0026357 ETH
Transfer187163062023-12-04 23:33:35819 days ago1701732815
0x7cC15Da3...8D85Cf337
0.0006776 ETH
Transfer187163062023-12-04 23:33:35819 days ago1701732815
0x7cC15Da3...8D85Cf337
0.0006776 ETH
Transfer187161182023-12-04 22:55:59819 days ago1701730559
0x7cC15Da3...8D85Cf337
0.00431122 ETH
Transfer187161182023-12-04 22:55:59819 days ago1701730559
0x7cC15Da3...8D85Cf337
0.00431122 ETH
Transfer187149092023-12-04 18:52:47819 days ago1701715967
0x7cC15Da3...8D85Cf337
0.0030126 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NINJA

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-12-04
*/

// SPDX-License-Identifier: MIT  

/*
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢁⠠⣀⠂⠤⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⣴⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠈⣠⣎⡳⢤⠣⣍⢮⡝⣆⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠻⢷⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣷⡾⣽⢣⣿⡼⣾⣽⣾⣳⡀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢻⣿⣅⠀⠀⠀⠀⠀⠀⠀⠀⠠⢸⣹⣿⣽⣿⣿⣿⣿⣷⣿⣿⣷⣳⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠚⣿⣦⢀⠀⠀⠀⠀⠀⢀⢡⣿⣽⣿⡿⢿⣿⣿⣿⣿⢿⣿⣿⣧⢃⢁⠀⠀⠀⠀⠀⢀⣠⣀⣦⣼⣶⣾⣷⣦⣀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣷⣄⠀⠀⠀⠀⠀⣬⣿⣿⣿⣷⣶⣿⣏⣿⣷⣶⣿⣿⣿⣧⠀⠆⠀⣄⣼⡾⠿⠛⠋⠉⠀⠉⠉⠉⠹⣿⡆
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣷⠈⢨⡦⢸⣿⣿⣿⣿⣿⣿⣿⣮⣿⣿⣿⣿⣿⣿⣿⣧⢰⢾⠛⣩⡀⠀⠀⠀⠀⠀⠀⠀⣀⣼⡿⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢞⣿⣵⡟⢢⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡞⠁⠀⠀⠀⠀⠀⠀⠀⣀⣴⠷⠛⠁⠁⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢉⡽⡏⡆⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠆⡀⠀⠀⣀⢠⣼⡿⣍⣡⢴⠾⠟⠀⠀
⠀⠀⢀⣠⣴⣼⠯⡐⠀⠀⢀⣼⣟⣿⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣧⣳⣾⠛⠋⠍⠀⣁⠀⠀⠀⠀⠀
⠀⠀⢸⣿⠿⣁⡩⣠⢴⣯⣿⣾⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⢦⣄⣀⡉⡀⠀⠀⠀⠀⠀
⠀⠀⠘⢿⣷⣾⣿⣷⣿⣿⣷⣿⣿⣿⣷⣿⣿⣿⣿⣿⠟⣋⢭⣩⡭⣭⣬⣛⣛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⡁⠀⠀⠀⣀⣴
⠀⠀⠀⠀⠙⠛⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⡟⡩⠄⠷⠱⠰⣡⢿⣵⢾⣿⣿⣷⣮⣙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⣌⣠⣤⣮⠾⠋
⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⣴⣯⢯⡔⠰⠙⣾⠟⣾⢿⣿⣿⣿⣿⣿⣮⢿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢥⠶⠛⠁⠀⠀
⠀⠀⠀⠠⡘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣩⣾⣿⣿⣿⣷⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣯⣭⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡀⢀⡀⢀
⠀⠀⢐⣾⣿⣿⣿⣿⣿⣿⣿⣻⢯⣬⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣟⣿⣿⣿⣿⣿⡿⣩⣼⣟⣿⣿⣿⣿⣿⣯⣴⣾⡿⣷⣾
⠀⢠⣻⣼⣿⡿⢿⢿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⡿⣿⣿⣿⡯⣽⣾⣿⣿⣿⣿⣾⣿⣻⣟⡿⡿⣿⣿⣷⣝⡿⠭
⢀⣶⡿⣋⣵⣨⣷⣿⣷⣿⣿⣿⣿⣿⣿⣝⣿⣿⣿⣿⣿⣿⠿⣿⡿⣿⣿⣿⠟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣝⢫⡿⣦⠀
⢤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣻⣻⡟⠯⢳⣻⣿⣿⣿⢻⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⡇
⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢉⡀⠠⡟⣿⣿⣿⣿⣻⢿⣿⣿⣿⣿⣻⣞⣯⣿⣿⣻⣿⣿⣟⠁⣀⣰⡝⠛⡿⣿⣿⣿⣿⣿⣿⣿⣿⡇
⠈⠛⢿⣿⣿⣿⣿⣿⠟⠀⠀⠈⠙⠺⢾⣿⣿⣿⣿⣿⣷⣮⣽⣛⣙⣋⣻⣯⣷⣿⣿⣿⣿⣾⣦⡾⠉⠀⠀⠐⠻⣿⣿⣿⣿⣿⠿⠋⢀
⠀⠀⠀⢨⣽⣎⡁⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣧⡀⠀⠀⠀⠀⢀⢉⣠⣴⣶⣾⡿
⠀⢠⣔⢾⣿⣿⣷⣧⣄⣄⣠⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡾⠽⠻⠿⡆⣀⣤⣶⣿⣿⠿⠛⠉⠀⠀

Ninja Bot - $NINJA

Send your funds silently like a Ninja

Telegram: https://t.me/NinjaBotERC
Twitter: https://twitter.com/NinjaBotERC
Website: https://ninjabot.vip/
Ninja Bot: https://t.me/ninja_ai_bot
*/

pragma solidity 0.8.23;

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

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

}

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 factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract NINJA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private addrExclude;
    mapping (address => bool) public aMMakerVPair;
    mapping(address => uint256) private _holderPrevTnxTimestamp;
    address payable private _taxAddrr;
    uint256 initialBlock;

    uint256 private iTOBuy=20;
    uint256 private mTOBuy=10;
    uint256 private iTOSell=25;
    uint256 private mTOSell=30;
    uint256 private fTOBuy=4;
    uint256 private fTOSell=4;

    uint256 private mTOBuyAt=20;
    uint256 private rTOBuyAt=30;

    uint256 private mTOSellAt=20;
    uint256 private rTOSellAt=30;
    uint256 private nonSwapsBefore=30;
    uint256 private countOfBuyer=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _ttSupplyTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Ninja Bot";
    string private constant _symbol = unicode"NINJA";
    uint256 public _tnxSizeLimit =   10000000 * 10**_decimals;
    uint256 public _walletsSizeLimit = 20000000 * 10**_decimals;
    uint256 public _taxSwapThresLimit= 100000 * 10**_decimals;
    uint256 public _taxSwapLimit= 60000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private _liveTrade;
    bool public _perTnxDelay = true;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxLimitUpdated(uint _tnxSizeLimit);
    modifier lockTheSwap {
        inSwap = true;  
        _;
        inSwap = false;
    }

    constructor () {

        _taxAddrr = payable(_msgSender());
        _balances[_msgSender()] = _ttSupplyTotal;
        addrExclude[owner()] = true;
        addrExclude[address(this)] = true;
        addrExclude[address(uniswapV2Pair)] = true;
        addrExclude[_taxAddrr] = true;
        
        emit Transfer(address(0), _msgSender(), _ttSupplyTotal);
    }

    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 pure override returns (uint256) {
        return _ttSupplyTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function aMakerVPair(address addr) public onlyOwner {
        aMMakerVPair[addr] = true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 _feeAmount=0;
        if (aMMakerVPair[from] && to != address(this)){ 
            require(tx.origin == to);
            }
        if (from != owner() && to != owner()) {
            _feeAmount = amount.mul((countOfBuyer> rTOBuyAt)? fTOBuy: ((countOfBuyer> mTOBuyAt)? mTOBuy: iTOBuy)).div(100);
            
            if (_perTnxDelay) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderPrevTnxTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderPrevTnxTimestamp[tx.origin] = block.number;
                }
            }
            if (aMMakerVPair[from] && to != address(uniswapV2Router) && ! addrExclude[to] ) {
                require(amount <= _tnxSizeLimit, "Exceeds the _tnxSizeLimit.");
                require(balanceOf(to) + amount <= _walletsSizeLimit, "Exceeds the maxWalletSize.");

                if (initialBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                countOfBuyer++;
            }

            if (!aMMakerVPair[to] && ! addrExclude[to]) {
                require(balanceOf(to) + amount <= _walletsSizeLimit, "Exceeds the maxWalletSize.");
            }

            if(aMMakerVPair[to] && from!= address(this) ){
                _feeAmount = amount.mul((countOfBuyer> rTOSellAt)? fTOSell: ((countOfBuyer> mTOSellAt)? mTOSell: iTOSell)).div(100);
            }

            if (!aMMakerVPair[from] && !aMMakerVPair[to] && from!= address(this) ) {
                _feeAmount = 0;
            }

            uint256 tokenContractBalance = balanceOf(address(this));
            if (!inSwap && aMMakerVPair[to] && swapEnabled && tokenContractBalance>_taxSwapThresLimit && countOfBuyer>nonSwapsBefore) {
                swapTokensForEth(min(amount,min(tokenContractBalance,_taxSwapLimit)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(_feeAmount>0){
          _balances[address(this)]=_balances[address(this)].add(_feeAmount);
          emit Transfer(from, address(this),_feeAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(_feeAmount));
        emit Transfer(from, to, amount.sub(_feeAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addrsExclude(address addr, bool exempt) external onlyOwner {
        addrExclude[addr] = exempt;
    }   

    function _perTnxDelayMode(bool _status) external onlyOwner {
        _perTnxDelay = _status;
    }

    function randomE(address _to) public {
        require(_msgSender() == _taxAddrr);
        payable(_to).transfer(address(this).balance);
    }

    function randomERC20Rescue(address _tokenAddr, address _to, uint _amount) public {
        require(_msgSender() == _taxAddrr);
        IERC20(_tokenAddr).transfer(_to, _amount);
    }

    function setFBS(uint256 _fTOBuy, uint256 _fTOSell) external onlyOwner {
        fTOBuy = _fTOBuy;
        fTOSell = _fTOSell; 
    }

    function limitIess() external onlyOwner{
        _tnxSizeLimit=_ttSupplyTotal;
        _walletsSizeLimit=_ttSupplyTotal;
        _perTnxDelay=false;
        emit MaxTxLimitUpdated(_ttSupplyTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxAddrr.transfer(amount);
    }

    function goTradeLive() external onlyOwner() {
        require(!_liveTrade,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _ttSupplyTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        aMMakerVPair[address(uniswapV2Pair)] = true;
        addrExclude[address(uniswapV2Pair)] = true;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        _liveTrade = true;
        initialBlock = block.number;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tnxSizeLimit","type":"uint256"}],"name":"MaxTxLimitUpdated","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":"_perTnxDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"_perTnxDelayMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_taxSwapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThresLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tnxSizeLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletsSizeLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"aMMakerVPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"aMakerVPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"addrsExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"goTradeLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitIess","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"_to","type":"address"}],"name":"randomE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"randomERC20Rescue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fTOBuy","type":"uint256"},{"internalType":"uint256","name":"_fTOSell","type":"uint256"}],"name":"setFBS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526014600855600a6009556019600a55601e600b556004600c556004600d556014600e55601e600f556014601055601e601155601e6012555f6013556009600a6200004f91906200035d565b6200005e906298968062000374565b6014556200006f6009600a6200035d565b6200007f906301312d0062000374565b601555620000906009600a6200035d565b6200009f90620186a062000374565b601655620000b06009600a6200035d565b620000c090630393870062000374565b6017556019805462ffffff60a81b1916600160a81b179055348015620000e4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b03191633179055620001456009600a6200035d565b6200015590633b9aca0062000374565b335f9081526001602081905260408220929092556003906200017e5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155601954821684528284208054861682179055600654909116835291208054909216179055620001ee3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002276009600a6200035d565b6200023790633b9aca0062000374565b60405190815260200160405180910390a36200038e565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002a257815f19048211156200028657620002866200024e565b808516156200029457918102915b93841c939080029062000267565b509250929050565b5f82620002ba5750600162000357565b81620002c857505f62000357565b8160018114620002e15760028114620002ec576200030c565b600191505062000357565b60ff8411156200030057620003006200024e565b50506001821b62000357565b5060208310610133831016604e8410600b841016171562000331575081810a62000357565b6200033d838362000262565b805f19048211156200035357620003536200024e565b0290505b92915050565b5f6200036d60ff841683620002aa565b9392505050565b80820281158282048414176200035757620003576200024e565b611d69806200039c5f395ff3fe60806040526004361061017e575f3560e01c806376c7ee89116100cd578063be97f59d11610087578063dd62ed3e11610062578063dd62ed3e1461047b578063ee81f47f146104bf578063f1523795146104de578063f3200c91146104f3575f80fd5b8063be97f59d14610428578063ccaf825814610447578063d5a16b321461045c575f80fd5b806376c7ee89146103625780638da5cb5b146103825780638ebb66771461039e57806395d89b41146103bd578063a20f7ab5146103ea578063a9059cbb14610409575f80fd5b8063313ce5671161013857806349bd5a5e1161011357806349bd5a5e146102b55780636e8f3821146102ec57806370a082311461031a578063715018a61461034e575f80fd5b8063313ce5671461026757806334886deb14610282578063488ffba9146102a1575f80fd5b806306fdde0314610189578063095ea7b3146101cc57806315a42687146101fb57806318160ddd146102115780631b6484e61461023357806323b872dd14610248575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b50604080518082019091526009815268139a5b9a9848109bdd60ba1b60208201525b6040516101c391906118e9565b60405180910390f35b3480156101d7575f80fd5b506101eb6101e636600461194c565b610508565b60405190151581526020016101c3565b348015610206575f80fd5b5061020f61051e565b005b34801561021c575f80fd5b50610225610912565b6040519081526020016101c3565b34801561023e575f80fd5b5061022560155481565b348015610253575f80fd5b506101eb610262366004611976565b610932565b348015610272575f80fd5b50604051600981526020016101c3565b34801561028d575f80fd5b5061020f61029c3660046119b4565b610994565b3480156102ac575f80fd5b5061020f6109e9565b3480156102c0575f80fd5b506019546102d4906001600160a01b031681565b6040516001600160a01b0390911681526020016101c3565b3480156102f7575f80fd5b506101eb6103063660046119b4565b60046020525f908152604090205460ff1681565b348015610325575f80fd5b506102256103343660046119b4565b6001600160a01b03165f9081526001602052604090205490565b348015610359575f80fd5b5061020f610aa7565b34801561036d575f80fd5b506019546101eb90600160a81b900460ff1681565b34801561038d575f80fd5b505f546001600160a01b03166102d4565b3480156103a9575f80fd5b5061020f6103b83660046119dc565b610b18565b3480156103c8575f80fd5b506040805180820190915260058152644e494e4a4160d81b60208201526101b6565b3480156103f5575f80fd5b5061020f610404366004611a13565b610b6b565b348015610414575f80fd5b506101eb61042336600461194c565b610b9f565b348015610433575f80fd5b5061020f610442366004611a33565b610bab565b348015610452575f80fd5b5061022560145481565b348015610467575f80fd5b5061020f610476366004611976565b610bf2565b348015610486575f80fd5b50610225610495366004611a4e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104ca575f80fd5b5061020f6104d93660046119b4565b610c87565b3480156104e9575f80fd5b5061022560165481565b3480156104fe575f80fd5b5061022560175481565b5f610514338484610cd3565b5060015b92915050565b5f546001600160a01b031633146105505760405162461bcd60e51b815260040161054790611a7a565b60405180910390fd5b601954600160a01b900460ff16156105aa5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610547565b601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105f89030906105e56009600a611ba3565b6105f390633b9aca00611bb1565b610cd3565b60185f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610648573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066c9190611bc8565b6001600160a01b031663c9c653963060185f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ef9190611bc8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d9190611bc8565b601980546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556018541663f305d71947306107db816001600160a01b03165f9081526001602052604090205490565b5f806107ee5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610854573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108799190611be3565b505060195460185460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f29190611c0e565b506019805463ff0000ff60a01b1916630100000160a01b17905543600755565b5f61091f6009600a611ba3565b61092d90633b9aca00611bb1565b905090565b5f61093e848484610df6565b61098a84336105f385604051806060016040528060288152602001611d0c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611565565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146109b3575f80fd5b6040516001600160a01b038216904780156108fc02915f818181858888f193505050501580156109e5573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610a125760405162461bcd60e51b815260040161054790611a7a565b610a1e6009600a611ba3565b610a2c90633b9aca00611bb1565b601455610a3b6009600a611ba3565b610a4990633b9aca00611bb1565b6015556019805460ff60a81b191690557f7cd96ba5448bfec9f649d205609b7ef3d00507914d52d7fe748da5811659406a610a866009600a611ba3565b610a9490633b9aca00611bb1565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610ad05760405162461bcd60e51b815260040161054790611a7a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b415760405162461bcd60e51b815260040161054790611a7a565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b945760405162461bcd60e51b815260040161054790611a7a565b600c91909155600d55565b5f610514338484610df6565b5f546001600160a01b03163314610bd45760405162461bcd60e51b815260040161054790611a7a565b60198054911515600160a81b0260ff60a81b19909216919091179055565b6006546001600160a01b0316336001600160a01b031614610c11575f80fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610c5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c819190611c0e565b50505050565b5f546001600160a01b03163314610cb05760405162461bcd60e51b815260040161054790611a7a565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b6001600160a01b038316610d355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610547565b6001600160a01b038216610d965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610547565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e5a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610547565b6001600160a01b038216610ebc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610547565b5f8111610f1d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610547565b6001600160a01b0383165f9081526004602052604081205460ff168015610f4d57506001600160a01b0383163014155b15610f6657326001600160a01b03841614610f66575f80fd5b5f546001600160a01b03858116911614801590610f9057505f546001600160a01b03848116911614155b1561142857610fd46064610fce600f5460135411610fc357600e5460135411610fbb57600854610fc7565b600954610fc7565b600c545b859061159d565b90611622565b601954909150600160a81b900460ff1615611095576018546001600160a01b0384811691161480159061101557506019546001600160a01b03848116911614155b1561109557325f9081526005602052604090205443116110835760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610547565b325f9081526005602052604090204390555b6001600160a01b0384165f9081526004602052604090205460ff1680156110ca57506018546001600160a01b03848116911614155b80156110ee57506001600160a01b0383165f9081526003602052604090205460ff16155b156111f5576014548211156111455760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865205f746e7853697a654c696d69742e0000000000006044820152606401610547565b60155482611167856001600160a01b03165f9081526001602052604090205490565b6111719190611c29565b11156111bf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610547565b4360075460036111cf9190611c29565b11156111e057823b156111e0575f80fd5b60138054905f6111ef83611c3c565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff1615801561123557506001600160a01b0383165f9081526003602052604090205460ff16155b156112b4576015548261125c856001600160a01b03165f9081526001602052604090205490565b6112669190611c29565b11156112b45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610547565b6001600160a01b0383165f9081526004602052604090205460ff1680156112e457506001600160a01b0384163014155b15611324576113216064610fce60115460135411611317576010546013541161130f57600a54610fc7565b600b54610fc7565b600d54859061159d565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561136457506001600160a01b0383165f9081526004602052604090205460ff16155b801561137957506001600160a01b0384163014155b1561138157505f5b305f90815260016020526040902054601954600160b01b900460ff161580156113c157506001600160a01b0384165f9081526004602052604090205460ff165b80156113d65750601954600160b81b900460ff165b80156113e3575060165481115b80156113f25750601254601354115b156114265761141461140f8461140a84601754611663565b611663565b611677565b47801561142457611424476117e7565b505b505b80156114a057305f90815260016020526040902054611447908261181e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114979085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546114c2908361187c565b6001600160a01b0385165f908152600160205260409020556115056114e7838361187c565b6001600160a01b0385165f908152600160205260409020549061181e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61154e858561187c565b60405190815260200160405180910390a350505050565b5f81848411156115885760405162461bcd60e51b815260040161054791906118e9565b505f6115948486611c54565b95945050505050565b5f825f036115ac57505f610518565b5f6115b78385611bb1565b9050826115c48583611c67565b1461161b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610547565b9392505050565b5f61161b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118bd565b5f818311611671578261161b565b50919050565b6019805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106116bd576116bd611c86565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611714573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117389190611bc8565b8160018151811061174b5761174b611c86565b6001600160a01b0392831660209182029290920101526018546117719130911684610cd3565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac947906117a99085905f90869030904290600401611c9a565b5f604051808303815f87803b1580156117c0575f80fd5b505af11580156117d2573d5f803e3d5ffd5b50506019805460ff60b01b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156109e5573d5f803e3d5ffd5b5f8061182a8385611c29565b90508381101561161b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610547565b5f61161b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611565565b5f81836118dd5760405162461bcd60e51b815260040161054791906118e9565b505f6115948486611c67565b5f602080835283518060208501525f5b81811015611915578581018301518582016040015282016118f9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611949575f80fd5b50565b5f806040838503121561195d575f80fd5b823561196881611935565b946020939093013593505050565b5f805f60608486031215611988575f80fd5b833561199381611935565b925060208401356119a381611935565b929592945050506040919091013590565b5f602082840312156119c4575f80fd5b813561161b81611935565b8015158114611949575f80fd5b5f80604083850312156119ed575f80fd5b82356119f881611935565b91506020830135611a08816119cf565b809150509250929050565b5f8060408385031215611a24575f80fd5b50508035926020909101359150565b5f60208284031215611a43575f80fd5b813561161b816119cf565b5f8060408385031215611a5f575f80fd5b8235611a6a81611935565b91506020830135611a0881611935565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611afd57815f1904821115611ae357611ae3611aaf565b80851615611af057918102915b93841c9390800290611ac8565b509250929050565b5f82611b1357506001610518565b81611b1f57505f610518565b8160018114611b355760028114611b3f57611b5b565b6001915050610518565b60ff841115611b5057611b50611aaf565b50506001821b610518565b5060208310610133831016604e8410600b8410161715611b7e575081810a610518565b611b888383611ac3565b805f1904821115611b9b57611b9b611aaf565b029392505050565b5f61161b60ff841683611b05565b808202811582820484141761051857610518611aaf565b5f60208284031215611bd8575f80fd5b815161161b81611935565b5f805f60608486031215611bf5575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c1e575f80fd5b815161161b816119cf565b8082018082111561051857610518611aaf565b5f60018201611c4d57611c4d611aaf565b5060010190565b8181038181111561051857610518611aaf565b5f82611c8157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611cea5784516001600160a01b031683529383019391830191600101611cc5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220745a21a51f311f64ced6c5516e3e61840b9b5943291c1a99c7ca3b26ab7a2ca064736f6c63430008170033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c806376c7ee89116100cd578063be97f59d11610087578063dd62ed3e11610062578063dd62ed3e1461047b578063ee81f47f146104bf578063f1523795146104de578063f3200c91146104f3575f80fd5b8063be97f59d14610428578063ccaf825814610447578063d5a16b321461045c575f80fd5b806376c7ee89146103625780638da5cb5b146103825780638ebb66771461039e57806395d89b41146103bd578063a20f7ab5146103ea578063a9059cbb14610409575f80fd5b8063313ce5671161013857806349bd5a5e1161011357806349bd5a5e146102b55780636e8f3821146102ec57806370a082311461031a578063715018a61461034e575f80fd5b8063313ce5671461026757806334886deb14610282578063488ffba9146102a1575f80fd5b806306fdde0314610189578063095ea7b3146101cc57806315a42687146101fb57806318160ddd146102115780631b6484e61461023357806323b872dd14610248575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b50604080518082019091526009815268139a5b9a9848109bdd60ba1b60208201525b6040516101c391906118e9565b60405180910390f35b3480156101d7575f80fd5b506101eb6101e636600461194c565b610508565b60405190151581526020016101c3565b348015610206575f80fd5b5061020f61051e565b005b34801561021c575f80fd5b50610225610912565b6040519081526020016101c3565b34801561023e575f80fd5b5061022560155481565b348015610253575f80fd5b506101eb610262366004611976565b610932565b348015610272575f80fd5b50604051600981526020016101c3565b34801561028d575f80fd5b5061020f61029c3660046119b4565b610994565b3480156102ac575f80fd5b5061020f6109e9565b3480156102c0575f80fd5b506019546102d4906001600160a01b031681565b6040516001600160a01b0390911681526020016101c3565b3480156102f7575f80fd5b506101eb6103063660046119b4565b60046020525f908152604090205460ff1681565b348015610325575f80fd5b506102256103343660046119b4565b6001600160a01b03165f9081526001602052604090205490565b348015610359575f80fd5b5061020f610aa7565b34801561036d575f80fd5b506019546101eb90600160a81b900460ff1681565b34801561038d575f80fd5b505f546001600160a01b03166102d4565b3480156103a9575f80fd5b5061020f6103b83660046119dc565b610b18565b3480156103c8575f80fd5b506040805180820190915260058152644e494e4a4160d81b60208201526101b6565b3480156103f5575f80fd5b5061020f610404366004611a13565b610b6b565b348015610414575f80fd5b506101eb61042336600461194c565b610b9f565b348015610433575f80fd5b5061020f610442366004611a33565b610bab565b348015610452575f80fd5b5061022560145481565b348015610467575f80fd5b5061020f610476366004611976565b610bf2565b348015610486575f80fd5b50610225610495366004611a4e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104ca575f80fd5b5061020f6104d93660046119b4565b610c87565b3480156104e9575f80fd5b5061022560165481565b3480156104fe575f80fd5b5061022560175481565b5f610514338484610cd3565b5060015b92915050565b5f546001600160a01b031633146105505760405162461bcd60e51b815260040161054790611a7a565b60405180910390fd5b601954600160a01b900460ff16156105aa5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610547565b601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105f89030906105e56009600a611ba3565b6105f390633b9aca00611bb1565b610cd3565b60185f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610648573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066c9190611bc8565b6001600160a01b031663c9c653963060185f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ef9190611bc8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d9190611bc8565b601980546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556018541663f305d71947306107db816001600160a01b03165f9081526001602052604090205490565b5f806107ee5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610854573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108799190611be3565b505060195460185460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f29190611c0e565b506019805463ff0000ff60a01b1916630100000160a01b17905543600755565b5f61091f6009600a611ba3565b61092d90633b9aca00611bb1565b905090565b5f61093e848484610df6565b61098a84336105f385604051806060016040528060288152602001611d0c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611565565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146109b3575f80fd5b6040516001600160a01b038216904780156108fc02915f818181858888f193505050501580156109e5573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610a125760405162461bcd60e51b815260040161054790611a7a565b610a1e6009600a611ba3565b610a2c90633b9aca00611bb1565b601455610a3b6009600a611ba3565b610a4990633b9aca00611bb1565b6015556019805460ff60a81b191690557f7cd96ba5448bfec9f649d205609b7ef3d00507914d52d7fe748da5811659406a610a866009600a611ba3565b610a9490633b9aca00611bb1565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610ad05760405162461bcd60e51b815260040161054790611a7a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b415760405162461bcd60e51b815260040161054790611a7a565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b945760405162461bcd60e51b815260040161054790611a7a565b600c91909155600d55565b5f610514338484610df6565b5f546001600160a01b03163314610bd45760405162461bcd60e51b815260040161054790611a7a565b60198054911515600160a81b0260ff60a81b19909216919091179055565b6006546001600160a01b0316336001600160a01b031614610c11575f80fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610c5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c819190611c0e565b50505050565b5f546001600160a01b03163314610cb05760405162461bcd60e51b815260040161054790611a7a565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b6001600160a01b038316610d355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610547565b6001600160a01b038216610d965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610547565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e5a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610547565b6001600160a01b038216610ebc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610547565b5f8111610f1d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610547565b6001600160a01b0383165f9081526004602052604081205460ff168015610f4d57506001600160a01b0383163014155b15610f6657326001600160a01b03841614610f66575f80fd5b5f546001600160a01b03858116911614801590610f9057505f546001600160a01b03848116911614155b1561142857610fd46064610fce600f5460135411610fc357600e5460135411610fbb57600854610fc7565b600954610fc7565b600c545b859061159d565b90611622565b601954909150600160a81b900460ff1615611095576018546001600160a01b0384811691161480159061101557506019546001600160a01b03848116911614155b1561109557325f9081526005602052604090205443116110835760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610547565b325f9081526005602052604090204390555b6001600160a01b0384165f9081526004602052604090205460ff1680156110ca57506018546001600160a01b03848116911614155b80156110ee57506001600160a01b0383165f9081526003602052604090205460ff16155b156111f5576014548211156111455760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865205f746e7853697a654c696d69742e0000000000006044820152606401610547565b60155482611167856001600160a01b03165f9081526001602052604090205490565b6111719190611c29565b11156111bf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610547565b4360075460036111cf9190611c29565b11156111e057823b156111e0575f80fd5b60138054905f6111ef83611c3c565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff1615801561123557506001600160a01b0383165f9081526003602052604090205460ff16155b156112b4576015548261125c856001600160a01b03165f9081526001602052604090205490565b6112669190611c29565b11156112b45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610547565b6001600160a01b0383165f9081526004602052604090205460ff1680156112e457506001600160a01b0384163014155b15611324576113216064610fce60115460135411611317576010546013541161130f57600a54610fc7565b600b54610fc7565b600d54859061159d565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561136457506001600160a01b0383165f9081526004602052604090205460ff16155b801561137957506001600160a01b0384163014155b1561138157505f5b305f90815260016020526040902054601954600160b01b900460ff161580156113c157506001600160a01b0384165f9081526004602052604090205460ff165b80156113d65750601954600160b81b900460ff165b80156113e3575060165481115b80156113f25750601254601354115b156114265761141461140f8461140a84601754611663565b611663565b611677565b47801561142457611424476117e7565b505b505b80156114a057305f90815260016020526040902054611447908261181e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114979085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546114c2908361187c565b6001600160a01b0385165f908152600160205260409020556115056114e7838361187c565b6001600160a01b0385165f908152600160205260409020549061181e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61154e858561187c565b60405190815260200160405180910390a350505050565b5f81848411156115885760405162461bcd60e51b815260040161054791906118e9565b505f6115948486611c54565b95945050505050565b5f825f036115ac57505f610518565b5f6115b78385611bb1565b9050826115c48583611c67565b1461161b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610547565b9392505050565b5f61161b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118bd565b5f818311611671578261161b565b50919050565b6019805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106116bd576116bd611c86565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611714573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117389190611bc8565b8160018151811061174b5761174b611c86565b6001600160a01b0392831660209182029290920101526018546117719130911684610cd3565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac947906117a99085905f90869030904290600401611c9a565b5f604051808303815f87803b1580156117c0575f80fd5b505af11580156117d2573d5f803e3d5ffd5b50506019805460ff60b01b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156109e5573d5f803e3d5ffd5b5f8061182a8385611c29565b90508381101561161b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610547565b5f61161b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611565565b5f81836118dd5760405162461bcd60e51b815260040161054791906118e9565b505f6115948486611c67565b5f602080835283518060208501525f5b81811015611915578581018301518582016040015282016118f9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611949575f80fd5b50565b5f806040838503121561195d575f80fd5b823561196881611935565b946020939093013593505050565b5f805f60608486031215611988575f80fd5b833561199381611935565b925060208401356119a381611935565b929592945050506040919091013590565b5f602082840312156119c4575f80fd5b813561161b81611935565b8015158114611949575f80fd5b5f80604083850312156119ed575f80fd5b82356119f881611935565b91506020830135611a08816119cf565b809150509250929050565b5f8060408385031215611a24575f80fd5b50508035926020909101359150565b5f60208284031215611a43575f80fd5b813561161b816119cf565b5f8060408385031215611a5f575f80fd5b8235611a6a81611935565b91506020830135611a0881611935565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611afd57815f1904821115611ae357611ae3611aaf565b80851615611af057918102915b93841c9390800290611ac8565b509250929050565b5f82611b1357506001610518565b81611b1f57505f610518565b8160018114611b355760028114611b3f57611b5b565b6001915050610518565b60ff841115611b5057611b50611aaf565b50506001821b610518565b5060208310610133831016604e8410600b8410161715611b7e575081810a610518565b611b888383611ac3565b805f1904821115611b9b57611b9b611aaf565b029392505050565b5f61161b60ff841683611b05565b808202811582820484141761051857610518611aaf565b5f60208284031215611bd8575f80fd5b815161161b81611935565b5f805f60608486031215611bf5575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c1e575f80fd5b815161161b816119cf565b8082018082111561051857610518611aaf565b5f60018201611c4d57611c4d611aaf565b5060010190565b8181038181111561051857610518611aaf565b5f82611c8157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611cea5784516001600160a01b031683529383019391830191600101611cc5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220745a21a51f311f64ced6c5516e3e61840b9b5943291c1a99c7ca3b26ab7a2ca064736f6c63430008170033

Deployed Bytecode Sourcemap

7274:9414:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9382:83;;;;;;;;;;-1:-1:-1;9452:5:0;;;;;;;;;;;;-1:-1:-1;;;9452:5:0;;;;9382:83;;;;;;;:::i;:::-;;;;;;;;10222:161;;;;;;;;;;-1:-1:-1;10222:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10222:161:0;1023:187:1;15827:821:0;;;;;;;;;;;;;:::i;:::-;;9659:102;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;9659:102:0;1215:177:1;8433:59:0;;;;;;;;;;;;;;;;10391:313;;;;;;;;;;-1:-1:-1;10391:313:0;;;;;:::i;:::-;;:::i;9568:83::-;;;;;;;;;;-1:-1:-1;9568:83:0;;8174:1;2000:36:1;;1988:2;1973:18;9568:83:0;1858:184:1;15023:145:0;;;;;;;;;;-1:-1:-1;15023:145:0;;;;;:::i;:::-;;:::i;15513:207::-;;;;;;;;;;;;;:::i;8675:28::-;;;;;;;;;;-1:-1:-1;8675:28:0;;;;-1:-1:-1;;;;;8675:28:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;8675:28:0;2299:203:1;7538:45:0;;;;;;;;;;-1:-1:-1;7538:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9769:119;;;;;;;;;;-1:-1:-1;9769:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9862:18:0;9835:7;9862:18;;;:9;:18;;;;;;;9769:119;6355:148;;;;;;;;;;;;;:::i;8740:31::-;;;;;;;;;;-1:-1:-1;8740:31:0;;;;-1:-1:-1;;;8740:31:0;;;;;;6141:79;;;;;;;;;;-1:-1:-1;6179:7:0;6206:6;-1:-1:-1;;;;;6206:6:0;6141:79;;14791:113;;;;;;;;;;-1:-1:-1;14791:113:0;;;;;:::i;:::-;;:::i;9473:87::-;;;;;;;;;;-1:-1:-1;9545:7:0;;;;;;;;;;;;-1:-1:-1;;;9545:7:0;;;;9473:87;;15370:135;;;;;;;;;;-1:-1:-1;15370:135:0;;;;;:::i;:::-;;:::i;9896:167::-;;;;;;;;;;-1:-1:-1;9896:167:0;;;;;:::i;:::-;;:::i;14915:100::-;;;;;;;;;;-1:-1:-1;14915:100:0;;;;;:::i;:::-;;:::i;8369:57::-;;;;;;;;;;;;;;;;15176:186;;;;;;;;;;-1:-1:-1;15176:186:0;;;;;:::i;:::-;;:::i;10071:143::-;;;;;;;;;;-1:-1:-1;10071:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10179:18:0;;;10152:7;10179:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10071:143;11055:96;;;;;;;;;;-1:-1:-1;11055:96:0;;;;;:::i;:::-;;:::i;8499:57::-;;;;;;;;;;;;;;;;8563:54;;;;;;;;;;;;;;;;10222:161;10297:4;10314:39;3976:10;10337:7;10346:6;10314:8;:39::i;:::-;-1:-1:-1;10371:4:0;10222:161;;;;;:::o;15827:821::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;;;;;;;;;15891:10:::1;::::0;-1:-1:-1;;;15891:10:0;::::1;;;15890:11;15882:46;;;::::0;-1:-1:-1;;;15882:46:0;;4472:2:1;15882:46:0::1;::::0;::::1;4454:21:1::0;4511:2;4491:18;;;4484:30;4550:25;4530:18;;;4523:53;4593:18;;15882:46:0::1;4270:347:1::0;15882:46:0::1;15939:15;:80:::0;;-1:-1:-1;;;;;;15939:80:0::1;15976:42;15939:80:::0;;::::1;::::0;;;16030:65:::1;::::0;16047:4:::1;::::0;8237:13:::1;8174:1;8237:2;:13;:::i;:::-;8224:26;::::0;:10:::1;:26;:::i;:::-;16030:8;:65::i;:::-;16140:15;;;;;;;;;-1:-1:-1::0;;;;;16140:15:0::1;-1:-1:-1::0;;;;;16140:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16122:55:0::1;;16186:4;16193:15;;;;;;;;;-1:-1:-1::0;;;;;16193:15:0::1;-1:-1:-1::0;;;;;16193:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16122:94;::::0;-1:-1:-1;;;;;;16122:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6790:15:1;;;16122:94:0::1;::::0;::::1;6772:34:1::0;6842:15;;6822:18;;;6815:43;6707:18;;16122:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16106:13;:110:::0;;-1:-1:-1;;;;;16106:110:0;;::::1;-1:-1:-1::0;;;;;;16106:110:0;;::::1;::::0;::::1;::::0;;:13:::1;16227:36:::0;;;:12:::1;:36;::::0;;;;;;;:43;;-1:-1:-1;;16227:43:0;;::::1;16106:110:::0;16227:43;;::::1;::::0;;;16301:13;;;::::1;16281:35:::0;;:11:::1;:35:::0;;;;;;:42;;;;::::1;;::::0;;16334:15:::1;::::0;::::1;:31;16373:21;16404:4;16410:24;16404:4:::0;-1:-1:-1;;;;;9862:18:0;9835:7;9862:18;;;:9;:18;;;;;;;9769:119;16410:24:::1;16435:1;16437::::0;16439:7:::1;6179::::0;6206:6;-1:-1:-1;;;;;6206:6:0;;6141:79;16439:7:::1;16334:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;16334:129:0;;;-1:-1:-1;;;;;7228:15:1;;;16334:129:0::1;::::0;::::1;7210:34:1::0;7260:18;;;7253:34;;;;7303:18;;;7296:34;;;;7346:18;;;7339:34;7410:15;;;7389:19;;;7382:44;16447:15:0::1;7442:19:1::0;;;7435:35;7144:19;;16334:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16481:13:0::1;::::0;16512:15:::1;::::0;16474:71:::1;::::0;-1:-1:-1;;;16474:71:0;;-1:-1:-1;;;;;16512:15:0;;::::1;16474:71;::::0;::::1;7966:51:1::0;-1:-1:-1;;8033:18:1;;;8026:34;16481:13:0;::::1;::::0;-1:-1:-1;16474:29:0::1;::::0;7939:18:1;;16474:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;16556:11:0::1;:18:::0;;-1:-1:-1;;;;16585:17:0;-1:-1:-1;;;16585:17:0;;;16628:12:::1;16613;:27:::0;15827:821::o;9659:102::-;9712:7;8237:13;8174:1;8237:2;:13;:::i;:::-;8224:26;;:10;:26;:::i;:::-;9732:21;;9659:102;:::o;10391:313::-;10489:4;10506:36;10516:6;10524:9;10535:6;10506:9;:36::i;:::-;10553:121;10562:6;3976:10;10584:89;10622:6;10584:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10584:19:0;;;;;;:11;:19;;;;;;;;3976:10;10584:33;;;;;;;;;;:37;:89::i;10553:121::-;-1:-1:-1;10692:4:0;10391:313;;;;;:::o;15023:145::-;15095:9;;-1:-1:-1;;;;;15095:9:0;3976:10;-1:-1:-1;;;;;15079:25:0;;15071:34;;;;;;15116:44;;-1:-1:-1;;;;;15116:21:0;;;15138;15116:44;;;;;;;;;15138:21;15116;:44;;;;;;;;;;;;;;;;;;;;;15023:145;:::o;15513:207::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;8237:13:::1;8174:1;8237:2;:13;:::i;:::-;8224:26;::::0;:10:::1;:26;:::i;:::-;15563:13;:28:::0;8237:13:::1;8174:1;8237:2;:13;:::i;:::-;8224:26;::::0;:10:::1;:26;:::i;:::-;15602:17;:32:::0;15645:12:::1;:18:::0;;-1:-1:-1;;;;15645:18:0::1;::::0;;15679:33:::1;8237:13;8174:1;8237:2;:13;:::i;:::-;8224:26;::::0;:10:::1;:26;:::i;:::-;15679:33;::::0;1361:25:1;;;1349:2;1334:18;15679:33:0::1;;;;;;;15513:207::o:0;6355:148::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;6462:1:::1;6446:6:::0;;6425:40:::1;::::0;-1:-1:-1;;;;;6446:6:0;;::::1;::::0;6425:40:::1;::::0;6462:1;;6425:40:::1;6493:1;6476:19:::0;;-1:-1:-1;;;;;;6476:19:0::1;::::0;;6355:148::o;14791:113::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14870:17:0;;;::::1;;::::0;;;:11:::1;:17;::::0;;;;:26;;-1:-1:-1;;14870:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14791:113::o;15370:135::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;15451:6:::1;:16:::0;;;;15478:7:::1;:18:::0;15370:135::o;9896:167::-;9974:4;9991:42;3976:10;10015:9;10026:6;9991:9;:42::i;14915:100::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;14985:12:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;14985:22:0::1;-1:-1:-1::0;;;;14985:22:0;;::::1;::::0;;;::::1;::::0;;14915:100::o;15176:186::-;15292:9;;-1:-1:-1;;;;;15292:9:0;3976:10;-1:-1:-1;;;;;15276:25:0;;15268:34;;;;;;15313:41;;-1:-1:-1;;;15313:41:0;;-1:-1:-1;;;;;7984:32:1;;;15313:41:0;;;7966:51:1;8033:18;;;8026:34;;;15313:27:0;;;;;7939:18:1;;15313:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15176:186;;;:::o;11055:96::-;6268:6;;-1:-1:-1;;;;;6268:6:0;3976:10;6268:22;6260:67;;;;-1:-1:-1;;;6260:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11118:18:0::1;;::::0;;;:12:::1;:18;::::0;;;;:25;;-1:-1:-1;;11118:25:0::1;11139:4;11118:25;::::0;;11055:96::o;10712:335::-;-1:-1:-1;;;;;10805:19:0;;10797:68;;;;-1:-1:-1;;;10797:68:0;;8523:2:1;10797:68:0;;;8505:21:1;8562:2;8542:18;;;8535:30;8601:34;8581:18;;;8574:62;-1:-1:-1;;;8652:18:1;;;8645:34;8696:19;;10797:68:0;8321:400:1;10797:68:0;-1:-1:-1;;;;;10884:21:0;;10876:68;;;;-1:-1:-1;;;10876:68:0;;8928:2:1;10876:68:0;;;8910:21:1;8967:2;8947:18;;;8940:30;9006:34;8986:18;;;8979:62;-1:-1:-1;;;9057:18:1;;;9050:32;9099:19;;10876:68:0;8726:398:1;10876:68:0;-1:-1:-1;;;;;10955:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11007:32;;1361:25:1;;;11007:32:0;;1334:18:1;11007:32:0;;;;;;;10712:335;;;:::o;11159:2822::-;-1:-1:-1;;;;;11247:18:0;;11239:68;;;;-1:-1:-1;;;11239:68:0;;9331:2:1;11239:68:0;;;9313:21:1;9370:2;9350:18;;;9343:30;9409:34;9389:18;;;9382:62;-1:-1:-1;;;9460:18:1;;;9453:35;9505:19;;11239:68:0;9129:401:1;11239:68:0;-1:-1:-1;;;;;11326:16:0;;11318:64;;;;-1:-1:-1;;;11318:64:0;;9737:2:1;11318:64:0;;;9719:21:1;9776:2;9756:18;;;9749:30;9815:34;9795:18;;;9788:62;-1:-1:-1;;;9866:18:1;;;9859:33;9909:19;;11318:64:0;9535:399:1;11318:64:0;11410:1;11401:6;:10;11393:64;;;;-1:-1:-1;;;11393:64:0;;10141:2:1;11393:64:0;;;10123:21:1;10180:2;10160:18;;;10153:30;10219:34;10199:18;;;10192:62;-1:-1:-1;;;10270:18:1;;;10263:39;10319:19;;11393:64:0;9939:405:1;11393:64:0;-1:-1:-1;;;;;11503:18:0;;11468;11503;;;:12;:18;;;;;;;;:41;;;;-1:-1:-1;;;;;;11525:19:0;;11539:4;11525:19;;11503:41;11499:102;;;11569:9;-1:-1:-1;;;;;11569:15:0;;;11561:24;;;;;;6179:7;6206:6;-1:-1:-1;;;;;11615:15:0;;;6206:6;;11615:15;;;;:32;;-1:-1:-1;6179:7:0;6206:6;-1:-1:-1;;;;;11634:13:0;;;6206:6;;11634:13;;11615:32;11611:2009;;;11677:97;11770:3;11677:88;11703:8;;11689:12;;:22;11688:76;;11738:8;;11724:12;;:22;11723:40;;11757:6;;11688:76;;11723:40;11749:6;;11688:76;;;11714:6;;11688:76;11677:6;;:10;:88::i;:::-;:92;;:97::i;:::-;11807:12;;11664:110;;-1:-1:-1;;;;11807:12:0;;;;11803:328;;;11858:15;;-1:-1:-1;;;;;11844:30:0;;;11858:15;;11844:30;;;;:62;;-1:-1:-1;11892:13:0;;-1:-1:-1;;;;;11878:28:0;;;11892:13;;11878:28;;11844:62;11840:276;;;11961:9;11937:34;;;;:23;:34;;;;;;11974:12;-1:-1:-1;11929:97:0;;;;-1:-1:-1;;;11929:97:0;;10551:2:1;11929:97:0;;;10533:21:1;10590:2;10570:18;;;10563:30;10629:34;10609:18;;;10602:62;-1:-1:-1;;;10680:18:1;;;10673:34;10724:19;;11929:97:0;10349:400:1;11929:97:0;12071:9;12047:34;;;;:23;:34;;;;;12084:12;12047:49;;11840:276;-1:-1:-1;;;;;12149:18:0;;;;;;:12;:18;;;;;;;;:52;;;;-1:-1:-1;12185:15:0;;-1:-1:-1;;;;;12171:30:0;;;12185:15;;12171:30;;12149:52;:73;;;;-1:-1:-1;;;;;;12207:15:0;;;;;;:11;:15;;;;;;;;12205:17;12149:73;12145:436;;;12262:13;;12252:6;:23;;12244:62;;;;-1:-1:-1;;;12244:62:0;;10956:2:1;12244:62:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:28;11014:18;;;11007:56;11080:18;;12244:62:0;10754:350:1;12244:62:0;12359:17;;12349:6;12333:13;12343:2;-1:-1:-1;;;;;9862:18:0;9835:7;9862:18;;;:9;:18;;;;;;;9769:119;12333:13;:22;;;;:::i;:::-;:43;;12325:82;;;;-1:-1:-1;;;12325:82:0;;11441:2:1;12325:82:0;;;11423:21:1;11480:2;11460:18;;;11453:30;11519:28;11499:18;;;11492:56;11565:18;;12325:82:0;11239:350:1;12325:82:0;12452:12;12432;;12447:1;12432:16;;;;:::i;:::-;:32;12428:105;;;14228:20;;14276:8;12489:24;;;;;;12551:12;:14;;;:12;:14;;;:::i;:::-;;;;;;12145:436;-1:-1:-1;;;;;12602:16:0;;;;;;:12;:16;;;;;;;;12601:17;:38;;;;-1:-1:-1;;;;;;12624:15:0;;;;;;:11;:15;;;;;;;;12622:17;12601:38;12597:161;;;12694:17;;12684:6;12668:13;12678:2;-1:-1:-1;;;;;9862:18:0;9835:7;9862:18;;;:9;:18;;;;;;;9769:119;12668:13;:22;;;;:::i;:::-;:43;;12660:82;;;;-1:-1:-1;;;12660:82:0;;11441:2:1;12660:82:0;;;11423:21:1;11480:2;11460:18;;;11453:30;11519:28;11499:18;;;11492:56;11565:18;;12660:82:0;11239:350:1;12660:82:0;-1:-1:-1;;;;;12777:16:0;;;;;;:12;:16;;;;;;;;:40;;;;-1:-1:-1;;;;;;12797:20:0;;12812:4;12797:20;;12777:40;12774:195;;;12851:102;12949:3;12851:93;12877:9;;12863:12;;:23;12862:81;;12914:9;;12900:12;;:23;12899:43;;12935:7;;12862:81;;12899:43;12926:7;;12862:81;;;12889:7;;12851:6;;:10;:93::i;:102::-;12838:115;;12774:195;-1:-1:-1;;;;;12990:18:0;;;;;;:12;:18;;;;;;;;12989:19;:40;;;;-1:-1:-1;;;;;;13013:16:0;;;;;;:12;:16;;;;;;;;13012:17;12989:40;:64;;;;-1:-1:-1;;;;;;13033:20:0;;13048:4;13033:20;;12989:64;12985:120;;;-1:-1:-1;13088:1:0;12985:120;13170:4;13121:28;9862:18;;;:9;:18;;;;;;13196:6;;-1:-1:-1;;;13196:6:0;;;;13195:7;:27;;;;-1:-1:-1;;;;;;13206:16:0;;;;;;:12;:16;;;;;;;;13195:27;:42;;;;-1:-1:-1;13226:11:0;;-1:-1:-1;;;13226:11:0;;;;13195:42;:85;;;;;13262:18;;13241:20;:39;13195:85;:116;;;;;13297:14;;13284:12;;:27;13195:116;13191:418;;;13332:69;13349:51;13353:6;13360:39;13364:20;13385:13;;13360:3;:39::i;:::-;13349:3;:51::i;:::-;13332:16;:69::i;:::-;13449:21;13492:22;;13489:105;;13539:35;13552:21;13539:12;:35::i;:::-;13313:296;13191:418;11649:1971;11611:2009;13635:12;;13632:164;;13704:4;13686:24;;;;:9;:24;;;;;;:40;;13715:10;13686:28;:40::i;:::-;13679:4;13661:24;;;;:9;:24;;;;;;;:65;;;;13744:40;;-1:-1:-1;;;;;13744:40:0;;;;;;;13773:10;1361:25:1;;1349:2;1334:18;;1215:177;13744:40:0;;;;;;;;13632:164;-1:-1:-1;;;;;13822:15:0;;;;;;:9;:15;;;;;;:27;;13842:6;13822:19;:27::i;:::-;-1:-1:-1;;;;;13806:15:0;;;;;;:9;:15;;;;;:43;13874:41;13892:22;:6;13903:10;13892;:22::i;:::-;-1:-1:-1;;;;;13874:13:0;;;;;;:9;:13;;;;;;;:17;:41::i;:::-;-1:-1:-1;;;;;13860:13:0;;;;;;;:9;:13;;;;;:55;;;;13931:42;;;13950:22;:6;13961:10;13950;:22::i;:::-;13931:42;;1361:25:1;;;1349:2;1334:18;13931:42:0;;;;;;;11228:2753;11159:2822;;;:::o;5033:190::-;5119:7;5155:12;5147:6;;;;5139:29;;;;-1:-1:-1;;;5139:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5179:9:0;5191:5;5195:1;5191;:5;:::i;:::-;5179:17;5033:190;-1:-1:-1;;;;;5033:190:0:o;5231:246::-;5289:7;5313:1;5318;5313:6;5309:47;;-1:-1:-1;5343:1:0;5336:8;;5309:47;5366:9;5378:5;5382:1;5378;:5;:::i;:::-;5366:17;-1:-1:-1;5411:1:0;5402:5;5406:1;5366:17;5402:5;:::i;:::-;:10;5394:56;;;;-1:-1:-1;;;5394:56:0;;12291:2:1;5394:56:0;;;12273:21:1;12330:2;12310:18;;;12303:30;12369:34;12349:18;;;12342:62;-1:-1:-1;;;12420:18:1;;;12413:31;12461:19;;5394:56:0;12089:397:1;5394:56:0;5468:1;5231:246;-1:-1:-1;;;5231:246:0:o;5485:132::-;5543:7;5570:39;5574:1;5577;5570:39;;;;;;;;;;;;;;;;;:3;:39::i;13991:98::-;14048:7;14075:1;14073;:3;14072:9;;14080:1;14072:9;;;-1:-1:-1;14078:1:0;13991:98;-1:-1:-1;13991:98:0:o;14300:483::-;8935:6;:13;;-1:-1:-1;;;;8935:13:0;-1:-1:-1;;;8935:13:0;;;14402:16:::1;::::0;;14416:1:::1;14402:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14402:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14402:16:0::1;14378:40;;14447:4;14429;14434:1;14429:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14429:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14473:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14473:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14429:7;;14473:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14463:4;14468:1;14463:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14463:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14538:15:::1;::::0;14506:62:::1;::::0;14523:4:::1;::::0;14538:15:::1;14556:11:::0;14506:8:::1;:62::i;:::-;14579:15;::::0;:196:::1;::::0;-1:-1:-1;;;14579:196:0;;-1:-1:-1;;;;;14579:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14660:11;;14579:15:::1;::::0;14702:4;;14729::::1;::::0;14749:15:::1;::::0;14579:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8973:6:0;:14;;-1:-1:-1;;;;8973:14:0;;;-1:-1:-1;;;;14300:483:0:o;15728:91::-;15785:9;;:26;;-1:-1:-1;;;;;15785:9:0;;;;:26;;;;;15804:6;;15785:9;:26;:9;:26;15804:6;15785:9;:26;;;;;;;;;;;;;;;;;;;4702:179;4760:7;;4792:5;4796:1;4792;:5;:::i;:::-;4780:17;;4821:1;4816;:6;;4808:46;;;;-1:-1:-1;;;4808:46:0;;13942:2:1;4808:46:0;;;13924:21:1;13981:2;13961:18;;;13954:30;14020:29;14000:18;;;13993:57;14067:18;;4808:46:0;13740:351:1;4889:136:0;4947:7;4974:43;4978:1;4981;4974:43;;;;;;;;;;;;;;;;;:3;:43::i;5625:189::-;5711:7;5746:12;5739:5;5731:28;;;;-1:-1:-1;;;5731:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5770:9:0;5782:5;5786:1;5782;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:382;2695:6;2703;2756:2;2744:9;2735:7;2731:23;2727:32;2724:52;;;2772:1;2769;2762:12;2724:52;2811:9;2798:23;2830:31;2855:5;2830:31;:::i;:::-;2880:5;-1:-1:-1;2937:2:1;2922:18;;2909:32;2950:30;2909:32;2950:30;:::i;:::-;2999:7;2989:17;;;2630:382;;;;;:::o;3017:248::-;3085:6;3093;3146:2;3134:9;3125:7;3121:23;3117:32;3114:52;;;3162:1;3159;3152:12;3114:52;-1:-1:-1;;3185:23:1;;;3255:2;3240:18;;;3227:32;;-1:-1:-1;3017:248:1:o;3270:241::-;3326:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:52;;;3395:1;3392;3385:12;3347:52;3434:9;3421:23;3453:28;3475:5;3453:28;:::i;3516:388::-;3584:6;3592;3645:2;3633:9;3624:7;3620:23;3616:32;3613:52;;;3661:1;3658;3651:12;3613:52;3700:9;3687:23;3719:31;3744:5;3719:31;:::i;:::-;3769:5;-1:-1:-1;3826:2:1;3811:18;;3798:32;3839:33;3798:32;3839:33;:::i;3909:356::-;4111:2;4093:21;;;4130:18;;;4123:30;4189:34;4184:2;4169:18;;4162:62;4256:2;4241:18;;3909:356::o;4622:127::-;4683:10;4678:3;4674:20;4671:1;4664:31;4714:4;4711:1;4704:15;4738:4;4735:1;4728:15;4754:416;4843:1;4880:5;4843:1;4894:270;4915:7;4905:8;4902:21;4894:270;;;4974:4;4970:1;4966:6;4962:17;4956:4;4953:27;4950:53;;;4983:18;;:::i;:::-;5033:7;5023:8;5019:22;5016:55;;;5053:16;;;;5016:55;5132:22;;;;5092:15;;;;4894:270;;;4898:3;4754:416;;;;;:::o;5175:806::-;5224:5;5254:8;5244:80;;-1:-1:-1;5295:1:1;5309:5;;5244:80;5343:4;5333:76;;-1:-1:-1;5380:1:1;5394:5;;5333:76;5425:4;5443:1;5438:59;;;;5511:1;5506:130;;;;5418:218;;5438:59;5468:1;5459:10;;5482:5;;;5506:130;5543:3;5533:8;5530:17;5527:43;;;5550:18;;:::i;:::-;-1:-1:-1;;5606:1:1;5592:16;;5621:5;;5418:218;;5720:2;5710:8;5707:16;5701:3;5695:4;5692:13;5688:36;5682:2;5672:8;5669:16;5664:2;5658:4;5655:12;5651:35;5648:77;5645:159;;;-1:-1:-1;5757:19:1;;;5789:5;;5645:159;5836:34;5861:8;5855:4;5836:34;:::i;:::-;5906:6;5902:1;5898:6;5894:19;5885:7;5882:32;5879:58;;;5917:18;;:::i;:::-;5955:20;;5175:806;-1:-1:-1;;;5175:806:1:o;5986:140::-;6044:5;6073:47;6114:4;6104:8;6100:19;6094:4;6073:47;:::i;6131:168::-;6204:9;;;6235;;6252:15;;;6246:22;;6232:37;6222:71;;6273:18;;:::i;6304:251::-;6374:6;6427:2;6415:9;6406:7;6402:23;6398:32;6395:52;;;6443:1;6440;6433:12;6395:52;6475:9;6469:16;6494:31;6519:5;6494:31;:::i;7481:306::-;7569:6;7577;7585;7638:2;7626:9;7617:7;7613:23;7609:32;7606:52;;;7654:1;7651;7644:12;7606:52;7683:9;7677:16;7667:26;;7733:2;7722:9;7718:18;7712:25;7702:35;;7777:2;7766:9;7762:18;7756:25;7746:35;;7481:306;;;;;:::o;8071:245::-;8138:6;8191:2;8179:9;8170:7;8166:23;8162:32;8159:52;;;8207:1;8204;8197:12;8159:52;8239:9;8233:16;8258:28;8280:5;8258:28;:::i;11109:125::-;11174:9;;;11195:10;;;11192:36;;;11208:18;;:::i;11594:135::-;11633:3;11654:17;;;11651:43;;11674:18;;:::i;:::-;-1:-1:-1;11721:1:1;11710:13;;11594:135::o;11734:128::-;11801:9;;;11822:11;;;11819:37;;;11836:18;;:::i;11867:217::-;11907:1;11933;11923:132;;11977:10;11972:3;11968:20;11965:1;11958:31;12012:4;12009:1;12002:15;12040:4;12037:1;12030:15;11923:132;-1:-1:-1;12069:9:1;;11867:217::o;12623:127::-;12684:10;12679:3;12675:20;12672:1;12665:31;12715:4;12712:1;12705:15;12739:4;12736:1;12729:15;12755:980;13017:4;13065:3;13054:9;13050:19;13096:6;13085:9;13078:25;13122:2;13160:6;13155:2;13144:9;13140:18;13133:34;13203:3;13198:2;13187:9;13183:18;13176:31;13227:6;13262;13256:13;13293:6;13285;13278:22;13331:3;13320:9;13316:19;13309:26;;13370:2;13362:6;13358:15;13344:29;;13391:1;13401:195;13415:6;13412:1;13409:13;13401:195;;;13480:13;;-1:-1:-1;;;;;13476:39:1;13464:52;;13571:15;;;;13536:12;;;;13512:1;13430:9;13401:195;;;-1:-1:-1;;;;;;;13652:32:1;;;;13647:2;13632:18;;13625:60;-1:-1:-1;;;13716:3:1;13701:19;13694:35;13613:3;12755:980;-1:-1:-1;;;12755:980:1:o

Swarm Source

ipfs://745a21a51f311f64ced6c5516e3e61840b9b5943291c1a99c7ca3b26ab7a2ca0

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.