Contract 0x21F9B5b2626603e3F40bfc13d01AfB8c431D382F 7

 

Contract Overview

Balance:
1 wei

MATIC Value:
Less Than $0.01 (@ $0.84/MATIC)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xd2601404035c5537c5192137e173f582282dd62974e67f16a36c1eb9c4750158Approve339701092022-10-05 17:24:371 day 19 mins ago0x9aa8e45c0e22b06993c589b550eac6fd0b1095d0 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00139878 30.000000016
0x94f2a511c8d2245b9f8aeb40805bba3f0f1d6d1468c5f3a4c41927350aa0f42bApprove322765312022-08-24 18:38:4942 days 23 hrs ago0x43c5a52194551f384d9000604dba6758d97b7905 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.007070850067 151.650368203
0x985de3d9b3900971e3b3b6532d8181f0e34e37ce30500be0a510c32ca09845f0Approve319646912022-08-16 17:18:1451 days 25 mins ago0xc11a0554e5724e4bbeddaa176e9f205defdf0b68 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.001495221299 32.068401749
0x5928dc827079dbc1be79e3f34bb9d8359112d8ecfb373e08b6675eccb118f7a4Transfer318570842022-08-13 21:34:5453 days 20 hrs ago0xee0232e292ee48203656e18c8b1d9e7fe5ede212 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.000974485 31.000000002
0x884fb3c8f58250999e909b42010e8bfd73033a75efb3692108a000a3296c19feTransfer318567672022-08-13 21:24:0053 days 20 hrs ago0xee0232e292ee48203656e18c8b1d9e7fe5ede212 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00094305 30.000000014
0xe23b1379169bc8b83ae8da0b61630e0269bef912a3d2d9f5a6f9b110ebfcccdcTransfer318346262022-08-13 6:49:2554 days 10 hrs ago0xee0232e292ee48203656e18c8b1d9e7fe5ede212 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.000943050002 30.000000085
0xbb4ae7543ce7dba68753d70c59ea10d8c4d170c0bf6b05d841f5e449d892ef90Transfer317743262022-08-11 16:19:5456 days 1 hr ago0xee0232e292ee48203656e18c8b1d9e7fe5ede212 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.0019010135 60.474423431
0x99c2227dac18bf231328cc860a498358f03bff1e9f553143c361cc01509dd2c8Approve314221132022-08-02 5:50:0665 days 11 hrs ago0x9aa8e45c0e22b06993c589b550eac6fd0b1095d0 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.004476096 96
0xc21b386b488e891ae5dd3c194a1365d0a225f203807167b587dcae2e4c1f6d8eApprove313621412022-07-31 17:47:3666 days 23 hrs ago0x4dedc5519d4f0db8ee4f3ab4d232fc145dc053b6 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.001507884841 32.340000032
0xa0a6f5b80766460180f2d7a77630bff38ad203be9eef8c8a416277132c9eb061Transfer311809502022-07-27 3:03:4871 days 14 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.003663906648116.510530368
0x4fece71a4df150a8623a548706f4714c044d53d9b6c62cd5a4148df48e47c7d2Transfer311800482022-07-27 2:32:4871 days 15 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00108324683234.446746352
0xcd16ccccec436e1127a5b6b2114ea2826f206b40af1ea28e4b6409a3b724c27fTransfer311757122022-07-27 0:01:3371 days 17 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00103937858333.07700039
0x4eef7516c4a357696202c969939644ebf39fb3a7e79984497ac13d9fda5e10d5Transfer311746372022-07-26 23:23:5771 days 18 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00103737176333.013135716
0x27d87e42d75e28b7a088cc348b78b34253d8eed91252280258b5417be131fc1fTransfer311547102022-07-26 10:40:0072 days 7 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00154933620949.286979792
0x24d6a2dfd9ef09dc9d33cfb9eead84b1307f18302f23b0954c5b3d770db18014Transfer311534732022-07-26 9:46:4772 days 7 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00108765717334.600196403
0x54f56756065aa83357f1b0567d6620afce4afc9ef69d935da610be618ca9caf6Transfer311232022022-07-25 13:23:4073 days 4 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00149647991747.605532613
0xa4d29a923aa8542c51773a0a3aa3c3efab668bdcd0c0735271b299a6acedc805Transfer311225762022-07-25 12:54:4073 days 4 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00106486652433.875187684
0x57faa8c6b58575be215b22d266b738f6d3c3e2bf75f820bfe0ba4754db96eeebTransfer311062482022-07-25 1:43:3673 days 16 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00103739836933.001379667
0x2c63eb16ff9cfa2b4a8e29fefedf7cf3dd3cfcb64d96bfde5320f453a5571d0aTransfer311055732022-07-25 1:18:1473 days 16 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00103736671433.000372659
0x0f89270dfec7c62e030bc291372acb8ed487eb2e213f238fe9e5bd1eed22a51cApprove310838812022-07-24 11:18:1774 days 6 hrs ago0x98e291697d3a179e231e640c3c91fa8e259b243c IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.001599254115 34.29962072
0x5f451730229f778cb4ae779d2adf8da0c26509ee999993633f009d6d47c88287Transfer310678222022-07-24 1:03:1574 days 16 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00103775113533.000004303
0xcf0390990b562cee1bae17fd127e566b89bbf4fd5e00ae198160b8c0b09b8f80Transfer310669442022-07-24 0:26:3674 days 17 hrs ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.0011391565736.224650056
0xa81d5943eb45cca6b4af5d36dfd8962a625a53053197a8cdcf82859123325e90Approve310073012022-07-22 9:43:1976 days 8 hrs ago0xd429a02457c38e534ddeb0dc9d304b20d0f5ef42 IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.001405863696 30.151925888
0xf88bd05aa61c8576ba4bb8ab994df4da654a8ae77250c893c89fb49bbfbeedd5Transfer309825882022-07-21 17:21:5077 days 22 mins ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00140620192144.733638347
0xba23989f83312e45131ff7cceeb9a2c46580145637230497e55eecab36786dc9Transfer309819292022-07-21 16:57:0477 days 46 mins ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0 MATIC0.00107584605534.224464943
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x380cc99a62a7791f478dfce05c047fe6ade336c119bc9874bf972872a8daee77307362402022-07-15 2:34:2783 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f QuickSwap: Router2.739262576434014298 MATIC
0x380cc99a62a7791f478dfce05c047fe6ade336c119bc9874bf972872a8daee77307362402022-07-15 2:34:2783 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f2.739262576434014298 MATIC
0x380cc99a62a7791f478dfce05c047fe6ade336c119bc9874bf972872a8daee77307362402022-07-15 2:34:2783 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0xb3962f88ae49761618e4e2bacac22d6be55c4be610.958287466680930323 MATIC
0x380cc99a62a7791f478dfce05c047fe6ade336c119bc9874bf972872a8daee77307362402022-07-15 2:34:2783 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0x2c6fd9269c28de1ca4a3c46e7d47447effaab8c110.958287466680930323 MATIC
0x380cc99a62a7791f478dfce05c047fe6ade336c119bc9874bf972872a8daee77307362402022-07-15 2:34:2783 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f21.916574933361860647 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f QuickSwap: Router0.000001583868361442 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0.000001583868361442 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0xb3962f88ae49761618e4e2bacac22d6be55c4be60.000006335473446237 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0x2c6fd9269c28de1ca4a3c46e7d47447effaab8c10.000006335473446237 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0.000012670946892473 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f QuickSwap: Router0.005279603711099437 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0.005279603711099437 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0xb3962f88ae49761618e4e2bacac22d6be55c4be60.021118419433474105 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0x2c6fd9269c28de1ca4a3c46e7d47447effaab8c10.021118419433474105 MATIC
0x39a1b17af98dc4112a42ad642d13d9857370356e8b65e7dfe85641ae4a6604df307351192022-07-15 1:53:4983 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0.04223683886694821 MATIC
0x67d2965e844368efdf518f9e45334700d7fdd77e10842107cae3931d5ccea9db307351002022-07-15 1:53:0783 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f QuickSwap: Router18.098159460818019698 MATIC
0x67d2965e844368efdf518f9e45334700d7fdd77e10842107cae3931d5ccea9db307351002022-07-15 1:53:0783 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f18.098159460818019698 MATIC
0x67d2965e844368efdf518f9e45334700d7fdd77e10842107cae3931d5ccea9db307351002022-07-15 1:53:0783 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0xb3962f88ae49761618e4e2bacac22d6be55c4be672.446603180917315951 MATIC
0x67d2965e844368efdf518f9e45334700d7fdd77e10842107cae3931d5ccea9db307351002022-07-15 1:53:0783 days 15 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0x2c6fd9269c28de1ca4a3c46e7d47447effaab8c172.446603180917315951 MATIC
0x67d2965e844368efdf518f9e45334700d7fdd77e10842107cae3931d5ccea9db307351002022-07-15 1:53:0783 days 15 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f144.893206361834631902 MATIC
0xd1d6725dca3e094c576d0213985e231412bc5b84b8b7c7a17e65bae7cfabeaae307323852022-07-15 0:13:2583 days 17 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f QuickSwap: Router0.000001340287915296 MATIC
0xd1d6725dca3e094c576d0213985e231412bc5b84b8b7c7a17e65bae7cfabeaae307323852022-07-15 0:13:2583 days 17 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0.000001340287915296 MATIC
0xd1d6725dca3e094c576d0213985e231412bc5b84b8b7c7a17e65bae7cfabeaae307323852022-07-15 0:13:2583 days 17 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0xb3962f88ae49761618e4e2bacac22d6be55c4be60.000005361151661507 MATIC
0xd1d6725dca3e094c576d0213985e231412bc5b84b8b7c7a17e65bae7cfabeaae307323852022-07-15 0:13:2583 days 17 hrs ago 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0x2c6fd9269c28de1ca4a3c46e7d47447effaab8c10.000005361151661507 MATIC
0xd1d6725dca3e094c576d0213985e231412bc5b84b8b7c7a17e65bae7cfabeaae307323852022-07-15 0:13:2583 days 17 hrs ago QuickSwap: Router 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f0.000010722303323014 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ZombieInu

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-01-22
*/

