Contract 0x3b5c1410d94222858788898f6cdcafc37c4843f6

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x0bdafd5f2341eb85e800778d5c67c75f52f746ed5b440a34cb3d2ca3f8b72020Approve104987502021-08-31 5:12:5899 days 7 hrs ago0x34d69221b26343f749a29074270ba8096d934f71 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x2df0a213a099df1f34d6a10188b4468b8a6dbad2a6c5e513b1644ca034775023Approve103333212021-08-25 9:27:18105 days 3 hrs ago0x5ac55cdce81e0a27497051554169c597a54ae023 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xe5756a90144a26ceb58b3eb3118ebb93e8aa2edb704e643f035eb59351411e69Approve103270332021-08-25 4:12:01105 days 8 hrs ago0x9c213f151671a5300c2788bd59f4e9713e03209a IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xcf6f101060340953a6a2c3fd7eef71b14d04bace55769856e64a613025396326Approve102313782021-08-21 20:06:49108 days 16 hrs ago0x8068b30a4b3251075f61504b07c0c1789e6c0e2b IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x887e2111477a04777d66dfa4e7c385cc197f81a6cabede61d97a54c0029726b7Approve102290772021-08-21 18:11:44108 days 18 hrs ago0xa2396705eb916d6d643150d27cffbace4a4ccaa5 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xe25754bf08adbca216279a5dede519e5b6fd010d9c0074a87d66d4d2c9b873d4Approve102280862021-08-21 17:22:11108 days 19 hrs ago0x86020eb1d0a504563ab2eef475b810f2c726db12 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xf6a88511df3901834d22714ff2674de8d5f09ca17a5a04d3e614aef37984cc24Approve101997892021-08-20 17:32:42109 days 19 hrs ago0x6856166a7a273b4a1c04d369c3123ae7da7c36ed IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x32b289ab800c7bf45232b8af0b8b737e8e39e2162a26a35b501e3e351a47eda2Transfer101986052021-08-20 16:31:37109 days 20 hrs ago0x680de4e1a8273ed8949a0c88f9a527529ad187be IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00013367
0x8ba92da04b20335ff4064f6ae467b3c38a5afcf6b9fd1ab19c7431118d698e38Transfer101985882021-08-20 16:30:46109 days 20 hrs ago0x680de4e1a8273ed8949a0c88f9a527529ad187be IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00013367
0xa460ae5a082a9b38af21b70fde6b8889566fb4881a103535bdf6455cee6d053aApprove101984492021-08-20 16:23:48109 days 20 hrs ago0xdbd494d438f063202229e381445b2bc69221bec7 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xd2c1c73f6b94f7b828af4171ccfef3069b9118c2bfc789cdd6d6a768509c2bb2Approve101980572021-08-20 16:04:12109 days 20 hrs ago0xb1ae4709da66891bc79fa0bc6a9b2acc2a687bf4 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xfba48880f8847f2d0209d9867179bc7f4ac05f6e73866424d581c5d0f567a9c9Approve101980422021-08-20 16:03:27109 days 20 hrs ago0xd7f749d0c8c95ee786e64416555d2fea7e4f5c6c IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xe55a498b26d8c8770a72354983fa8ed6f2709e85a9e216b1227b37a436120c65Approve101979882021-08-20 16:00:45109 days 20 hrs ago0xa41880f576b71cb481cbaf0020f0c333253f0969 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x76a6f57189e6bf54e031c796f65952e7a9b3b12098094374cf1f57b17a8eef03Approve101979092021-08-20 15:56:48109 days 20 hrs ago0x14e3c610dfe1ead2110f36ba8fc29253f0a186db IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x2cbfd8398f519f721957c67e60d0b6c8827cbeab7f4ca08ffc29501fd1f975a3Approve101975442021-08-20 15:38:10109 days 21 hrs ago0x870d1338886ecd5a5254b87edec6bf2b05cd4cc7 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x3b3418c297b49789d3d67fbc964a76f80471a18c66e9c80a5de06c295ec18537Approve101975042021-08-20 15:36:00109 days 21 hrs ago0x04bc33fa1c055711e88f4d180e93bb77091220ff IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xb1fe61c6198a99fba1308aa99173ee215d7e8e3fa4f878192fc5dd785b1ebdd0Transfer101974922021-08-20 15:35:21109 days 21 hrs ago0x5f37fef28bc8e66b5cc9c0193c06b30960015ffa IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.000461035
0x5d70453496e09f0a5912d206116aec2e5bc7c1c1dbfc49e63e43471f373ee315Approve101974812021-08-20 15:34:45109 days 21 hrs ago0xf7eb4611f05bfb75d405ac831ecfe9e726322e44 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xc68e27a174044489f17aeb0b40c40b6986c2686e41f01e64315ed3734fc73653Approve101969582021-08-20 15:07:16109 days 21 hrs ago0x2265b147ad70dd42f84d8cdec4dff31739c91dd5 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.000311682
0x6932648337768a0c4ae7c7a14feab720722350464276dc56f96b37820b240dddApprove101965412021-08-20 14:45:53109 days 22 hrs ago0x9039bfd4539094ffa8038a530af555743bf488c5 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xf454ea6291a0900e0cbb633aaaedf6de1d7598cbf9ed57b6c5f8739a1562c7ceApprove101965012021-08-20 14:43:53109 days 22 hrs ago0x5593e3701e37c69ea7366223bb44aa828d793720 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0xc8e5dd8a6440097d72af96ae052afc121d572f84a086609bfb3ce0dbf18df50dApprove101962782021-08-20 14:31:49109 days 22 hrs ago0xd0b235f6e388a5900a98737d7b051215b88327e4 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x9e7b3847b9d754d4249afefca73e82e5617fb7169707b4243aa180d5a7b646bdApprove101959392021-08-20 14:14:52109 days 22 hrs ago0x0f1e2ed4e580e4d74eccb3b1c8e6b8acb0c578db IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
0x67f2e7435d9817c82058df80239aa08e33aa938d3a1be80ff25c398a2c512ccdApprove101958072021-08-20 14:07:42109 days 22 hrs ago0xb312b0c4e812b6ea14ccb36c57ab5d3b74dd6324 IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.000311682
0x9b15eec6258c0ba5bff573dcdce115f4c53028f698bd72d9b1be7dc1f4183106Approve101953882021-08-20 13:46:38109 days 23 hrs ago0xa0bd495f034e49a5ef98688f6d40b7e551f911bc IN  0x3b5c1410d94222858788898f6cdcafc37c4843f60 BNB0.00022263
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TECHSHIBA

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-08-18
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/**

    TECHSHIBA
    
    Tokenomics
    
    3% Reflection
    
    Everyone's a winner at TECHSHIBA 3% of every transaction is redistributed to all holders
    
    3% Auto Liquidity 
    
    Growing the liquidity pool increases the stability and health of the token,
    It also allows people to buy and sell larger amounts.
    
    ***
    
    We do not permit people to purchase any tokens that we launch using a bot. 
    It's not fair to people that do not use bots. If we detect that you are using a bot
    we will blacklist your wallet address, this will prevent you from selling the tokens
    or moving them to another wallet. If you have been blacklisted and you'd like to appeal
    come and speak with me on TG.
    
    Bots may seem like a really easy way to make successful trades, but they are 
    destroying crypto. When they make money, real people lose money. For me, that's
    not acceptable. If you want to invest in our tokens then do not use bots.
    
    If you have previously used bots, you may already be blacklisted and you cannot 
    invest in our token. 

*/

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating
//bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IBEP20 {
    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;
        // assert(a == b * c + a % b); // There is no case in which
//this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage)
internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor (address initialOwner) {
        _owner = initialOwner;
        emit OwnershipTransferred(address(0), initialOwner);
    }

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

    function getUnlockTime() public view returns (uint256) {
        return _lockTime;
    }

    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = block.timestamp + time;
        emit OwnershipTransferred(_owner, address(0));
    }

    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        require(block.timestamp > _lockTime , "Contract is still locked");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1,
address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view
returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external
returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view
returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value)
external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint
deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Burn(address indexed sender, uint amount0, uint amount1,
address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0,
uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes
calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint
liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[]
calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax,
address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin,
address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata
path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB)
external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint
reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint
reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path)
external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path)
external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract TECHSHIBA is Context, IBEP20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => bool)    private _isExcludedFromFee;
    mapping (address => bool)    private _isExcluded;
	mapping (address => bool) public _isBlacklisted;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromAutoLiquidity;
    mapping (address => bool) public _isExcludedToAutoLiquidity;

    address[] private _excluded;
    address public _marketingWallet;

    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private constant _name     = "TECHSHIBA";
    string private constant _symbol   = "TECHSHIBA";
    uint8  private constant _decimals = 9;

    uint256 public _taxFee       = 100;
    uint256 public _liquidityFee = 400;
    uint256 public _marketingFee = 100;

    uint256 private _previousTaxFee       = _taxFee;
    uint256 private _previousLiquidityFee = _liquidityFee;
    uint256 private _previousMarketingFee = _marketingFee;

    uint256 public _maxTxAmount                   = 5000000000000 * 10**9;
    uint256 public _numTokensSellToAddToLiquidity = 500000000000 * 10**9;

    // liquidity
    bool public  _swapAndLiquifyEnabled = true;
    bool private _inSwapAndLiquify;
    IUniswapV2Router02 public _uniswapV2Router;
    address            public _uniswapV2Pair;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 bnbReceived,
        uint256 tokensIntoLiqudity
    );

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

    constructor (address cOwner, address marketingWallet) Ownable(cOwner) {
        _marketingWallet = marketingWallet;

        _rOwned[cOwner] = _rTotal;

        IUniswapV2Router02 uniswapV2Router =
IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _uniswapV2Pair =
IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),
uniswapV2Router.WETH());
        _uniswapV2Router = uniswapV2Router;

        _isExcludedFromFee[owner()]          = true;
        _isExcludedFromFee[address(this)]    = true;
        _isExcludedFromFee[_marketingWallet] = true;

        _isExcludedFromAutoLiquidity[_uniswapV2Pair]            = true;
        _isExcludedFromAutoLiquidity[address(_uniswapV2Router)] = true;

        emit Transfer(address(0), cOwner, _tTotal);
    }

    receive() external payable {}

    // BEP20
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transferFrom(address sender, address recipient, uint256
amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(),_allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue)
public virtual returns (bool) {
        _approve(_msgSender(), spender,
_allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint256
subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20:decreased allowance below zero"));
        return true;
    }

    //Remove from Blacklist
        function removeFromBlacklist(address account) external onlyOwner {
        _isBlacklisted[account] = false;
    }

    //adding multiple addresses to the blacklist - Used to manually block known bots and scammers
    function addToBlackList(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
      }
    }

    // REFLECTION
    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");

        (, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) =
_getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity,
tMarketing, currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal         = _rTotal.sub(rAmount);
        _tFeeTotal      = _tFeeTotal.add(tAmount);
    }
    function reflectionFromToken(uint256 tAmount, bool
deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");

        if (!deductTransferFee) {
            (, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) =
_getTValues(tAmount);
            uint256 currentRate = _getRate();
            (uint256 rAmount,,) = _getRValues(tAmount, tFee,
tLiquidity, tMarketing, currentRate);

            return rAmount;

        } else {
            (, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) =
_getTValues(tAmount);
            uint256 currentRate = _getRate();
            (, uint256 rTransferAmount,) = _getRValues(tAmount, tFee,
tLiquidity, tMarketing, currentRate);

            return rTransferAmount;
        }
    }
    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");

        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
    function excludeFromReward(address account) public onlyOwner {
        require(!_isExcluded[account], "Account is already excluded");

        if (_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
    function includeInReward(address account) external onlyOwner {
        require(_isExcluded[account], "Account is already excluded");

        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    function setTaxFeePercent(uint256 taxFee) external onlyOwner {
        _taxFee = taxFee;
        _previousTaxFee = taxFee;
    }
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {
        _liquidityFee = liquidityFee;
        _previousLiquidityFee = liquidityFee;
    }
    function setMarketingFeePercent(uint256 marketingFee) external onlyOwner {
        _marketingFee = marketingFee;
        _previousMarketingFee = marketingFee;
    }
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(100);
    }
    function setMinLiquidityPercent(uint256 minLiquidityPercent)
external onlyOwner {
        _numTokensSellToAddToLiquidity =
_tTotal.mul(minLiquidityPercent).div(100);
    }
    function setSwapAndLiquifyEnabled(bool enabled) public onlyOwner {
        _swapAndLiquifyEnabled = enabled;
        emit SwapAndLiquifyEnabledUpdated(enabled);
    }
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    function setExcludedFromAutoLiquidity(address a, bool b) external
onlyOwner {
        _isExcludedFromAutoLiquidity[a] = b;
    }
    function setExcludedToAutoLiquidity(address a, bool b) external onlyOwner {
        _isExcludedToAutoLiquidity[a] = b;
    }
    function setUniswapRouter(address r) external onlyOwner {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(r);
        _uniswapV2Router = uniswapV2Router;
    }
    function setUniswapPair(address p) external onlyOwner {
        _uniswapV2Pair = p;
    }

    // TRANSFER
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
	//blacklisted addreses can not buy! If you have ever used a bot, or scammed anybody, then you're wallet address will probably be blacklisted
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "This address is blacklisted");
        require(from != address(0), "BEP20: transfer from the zero address");
        require(to != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }

        /*
            - swapAndLiquify will be initiated when token balance of
this contract
            has accumulated enough over the minimum number of tokens required.
            - don't get caught in a circular liquidity event.
            - don't swapAndLiquify if sender is uniswap pair.
        */

        uint256 contractTokenBalance = balanceOf(address(this));

        if (contractTokenBalance >= _maxTxAmount) {
            contractTokenBalance = _maxTxAmount;
        }

        bool isOverMinTokenBalance = contractTokenBalance >=
_numTokensSellToAddToLiquidity;
        if (
            isOverMinTokenBalance &&
            !_inSwapAndLiquify &&
            !_isExcludedFromAutoLiquidity[from] &&
            !_isExcludedToAutoLiquidity[to] &&
            _swapAndLiquifyEnabled
        ) {
            contractTokenBalance = _numTokensSellToAddToLiquidity;
            swapAndLiquify(contractTokenBalance);
        }

        bool takeFee = true;
        // if sender or recipient is excluded from fees, remove fees
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        _tokenTransfer(from, to, amount, takeFee);
    }
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split contract balance into halves
        uint256 half      = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

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

        // swap tokens for BNB
        swapTokensForBnb(half);

        // this is the amount of BNB that we just swapped into
        uint256 newBalance = address(this).balance.sub(initialBalance);

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);

        emit SwapAndLiquify(half, newBalance, otherHalf);
    }
    function swapTokensForBnb(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // make the swap
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of BNB
            path,
            address(this),
            block.timestamp
        );
    }
    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(_uniswapV2Router), tokenAmount);

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

    function _tokenTransfer(address sender, address recipient, uint256
amount, bool takeFee) private {

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");
        if (!takeFee) {
            removeAllFee();
        }

        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);

        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);

        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);

        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);

        } else {
            _transferStandard(sender, recipient, amount);
        }

        if (!takeFee) {
            restoreAllFee();
        }
    }
    function _transferStandard(address sender, address recipient,
uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity,
uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");

        _rOwned[sender]    = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient,
uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity,
uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient,
uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity,
uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient,
uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity,
uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");
		
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal    = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
    function removeAllFee() private {
        if (_taxFee == 0 && _liquidityFee == 0 && _marketingFee == 0) return;

        _previousTaxFee       = _taxFee;
        _previousLiquidityFee = _liquidityFee;
        _previousMarketingFee = _marketingFee;

        _taxFee       = 0;
        _liquidityFee = 0;
        _marketingFee = 0;
    }
    function restoreAllFee() private {
        _taxFee       = _previousTaxFee;
        _liquidityFee = _previousLiquidityFee;
        _marketingFee = _previousMarketingFee;
    }
    function _getTValues(uint256 tAmount) private view returns
(uint256, uint256, uint256, uint256) {
        uint256 tFee       = tAmount.mul(_taxFee).div(10000);
        uint256 tLiquidity = tAmount.mul(_liquidityFee).div(10000);
        uint256 tMarketing = tAmount.mul(_marketingFee).div(10000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        tTransferAmount = tTransferAmount.sub(tLiquidity);
        tTransferAmount = tTransferAmount.sub(tMarketing);
        return (tTransferAmount, tFee, tLiquidity, tMarketing);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256
tLiquidity, uint256 tMarketing, uint256 currentRate) private pure
returns (uint256, uint256, uint256) {
        uint256 rAmount     = tAmount.mul(currentRate);
        uint256 rFee        = tFee.mul(currentRate);
        uint256 rLiquidity  = tLiquidity.mul(currentRate);
        uint256 rMarketing  = tMarketing.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        rTransferAmount = rTransferAmount.sub(rLiquidity);
        rTransferAmount = rTransferAmount.sub(rMarketing);
        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;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply ||
_tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    function takeTransactionFee(address to, uint256 tAmount, uint256
currentRate) private {
        if (tAmount <= 0) { return; }

        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[to] = _rOwned[to].add(rAmount);
        if (_isExcluded[to]) {
            _tOwned[to] = _tOwned[to].add(tAmount);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"cOwner","type":"address"},{"internalType":"address","name":"marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromAutoLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedToAutoLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"addToBlackList","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","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":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setExcludedFromAutoLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setExcludedToAutoLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"setMarketingFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minLiquidityPercent","type":"uint256"}],"name":"setMinLiquidityPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"p","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"r","type":"address"}],"name":"setUniswapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269d3c21bcecceda1000000600d819055620000229060001962000444565b620000309060001962000420565b600e556064601081905561019060118190556012829055601382905560145560155569010f0cf064dd59200000601655681b1ae4d6e2ef5000006017556018805460ff191660011790553480156200008757600080fd5b506040516200349a3803806200349a833981016040819052620000aa91620003e9565b600080546001600160a01b0319166001600160a01b03841690811782556040518492907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b0319166001600160a01b0383811691909117909155600e5490831660009081526003602090815260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a01559260048083019392829003018186803b1580156200017757600080fd5b505afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b29190620003c5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fb57600080fd5b505afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002369190620003c5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200027f57600080fd5b505af115801562000294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ba9190620003c5565b601980546001600160a01b0319166001600160a01b039283161781556018805462010000600160b01b0319166201000085851681029190911782556000805485168152600560209081526040808320805460ff1990811660019081179092553085528285208054821683179055600c54891685528285208054821683179055965488168452600983528184208054881682179055945493909304861682528282208054909516909317909355600d5481519081529051938716937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505062000465565b80516001600160a01b0381168114620003c057600080fd5b919050565b600060208284031215620003d7578081fd5b620003e282620003a8565b9392505050565b60008060408385031215620003fc578081fd5b6200040783620003a8565b91506200041760208401620003a8565b90509250929050565b6000828210156200043f57634e487b7160e01b81526011600452602481fd5b500390565b6000826200046057634e487b7160e01b81526012600452602481fd5b500690565b61302580620004756000396000f3fe6080604052600436106102e85760003560e01c806370a0823111610190578063b3f22ce3116100dc578063d543dbeb11610095578063dd62ed3e1161006f578063dd62ed3e146108fc578063ea2f0b3714610942578063f2fde38b14610962578063ff8975701461098257600080fd5b8063d543dbeb1461089c578063d5aed6bf146108bc578063dd467064146108dc57600080fd5b8063b3f22ce3146107dc578063baa04398146107f2578063bc612bc814610822578063bea9849e14610842578063c49b9a8014610862578063cbecede01461088257600080fd5b806395d89b4111610149578063a457c2d711610123578063a457c2d714610757578063a69df4b514610777578063a9059cbb1461078c578063aebcdedc146107ac57600080fd5b806395d89b4114610316578063962dfc75146107175780639c74daf01461073757600080fd5b806370a0823114610655578063715018a6146106755780637d1db4a51461068a57806388f82020146106a05780638da5cb5b146106d95780638ee88c53146106f757600080fd5b8063395093511161024f57806352390c0211610208578063583e0568116101e2578063583e0568146105cc5780635d83b4541461060a578063602bc62b1461062a5780636bc87c3a1461063f57600080fd5b806352390c02146105535780635342acb414610573578063537df3b6146105ac57600080fd5b8063395093511461049d5780633b124fe7146104bd5780633bd5d173146104d3578063437823ec146104f35780634549b03914610513578063457c194c1461053357600080fd5b806322976e0d116102a157806322976e0d146103eb57806323b872dd146104015780632a9319cb146104215780632d83811914610441578063313ce567146104615780633685d4191461047d57600080fd5b8063061c82d0146102f457806306fdde0314610316578063095ea7b31461035757806313114a9d1461038757806318160ddd146103a65780631cdd3be3146103bb57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f366004612d36565b6109a2565b005b34801561032257600080fd5b50604080518082018252600981526854454348534849424160b81b6020820152905161034e9190612d9d565b60405180910390f35b34801561036357600080fd5b50610377610372366004612c81565b6109df565b604051901515815260200161034e565b34801561039357600080fd5b50600f545b60405190815260200161034e565b3480156103b257600080fd5b50600d54610398565b3480156103c757600080fd5b506103776103d6366004612b9d565b60076020526000908152604090205460ff1681565b3480156103f757600080fd5b5061039860125481565b34801561040d57600080fd5b5061037761041c366004612c0d565b6109f6565b34801561042d57600080fd5b5061031461043c366004612d36565b610a5f565b34801561044d57600080fd5b5061039861045c366004612d36565b610aaf565b34801561046d57600080fd5b506040516009815260200161034e565b34801561048957600080fd5b50610314610498366004612b9d565b610b33565b3480156104a957600080fd5b506103776104b8366004612c81565b610d22565b3480156104c957600080fd5b5061039860105481565b3480156104df57600080fd5b506103146104ee366004612d36565b610d58565b3480156104ff57600080fd5b5061031461050e366004612b9d565b610e67565b34801561051f57600080fd5b5061039861052e366004612d4e565b610eb5565b34801561053f57600080fd5b5061031461054e366004612d36565b610f8d565b34801561055f57600080fd5b5061031461056e366004612b9d565b610fc1565b34801561057f57600080fd5b5061037761058e366004612b9d565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105b857600080fd5b506103146105c7366004612b9d565b611114565b3480156105d857600080fd5b506018546105f2906201000090046001600160a01b031681565b6040516001600160a01b03909116815260200161034e565b34801561061657600080fd5b50610314610625366004612c4d565b61115f565b34801561063657600080fd5b50600254610398565b34801561064b57600080fd5b5061039860115481565b34801561066157600080fd5b50610398610670366004612b9d565b6111b4565b34801561068157600080fd5b50610314611213565b34801561069657600080fd5b5061039860165481565b3480156106ac57600080fd5b506103776106bb366004612b9d565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106e557600080fd5b506000546001600160a01b03166105f2565b34801561070357600080fd5b50610314610712366004612d36565b611275565b34801561072357600080fd5b50600c546105f2906001600160a01b031681565b34801561074357600080fd5b506019546105f2906001600160a01b031681565b34801561076357600080fd5b50610377610772366004612c81565b6112a9565b34801561078357600080fd5b506103146112f8565b34801561079857600080fd5b506103776107a7366004612c81565b6113fe565b3480156107b857600080fd5b506103776107c7366004612b9d565b600a6020526000908152604090205460ff1681565b3480156107e857600080fd5b5061039860175481565b3480156107fe57600080fd5b5061037761080d366004612b9d565b60096020526000908152604090205460ff1681565b34801561082e57600080fd5b5061031461083d366004612c4d565b61140b565b34801561084e57600080fd5b5061031461085d366004612b9d565b611460565b34801561086e57600080fd5b5061031461087d366004612d1c565b6114b4565b34801561088e57600080fd5b506018546103779060ff1681565b3480156108a857600080fd5b506103146108b7366004612d36565b611525565b3480156108c857600080fd5b506103146108d7366004612b9d565b61156f565b3480156108e857600080fd5b506103146108f7366004612d36565b6115bb565b34801561090857600080fd5b50610398610917366004612bd5565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561094e57600080fd5b5061031461095d366004612b9d565b611640565b34801561096e57600080fd5b5061031461097d366004612b9d565b61168b565b34801561098e57600080fd5b5061031461099d366004612cac565b611763565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016109cc90612e27565b60405180910390fd5b6010819055601355565b60006109ec338484611810565b5060015b92915050565b6000610a03848484611934565b610a558433610a5085604051806060016040528060288152602001612fa8602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190611c7f565b611810565b5060019392505050565b6000546001600160a01b03163314610a895760405162461bcd60e51b81526004016109cc90612e27565b610aa96064610aa383600d54611cb990919063ffffffff16565b90611d38565b60175550565b6000600e54821115610b165760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016109cc565b6000610b20611d7a565b9050610b2c8382611d38565b9392505050565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03811660009081526006602052604090205460ff16610bc55760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016109cc565b60005b600b54811015610d1e57816001600160a01b0316600b8281548110610bfd57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610d0c57600b8054610c2890600190612f23565b81548110610c4657634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600b80546001600160a01b039092169183908110610c8057634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600690925220805460ff19169055600b805480610ce657634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610d1681612f3a565b915050610bc8565b5050565b3360008181526008602090815260408083206001600160a01b038716845290915281205490916109ec918590610a509086611d9d565b3360008181526006602052604090205460ff1615610dcd5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016109cc565b6000806000610ddb85611dfc565b935093509350506000610dec611d7a565b90506000610dfd8786868686611e93565b50506001600160a01b038716600090815260036020526040902054909150610e259082611f07565b6001600160a01b038716600090815260036020526040902055600e54610e4b9082611f07565b600e55600f54610e5b9088611d9d565b600f5550505050505050565b6000546001600160a01b03163314610e915760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000600d54831115610f095760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016109cc565b81610f4e576000806000610f1c86611dfc565b935093509350506000610f2d611d7a565b90506000610f3e8886868686611e93565b509096506109f095505050505050565b6000806000610f5c86611dfc565b935093509350506000610f6d611d7a565b90506000610f7e8886868686611e93565b5096506109f095505050505050565b6000546001600160a01b03163314610fb75760405162461bcd60e51b81526004016109cc90612e27565b6012819055601555565b6000546001600160a01b03163314610feb5760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03811660009081526006602052604090205460ff16156110545760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016109cc565b6001600160a01b038116600090815260036020526040902054156110ae576001600160a01b03811660009081526003602052604090205461109490610aaf565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600660205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b0316331461113e5760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b031633146111895760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526006602052604081205460ff16156111f157506001600160a01b031660009081526004602052604090205490565b6001600160a01b0382166000908152600360205260409020546109f090610aaf565b6000546001600160a01b0316331461123d5760405162461bcd60e51b81526004016109cc90612e27565b600080546040516001600160a01b0390911690600080516020612fd0833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461129f5760405162461bcd60e51b81526004016109cc90612e27565b6011819055601455565b60006109ec3384610a5085604051806060016040528060248152602001612f84602491393360009081526008602090815260408083206001600160a01b038d1684529091529020549190611c7f565b6001546001600160a01b0316331461135e5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016109cc565b60025442116113af5760405162461bcd60e51b815260206004820152601860248201527f436f6e7472616374206973207374696c6c206c6f636b6564000000000000000060448201526064016109cc565b600154600080546040516001600160a01b039384169390911691600080516020612fd083398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b60006109ec338484611934565b6000546001600160a01b031633146114355760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461148a5760405162461bcd60e51b81526004016109cc90612e27565b601880546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6000546001600160a01b031633146114de5760405162461bcd60e51b81526004016109cc90612e27565b6018805460ff19168215159081179091556040519081527f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599060200160405180910390a150565b6000546001600160a01b0316331461154f5760405162461bcd60e51b81526004016109cc90612e27565b6115696064610aa383600d54611cb990919063ffffffff16565b60165550565b6000546001600160a01b031633146115995760405162461bcd60e51b81526004016109cc90612e27565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115e55760405162461bcd60e51b81526004016109cc90612e27565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556116148142612ecc565b600255600080546040516001600160a01b0390911690600080516020612fd0833981519152908390a350565b6000546001600160a01b0316331461166a5760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146116b55760405162461bcd60e51b81526004016109cc90612e27565b6001600160a01b03811661171a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109cc565b600080546040516001600160a01b0380851693921691600080516020612fd083398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461178d5760405162461bcd60e51b81526004016109cc90612e27565b60005b8181101561180b576001600760008585858181106117be57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906117d39190612b9d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561180481612f3a565b9050611790565b505050565b6001600160a01b0383166118725760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109cc565b6001600160a01b0382166118d35760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109cc565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526007602052604090205460ff1615801561197657506001600160a01b03821660009081526007602052604090205460ff16155b6119c25760405162461bcd60e51b815260206004820152601b60248201527f54686973206164647265737320697320626c61636b6c6973746564000000000060448201526064016109cc565b6001600160a01b038316611a265760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109cc565b6001600160a01b038216611a885760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109cc565b60008111611aea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016109cc565b6000546001600160a01b03848116911614801590611b1657506000546001600160a01b03838116911614155b15611b7e57601654811115611b7e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016109cc565b6000611b89306111b4565b90506016548110611b9957506016545b60175481108015908190611bb55750601854610100900460ff16155b8015611bda57506001600160a01b03851660009081526009602052604090205460ff16155b8015611bff57506001600160a01b0384166000908152600a602052604090205460ff16155b8015611c0d575060185460ff165b15611c20576017549150611c2082611f49565b6001600160a01b03851660009081526005602052604090205460019060ff1680611c6257506001600160a01b03851660009081526005602052604090205460ff165b15611c6b575060005b611c7786868684611fea565b505050505050565b60008184841115611ca35760405162461bcd60e51b81526004016109cc9190612d9d565b506000611cb08486612f23565b95945050505050565b600082611cc8575060006109f0565b6000611cd48385612f04565b905082611ce18583612ee4565b14610b2c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109cc565b6000610b2c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121cb565b6000806000611d876121f9565b9092509050611d968282611d38565b9250505090565b600080611daa8385612ecc565b905083811015610b2c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109cc565b6000806000806000611e1f612710610aa360105489611cb990919063ffffffff16565b90506000611e3e612710610aa36011548a611cb990919063ffffffff16565b90506000611e5d612710610aa36012548b611cb990919063ffffffff16565b90506000611e6b8985611f07565b9050611e778184611f07565b9050611e838183611f07565b9993985091965094509092505050565b6000808080611ea28986611cb9565b90506000611eb08987611cb9565b90506000611ebe8988611cb9565b90506000611ecc8989611cb9565b90506000611eda8585611f07565b9050611ee68184611f07565b9050611ef28183611f07565b949d949c50929a509298505050505050505050565b6000610b2c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c7f565b6018805461ff0019166101001790556000611f65826002611d38565b90506000611f738383611f07565b905047611f7f836123b3565b6000611f8b4783611f07565b9050611f978382612555565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506018805461ff0019169055505050565b6001600160a01b03841660009081526007602052604090205460ff1615801561202c57506001600160a01b03831660009081526007602052604090205460ff16155b6120485760405162461bcd60e51b81526004016109cc90612df0565b8061205557612055612646565b6001600160a01b03841660009081526006602052604090205460ff16801561209657506001600160a01b03831660009081526006602052604090205460ff16155b156120ab576120a684848461268b565b6121a9565b6001600160a01b03841660009081526006602052604090205460ff161580156120ec57506001600160a01b03831660009081526006602052604090205460ff165b156120fc576120a6848484612846565b6001600160a01b03841660009081526006602052604090205460ff1615801561213e57506001600160a01b03831660009081526006602052604090205460ff16155b1561214e576120a6848484612969565b6001600160a01b03841660009081526006602052604090205460ff16801561218e57506001600160a01b03831660009081526006602052604090205460ff165b1561219e576120a6848484612a27565b6121a9848484612969565b806121c5576121c5601354601055601454601155601554601255565b50505050565b600081836121ec5760405162461bcd60e51b81526004016109cc9190612d9d565b506000611cb08486612ee4565b600e54600d546000918291825b600b54811015612383578260036000600b848154811061223657634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806122af57508160046000600b848154811061228857634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156122c557600e54600d54945094505050509091565b61231960036000600b84815481106122ed57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611f07565b925061236f60046000600b848154811061234357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611f07565b91508061237b81612f3a565b915050612206565b50600d54600e5461239391611d38565b8210156123aa57600e54600d549350935050509091565b90939092509050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123f657634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050601860029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561246457600080fd5b505afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190612bb9565b816001815181106124bd57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526018546124e99130916201000090041684611810565b60185460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612527908590600090869030904290600401612e5c565b600060405180830381600087803b15801561254157600080fd5b505af1158015611c77573d6000803e3d6000fd5b6018546125739030906201000090046001600160a01b031684611810565b6018546001600160a01b03620100009091041663f305d7198230856000806125a36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561260657600080fd5b505af115801561261a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061263f9190612d70565b5050505050565b6010541580156126565750601154155b80156126625750601254155b1561266957565b6010805460135560118054601455601280546015556000928390559082905555565b60008060008061269a85611dfc565b935093509350935060006126ac611d7a565b905060008060006126c08988888888611e93565b6001600160a01b038e16600090815260076020526040902054929550909350915060ff1615801561270a57506001600160a01b038a1660009081526007602052604090205460ff16155b6127265760405162461bcd60e51b81526004016109cc90612df0565b6001600160a01b038b16600090815260046020526040902054612749908a611f07565b6001600160a01b038c166000908152600460209081526040808320939093556003905220546127789084611f07565b6001600160a01b03808d1660009081526003602052604080822093909355908c16815220546127a79083611d9d565b6001600160a01b038b166000908152600360205260409020556127cb308786612ab6565b600c546127e2906001600160a01b03168686612ab6565b6127ec8188612b64565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a60405161283191815260200190565b60405180910390a35050505050505050505050565b60008060008061285585611dfc565b93509350935093506000612867611d7a565b9050600080600061287b8988888888611e93565b6001600160a01b038e16600090815260076020526040902054929550909350915060ff161580156128c557506001600160a01b038a1660009081526007602052604090205460ff16155b6128e15760405162461bcd60e51b81526004016109cc90612df0565b6001600160a01b038b166000908152600360205260409020546129049084611f07565b6001600160a01b03808d16600090815260036020908152604080832094909455918d1681526004909152205461293a9089611d9d565b6001600160a01b038b166000908152600460209081526040808320939093556003905220546127a79083611d9d565b60008060008061297885611dfc565b9350935093509350600061298a611d7a565b9050600080600061299e8988888888611e93565b6001600160a01b038e16600090815260076020526040902054929550909350915060ff161580156129e857506001600160a01b038a1660009081526007602052604090205460ff16155b612a045760405162461bcd60e51b81526004016109cc90612df0565b6001600160a01b038b166000908152600360205260409020546127789084611f07565b600080600080612a3685611dfc565b93509350935093506000612a48611d7a565b90506000806000612a5c8988888888611e93565b6001600160a01b038e166000908152600460205260409020549295509093509150612a87908a611f07565b6001600160a01b038c166000908152600460209081526040808320939093556003905220546129049084611f07565b60008211612ac357505050565b6000612acf8383611cb9565b6001600160a01b038516600090815260036020526040902054909150612af59082611d9d565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff16156121c5576001600160a01b038416600090815260046020526040902054612b459084611d9d565b6001600160a01b03851660009081526004602052604090205550505050565b600e54612b719083611f07565b600e55600f54612b819082611d9d565b600f555050565b80358015158114612b9857600080fd5b919050565b600060208284031215612bae578081fd5b8135610b2c81612f6b565b600060208284031215612bca578081fd5b8151610b2c81612f6b565b60008060408385031215612be7578081fd5b8235612bf281612f6b565b91506020830135612c0281612f6b565b809150509250929050565b600080600060608486031215612c21578081fd5b8335612c2c81612f6b565b92506020840135612c3c81612f6b565b929592945050506040919091013590565b60008060408385031215612c5f578182fd5b8235612c6a81612f6b565b9150612c7860208401612b88565b90509250929050565b60008060408385031215612c93578182fd5b8235612c9e81612f6b565b946020939093013593505050565b60008060208385031215612cbe578182fd5b823567ffffffffffffffff80821115612cd5578384fd5b818501915085601f830112612ce8578384fd5b813581811115612cf6578485fd5b8660208260051b8501011115612d0a578485fd5b60209290920196919550909350505050565b600060208284031215612d2d578081fd5b610b2c82612b88565b600060208284031215612d47578081fd5b5035919050565b60008060408385031215612d60578182fd5b82359150612c7860208401612b88565b600080600060608486031215612d84578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015612dc957858101830151858201604001528201612dad565b81811115612dda5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601f908201527f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015612eab5784516001600160a01b031683529383019391830191600101612e86565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612edf57612edf612f55565b500190565b600082612eff57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612f1e57612f1e612f55565b500290565b600082821015612f3557612f35612f55565b500390565b6000600019821415612f4e57612f4e612f55565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114612f8057600080fd5b5056fe42455032303a64656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212205a14c789724a38485a96a44719c92e220f3fc599cbf19090ec1202e5ce50812564736f6c63430008040033000000000000000000000000680de4e1a8273ed8949a0c88f9a527529ad187be0000000000000000000000005f37fef28bc8e66b5cc9c0193c06b30960015ffa

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

000000000000000000000000680de4e1a8273ed8949a0c88f9a527529ad187be0000000000000000000000005f37fef28bc8e66b5cc9c0193c06b30960015ffa

-----Decoded View---------------
Arg [0] : cOwner (address): 0x680de4e1a8273ed8949a0c88f9a527529ad187be
Arg [1] : marketingWallet (address): 0x5f37fef28bc8e66b5cc9c0193c06b30960015ffa

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000680de4e1a8273ed8949a0c88f9a527529ad187be
Arg [1] : 0000000000000000000000005f37fef28bc8e66b5cc9c0193c06b30960015ffa


Deployed ByteCode Sourcemap

13375:21818:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21782:131;;;;;;;;;;-1:-1:-1;21782:131:0;;;;;:::i;:::-;;:::i;:::-;;16272:83;;;;;;;;;;-1:-1:-1;16342:5:0;;;;;;;;;;;-1:-1:-1;;;16342:5:0;;;;16272:83;;;;16342:5;16272:83;:::i;:::-;;;;;;;;17172:162;;;;;;;;;;-1:-1:-1;17172:162:0;;;;;:::i;:::-;;:::i;:::-;;;4870:14:1;;4863:22;4845:41;;4833:2;4818:18;17172:162:0;4800:92:1;21456:87:0;;;;;;;;;;-1:-1:-1;21525:10:0;;21456:87;;;12862:25:1;;;12850:2;12835:18;21456:87:0;12817:76:1;16543:95:0;;;;;;;;;;-1:-1:-1;16623:7:0;;16543:95;;13680:47;;;;;;;;;;-1:-1:-1;13680:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14453:34;;;;;;;;;;;;;;;;17683:313;;;;;;;;;;-1:-1:-1;17683:313:0;;;;;:::i;:::-;;:::i;22405:175::-;;;;;;;;;;-1:-1:-1;22405:175:0;;;;;:::i;:::-;;:::i;20371:254::-;;;;;;;;;;-1:-1:-1;20371:254:0;;;;;:::i;:::-;;:::i;16454:83::-;;;;;;;;;;-1:-1:-1;16454:83:0;;14361:1;14352:36:1;;14340:2;14325:18;16454:83:0;14307:87:1;20971:479:0;;;;;;;;;;-1:-1:-1;20971:479:0;;;;;:::i;:::-;;:::i;18002:220::-;;;;;;;;;;-1:-1:-1;18002:220:0;;;;;:::i;:::-;;:::i;14371:34::-;;;;;;;;;;;;;;;;18975:570;;;;;;;;;;-1:-1:-1;18975:570:0;;;;;:::i;:::-;;:::i;21549:111::-;;;;;;;;;;-1:-1:-1;21549:111:0;;;;;:::i;:::-;;:::i;19551:814::-;;;;;;;;;;-1:-1:-1;19551:814:0;;;;;:::i;:::-;;:::i;22092:167::-;;;;;;;;;;-1:-1:-1;22092:167:0;;;;;:::i;:::-;;:::i;20631:334::-;;;;;;;;;;-1:-1:-1;20631:334:0;;;;;:::i;:::-;;:::i;22761:123::-;;;;;;;;;;-1:-1:-1;22761:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;22849:27:0;22825:4;22849:27;;;:18;:27;;;;;;;;;22761:123;18538:115;;;;;;;;;;-1:-1:-1;18538:115:0;;;;;:::i;:::-;;:::i;14929:42::-;;;;;;;;;;-1:-1:-1;14929:42:0;;;;;;;-1:-1:-1;;;;;14929:42:0;;;;;;-1:-1:-1;;;;;4049:32:1;;;4031:51;;4019:2;4004:18;14929:42:0;3986:102:1;23016:131:0;;;;;;;;;;-1:-1:-1;23016:131:0;;;;;:::i;:::-;;:::i;4891:90::-;;;;;;;;;;-1:-1:-1;4964:9:0;;4891:90;;14412:34;;;;;;;;;;;;;;;;16644:198;;;;;;;;;;-1:-1:-1;16644:198:0;;;;;:::i;:::-;;:::i;4483:148::-;;;;;;;;;;;;;:::i;14672:69::-;;;;;;;;;;;;;;;;22890:120;;;;;;;;;;-1:-1:-1;22890:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;22982:20:0;22958:4;22982:20;;;:11;:20;;;;;;;;;22890:120;4269:79;;;;;;;;;;-1:-1:-1;4307:7:0;4334:6;-1:-1:-1;;;;;4334:6:0;4269:79;;21919:167;;;;;;;;;;-1:-1:-1;21919:167:0;;;;;:::i;:::-;;:::i;13980:31::-;;;;;;;;;;-1:-1:-1;13980:31:0;;;;-1:-1:-1;;;;;13980:31:0;;;14978:40;;;;;;;;;;-1:-1:-1;14978:40:0;;;;-1:-1:-1;;;;;14978:40:0;;;18228:269;;;;;;;;;;-1:-1:-1;18228:269:0;;;;;:::i;:::-;;:::i;5223:298::-;;;;;;;;;;;;;:::i;16848:168::-;;;;;;;;;;-1:-1:-1;16848:168:0;;;;;:::i;:::-;;:::i;13878:59::-;;;;;;;;;;-1:-1:-1;13878:59:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14748:68;;;;;;;;;;;;;;;;13810:61;;;;;;;;;;-1:-1:-1;13810:61:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;23153:126;;;;;;;;;;-1:-1:-1;23153:126:0;;;;;:::i;:::-;;:::i;23285:178::-;;;;;;;;;;-1:-1:-1;23285:178:0;;;;;:::i;:::-;;:::i;22586:169::-;;;;;;;;;;-1:-1:-1;22586:169:0;;;;;:::i;:::-;;:::i;14843:42::-;;;;;;;;;;-1:-1:-1;14843:42:0;;;;;;;;22265:134;;;;;;;;;;-1:-1:-1;22265:134:0;;;;;:::i;:::-;;:::i;23469:91::-;;;;;;;;;;-1:-1:-1;23469:91:0;;;;;:::i;:::-;;:::i;4989:226::-;;;;;;;;;;-1:-1:-1;4989:226:0;;;;;:::i;:::-;;:::i;17022:144::-;;;;;;;;;;-1:-1:-1;17022:144:0;;;;;:::i;:::-;-1:-1:-1;;;;;17131:18:0;;;17104:7;17131:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17022:144;21666:110;;;;;;;;;;-1:-1:-1;21666:110:0;;;;;:::i;:::-;;:::i;4639:244::-;;;;;;;;;;-1:-1:-1;4639:244:0;;;;;:::i;:::-;;:::i;18760:188::-;;;;;;;;;;-1:-1:-1;18760:188:0;;;;;:::i;:::-;;:::i;21782:131::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;;;;;;;;;21854:7:::1;:16:::0;;;21881:15:::1;:24:::0;21782:131::o;17172:162::-;17248:4;17265:39;1309:10;17288:7;17297:6;17265:8;:39::i;:::-;-1:-1:-1;17322:4:0;17172:162;;;;;:::o;17683:313::-;17782:4;17799:36;17809:6;17817:9;17828:6;17799:9;:36::i;:::-;17846:120;17855:6;1309:10;17876:89;17914:6;17876:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17876:19:0;;;;;;:11;:19;;;;;;;;1309:10;17876:33;;;;;;;;;;:37;:89::i;:::-;17846:8;:120::i;:::-;-1:-1:-1;17984:4:0;17683:313;;;;;:::o;22405:175::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;22531:41:::1;22568:3;22531:32;22543:19;22531:7;;:11;;:32;;;;:::i;:::-;:36:::0;::::1;:41::i;:::-;22497:30;:75:::0;-1:-1:-1;22405:175:0:o;20371:254::-;20437:7;20476;;20465;:18;;20457:73;;;;-1:-1:-1;;;20457:73:0;;7106:2:1;20457:73:0;;;7088:21:1;7145:2;7125:18;;;7118:30;7184:34;7164:18;;;7157:62;-1:-1:-1;;;7235:18:1;;;7228:40;7285:19;;20457:73:0;7078:232:1;20457:73:0;20543:19;20565:10;:8;:10::i;:::-;20543:32;-1:-1:-1;20593:24:0;:7;20543:32;20593:11;:24::i;:::-;20586:31;20371:254;-1:-1:-1;;;20371:254:0:o;20971:479::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21051:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;21043:60;;;::::0;-1:-1:-1;;;21043:60:0;;8640:2:1;21043:60:0::1;::::0;::::1;8622:21:1::0;8679:2;8659:18;;;8652:30;8718:29;8698:18;;;8691:57;8765:18;;21043:60:0::1;8612:177:1::0;21043:60:0::1;21121:9;21116:327;21140:9;:16:::0;21136:20;::::1;21116:327;;;21198:7;-1:-1:-1::0;;;;;21182:23:0::1;:9;21192:1;21182:12;;;;;;-1:-1:-1::0;;;21182:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;21182:12:0::1;:23;21178:254;;;21241:9;21251:16:::0;;:20:::1;::::0;21270:1:::1;::::0;21251:20:::1;:::i;:::-;21241:31;;;;;;-1:-1:-1::0;;;21241:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;21226:9:::1;:12:::0;;-1:-1:-1;;;;;21241:31:0;;::::1;::::0;21236:1;;21226:12;::::1;;;-1:-1:-1::0;;;21226:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;21226:46:0::1;-1:-1:-1::0;;;;;21226:46:0;;::::1;;::::0;;21291:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;21330:11:::1;:20:::0;;;;:28;;-1:-1:-1;;21330:28:0::1;::::0;;21377:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;21377:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;21377:15:0;;;;;-1:-1:-1;;;;;;21377:15:0::1;::::0;;;;;21116:327:::1;20971:479:::0;:::o;21178:254::-:1;21158:3:::0;::::1;::::0;::::1;:::i;:::-;;;;21116:327;;;;20971:479:::0;:::o;18002:220::-;1309:10;18091:4;18141:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18141:34:0;;;;;;;;;;18091:4;;18108:84;;18131:7;;18141:50;;18180:10;18141:38;:50::i;18975:570::-;1309:10;19027:14;19076:19;;;:11;:19;;;;;;;;19075:20;19067:77;;;;-1:-1:-1;;;19067:77:0;;11698:2:1;19067:77:0;;;11680:21:1;11737:2;11717:18;;;11710:30;11776:34;11756:18;;;11749:62;-1:-1:-1;;;11827:18:1;;;11820:42;11879:19;;19067:77:0;11670:234:1;19067:77:0;19160:12;19174:18;19194;19217:20;19229:7;19217:11;:20::i;:::-;19157:80;;;;;;;19248:19;19270:10;:8;:10::i;:::-;19248:32;;19292:15;19313:64;19325:7;19334:4;19340:10;19353;19365:11;19313;:64::i;:::-;-1:-1:-1;;;;;;;19408:15:0;;;;;;:7;:15;;;;;;19291:86;;-1:-1:-1;19408:28:0;;19291:86;19408:19;:28::i;:::-;-1:-1:-1;;;;;19390:15:0;;;;;;:7;:15;;;;;:46;19465:7;;:20;;19477:7;19465:11;:20::i;:::-;19447:7;:38;19514:10;;:23;;19529:7;19514:14;:23::i;:::-;19496:10;:41;-1:-1:-1;;;;;;;18975:570:0:o;21549:111::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21618:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;21618:34:0::1;21648:4;21618:34;::::0;;21549:111::o;19551:814::-;19642:7;19681;;19670;:18;;19662:62;;;;-1:-1:-1;;;19662:62:0;;9352:2:1;19662:62:0;;;9334:21:1;9391:2;9371:18;;;9364:30;9430:33;9410:18;;;9403:61;9481:18;;19662:62:0;9324:181:1;19662:62:0;19742:17;19737:621;;19779:12;19793:18;19813;19836:20;19848:7;19836:11;:20::i;:::-;19776:80;;;;;;;19871:19;19893:10;:8;:10::i;:::-;19871:32;;19919:15;19940:64;19952:7;19961:4;19968:10;19980;19992:11;19940;:64::i;:::-;-1:-1:-1;19918:86:0;;-1:-1:-1;20021:14:0;;-1:-1:-1;;;;;;20021:14:0;19737:621;20073:12;20087:18;20107;20130:20;20142:7;20130:11;:20::i;:::-;20070:80;;;;;;;20165:19;20187:10;:8;:10::i;:::-;20165:32;;20215:23;20243:64;20255:7;20264:4;20271:10;20283;20295:11;20243;:64::i;:::-;-1:-1:-1;20212:95:0;-1:-1:-1;20324:22:0;;-1:-1:-1;;;;;;20324:22:0;22092:167;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;22176:13:::1;:28:::0;;;22215:21:::1;:36:::0;22092:167::o;20631:334::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20712:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;20711:21;20703:61;;;::::0;-1:-1:-1;;;20703:61:0;;8640:2:1;20703:61:0::1;::::0;::::1;8622:21:1::0;8679:2;8659:18;;;8652:30;8718:29;8698:18;;;8691:57;8765:18;;20703:61:0::1;8612:177:1::0;20703:61:0::1;-1:-1:-1::0;;;;;20781:16:0;::::1;20800:1;20781:16:::0;;;:7:::1;:16;::::0;;;;;:20;20777:109:::1;;-1:-1:-1::0;;;;;20857:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;20837:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;20818:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;20777:109:::1;-1:-1:-1::0;;;;;20896:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;20896:27:0::1;20919:4;20896:27:::0;;::::1;::::0;;;20934:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;20934:23:0::1;::::0;;::::1;::::0;;20631:334::o;18538:115::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18614:23:0::1;18640:5;18614:23:::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;18614:31:0::1;::::0;;18538:115::o;23016:131::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23104:31:0;;;::::1;;::::0;;;:28:::1;:31;::::0;;;;:35;;-1:-1:-1;;23104:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23016:131::o;16644:198::-;-1:-1:-1;;;;;16734:20:0;;16710:7;16734:20;;;:11;:20;;;;;;;;16730:49;;;-1:-1:-1;;;;;;16763:16:0;;;;;:7;:16;;;;;;;16644:198::o;16730:49::-;-1:-1:-1;;;;;16817:16:0;;;;;;:7;:16;;;;;;16797:37;;:19;:37::i;4483:148::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;4590:1:::1;4574:6:::0;;4553:40:::1;::::0;-1:-1:-1;;;;;4574:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;4553:40:0;4590:1;;4553:40:::1;4621:1;4604:19:::0;;-1:-1:-1;;;;;;4604:19:0::1;::::0;;4483:148::o;21919:167::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;22003:13:::1;:28:::0;;;22042:21:::1;:36:::0;21919:167::o;18228:269::-;18322:4;18339:128;1309:10;18362:7;18371:95;18410:15;18371:95;;;;;;;;;;;;;;;;;1309:10;18371:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18371:34:0;;;;;;;;;;;;:38;:95::i;5223:298::-;5275:14;;-1:-1:-1;;;;;5275:14:0;5293:10;5275:28;5267:76;;;;-1:-1:-1;;;5267:76:0;;12514:2:1;5267:76:0;;;12496:21:1;12553:2;12533:18;;;12526:30;12592:34;12572:18;;;12565:62;-1:-1:-1;;;12643:18:1;;;12636:33;12686:19;;5267:76:0;12486:225:1;5267:76:0;5380:9;;5362:15;:27;5354:65;;;;-1:-1:-1;;;5354:65:0;;6348:2:1;5354:65:0;;;6330:21:1;6387:2;6367:18;;;6360:30;6426:26;6406:18;;;6399:54;6470:18;;5354:65:0;6320:174:1;5354:65:0;5464:14;;;5456:6;;5435:44;;-1:-1:-1;;;;;5464:14:0;;;;5456:6;;;;-1:-1:-1;;;;;;;;;;;5435:44:0;;5499:14;;;5490:23;;-1:-1:-1;;;;;;5490:23:0;-1:-1:-1;;;;;5499:14:0;;;5490:23;;;;;;5223:298::o;16848:168::-;16927:4;16944:42;1309:10;16968:9;16979:6;16944:9;:42::i;23153:126::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23238:29:0;;;::::1;;::::0;;;:26:::1;:29;::::0;;;;:33;;-1:-1:-1;;23238:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23153:126::o;23285:178::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;23421:16:::1;:34:::0;;-1:-1:-1;;;;;23421:34:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;23421:34:0;;::::1;::::0;;;::::1;::::0;;23285:178::o;22586:169::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;22662:22:::1;:32:::0;;-1:-1:-1;;22662:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22710:37:::1;::::0;4845:41:1;;;22710:37:0::1;::::0;4833:2:1;4818:18;22710:37:0::1;;;;;;;22586:169:::0;:::o;22265:134::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;22357:34:::1;22387:3;22357:25;22369:12;22357:7;;:11;;:25;;;;:::i;:34::-;22342:12;:49:::0;-1:-1:-1;22265:134:0:o;23469:91::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;23534:14:::1;:18:::0;;-1:-1:-1;;;;;;23534:18:0::1;-1:-1:-1::0;;;;;23534:18:0;;;::::1;::::0;;;::::1;::::0;;23469:91::o;4989:226::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;5070:6:::1;::::0;;;5053:23;;-1:-1:-1;;;;;;5053:23:0;;::::1;-1:-1:-1::0;;;;;5070:6:0;::::1;5053:23;::::0;;;5087:19:::1;::::0;;5129:22:::1;5147:4:::0;5129:15:::1;:22;:::i;:::-;5117:9;:34:::0;5204:1:::1;5188:6:::0;;5167:40:::1;::::0;-1:-1:-1;;;;;5188:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;5167:40:0;5204:1;;5167:40:::1;4989:226:::0;:::o;21666:110::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21733:27:0::1;21763:5;21733:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;21733:35:0::1;::::0;;21666:110::o;4639:244::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4728:22:0;::::1;4720:73;;;::::0;-1:-1:-1;;;4720:73:0;;7517:2:1;4720:73:0::1;::::0;::::1;7499:21:1::0;7556:2;7536:18;;;7529:30;7595:34;7575:18;;;7568:62;-1:-1:-1;;;7646:18:1;;;7639:36;7692:19;;4720:73:0::1;7489:228:1::0;4720:73:0::1;4830:6;::::0;;4809:38:::1;::::0;-1:-1:-1;;;;;4809:38:0;;::::1;::::0;4830:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;4809:38:0;::::1;4858:6;:17:::0;;-1:-1:-1;;;;;;4858:17:0::1;-1:-1:-1::0;;;;;4858:17:0;;;::::1;::::0;;;::::1;::::0;;4639:244::o;18760:188::-;4396:6;;-1:-1:-1;;;;;4396:6:0;1309:10;4396:22;4388:67;;;;-1:-1:-1;;;4388:67:0;;;;;;;:::i;:::-;18847:9:::1;18842:99;18858:20:::0;;::::1;18842:99;;;18927:4;18896:14;:28;18911:9;;18921:1;18911:12;;;;;-1:-1:-1::0;;;18911:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18896:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18896:28:0;:35;;-1:-1:-1;;18896:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18880:3:::1;::::0;::::1;:::i;:::-;;;18842:99;;;;18760:188:::0;;:::o;17340:337::-;-1:-1:-1;;;;;17433:19:0;;17425:68;;;;-1:-1:-1;;;17425:68:0;;6701:2:1;17425:68:0;;;6683:21:1;6740:2;6720:18;;;6713:30;6779:34;6759:18;;;6752:62;-1:-1:-1;;;6830:18:1;;;6823:34;6874:19;;17425:68:0;6673:226:1;17425:68:0;-1:-1:-1;;;;;17512:21:0;;17504:68;;;;-1:-1:-1;;;17504:68:0;;12111:2:1;17504:68:0;;;12093:21:1;12150:2;12130:18;;;12123:30;12189:34;12169:18;;;12162:62;-1:-1:-1;;;12240:18:1;;;12233:32;12282:19;;17504:68:0;12083:224:1;17504:68:0;-1:-1:-1;;;;;17585:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17637:32;;12862:25:1;;;17637:32:0;;12835:18:1;17637:32:0;;;;;;;17340:337;;;:::o;23585:1958::-;-1:-1:-1;;;;;23851:20:0;;;;;;:14;:20;;;;;;;;23850:21;:44;;;;-1:-1:-1;;;;;;23876:18:0;;;;;;:14;:18;;;;;;;;23875:19;23850:44;23842:84;;;;-1:-1:-1;;;23842:84:0;;8996:2:1;23842:84:0;;;8978:21:1;9035:2;9015:18;;;9008:30;9074:29;9054:18;;;9047:57;9121:18;;23842:84:0;8968:177:1;23842:84:0;-1:-1:-1;;;;;23945:18:0;;23937:68;;;;-1:-1:-1;;;23937:68:0;;5942:2:1;23937:68:0;;;5924:21:1;5981:2;5961:18;;;5954:30;6020:34;6000:18;;;5993:62;-1:-1:-1;;;6071:18:1;;;6064:35;6116:19;;23937:68:0;5914:227:1;23937:68:0;-1:-1:-1;;;;;24024:16:0;;24016:64;;;;-1:-1:-1;;;24016:64:0;;11294:2:1;24016:64:0;;;11276:21:1;11333:2;11313:18;;;11306:30;11372:34;11352:18;;;11345:62;-1:-1:-1;;;11423:18:1;;;11416:33;11466:19;;24016:64:0;11266:225:1;24016:64:0;24108:1;24099:6;:10;24091:64;;;;-1:-1:-1;;;24091:64:0;;10884:2:1;24091:64:0;;;10866:21:1;10923:2;10903:18;;;10896:30;10962:34;10942:18;;;10935:62;-1:-1:-1;;;11013:18:1;;;11006:39;11062:19;;24091:64:0;10856:231:1;24091:64:0;4307:7;4334:6;-1:-1:-1;;;;;24172:15:0;;;4334:6;;24172:15;;;;:32;;-1:-1:-1;4307:7:0;4334:6;-1:-1:-1;;;;;24191:13:0;;;4334:6;;24191:13;;24172:32;24168:140;;;24239:12;;24229:6;:22;;24221:75;;;;-1:-1:-1;;;24221:75:0;;9712:2:1;24221:75:0;;;9694:21:1;9751:2;9731:18;;;9724:30;9790:34;9770:18;;;9763:62;-1:-1:-1;;;9841:18:1;;;9834:38;9889:19;;24221:75:0;9684:230:1;24221:75:0;24637:28;24668:24;24686:4;24668:9;:24::i;:::-;24637:55;;24733:12;;24709:20;:36;24705:104;;-1:-1:-1;24785:12:0;;24705:104;24875:30;;24850:55;;;;;;;24934:56;;-1:-1:-1;24973:17:0;;;;;;;24972:18;24934:56;:108;;;;-1:-1:-1;;;;;;25008:34:0;;;;;;:28;:34;;;;;;;;25007:35;24934:108;:156;;;;-1:-1:-1;;;;;;25060:30:0;;;;;;:26;:30;;;;;;;;25059:31;24934:156;:195;;;;-1:-1:-1;25107:22:0;;;;24934:195;24916:356;;;25179:30;;25156:53;;25224:36;25239:20;25224:14;:36::i;:::-;-1:-1:-1;;;;;25388:24:0;;25284:12;25388:24;;;:18;:24;;;;;;25299:4;;25388:24;;;:50;;-1:-1:-1;;;;;;25416:22:0;;;;;;:18;:22;;;;;;;;25388:50;25384:98;;;-1:-1:-1;25465:5:0;25384:98;25494:41;25509:4;25515:2;25519:6;25527:7;25494:14;:41::i;:::-;23585:1958;;;;;;:::o;2618:193::-;2705:7;2741:12;2733:6;;;;2725:29;;;;-1:-1:-1;;;2725:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2765:9:0;2777:5;2781:1;2777;:5;:::i;:::-;2765:17;2618:193;-1:-1:-1;;;;;2618:193:0:o;2819:228::-;2877:7;2901:6;2897:25;;-1:-1:-1;2918:1:0;2911:8;;2897:25;2934:9;2946:5;2950:1;2946;:5;:::i;:::-;2934:17;-1:-1:-1;2979:1:0;2970:5;2974:1;2934:17;2970:5;:::i;:::-;:10;2962:56;;;;-1:-1:-1;;;2962:56:0;;10121:2:1;2962:56:0;;;10103:21:1;10160:2;10140:18;;;10133:30;10199:34;10179:18;;;10172:62;-1:-1:-1;;;10250:18:1;;;10243:31;10291:19;;2962:56:0;10093:223:1;3055:132:0;3113:7;3140:39;3144:1;3147;3140:39;;;;;;;;;;;;;;;;;:3;:39::i;34125:163::-;34166:7;34187:15;34204;34223:19;:17;:19::i;:::-;34186:56;;-1:-1:-1;34186:56:0;-1:-1:-1;34260:20:0;34186:56;;34260:11;:20::i;:::-;34253:27;;;;34125:163;:::o;2285:181::-;2343:7;;2375:5;2379:1;2375;:5;:::i;:::-;2363:17;;2404:1;2399;:6;;2391:46;;;;-1:-1:-1;;;2391:46:0;;7924:2:1;2391:46:0;;;7906:21:1;7963:2;7943:18;;;7936:30;8002:29;7982:18;;;7975:57;8049:18;;2391:46:0;7896:177:1;32941:545:0;33002:7;33011;33020;33029;33049:12;33070:31;33095:5;33070:20;33082:7;;33070;:11;;:20;;;;:::i;:31::-;33049:52;;33112:18;33133:37;33164:5;33133:26;33145:13;;33133:7;:11;;:26;;;;:::i;:37::-;33112:58;;33181:18;33202:37;33233:5;33202:26;33214:13;;33202:7;:11;;:26;;;;:::i;:37::-;33181:58;-1:-1:-1;33250:23:0;33276:17;:7;33288:4;33276:11;:17::i;:::-;33250:43;-1:-1:-1;33322:31:0;33250:43;33342:10;33322:19;:31::i;:::-;33304:49;-1:-1:-1;33382:31:0;33304:49;33402:10;33382:19;:31::i;:::-;33364:49;33449:4;;-1:-1:-1;33455:10:0;;-1:-1:-1;33455:10:0;-1:-1:-1;32941:545:0;;-1:-1:-1;;;32941:545:0:o;33492:627::-;33629:7;;;;33689:24;:7;33701:11;33689;:24::i;:::-;33667:46;-1:-1:-1;33724:12:0;33746:21;:4;33755:11;33746:8;:21::i;:::-;33724:43;-1:-1:-1;33778:18:0;33800:27;:10;33815:11;33800:14;:27::i;:::-;33778:49;-1:-1:-1;33838:18:0;33860:27;:10;33875:11;33860:14;:27::i;:::-;33838:49;-1:-1:-1;33898:23:0;33924:17;:7;33936:4;33924:11;:17::i;:::-;33898:43;-1:-1:-1;33970:31:0;33898:43;33990:10;33970:19;:31::i;:::-;33952:49;-1:-1:-1;34030:31:0;33952:49;34050:10;34030:19;:31::i;:::-;34080:7;;;;-1:-1:-1;34106:4:0;;-1:-1:-1;33492:627:0;;-1:-1:-1;;;;;;;;;33492:627:0:o;2474:136::-;2532:7;2559:43;2563:1;2566;2559:43;;;;;;;;;;;;;;;;;:3;:43::i;25549:953::-;15315:17;:24;;-1:-1:-1;;15315:24:0;;;;;;25701:27:::1;:20:::0;25726:1:::1;25701:24;:27::i;:::-;25681:47:::0;-1:-1:-1;25739:17:0::1;25759:30;:20:::0;25681:47;25759:24:::1;:30::i;:::-;25739:50:::0;-1:-1:-1;26121:21:0::1;26187:22;26204:4:::0;26187:16:::1;:22::i;:::-;26286:18;26307:41;:21;26333:14:::0;26307:25:::1;:41::i;:::-;26286:62;;26398:35;26411:9;26422:10;26398:12;:35::i;:::-;26451:43;::::0;;14088:25:1;;;14144:2;14129:18;;14122:34;;;14172:18;;;14165:34;;;26451:43:0::1;::::0;14076:2:1;14061:18;26451:43:0::1;;;;;;;-1:-1:-1::0;;15362:17:0;:25;;-1:-1:-1;;15362:25:0;;;-1:-1:-1;;;25549:953:0:o;27629:960::-;-1:-1:-1;;;;;27743:22:0;;;;;;:14;:22;;;;;;;;27742:23;:53;;;;-1:-1:-1;;;;;;27770:25:0;;;;;;:14;:25;;;;;;;;27769:26;27742:53;27734:97;;;;-1:-1:-1;;;27734:97:0;;;;;;;:::i;:::-;27847:7;27842:55;;27871:14;:12;:14::i;:::-;-1:-1:-1;;;;;27913:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;27937:22:0;;;;;;:11;:22;;;;;;;;27936:23;27913:46;27909:605;;;27976:48;27998:6;28006:9;28017:6;27976:21;:48::i;:::-;27909:605;;;-1:-1:-1;;;;;28049:19:0;;;;;;:11;:19;;;;;;;;28048:20;:46;;;;-1:-1:-1;;;;;;28072:22:0;;;;;;:11;:22;;;;;;;;28048:46;28044:470;;;28111:46;28131:6;28139:9;28150:6;28111:19;:46::i;28044:470::-;-1:-1:-1;;;;;28182:19:0;;;;;;:11;:19;;;;;;;;28181:20;:47;;;;-1:-1:-1;;;;;;28206:22:0;;;;;;:11;:22;;;;;;;;28205:23;28181:47;28177:337;;;28245:44;28263:6;28271:9;28282:6;28245:17;:44::i;28177:337::-;-1:-1:-1;;;;;28313:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;28336:22:0;;;;;;:11;:22;;;;;;;;28313:45;28309:205;;;28375:48;28397:6;28405:9;28416:6;28375:21;:48::i;28309:205::-;28458:44;28476:6;28484:9;28495:6;28458:17;:44::i;:::-;28531:7;28526:56;;28555:15;32816;;32800:7;:31;32858:21;;32842:13;:37;32906:21;;32890:13;:37;32756:179;28555:15;27629:960;;;;:::o;3195:282::-;3282:7;3317:12;3310:5;3302:28;;;;-1:-1:-1;;;3302:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3341:9:0;3353:5;3357:1;3353;:5;:::i;34294:556::-;34391:7;;34427;;34344;;;;;34445:290;34469:9;:16;34465:20;;34445:290;;;34535:7;34511;:21;34519:9;34529:1;34519:12;;;;;;-1:-1:-1;;;34519:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34519:12:0;34511:21;;;;;;;;;;;;;:31;;:67;;;34571:7;34547;:21;34555:9;34565:1;34555:12;;;;;;-1:-1:-1;;;34555:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34555:12:0;34547:21;;;;;;;;;;;;;:31;34511:67;34507:98;;;34588:7;;34597;;34580:25;;;;;;;34294:556;;:::o;34507:98::-;34630:34;34642:7;:21;34650:9;34660:1;34650:12;;;;;;-1:-1:-1;;;34650:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34650:12:0;34642:21;;;;;;;;;;;;;34630:7;;:11;:34::i;:::-;34620:44;;34689:34;34701:7;:21;34709:9;34719:1;34709:12;;;;;;-1:-1:-1;;;34709:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34709:12:0;34701:21;;;;;;;;;;;;;34689:7;;:11;:34::i;:::-;34679:44;-1:-1:-1;34487:3:0;;;;:::i;:::-;;;;34445:290;;;-1:-1:-1;34771:7:0;;34759;;:20;;:11;:20::i;:::-;34749:7;:30;34745:61;;;34789:7;;34798;;34781:25;;;;;;34294:556;;:::o;34745:61::-;34825:7;;34834;;-1:-1:-1;34294:556:0;-1:-1:-1;34294:556:0:o;26508:592::-;26658:16;;;26672:1;26658:16;;;;;;;;26634:21;;26658:16;;;;;;;;;;-1:-1:-1;26658:16:0;26634:40;;26703:4;26685;26690:1;26685:7;;;;;;-1:-1:-1;;;26685:7:0;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;26685:23:0;;;-1:-1:-1;;;;;26685:23:0;;;;;26729:16;;;;;;;;;-1:-1:-1;;;;;26729:16:0;-1:-1:-1;;;;;26729:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26719:4;26724:1;26719:7;;;;;;-1:-1:-1;;;26719:7:0;;;;;;;;;-1:-1:-1;;;;;26719:33:0;;;:7;;;;;;;;;:33;26797:16;;26765:63;;26782:4;;26797:16;;;;26816:11;26765:8;:63::i;:::-;26867:16;;:225;;-1:-1:-1;;;26867:225:0;;:16;;;;-1:-1:-1;;;;;26867:16:0;;:67;;:225;;26949:11;;26975:1;;27019:4;;27046;;27066:15;;26867:225;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27106:515;27286:16;;27254:63;;27271:4;;27286:16;;;-1:-1:-1;;;;;27286:16:0;27305:11;27254:8;:63::i;:::-;27360:16;;-1:-1:-1;;;;;27360:16:0;;;;;:32;27400:9;27433:4;27453:11;27479:1;;27565:7;4307;4334:6;-1:-1:-1;;;;;4334:6:0;;4269:79;27565:7;27360:253;;;;;;-1:-1:-1;;;;;;27360:253:0;;;-1:-1:-1;;;;;4452:15:1;;;27360:253:0;;;4434:34:1;4484:18;;;4477:34;;;;4527:18;;;4520:34;;;;4570:18;;;4563:34;4634:15;;;4613:19;;;4606:44;27587:15:0;4666:19:1;;;4659:35;4368:19;;27360:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;27106:515;;:::o;32405:345::-;32452:7;;:12;:34;;;;-1:-1:-1;32468:13:0;;:18;32452:34;:56;;;;-1:-1:-1;32490:13:0;;:18;32452:56;32448:69;;;32405:345::o;32448:69::-;32553:7;;;32529:15;:31;32595:13;;;32571:21;:37;32643:13;;;32619:21;:37;-1:-1:-1;32669:17:0;;;;32697;;;;32725;32405:345::o;31315:929::-;31419:23;31444:12;31458:18;31479;31501:20;31513:7;31501:11;:20::i;:::-;31418:103;;;;;;;;31532:19;31554:10;:8;:10::i;:::-;31532:32;;31576:15;31593:23;31618:12;31635:63;31647:7;31656:4;31662:10;31674;31686:11;31635;:63::i;:::-;-1:-1:-1;;;;;31714:22:0;;;;;;:14;:22;;;;;;31575:123;;-1:-1:-1;31575:123:0;;-1:-1:-1;31575:123:0;-1:-1:-1;31714:22:0;;31713:23;:53;;;;-1:-1:-1;;;;;;31741:25:0;;;;;;:14;:25;;;;;;;;31740:26;31713:53;31705:97;;;;-1:-1:-1;;;31705:97:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;31835:15:0;;;;;;:7;:15;;;;;;:28;;31855:7;31835:19;:28::i;:::-;-1:-1:-1;;;;;31817:15:0;;;;;;:7;:15;;;;;;;;:46;;;;31892:7;:15;;;;:28;;31912:7;31892:19;:28::i;:::-;-1:-1:-1;;;;;31874:15:0;;;;;;;:7;:15;;;;;;:46;;;;31952:18;;;;;;;:39;;31975:15;31952:22;:39::i;:::-;-1:-1:-1;;;;;31931:18:0;;;;;;:7;:18;;;;;:60;32004:58;32031:4;32038:10;32050:11;32004:18;:58::i;:::-;32100:16;;32073:70;;-1:-1:-1;;;;;32100:16:0;32119:10;32131:11;32073:18;:70::i;:::-;32154:22;32165:4;32171;32154:10;:22::i;:::-;32209:9;-1:-1:-1;;;;;32192:44:0;32201:6;-1:-1:-1;;;;;32192:44:0;;32220:15;32192:44;;;;12862:25:1;;12850:2;12835:18;;12817:76;32192:44:0;;;;;;;;31315:929;;;;;;;;;;;:::o;30370:939::-;30472:23;30497:12;30511:18;30532;30554:20;30566:7;30554:11;:20::i;:::-;30471:103;;;;;;;;30585:19;30607:10;:8;:10::i;:::-;30585:32;;30629:15;30646:23;30671:12;30688:63;30700:7;30709:4;30715:10;30727;30739:11;30688;:63::i;:::-;-1:-1:-1;;;;;30767:22:0;;;;;;:14;:22;;;;;;30628:123;;-1:-1:-1;30628:123:0;;-1:-1:-1;30628:123:0;-1:-1:-1;30767:22:0;;30766:23;:53;;;;-1:-1:-1;;;;;;30794:25:0;;;;;;:14;:25;;;;;;;;30793:26;30766:53;30758:97;;;;-1:-1:-1;;;30758:97:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;30886:15:0;;;;;;:7;:15;;;;;;:28;;30906:7;30886:19;:28::i;:::-;-1:-1:-1;;;;;30868:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;30946:18;;;;;:7;:18;;;;;:39;;30969:15;30946:22;:39::i;:::-;-1:-1:-1;;;;;30925:18:0;;;;;;:7;:18;;;;;;;;:60;;;;31017:7;:18;;;;:39;;31040:15;31017:22;:39::i;28595:869::-;28695:23;28720:12;28734:18;28755;28777:20;28789:7;28777:11;:20::i;:::-;28694:103;;;;;;;;28808:19;28830:10;:8;:10::i;:::-;28808:32;;28852:15;28869:23;28894:12;28911:63;28923:7;28932:4;28938:10;28950;28962:11;28911;:63::i;:::-;-1:-1:-1;;;;;28990:22:0;;;;;;:14;:22;;;;;;28851:123;;-1:-1:-1;28851:123:0;;-1:-1:-1;28851:123:0;-1:-1:-1;28990:22:0;;28989:23;:53;;;;-1:-1:-1;;;;;;29017:25:0;;;;;;:14;:25;;;;;;;;29016:26;28989:53;28981:97;;;;-1:-1:-1;;;28981:97:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;29112:15:0;;;;;;:7;:15;;;;;;:28;;29132:7;29112:19;:28::i;29470:894::-;29574:23;29599:12;29613:18;29634;29656:20;29668:7;29656:11;:20::i;:::-;29573:103;;;;;;;;29687:19;29709:10;:8;:10::i;:::-;29687:32;;29731:15;29748:23;29773:12;29790:63;29802:7;29811:4;29817:10;29829;29841:11;29790;:63::i;:::-;-1:-1:-1;;;;;29884:15:0;;;;;;:7;:15;;;;;;29730:123;;-1:-1:-1;29730:123:0;;-1:-1:-1;29730:123:0;-1:-1:-1;29884:28:0;;29904:7;29884:19;:28::i;:::-;-1:-1:-1;;;;;29866:15:0;;;;;;:7;:15;;;;;;;;:46;;;;29941:7;:15;;;;:28;;29961:7;29941:19;:28::i;34856:334::-;34969:1;34958:7;:12;34954:29;;34856:334;;;:::o;34954:29::-;34995:15;35013:24;:7;35025:11;35013;:24::i;:::-;-1:-1:-1;;;;;35062:11:0;;;;;;:7;:11;;;;;;34995:42;;-1:-1:-1;35062:24:0;;34995:42;35062:15;:24::i;:::-;-1:-1:-1;;;;;35048:11:0;;;;;;:7;:11;;;;;;;;:38;;;;35101:11;:15;;;;;;35097:86;;;-1:-1:-1;;;;;35147:11:0;;;;;;:7;:11;;;;;;:24;;35163:7;35147:15;:24::i;:::-;-1:-1:-1;;;;;35133:11:0;;;;;;:7;:11;;;;;:38;34856:334;;;;:::o;32250:149::-;32330:7;;:17;;32342:4;32330:11;:17::i;:::-;32317:7;:30;32371:10;;:20;;32386:4;32371:14;:20::i;:::-;32358:10;:33;-1:-1:-1;;32250:149:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1646:6;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:2;;;1728:6;1720;1713:22;1675:2;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1865:35:1;1896:2;1881:18;;1865:35;:::i;:::-;1855:45;;1665:241;;;;;:::o;1911:325::-;1979:6;1987;2040:2;2028:9;2019:7;2015:23;2011:32;2008:2;;;2061:6;2053;2046:22;2008:2;2105:9;2092:23;2124:31;2149:5;2124:31;:::i;:::-;2174:5;2226:2;2211:18;;;;2198:32;;-1:-1:-1;;;1998:238:1:o;2241:665::-;2327:6;2335;2388:2;2376:9;2367:7;2363:23;2359:32;2356:2;;;2409:6;2401;2394:22;2356:2;2454:9;2441:23;2483:18;2524:2;2516:6;2513:14;2510:2;;;2545:6;2537;2530:22;2510:2;2588:6;2577:9;2573:22;2563:32;;2633:7;2626:4;2622:2;2618:13;2614:27;2604:2;;2660:6;2652;2645:22;2604:2;2705;2692:16;2731:2;2723:6;2720:14;2717:2;;;2752:6;2744;2737:22;2717:2;2810:7;2805:2;2795:6;2792:1;2788:14;2784:2;2780:23;2776:32;2773:45;2770:2;;;2836:6;2828;2821:22;2770:2;2872;2864:11;;;;;2894:6;;-1:-1:-1;2346:560:1;;-1:-1:-1;;;;2346:560:1:o;2911:190::-;2967:6;3020:2;3008:9;2999:7;2995:23;2991:32;2988:2;;;3041:6;3033;3026:22;2988:2;3069:26;3085:9;3069:26;:::i;3106:190::-;3165:6;3218:2;3206:9;3197:7;3193:23;3189:32;3186:2;;;3239:6;3231;3224:22;3186:2;-1:-1:-1;3267:23:1;;3176:120;-1:-1:-1;3176:120:1:o;3301:258::-;3366:6;3374;3427:2;3415:9;3406:7;3402:23;3398:32;3395:2;;;3448:6;3440;3433:22;3395:2;3489:9;3476:23;3466:33;;3518:35;3549:2;3538:9;3534:18;3518:35;:::i;3564:316::-;3652:6;3660;3668;3721:2;3709:9;3700:7;3696:23;3692:32;3689:2;;;3742:6;3734;3727:22;3689:2;3776:9;3770:16;3760:26;;3826:2;3815:9;3811:18;3805:25;3795:35;;3870:2;3859:9;3855:18;3849:25;3839:35;;3679:201;;;;;:::o;5132:603::-;5244:4;5273:2;5302;5291:9;5284:21;5334:6;5328:13;5377:6;5372:2;5361:9;5357:18;5350:34;5402:4;5415:140;5429:6;5426:1;5423:13;5415:140;;;5524:14;;;5520:23;;5514:30;5490:17;;;5509:2;5486:26;5479:66;5444:10;;5415:140;;;5573:6;5570:1;5567:13;5564:2;;;5643:4;5638:2;5629:6;5618:9;5614:22;5610:31;5603:45;5564:2;-1:-1:-1;5719:2:1;5698:15;-1:-1:-1;;5694:29:1;5679:45;;;;5726:2;5675:54;;5253:482;-1:-1:-1;;;5253:482:1:o;8078:355::-;8280:2;8262:21;;;8319:2;8299:18;;;8292:30;8358:33;8353:2;8338:18;;8331:61;8424:2;8409:18;;8252:181::o;10321:356::-;10523:2;10505:21;;;10542:18;;;10535:30;10601:34;10596:2;10581:18;;10574:62;10668:2;10653:18;;10495:182::o;12898:983::-;13160:4;13208:3;13197:9;13193:19;13239:6;13228:9;13221:25;13265:2;13303:6;13298:2;13287:9;13283:18;13276:34;13346:3;13341:2;13330:9;13326:18;13319:31;13370:6;13405;13399:13;13436:6;13428;13421:22;13474:3;13463:9;13459:19;13452:26;;13513:2;13505:6;13501:15;13487:29;;13534:4;13547:195;13561:6;13558:1;13555:13;13547:195;;;13626:13;;-1:-1:-1;;;;;13622:39:1;13610:52;;13717:15;;;;13682:12;;;;13658:1;13576:9;13547:195;;;-1:-1:-1;;;;;;;13798:32:1;;;;13793:2;13778:18;;13771:60;-1:-1:-1;;;13862:3:1;13847:19;13840:35;13759:3;13169:712;-1:-1:-1;;;13169:712:1:o;14399:128::-;14439:3;14470:1;14466:6;14463:1;14460:13;14457:2;;;14476:18;;:::i;:::-;-1:-1:-1;14512:9:1;;14447:80::o;14532:217::-;14572:1;14598;14588:2;;-1:-1:-1;;;14623:31:1;;14677:4;14674:1;14667:15;14705:4;14630:1;14695:15;14588:2;-1:-1:-1;14734:9:1;;14578:171::o;14754:168::-;14794:7;14860:1;14856;14852:6;14848:14;14845:1;14842:21;14837:1;14830:9;14823:17;14819:45;14816:2;;;14867:18;;:::i;:::-;-1:-1:-1;14907:9:1;;14806:116::o;14927:125::-;14967:4;14995:1;14992;14989:8;14986:2;;;15000:18;;:::i;:::-;-1:-1:-1;15037:9:1;;14976:76::o;15057:135::-;15096:3;-1:-1:-1;;15117:17:1;;15114:2;;;15137:18;;:::i;:::-;-1:-1:-1;15184:1:1;15173:13;;15104:88::o;15197:127::-;15258:10;15253:3;15249:20;15246:1;15239:31;15289:4;15286:1;15279:15;15313:4;15310:1;15303:15;15329:131;-1:-1:-1;;;;;15404:31:1;;15394:42;;15384:2;;15450:1;15447;15440:12;15384:2;15374:86;:::o

Swarm Source

ipfs://5a14c789724a38485a96a44719c92e220f3fc599cbf19090ec1202e5ce508125
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.