/*

Zombie Inu (ZINU) 

Linktree :
https://linktr.ee/ZombieInu

Website: 
https://zombieinu.io

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() 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
        );
}

contract ZombieInu is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Zombie Inu";
    string private constant _symbol = "ZINU";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    //Buy Fee
    uint256 private _redisFeeOnBuy = 1;
    uint256 private _marketingFeeOnBuy = 7;
    uint256 private _liquidityFeeOnBuy = 2;
    
    //Sell Fee
    uint256 private _redisFeeOnSell = 1;
    uint256 private _marketingFeeOnSell = 7;
    uint256 private _liquidityFeeOnSell = 2;
    
    //Total Fee
    uint private totalBuyFee = _redisFeeOnBuy.add(_marketingFeeOnBuy).add(_liquidityFeeOnBuy);
    uint private totalSellFee = _redisFeeOnSell.add(_marketingFeeOnSell).add(_liquidityFeeOnSell);
    
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _marketingFeeOnSell.add(_liquidityFeeOnSell);
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    
    mapping(address => bool) public bots;
    mapping (address => bool) public preTrader;
    
    address payable constant private _developmentAddress = payable(0x2c6fd9269C28DE1cA4a3c46e7d47447eFFAAB8C1);
    address payable constant private _marketingAddress = payable(0xb3962F88aE49761618e4E2baCAC22D6be55c4BE6);
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = _tTotal.mul(3).div(10000); //0.3%
    uint256 public _maxWalletSize = _tTotal.mul(5).div(10000); //1%
    uint256 public _swapTokensAtAmount = 10 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        
        preTrader[owner()] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        
        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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 _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");

        if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) {
            
            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }
              
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                
                uint256 liquidityTokens = contractTokenBalance.mul(_liquidityFeeOnSell).div(totalSellFee);
                uint256 marketingTokens = contractTokenBalance.sub(liquidityTokens);
                
                swapTokensForEth(marketingTokens);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(contractETHBalance);
                }
                swapAndLiquify(liquidityTokens);
            }
        }
        
        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _marketingFeeOnBuy.add(_liquidityFeeOnBuy);
            }
    
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _marketingFeeOnSell.add(_liquidityFeeOnSell);
            }
            
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    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 swapAndLiquify(uint256 tokens) private {
        
        // split the contract balance into halves
        uint256 half = tokens.div(2);
        uint256 otherHalf = tokens.sub(half);

        // capture the contract's current ETH balance.
        // this is so that we can capture exactly the amount of ETH that the
        // swap creates, and not make the liquidity event include any ETH that
        // has been manually sent to the contract
        uint256 initialBalance = address(this).balance;

        // swap tokens for ETH
        swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered

        // how much ETH did we just swap into?
        uint256 newBalance = address(this).balance.sub(initialBalance);

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);
    }
    
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {

        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner());
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner());
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    
        return (rSupply, tSupply);
    }
    
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 marketingFeeOnBuy, uint256 marketingFeeOnSell, uint256 liquidityFeeOnBuy, uint256 liquidityFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        
        _marketingFeeOnBuy = marketingFeeOnBuy;
        _marketingFeeOnSell = marketingFeeOnSell;
        
        _liquidityFeeOnBuy = liquidityFeeOnBuy;
        _liquidityFeeOnSell = liquidityFeeOnSell;
        
        totalBuyFee = _redisFeeOnBuy.add(_marketingFeeOnBuy).add(_liquidityFeeOnBuy);
        totalSellFee = _redisFeeOnSell.add(_marketingFeeOnSell).add(_liquidityFeeOnSell);
    
    }
    
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
    
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    //Set MAx transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function allowPreTrading(address account, bool allowed) public onlyOwner {
        require(preTrader[account] != allowed, "TOKEN: Already enabled.");
        preTrader[account] = allowed;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"allowPreTrading","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":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"marketingFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"marketingFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"liquidityFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"liquidityFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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"},{"stateMutability":"payable","type":"receive"}]

60806040526200001c69d3c21bcecceda1000000600019620006e1565b6200002a90600019620006c7565b6005556001600755600760085560026009556001600a556007600b556002600c5562000084600954620000706008546007546200047360201b62000cef1790919060201c565b6200047360201b62000cef1790919060201c565b600d55620000ac600c5462000070600b54600a546200047360201b62000cef1790919060201c565b600e55600a54600f55620000d3600c54600b546200047360201b62000cef1790919060201c565b6010819055600f5460115560125560168054600160b01b61ffff60a81b19909116179055620001356127106200012169d3c21bcecceda10000006003620004e3602090811b62000d5517901c565b6200056a60201b62000dd41790919060201c565b6017556200016461271062000121600569d3c21bcecceda1000000620004e360201b62000d551790919060201c565b6018556402540be4006019553480156200017d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526002602090815260409182902092909255601580546001600160a01b03191673a5e0829caced8ffdd4de3c43696c57f7d7a678ff908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200023657600080fd5b505afa1580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002719190620005f0565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ba57600080fd5b505afa158015620002cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f59190620005f0565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200033e57600080fd5b505af115801562000353573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003799190620005f0565b601680546001600160a01b0319166001600160a01b039283161790556000805482168152600460209081526040808320805460ff19908116600190811790925530855282852080548216831790557f35e699ca59474845892ebfd7e0d4d1c232f1cc56fdfd74dd6183f4745fc9428980548216831790557ffc065373ba6d613a9a93ba9f9c99a77b8a3c8b2c8654d9105864aa5bfc00221580548216831790558454909516845260148352818420805490951617909355915169d3c21bcecceda1000000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000724565b60008062000482838562000673565b905083811015620004da5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b600082620004f457506000620004dd565b6000620005028385620006a5565b9050826200051185836200068e565b14620004da5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620004d1565b6000620004da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005b460201b60201c565b60008183620005d85760405162461bcd60e51b8152600401620004d191906200061b565b506000620005e784866200068e565b95945050505050565b6000602082840312156200060357600080fd5b81516001600160a01b0381168114620004da57600080fd5b600060208083528351808285015260005b818110156200064a578581018301518582016040015282016200062c565b818111156200065d576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115620006895762000689620006f8565b500190565b600082620006a057620006a06200070e565b500490565b6000816000190483118215151615620006c257620006c2620006f8565b500290565b600082821015620006dc57620006dc620006f8565b500390565b600082620006f357620006f36200070e565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6121f080620007346000396000f3fe6080604052600436106101db5760003560e01c806374010ece11610102578063bd9a3b6d11610095578063c492f04611610064578063c492f04614610585578063dd62ed3e146105a5578063ea1644d5146105eb578063f2fde38b1461060b57600080fd5b8063bd9a3b6d146104f0578063bdd795ef14610510578063bfd7928414610540578063c3c8cd801461057057600080fd5b80638f9a55c0116100d15780638f9a55c01461046d57806395d89b411461048357806398a5c315146104b0578063a9059cbb146104d057600080fd5b806374010ece146103f95780637d1db4a5146104195780638da5cb5b1461042f5780638f70ccf71461044d57600080fd5b80632fd689e31161017a5780636d8aa8f8116101495780636d8aa8f81461038f5780636fc3eaec146103af57806370a08231146103c4578063715018a6146103e457600080fd5b80632fd689e31461031d578063313ce5671461033357806349bd5a5e1461034f5780636b9990531461036f57600080fd5b80631694505e116101b65780631694505e1461027e57806318160ddd146102b657806323b872dd146102dd5780632f9c4569146102fd57600080fd5b8062b8cf2a146101e757806306fdde0314610209578063095ea7b31461024e57600080fd5b366101e257005b600080fd5b3480156101f357600080fd5b50610207610202366004611e44565b61062b565b005b34801561021557600080fd5b5060408051808201909152600a8152695a6f6d62696520496e7560b01b60208201525b6040516102459190611fb5565b60405180910390f35b34801561025a57600080fd5b5061026e610269366004611d94565b6106ca565b6040519015158152602001610245565b34801561028a57600080fd5b5060155461029e906001600160a01b031681565b6040516001600160a01b039091168152602001610245565b3480156102c257600080fd5b5069d3c21bcecceda10000005b604051908152602001610245565b3480156102e957600080fd5b5061026e6102f8366004611d1e565b6106e1565b34801561030957600080fd5b50610207610318366004611d5f565b61074a565b34801561032957600080fd5b506102cf60195481565b34801561033f57600080fd5b5060405160098152602001610245565b34801561035b57600080fd5b5060165461029e906001600160a01b031681565b34801561037b57600080fd5b5061020761038a366004611cab565b61080e565b34801561039b57600080fd5b506102076103aa366004611f10565b610859565b3480156103bb57600080fd5b506102076108a1565b3480156103d057600080fd5b506102cf6103df366004611cab565b610901565b3480156103f057600080fd5b50610207610923565b34801561040557600080fd5b50610207610414366004611f2b565b610997565b34801561042557600080fd5b506102cf60175481565b34801561043b57600080fd5b506000546001600160a01b031661029e565b34801561045957600080fd5b50610207610468366004611f10565b6109c6565b34801561047957600080fd5b506102cf60185481565b34801561048f57600080fd5b506040805180820190915260048152635a494e5560e01b6020820152610238565b3480156104bc57600080fd5b506102076104cb366004611f2b565b610a0e565b3480156104dc57600080fd5b5061026e6104eb366004611d94565b610a3d565b3480156104fc57600080fd5b5061020761050b366004611f72565b610a4a565b34801561051c57600080fd5b5061026e61052b366004611cab565b60146020526000908152604090205460ff1681565b34801561054c57600080fd5b5061026e61055b366004611cab565b60136020526000908152604090205460ff1681565b34801561057c57600080fd5b50610207610acc565b34801561059157600080fd5b506102076105a0366004611dc0565b610b35565b3480156105b157600080fd5b506102cf6105c0366004611ce5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105f757600080fd5b50610207610606366004611f2b565b610bd6565b34801561061757600080fd5b50610207610626366004611cab565b610c05565b6000546001600160a01b0316331461065e5760405162461bcd60e51b81526004016106559061200a565b60405180910390fd5b60005b81518110156106c65760016013600084848151811061068257610682612151565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106be81612120565b915050610661565b5050565b60006106d7338484610e16565b5060015b92915050565b60006106ee848484610f3a565b610740843361073b85604051806060016040528060288152602001612193602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611521565b610e16565b5060019392505050565b6000546001600160a01b031633146107745760405162461bcd60e51b81526004016106559061200a565b6001600160a01b03821660009081526014602052604090205460ff16151581151514156107e35760405162461bcd60e51b815260206004820152601760248201527f544f4b454e3a20416c726561647920656e61626c65642e0000000000000000006044820152606401610655565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108385760405162461bcd60e51b81526004016106559061200a565b6001600160a01b03166000908152601360205260409020805460ff19169055565b6000546001600160a01b031633146108835760405162461bcd60e51b81526004016106559061200a565b60168054911515600160b01b0260ff60b01b19909216919091179055565b33732c6fd9269c28de1ca4a3c46e7d47447effaab8c114806108d657503373b3962f88ae49761618e4e2bacac22d6be55c4be6145b806108eb57506000546001600160a01b031633145b6108f457600080fd5b476108fe8161155b565b50565b6001600160a01b0381166000908152600260205260408120546106db906115f2565b6000546001600160a01b0316331461094d5760405162461bcd60e51b81526004016106559061200a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109c15760405162461bcd60e51b81526004016106559061200a565b601755565b6000546001600160a01b031633146109f05760405162461bcd60e51b81526004016106559061200a565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a385760405162461bcd60e51b81526004016106559061200a565b601955565b60006106d7338484610f3a565b6000546001600160a01b03163314610a745760405162461bcd60e51b81526004016106559061200a565b6007869055600a8590556008849055600b8390556009829055600c819055610aa682610aa08887610cef565b90610cef565b600d55600c54600b54600a54610ac19291610aa09190610cef565b600e55505050505050565b33732c6fd9269c28de1ca4a3c46e7d47447effaab8c11480610b0157503373b3962f88ae49761618e4e2bacac22d6be55c4be6145b80610b1657506000546001600160a01b031633145b610b1f57600080fd5b6000610b2a30610901565b90506108fe8161166f565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b81526004016106559061200a565b60005b82811015610bd0578160046000868685818110610b8157610b81612151565b9050602002016020810190610b969190611cab565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610bc881612120565b915050610b62565b50505050565b6000546001600160a01b03163314610c005760405162461bcd60e51b81526004016106559061200a565b601855565b6000546001600160a01b03163314610c2f5760405162461bcd60e51b81526004016106559061200a565b6001600160a01b038116610c945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610655565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610cfc83856120b0565b905083811015610d4e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610655565b9392505050565b600082610d64575060006106db565b6000610d7083856120ea565b905082610d7d85836120c8565b14610d4e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610655565b6000610d4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f8565b6001600160a01b038316610e785760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610655565b6001600160a01b038216610ed95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610655565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f9e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610655565b6001600160a01b0382166110005760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610655565b600081116110625760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610655565b6000546001600160a01b0384811691161480159061108e57506000546001600160a01b03838116911614155b80156110b357506001600160a01b03831660009081526014602052604090205460ff16155b80156110d857506001600160a01b03821660009081526014602052604090205460ff16155b1561140257601654600160a01b900460ff1661117c576001600160a01b03831660009081526014602052604090205460ff1661117c5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610655565b6017548111156111ce5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610655565b6001600160a01b03831660009081526013602052604090205460ff1615801561121057506001600160a01b03821660009081526013602052604090205460ff16155b6112685760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610655565b6016546001600160a01b038381169116146112ed576018548161128a84610901565b61129491906120b0565b106112ed5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610655565b60006112f830610901565b6019546017549192508210159082106113115760175491505b8080156113285750601654600160a81b900460ff16155b801561134257506016546001600160a01b03868116911614155b80156113575750601654600160b01b900460ff165b801561137c57506001600160a01b03851660009081526004602052604090205460ff16155b80156113a157506001600160a01b03841660009081526004602052604090205460ff16155b156113ff5760006113c9600e546113c3600c5486610d5590919063ffffffff16565b90610dd4565b905060006113d78483611826565b90506113e28161166f565b4780156113f2576113f28161155b565b6113fb83611868565b5050505b50505b6001600160a01b03831660009081526004602052604090205460019060ff168061144457506001600160a01b03831660009081526004602052604090205460ff165b8061147657506016546001600160a01b0385811691161480159061147657506016546001600160a01b03848116911614155b1561148357506000611515565b6016546001600160a01b0385811691161480156114ae57506015546001600160a01b03848116911614155b156114cc57600754600f556009546008546114c891610cef565b6010555b6016546001600160a01b0384811691161480156114f757506015546001600160a01b03858116911614155b1561151557600a54600f55600c54600b5461151191610cef565b6010555b610bd0848484846118ae565b600081848411156115455760405162461bcd60e51b81526004016106559190611fb5565b5060006115528486612109565b95945050505050565b732c6fd9269c28de1ca4a3c46e7d47447effaab8c16108fc61157e836002610dd4565b6040518115909202916000818181858888f193505050501580156115a6573d6000803e3d6000fd5b5073b3962f88ae49761618e4e2bacac22d6be55c4be66108fc6115ca836002610dd4565b6040518115909202916000818181858888f193505050501580156106c6573d6000803e3d6000fd5b60006005548211156116595760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610655565b60006116636118dc565b9050610d4e8382610dd4565b6016805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106116b7576116b7612151565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561170b57600080fd5b505afa15801561171f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117439190611cc8565b8160018151811061175657611756612151565b6001600160a01b03928316602091820292909201015260155461177c9130911684610e16565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117b590859060009086903090429060040161203f565b600060405180830381600087803b1580156117cf57600080fd5b505af11580156117e3573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b600081836118195760405162461bcd60e51b81526004016106559190611fb5565b50600061155284866120c8565b6000610d4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611521565b6000611875826002610dd4565b905060006118838383611826565b90504761188f8361166f565b600061189b4783611826565b90506118a783826118ff565b5050505050565b806118bb576118bb6119b8565b6118c68484846119e6565b80610bd057610bd0601154600f55601254601055565b60008060006118e9611add565b90925090506118f88282610dd4565b9250505090565b6015546119179030906001600160a01b031684610e16565b60155460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b15801561197f57600080fd5b505af1158015611993573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118a79190611f44565b600f541580156119c85750601054155b156119cf57565b600f80546011556010805460125560009182905555565b6000806000806000806119f887611b21565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611a2a9087611826565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a599086610cef565b6001600160a01b038916600090815260026020526040902055611a7b81611b7e565b611a858483611bc8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611aca91815260200190565b60405180910390a3505050505050505050565b600554600090819069d3c21bcecceda1000000611afa8282610dd4565b821015611b185750506005549269d3c21bcecceda100000092509050565b90939092509050565b6000806000806000806000806000611b3e8a600f54601054611bec565b9250925092506000611b4e6118dc565b90506000806000611b618e878787611c3b565b919e509c509a509598509396509194505050505091939550919395565b6000611b886118dc565b90506000611b968383610d55565b30600090815260026020526040902054909150611bb39082610cef565b30600090815260026020526040902055505050565b600554611bd59083611826565b600555600654611be59082610cef565b6006555050565b6000808080611c0060646113c38989610d55565b90506000611c1360646113c38a89610d55565b90506000611c2b82611c258b86611826565b90611826565b9992985090965090945050505050565b6000808080611c4a8886610d55565b90506000611c588887610d55565b90506000611c668888610d55565b90506000611c7882611c258686611826565b939b939a50919850919650505050505050565b8035611c968161217d565b919050565b80358015158114611c9657600080fd5b600060208284031215611cbd57600080fd5b8135610d4e8161217d565b600060208284031215611cda57600080fd5b8151610d4e8161217d565b60008060408385031215611cf857600080fd5b8235611d038161217d565b91506020830135611d138161217d565b809150509250929050565b600080600060608486031215611d3357600080fd5b8335611d3e8161217d565b92506020840135611d4e8161217d565b929592945050506040919091013590565b60008060408385031215611d7257600080fd5b8235611d7d8161217d565b9150611d8b60208401611c9b565b90509250929050565b60008060408385031215611da757600080fd5b8235611db28161217d565b946020939093013593505050565b600080600060408486031215611dd557600080fd5b833567ffffffffffffffff80821115611ded57600080fd5b818601915086601f830112611e0157600080fd5b813581811115611e1057600080fd5b8760208260051b8501011115611e2557600080fd5b602092830195509350611e3b9186019050611c9b565b90509250925092565b60006020808385031215611e5757600080fd5b823567ffffffffffffffff80821115611e6f57600080fd5b818501915085601f830112611e8357600080fd5b813581811115611e9557611e95612167565b8060051b604051601f19603f83011681018181108582111715611eba57611eba612167565b604052828152858101935084860182860187018a1015611ed957600080fd5b600095505b83861015611f0357611eef81611c8b565b855260019590950194938601938601611ede565b5098975050505050505050565b600060208284031215611f2257600080fd5b610d4e82611c9b565b600060208284031215611f3d57600080fd5b5035919050565b600080600060608486031215611f5957600080fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c08789031215611f8b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208083528351808285015260005b81811015611fe257858101830151858201604001528201611fc6565b81811115611ff4576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561208f5784516001600160a01b03168352938301939183019160010161206a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156120c3576120c361213b565b500190565b6000826120e557634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121045761210461213b565b500290565b60008282101561211b5761211b61213b565b500390565b60006000198214156121345761213461213b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146108fe57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200612ea8eb0879fa5bc0bfb48cb1358bf31376d2e7b7696659a79ba6c0c05aa5764736f6c63430008070033

Deployed ByteCode Sourcemap

4180:16642:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15349:169;;;;;;;;;;-1:-1:-1;15349:169:0;;;;;:::i;:::-;;:::i;:::-;;7167:83;;;;;;;;;;-1:-1:-1;7237:5:0;;;;;;;;;;;;-1:-1:-1;;;7237:5:0;;;;7167:83;;;;;;;:::i;:::-;;;;;;;;8092:193;;;;;;;;;;-1:-1:-1;8092:193:0;;;;;:::i;:::-;;:::i;:::-;;;6345:14:1;;6338:22;6320:41;;6308:2;6293:18;8092:193:0;6180:187:1;5924:41:0;;;;;;;;;;-1:-1:-1;5924:41:0;;;;-1:-1:-1;;;;;5924:41:0;;;;;;-1:-1:-1;;;;;5524:32:1;;;5506:51;;5494:2;5479:18;5924:41:0;5360:203:1;7444:95:0;;;;;;;;;;-1:-1:-1;4684:24:0;7444:95;;;13268:25:1;;;13256:2;13241:18;7444:95:0;13122:177:1;8293:446:0;;;;;;;;;;-1:-1:-1;8293:446:0;;;;;:::i;:::-;;:::i;20623:196::-;;;;;;;;;;-1:-1:-1;20623:196:0;;;;;:::i;:::-;;:::i;6260:47::-;;;;;;;;;;;;;;;;7353:83;;;;;;;;;;-1:-1:-1;7353:83:0;;4408:1;14431:36:1;;14419:2;14404:18;7353:83:0;14289:184:1;5972:28:0;;;;;;;;;;-1:-1:-1;5972:28:0;;;;-1:-1:-1;;;;;5972:28:0;;;15526:92;;;;;;;;;;-1:-1:-1;15526:92:0;;;;;:::i;:::-;;:::i;20239:101::-;;;;;;;;;;-1:-1:-1;20239:101:0;;;;;:::i;:::-;;:::i;15079:262::-;;;;;;;;;;;;;:::i;7547:138::-;;;;;;;;;;-1:-1:-1;7547:138:0;;;;;:::i;:::-;;:::i;1669:148::-;;;;;;;;;;;;;:::i;20379:108::-;;;;;;;;;;-1:-1:-1;20379:108:0;;;;;:::i;:::-;;:::i;6122:55::-;;;;;;;;;;;;;;;;1455:79;;;;;;;;;;-1:-1:-1;1493:7:0;1520:6;-1:-1:-1;;;;;1520:6:0;1455:79;;14699:101;;;;;;;;;;-1:-1:-1;14699:101:0;;;;;:::i;:::-;;:::i;6191:57::-;;;;;;;;;;;;;;;;7258:87;;;;;;;;;;-1:-1:-1;7330:7:0;;;;;;;;;;;;-1:-1:-1;;;7330:7:0;;;;7258:87;;20044:139;;;;;;;;;;-1:-1:-1;20044:139:0;;;;;:::i;:::-;;:::i;7693:199::-;;;;;;;;;;-1:-1:-1;7693:199:0;;;;;:::i;:::-;;:::i;19050:696::-;;;;;;;;;;-1:-1:-1;19050:696:0;;;;;:::i;:::-;;:::i;5639:42::-;;;;;;;;;;-1:-1:-1;5639:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5596:36;;;;;;;;;;-1:-1:-1;5596:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14808:263;;;;;;;;;;;;;:::i;19758:234::-;;;;;;;;;;-1:-1:-1;19758:234:0;;;;;:::i;:::-;;:::i;7900:184::-;;;;;;;;;;-1:-1:-1;7900:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8049:18:0;;;8017:7;8049:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7900:184;20499:115;;;;;;;;;;-1:-1:-1;20499:115:0;;;;;:::i;:::-;;:::i;1825:244::-;;;;;;;;;;-1:-1:-1;1825:244:0;;;;;:::i;:::-;;:::i;15349:169::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;;;;;;;;;15425:9:::1;15420:91;15444:5;:12;15440:1;:16;15420:91;;;15495:4;15478;:14;15483:5;15489:1;15483:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15478:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15478:14:0;:21;;-1:-1:-1;;15478:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15458:3;::::1;::::0;::::1;:::i;:::-;;;;15420:91;;;;15349:169:::0;:::o;8092:193::-;8194:4;8216:39;294:10;8239:7;8248:6;8216:8;:39::i;:::-;-1:-1:-1;8273:4:0;8092:193;;;;;:::o;8293:446::-;8425:4;8442:36;8452:6;8460:9;8471:6;8442:9;:36::i;:::-;8489:220;8512:6;294:10;8560:138;8616:6;8560:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8560:19:0;;;;;;:11;:19;;;;;;;;294:10;8560:33;;;;;;;;;;:37;:138::i;:::-;8489:8;:220::i;:::-;-1:-1:-1;8727:4:0;8293:446;;;;;:::o;20623:196::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20715:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;:29;;::::0;::::1;;;;20707:65;;;::::0;-1:-1:-1;;;20707:65:0;;10584:2:1;20707:65:0::1;::::0;::::1;10566:21:1::0;10623:2;10603:18;;;10596:30;10662:25;10642:18;;;10635:53;10705:18;;20707:65:0::1;10382:347:1::0;20707:65:0::1;-1:-1:-1::0;;;;;20783:18:0;;;::::1;;::::0;;;:9:::1;:18;::::0;;;;:28;;-1:-1:-1;;20783:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20623:196::o;15526:92::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15590:12:0::1;15605:5;15590:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;15590:20:0::1;::::0;;15526:92::o;20239:101::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;20306:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;20306:26:0::1;-1:-1:-1::0;;;;20306:26:0;;::::1;::::0;;;::::1;::::0;;20239:101::o;15079:262::-;294:10;5757:42;15129:35;;:72;;-1:-1:-1;294:10:0;5868:42;15168:33;15129:72;:99;;;-1:-1:-1;1493:7:0;1520:6;-1:-1:-1;;;;;1520:6:0;294:10;15205:23;15129:99;15121:108;;;;;;15269:21;15301:32;15269:21;15301:12;:32::i;:::-;15110:231;15079:262::o;7547:138::-;-1:-1:-1;;;;;7660:16:0;;7613:7;7660:16;;;:7;:16;;;;;;7640:37;;:19;:37::i;1669:148::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;1776:1:::1;1760:6:::0;;1739:40:::1;::::0;-1:-1:-1;;;;;1760:6:0;;::::1;::::0;1739:40:::1;::::0;1776:1;;1739:40:::1;1807:1;1790:19:::0;;-1:-1:-1;;;;;;1790:19:0::1;::::0;;1669:148::o;20379:108::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;20453:12:::1;:26:::0;20379:108::o;14699:101::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;14766:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;14766:26:0::1;-1:-1:-1::0;;;;14766:26:0;;::::1;::::0;;;::::1;::::0;;14699:101::o;20044:139::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;20135:19:::1;:40:::0;20044:139::o;7693:199::-;7798:4;7820:42;294:10;7844:9;7855:6;7820:9;:42::i;19050:696::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;19251:14:::1;:30:::0;;;19292:15:::1;:32:::0;;;19345:18:::1;:38:::0;;;19394:19:::1;:40:::0;;;19455:18:::1;:38:::0;;;19504:19:::1;:40:::0;;;19579:62:::1;19476:17:::0;19579:38:::1;19268:13:::0;19366:17;19579:18:::1;:38::i;:::-;:42:::0;::::1;:62::i;:::-;19565:11;:76:::0;19712:19:::1;::::0;19687::::1;::::0;19667:15:::1;::::0;:65:::1;::::0;19712:19;19667:40:::1;::::0;:15;:19:::1;:40::i;:65::-;19652:12;:80:::0;-1:-1:-1;;;;;;19050:696:0:o;14808:263::-;294:10;5757:42;14858:35;;:72;;-1:-1:-1;294:10:0;5868:42;14897:33;14858:72;:99;;;-1:-1:-1;1493:7:0;1520:6;-1:-1:-1;;;;;1520:6:0;294:10;14934:23;14858:99;14850:108;;;;;;14969:23;14995:24;15013:4;14995:9;:24::i;:::-;14969:50;;15030:33;15047:15;15030:16;:33::i;19758:234::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;19875:9:::1;19871:114;19890:19:::0;;::::1;19871:114;;;19965:8;19931:18;:31;19950:8;;19959:1;19950:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19931:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19931:31:0;:42;;-1:-1:-1;;19931:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19911:3;::::1;::::0;::::1;:::i;:::-;;;;19871:114;;;;19758:234:::0;;;:::o;20499:115::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;20576:14:::1;:30:::0;20499:115::o;1825:244::-;1582:6;;-1:-1:-1;;;;;1582:6:0;294:10;1582:22;1574:67;;;;-1:-1:-1;;;1574:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1914:22:0;::::1;1906:73;;;::::0;-1:-1:-1;;;1906:73:0;;9014:2:1;1906:73:0::1;::::0;::::1;8996:21:1::0;9053:2;9033:18;;;9026:30;9092:34;9072:18;;;9065:62;-1:-1:-1;;;9143:18:1;;;9136:36;9189:19;;1906:73:0::1;8812:402:1::0;1906:73:0::1;2016:6;::::0;;1995:38:::1;::::0;-1:-1:-1;;;;;1995:38:0;;::::1;::::0;2016:6;::::1;::::0;1995:38:::1;::::0;::::1;2044:6;:17:::0;;-1:-1:-1;;;;;;2044:17:0::1;-1:-1:-1::0;;;;;2044:17:0;;;::::1;::::0;;;::::1;::::0;;1825:244::o;2100:179::-;2158:7;;2190:5;2194:1;2190;:5;:::i;:::-;2178:17;;2219:1;2214;:6;;2206:46;;;;-1:-1:-1;;;2206:46:0;;10228:2:1;2206:46:0;;;10210:21:1;10267:2;10247:18;;;10240:30;10306:29;10286:18;;;10279:57;10353:18;;2206:46:0;10026:351:1;2206:46:0;2270:1;2100:179;-1:-1:-1;;;2100:179:0:o;2663:246::-;2721:7;2745:6;2741:47;;-1:-1:-1;2775:1:0;2768:8;;2741:47;2798:9;2810:5;2814:1;2810;:5;:::i;:::-;2798:17;-1:-1:-1;2843:1:0;2834:5;2838:1;2798:17;2834:5;:::i;:::-;:10;2826:56;;;;-1:-1:-1;;;2826:56:0;;10936:2:1;2826:56:0;;;10918:21:1;10975:2;10955:18;;;10948:30;11014:34;10994:18;;;10987:62;-1:-1:-1;;;11065:18:1;;;11058:31;11106:19;;2826:56:0;10734:397:1;2917:132:0;2975:7;3002:39;3006:1;3009;3002:39;;;;;;;;;;;;;;;;;:3;:39::i;9442:369::-;-1:-1:-1;;;;;9569:19:0;;9561:68;;;;-1:-1:-1;;;9561:68:0;;12919:2:1;9561:68:0;;;12901:21:1;12958:2;12938:18;;;12931:30;12997:34;12977:18;;;12970:62;-1:-1:-1;;;13048:18:1;;;13041:34;13092:19;;9561:68:0;12717:400:1;9561:68:0;-1:-1:-1;;;;;9648:21:0;;9640:68;;;;-1:-1:-1;;;9640:68:0;;9421:2:1;9640:68:0;;;9403:21:1;9460:2;9440:18;;;9433:30;9499:34;9479:18;;;9472:62;-1:-1:-1;;;9550:18:1;;;9543:32;9592:19;;9640:68:0;9219:398:1;9640:68:0;-1:-1:-1;;;;;9719:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9771:32;;13268:25:1;;;9771:32:0;;13241:18:1;9771:32:0;;;;;;;9442:369;;;:::o;9819:2799::-;-1:-1:-1;;;;;9941:18:0;;9933:68;;;;-1:-1:-1;;;9933:68:0;;12109:2:1;9933:68:0;;;12091:21:1;12148:2;12128:18;;;12121:30;12187:34;12167:18;;;12160:62;-1:-1:-1;;;12238:18:1;;;12231:35;12283:19;;9933:68:0;11907:401:1;9933:68:0;-1:-1:-1;;;;;10020:16:0;;10012:64;;;;-1:-1:-1;;;10012:64:0;;7410:2:1;10012:64:0;;;7392:21:1;7449:2;7429:18;;;7422:30;7488:34;7468:18;;;7461:62;-1:-1:-1;;;7539:18:1;;;7532:33;7582:19;;10012:64:0;7208:399:1;10012:64:0;10104:1;10095:6;:10;10087:64;;;;-1:-1:-1;;;10087:64:0;;11699:2:1;10087:64:0;;;11681:21:1;11738:2;11718:18;;;11711:30;11777:34;11757:18;;;11750:62;-1:-1:-1;;;11828:18:1;;;11821:39;11877:19;;10087:64:0;11497:405:1;10087:64:0;1493:7;1520:6;-1:-1:-1;;;;;10168:15:0;;;1520:6;;10168:15;;;;:32;;-1:-1:-1;1493:7:0;1520:6;-1:-1:-1;;;;;10187:13:0;;;1520:6;;10187:13;;10168:32;:52;;;;-1:-1:-1;;;;;;10205:15:0;;;;;;:9;:15;;;;;;;;10204:16;10168:52;:70;;;;-1:-1:-1;;;;;;10225:13:0;;;;;;:9;:13;;;;;;;;10224:14;10168:70;10164:1631;;;10307:11;;-1:-1:-1;;;10307:11:0;;;;10302:144;;-1:-1:-1;;;;;10347:15:0;;;;;;:9;:15;;;;;;;;10339:91;;;;-1:-1:-1;;;10339:91:0;;7814:2:1;10339:91:0;;;7796:21:1;7853:2;7833:18;;;7826:30;7892:34;7872:18;;;7865:62;7963:33;7943:18;;;7936:61;8014:19;;10339:91:0;7612:427:1;10339:91:0;10494:12;;10484:6;:22;;10476:63;;;;-1:-1:-1;;;10476:63:0;;8657:2:1;10476:63:0;;;8639:21:1;8696:2;8676:18;;;8669:30;8735;8715:18;;;8708:58;8783:18;;10476:63:0;8455:352:1;10476:63:0;-1:-1:-1;;;;;10563:10:0;;;;;;:4;:10;;;;;;;;10562:11;:24;;;;-1:-1:-1;;;;;;10578:8:0;;;;;;:4;:8;;;;;;;;10577:9;10562:24;10554:72;;;;-1:-1:-1;;;10554:72:0;;9824:2:1;10554:72:0;;;9806:21:1;9863:2;9843:18;;;9836:30;9902:34;9882:18;;;9875:62;-1:-1:-1;;;9953:18:1;;;9946:33;9996:19;;10554:72:0;9622:399:1;10554:72:0;10664:13;;-1:-1:-1;;;;;10658:19:0;;;10664:13;;10658:19;10655:146;;10731:14;;10722:6;10706:13;10716:2;10706:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10698:87;;;;-1:-1:-1;;;10698:87:0;;12515:2:1;10698:87:0;;;12497:21:1;12554:2;12534:18;;;12527:30;12593:34;12573:18;;;12566:62;-1:-1:-1;;;12644:18:1;;;12637:33;12687:19;;10698:87:0;12313:399:1;10698:87:0;10829:28;10860:24;10878:4;10860:9;:24::i;:::-;10938:19;;11001:12;;10829:55;;-1:-1:-1;10914:43:0;;;;10977:36;;10974:124;;11070:12;;11047:35;;10974:124;11130:7;:18;;;;-1:-1:-1;11142:6:0;;-1:-1:-1;;;11142:6:0;;;;11141:7;11130:18;:43;;;;-1:-1:-1;11160:13:0;;-1:-1:-1;;;;;11152:21:0;;;11160:13;;11152:21;;11130:43;:58;;;;-1:-1:-1;11177:11:0;;-1:-1:-1;;;11177:11:0;;;;11130:58;:87;;;;-1:-1:-1;;;;;;11193:24:0;;;;;;:18;:24;;;;;;;;11192:25;11130:87;:114;;;;-1:-1:-1;;;;;;11222:22:0;;;;;;:18;:22;;;;;;;;11221:23;11130:114;11126:658;;;11283:23;11309:63;11359:12;;11309:45;11334:19;;11309:20;:24;;:45;;;;:::i;:::-;:49;;:63::i;:::-;11283:89;-1:-1:-1;11391:23:0;11417:41;:20;11283:89;11417:24;:41::i;:::-;11391:67;;11495:33;11512:15;11495:16;:33::i;:::-;11576:21;11620:22;;11616:103;;11667:32;11680:18;11667:12;:32::i;:::-;11737:31;11752:15;11737:14;:31::i;:::-;11246:538;;;11126:658;10240:1555;;10164:1631;-1:-1:-1;;;;;11879:24:0;;11815:12;11879:24;;;:18;:24;;;;;;11830:4;;11879:24;;;:50;;-1:-1:-1;;;;;;11907:22:0;;;;;;:18;:22;;;;;;;;11879:50;11878:102;;;-1:-1:-1;11943:13:0;;-1:-1:-1;;;;;11935:21:0;;;11943:13;;11935:21;;;;:44;;-1:-1:-1;11966:13:0;;-1:-1:-1;;;;;11960:19:0;;;11966:13;;11960:19;;11935:44;11874:683;;;-1:-1:-1;12007:5:0;11874:683;;;12102:13;;-1:-1:-1;;;;;12094:21:0;;;12102:13;;12094:21;:55;;;;-1:-1:-1;12133:15:0;;-1:-1:-1;;;;;12119:30:0;;;12133:15;;12119:30;;12094:55;12091:192;;;12182:14;;12170:9;:26;12248:18;;12225;;:42;;:22;:42::i;:::-;12215:7;:52;12091:192;12346:13;;-1:-1:-1;;;;;12340:19:0;;;12346:13;;12340:19;:55;;;;-1:-1:-1;12379:15:0;;-1:-1:-1;;;;;12363:32:0;;;12379:15;;12363:32;;12340:55;12336:196;;;12428:15;;12416:9;:27;12496:19;;12472;;:44;;:23;:44::i;:::-;12462:7;:54;12336:196;12569:41;12584:4;12590:2;12594:6;12602:7;12569:14;:41::i;2431:224::-;2551:7;2587:12;2579:6;;;;2571:29;;;;-1:-1:-1;;;2571:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2611:9:0;2623:5;2627:1;2623;:5;:::i;:::-;2611:17;2431:224;-1:-1:-1;;;;;2431:224:0:o;14531:160::-;5757:42;14588:43;14617:13;:6;14628:1;14617:10;:13::i;:::-;14588:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5868:42:0;14642:41;14669:13;:6;14680:1;14669:10;:13::i;:::-;14642:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8747:323;8842:7;8900;;8889;:18;;8867:110;;;;-1:-1:-1;;;8867:110:0;;8246:2:1;8867:110:0;;;8228:21:1;8285:2;8265:18;;;8258:30;8324:34;8304:18;;;8297:62;-1:-1:-1;;;8375:18:1;;;8368:40;8425:19;;8867:110:0;8044:406:1;8867:110:0;8988:19;9010:10;:8;:10::i;:::-;8988:32;-1:-1:-1;9038:24:0;:7;8988:32;9038:11;:24::i;12626:483::-;6401:6;:13;;-1:-1:-1;;;;6401:13:0;-1:-1:-1;;;6401:13:0;;;12728:16:::1;::::0;;12742:1:::1;12728:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12728:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12728:16:0::1;12704:40;;12773:4;12755;12760:1;12755:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12755:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12799:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12799:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12755:7;;12799:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12789:4;12794:1;12789:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12789:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12864:15:::1;::::0;12832:62:::1;::::0;12849:4:::1;::::0;12864:15:::1;12882:11:::0;12832:8:::1;:62::i;:::-;12905:15;::::0;:196:::1;::::0;-1:-1:-1;;;12905:196:0;;-1:-1:-1;;;;;12905:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12986:11;;12905:15:::1;::::0;13028:4;;13055::::1;::::0;13075:15:::1;::::0;12905:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6437:6:0;:14;;-1:-1:-1;;;;6437:14:0;;;-1:-1:-1;;;;12626:483:0:o;3057:223::-;3177:7;3212:12;3205:5;3197:28;;;;-1:-1:-1;;;3197:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3236:9:0;3248:5;3252:1;3248;:5;:::i;2287:136::-;2345:7;2372:43;2376:1;2379;2372:43;;;;;;;;;;;;;;;;;:3;:43::i;13121:872::-;13241:12;13256:13;:6;13267:1;13256:10;:13::i;:::-;13241:28;-1:-1:-1;13280:17:0;13300:16;:6;13241:28;13300:10;:16::i;:::-;13280:36;-1:-1:-1;13619:21:0;13685:22;13702:4;13685:16;:22::i;:::-;13838:18;13859:41;:21;13885:14;13859:25;:41::i;:::-;13838:62;;13950:35;13963:9;13974:10;13950:12;:35::i;:::-;13169:824;;;;13121:872;:::o;15626:282::-;15782:7;15777:28;;15791:14;:12;:14::i;:::-;15816:44;15834:6;15842:9;15853:6;15816:17;:44::i;:::-;15876:7;15871:29;;15885:15;9373:17;;9361:9;:29;9411:15;;9401:7;:25;9317:117;18601:166;18643:7;18664:15;18681;18700:19;:17;:19::i;:::-;18663:56;;-1:-1:-1;18663:56:0;-1:-1:-1;18739:20:0;18663:56;;18739:11;:20::i;:::-;18732:27;;;;18601:166;:::o;14005:518::-;14187:15;;14155:62;;14172:4;;-1:-1:-1;;;;;14187:15:0;14205:11;14155:8;:62::i;:::-;14260:15;;:255;;-1:-1:-1;;;14260:255:0;;14332:4;14260:255;;;5909:34:1;5959:18;;;5952:34;;;14260:15:0;6002:18:1;;;5995:34;;;6045:18;;;6038:34;;;6088:19;;;6081:44;14489:15:0;6141:19:1;;;6134:35;-1:-1:-1;;;;;14260:15:0;;;;:31;;14299:9;;5843:19:1;;14260:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9078:231::-;9125:9;;:14;:30;;;;-1:-1:-1;9143:7:0;;:12;9125:30;9121:43;;;9078:231::o;9121:43::-;9200:9;;;9180:17;:29;9238:7;;;9220:15;:25;-1:-1:-1;9266:13:0;;;;9290:11;9078:231::o;15916:610::-;16063:15;16093:23;16131:12;16158:23;16196:12;16223:13;16250:19;16261:7;16250:10;:19::i;:::-;-1:-1:-1;;;;;16298:15:0;;;;;;:7;:15;;;;;;16048:221;;-1:-1:-1;16048:221:0;;-1:-1:-1;16048:221:0;;-1:-1:-1;16048:221:0;-1:-1:-1;16048:221:0;-1:-1:-1;16048:221:0;-1:-1:-1;16298:28:0;;16048:221;16298:19;:28::i;:::-;-1:-1:-1;;;;;16280:15:0;;;;;;;:7;:15;;;;;;:46;;;;16358:18;;;;;;;:39;;16381:15;16358:22;:39::i;:::-;-1:-1:-1;;;;;16337:18:0;;;;;;:7;:18;;;;;:60;16408:16;16418:5;16408:9;:16::i;:::-;16435:23;16447:4;16453;16435:11;:23::i;:::-;16491:9;-1:-1:-1;;;;;16474:44:0;16483:6;-1:-1:-1;;;;;16474:44:0;;16502:15;16474:44;;;;13268:25:1;;13256:2;13241:18;;13122:177;16474:44:0;;;;;;;;16037:489;;;;;;15916:610;;;:::o;18775:263::-;18873:7;;18826;;;;4684:24;18941:20;18873:7;4684:24;18941:11;:20::i;:::-;18931:7;:30;18927:61;;;-1:-1:-1;;18971:7:0;;;4684:24;;-1:-1:-1;18775:263:0;-1:-1:-1;18775:263:0:o;18927:61::-;19013:7;;19022;;-1:-1:-1;18775:263:0;-1:-1:-1;18775:263:0:o;16945:625::-;17045:7;17067;17089;17111;17133;17155;17191:23;17216:12;17230:13;17260:40;17272:7;17281:9;;17292:7;;17260:11;:40::i;:::-;17190:110;;;;;;17311:19;17333:10;:8;:10::i;:::-;17311:32;;17355:15;17372:23;17397:12;17426:46;17438:7;17447:4;17453:5;17460:11;17426;:46::i;:::-;17354:118;;-1:-1:-1;17354:118:0;-1:-1:-1;17354:118:0;-1:-1:-1;17533:15:0;;-1:-1:-1;17550:4:0;;-1:-1:-1;17556:5:0;;-1:-1:-1;;;;;16945:625:0;;;;;;;:::o;16534:211::-;16587:19;16609:10;:8;:10::i;:::-;16587:32;-1:-1:-1;16630:13:0;16646:22;:5;16587:32;16646:9;:22::i;:::-;16720:4;16704:22;;;;:7;:22;;;;;;16630:38;;-1:-1:-1;16704:33:0;;16630:38;16704:26;:33::i;:::-;16695:4;16679:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;16534:211:0:o;16753:147::-;16831:7;;:17;;16843:4;16831:11;:17::i;:::-;16821:7;:27;16872:10;;:20;;16887:4;16872:14;:20::i;:::-;16859:10;:33;-1:-1:-1;;16753:147:0:o;17578:471::-;17747:7;;;;17841:30;17867:3;17841:21;:7;17853:8;17841:11;:21::i;:30::-;17826:45;-1:-1:-1;17882:13:0;17898:28;17922:3;17898:19;:7;17910:6;17898:11;:19::i;:28::-;17882:44;-1:-1:-1;17937:23:0;17963:28;17882:44;17963:17;:7;17975:4;17963:11;:17::i;:::-;:21;;:28::i;:::-;17937:54;18029:4;;-1:-1:-1;18035:5:0;;-1:-1:-1;17578:471:0;;-1:-1:-1;;;;;17578:471:0:o;18057:536::-;18251:7;;;;18348:24;:7;18360:11;18348;:24::i;:::-;18330:42;-1:-1:-1;18383:12:0;18398:21;:4;18407:11;18398:8;:21::i;:::-;18383:36;-1:-1:-1;18430:13:0;18446:22;:5;18456:11;18446:9;:22::i;:::-;18430:38;-1:-1:-1;18479:23:0;18505:28;18430:38;18505:17;:7;18517:4;18505:11;:17::i;:28::-;18554:7;;;;-1:-1:-1;18580:4:0;;-1:-1:-1;18057:536:0;;-1:-1:-1;;;;;;;18057:536:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:60;;303:1;300;293:12;318:247;377:6;430:2;418:9;409:7;405:23;401:32;398:52;;;446:1;443;436:12;398:52;485:9;472:23;504:31;529:5;504:31;:::i;570:251::-;640:6;693:2;681:9;672:7;668:23;664:32;661:52;;;709:1;706;699:12;661:52;741:9;735:16;760:31;785:5;760:31;:::i;826:388::-;894:6;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1010:9;997:23;1029:31;1054:5;1029:31;:::i;:::-;1079:5;-1:-1:-1;1136:2:1;1121:18;;1108:32;1149:33;1108:32;1149:33;:::i;:::-;1201:7;1191:17;;;826:388;;;;;:::o;1219:456::-;1296:6;1304;1312;1365:2;1353:9;1344:7;1340:23;1336:32;1333:52;;;1381:1;1378;1371:12;1333:52;1420:9;1407:23;1439:31;1464:5;1439:31;:::i;:::-;1489:5;-1:-1:-1;1546:2:1;1531:18;;1518:32;1559:33;1518:32;1559:33;:::i;:::-;1219:456;;1611:7;;-1:-1:-1;;;1665:2:1;1650:18;;;;1637:32;;1219:456::o;1680:315::-;1745:6;1753;1806:2;1794:9;1785:7;1781:23;1777:32;1774:52;;;1822:1;1819;1812:12;1774:52;1861:9;1848:23;1880:31;1905:5;1880:31;:::i;:::-;1930:5;-1:-1:-1;1954:35:1;1985:2;1970:18;;1954:35;:::i;:::-;1944:45;;1680:315;;;;;:::o;2000:::-;2068:6;2076;2129:2;2117:9;2108:7;2104:23;2100:32;2097:52;;;2145:1;2142;2135:12;2097:52;2184:9;2171:23;2203:31;2228:5;2203:31;:::i;:::-;2253:5;2305:2;2290:18;;;;2277:32;;-1:-1:-1;;;2000:315:1:o;2320:689::-;2412:6;2420;2428;2481:2;2469:9;2460:7;2456:23;2452:32;2449:52;;;2497:1;2494;2487:12;2449:52;2537:9;2524:23;2566:18;2607:2;2599:6;2596:14;2593:34;;;2623:1;2620;2613:12;2593:34;2661:6;2650:9;2646:22;2636:32;;2706:7;2699:4;2695:2;2691:13;2687:27;2677:55;;2728:1;2725;2718:12;2677:55;2768:2;2755:16;2794:2;2786:6;2783:14;2780:34;;;2810:1;2807;2800:12;2780:34;2865:7;2858:4;2848:6;2845:1;2841:14;2837:2;2833:23;2829:34;2826:47;2823:67;;;2886:1;2883;2876:12;2823:67;2917:4;2909:13;;;;-1:-1:-1;2941:6:1;-1:-1:-1;2966:37:1;;2982:20;;;-1:-1:-1;2966:37:1;:::i;:::-;2956:47;;2320:689;;;;;:::o;3014:1132::-;3098:6;3129:2;3172;3160:9;3151:7;3147:23;3143:32;3140:52;;;3188:1;3185;3178:12;3140:52;3228:9;3215:23;3257:18;3298:2;3290:6;3287:14;3284:34;;;3314:1;3311;3304:12;3284:34;3352:6;3341:9;3337:22;3327:32;;3397:7;3390:4;3386:2;3382:13;3378:27;3368:55;;3419:1;3416;3409:12;3368:55;3455:2;3442:16;3477:2;3473;3470:10;3467:36;;;3483:18;;:::i;:::-;3529:2;3526:1;3522:10;3561:2;3555:9;3624:2;3620:7;3615:2;3611;3607:11;3603:25;3595:6;3591:38;3679:6;3667:10;3664:22;3659:2;3647:10;3644:18;3641:46;3638:72;;;3690:18;;:::i;:::-;3726:2;3719:22;3776:18;;;3810:15;;;;-1:-1:-1;3845:11:1;;;3875;;;3871:20;;3868:33;-1:-1:-1;3865:53:1;;;3914:1;3911;3904:12;3865:53;3936:1;3927:10;;3946:169;3960:2;3957:1;3954:9;3946:169;;;4017:23;4036:3;4017:23;:::i;:::-;4005:36;;3978:1;3971:9;;;;;4061:12;;;;4093;;3946:169;;;-1:-1:-1;4134:6:1;3014:1132;-1:-1:-1;;;;;;;;3014:1132:1:o;4151:180::-;4207:6;4260:2;4248:9;4239:7;4235:23;4231:32;4228:52;;;4276:1;4273;4266:12;4228:52;4299:26;4315:9;4299:26;:::i;4336:180::-;4395:6;4448:2;4436:9;4427:7;4423:23;4419:32;4416:52;;;4464:1;4461;4454:12;4416:52;-1:-1:-1;4487:23:1;;4336:180;-1:-1:-1;4336:180:1:o;4521:306::-;4609:6;4617;4625;4678:2;4666:9;4657:7;4653:23;4649:32;4646:52;;;4694:1;4691;4684:12;4646:52;4723:9;4717:16;4707:26;;4773:2;4762:9;4758:18;4752:25;4742:35;;4817:2;4806:9;4802:18;4796:25;4786:35;;4521:306;;;;;:::o;4832:523::-;4936:6;4944;4952;4960;4968;4976;5029:3;5017:9;5008:7;5004:23;5000:33;4997:53;;;5046:1;5043;5036:12;4997:53;-1:-1:-1;;5069:23:1;;;5139:2;5124:18;;5111:32;;-1:-1:-1;5190:2:1;5175:18;;5162:32;;5241:2;5226:18;;5213:32;;-1:-1:-1;5292:3:1;5277:19;;5264:33;;-1:-1:-1;5344:3:1;5329:19;5316:33;;-1:-1:-1;4832:523:1;-1:-1:-1;4832:523:1:o;6606:597::-;6718:4;6747:2;6776;6765:9;6758:21;6808:6;6802:13;6851:6;6846:2;6835:9;6831:18;6824:34;6876:1;6886:140;6900:6;6897:1;6894:13;6886:140;;;6995:14;;;6991:23;;6985:30;6961:17;;;6980:2;6957:26;6950:66;6915:10;;6886:140;;;7044:6;7041:1;7038:13;7035:91;;;7114:1;7109:2;7100:6;7089:9;7085:22;7081:31;7074:42;7035:91;-1:-1:-1;7187:2:1;7166:15;-1:-1:-1;;7162:29:1;7147:45;;;;7194:2;7143:54;;6606:597;-1:-1:-1;;;6606:597:1:o;11136:356::-;11338:2;11320:21;;;11357:18;;;11350:30;11416:34;11411:2;11396:18;;11389:62;11483:2;11468:18;;11136:356::o;13304:980::-;13566:4;13614:3;13603:9;13599:19;13645:6;13634:9;13627:25;13671:2;13709:6;13704:2;13693:9;13689:18;13682:34;13752:3;13747:2;13736:9;13732:18;13725:31;13776:6;13811;13805:13;13842:6;13834;13827:22;13880:3;13869:9;13865:19;13858:26;;13919:2;13911:6;13907:15;13893:29;;13940:1;13950:195;13964:6;13961:1;13958:13;13950:195;;;14029:13;;-1:-1:-1;;;;;14025:39:1;14013:52;;14120:15;;;;14085:12;;;;14061:1;13979:9;13950:195;;;-1:-1:-1;;;;;;;14201:32:1;;;;14196:2;14181:18;;14174:60;-1:-1:-1;;;14265:3:1;14250:19;14243:35;14162:3;13304:980;-1:-1:-1;;;13304:980:1:o;14478:128::-;14518:3;14549:1;14545:6;14542:1;14539:13;14536:39;;;14555:18;;:::i;:::-;-1:-1:-1;14591:9:1;;14478:128::o;14611:217::-;14651:1;14677;14667:132;;14721:10;14716:3;14712:20;14709:1;14702:31;14756:4;14753:1;14746:15;14784:4;14781:1;14774:15;14667:132;-1:-1:-1;14813:9:1;;14611:217::o;14833:168::-;14873:7;14939:1;14935;14931:6;14927:14;14924:1;14921:21;14916:1;14909:9;14902:17;14898:45;14895:71;;;14946:18;;:::i;:::-;-1:-1:-1;14986:9:1;;14833:168::o;15006:125::-;15046:4;15074:1;15071;15068:8;15065:34;;;15079:18;;:::i;:::-;-1:-1:-1;15116:9:1;;15006:125::o;15136:135::-;15175:3;-1:-1:-1;;15196:17:1;;15193:43;;;15216:18;;:::i;:::-;-1:-1:-1;15263:1:1;15252:13;;15136:135::o;15276:127::-;15337:10;15332:3;15328:20;15325:1;15318:31;15368:4;15365:1;15358:15;15392:4;15389:1;15382:15;15408:127;15469:10;15464:3;15460:20;15457:1;15450:31;15500:4;15497:1;15490:15;15524:4;15521:1;15514:15;15540:127;15601:10;15596:3;15592:20;15589:1;15582:31;15632:4;15629:1;15622:15;15656:4;15653:1;15646:15;15672:131;-1:-1:-1;;;;;15747:31:1;;15737:42;;15727:70;;15793:1;15790;15783:12

Swarm Source

ipfs://0612ea8eb0879fa5bc0bfb48cb1358bf31376d2e7b7696659a79ba6c0c05aa57
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.