Contract 0x9daaa05946e486add2c81e0d32d936866b8449d9 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x80f714fd20a45deab72a2d6b10dd486322c0fc56c9c573cefd69caf5ed9fd519Approve112661252021-09-27 1:21:502 hrs 26 mins ago0x00d4183fa4f004553809a547ba68991929840ced IN  xxxNifty: NSFW Token0 BNB0.000267156
0x4ee314486c49a6a898cdd6632b273f5aee6dfe8acef21982ec276e4644b08a3eApprove112632762021-09-26 22:57:404 hrs 51 mins ago0xe7e29806cf80976aa41de9e14677d92f1094daa7 IN  xxxNifty: NSFW Token0 BNB0.00022263
0xb4176e76c1118351b97b7736b304e81eeea713e41357b08e327259459f967587Transfer112631412021-09-26 22:50:554 hrs 57 mins ago0x9ef955881fb46c04e84b116e4e3d9ebe79b167de IN  xxxNifty: NSFW Token0 BNB0.00106503
0x8e3e110394d56dce62dde72ffa542363d74e09ace4a7c683fd5519c287a54246Approve112618982021-09-26 21:48:376 hrs ago0x071d3adccc09d27df05f08d3cfc195fa498f942f IN  xxxNifty: NSFW Token0 BNB0.00022263
0x81d6d01f1da19ba5e76e224e20c129e9ed4a44f105456920c5d3dc7545c2b297Approve112608982021-09-26 20:58:236 hrs 50 mins ago0x9ef955881fb46c04e84b116e4e3d9ebe79b167de IN  xxxNifty: NSFW Token0 BNB0.00022263
0x5b3e34285eeea3934ba7cb0c0963afc950b1fc951da6472721c666015a0d4303Approve112608732021-09-26 20:57:086 hrs 51 mins ago0x9ef955881fb46c04e84b116e4e3d9ebe79b167de IN  xxxNifty: NSFW Token0 BNB0.00022005
0x06fa13f89109663ed0a47934886a0ed5128a448fdf766da937bf62253998d3b4Approve112602362021-09-26 20:24:527 hrs 23 mins ago0xf5c12cfabe7367068379632e35264db5752f1c7e IN  xxxNifty: NSFW Token0 BNB0.00022263
0xd2e67ae48f9365253658be7a782b0517c59e8b3b7736c8a98394971d0e89d3a2Approve112597302021-09-26 19:58:497 hrs 49 mins ago0x403d1039cc1a19e8477274fd7049f77231be6551 IN  xxxNifty: NSFW Token0 BNB0.00022263
0xb4ea19aad32d2351a379923934c98d03f9f855ae40139b3f0a3cc38681f88043Transfer112594602021-09-26 19:45:158 hrs 3 mins ago0x7518ea1df74184de2e5f59d868755edb8c7b16ea IN  xxxNifty: NSFW Token0 BNB0.00106503
0xd951ee66e2e3cef6891b30075cc66d39bb566b5ba5723ca794689d694439fe55Approve112585812021-09-26 19:01:188 hrs 47 mins ago0x713ca7eaea0054e876b158ef5e9491a90f2f926c IN  xxxNifty: NSFW Token0 BNB0.00022263
0x0662d1189348588518da407212467e3c511f8b47d1e39ca2c6749b71f3174797Approve112583712021-09-26 18:50:458 hrs 58 mins ago0x9f6c99bb028648b72497831db61739d6fc94fcf3 IN  xxxNifty: NSFW Token0 BNB0.00022263
0x4b1875d45fa89fe7609069ba4e8da4f54966f29662b6e626c3dadf9516233353Approve112583642021-09-26 18:50:248 hrs 58 mins ago0x34783d74f7ab9d8e56f0eb353bd5b139786150a7 IN  xxxNifty: NSFW Token0 BNB0.000267156
0x1f3b69a0336eb003703f3dce8128c7f58987e6b10231b7baa54cbf84285a4f1dApprove112579382021-09-26 18:29:069 hrs 19 mins ago0x9a9ca33ffef8c6670e02af0a870fa75316aa1f4d IN  xxxNifty: NSFW Token0 BNB0.00022263
0xa058bd24c69a48dcbdf8ef5d04f4c0d5edb1bfb050d2163c776f93336b0a535aApprove112568882021-09-26 17:36:1210 hrs 12 mins ago0x930d7390f84998a0d7a8fb78ab52b868bcae8fbd IN  xxxNifty: NSFW Token0 BNB0.00022263
0xbecfb5c5d8a5508c7e9bfe8ae87749f9602b112f7f5fbccf8ffde315a10f2f7eApprove112551662021-09-26 16:08:5511 hrs 39 mins ago0x8c65617d3beb2323becde919f3885801b28c7b07 IN  xxxNifty: NSFW Token0 BNB0.00022263
0x149d3a50e8442faebfdedf4ac748e5325fc8f379d56d9241dcff76a265eb1f8dTransfer112550152021-09-26 16:01:1511 hrs 47 mins ago0xe64c70e12f1d447e74088ef0ca656f0b56098aff IN  xxxNifty: NSFW Token0 BNB0.00106497
0xe799331df38577eebc05fead2b2da1abb4ff5cb01f94df94c8c84372f15d3d78Approve112546842021-09-26 15:44:4112 hrs 4 mins ago0x57f53e69e7fb2bbe2aa34d207faec67df476b0b6 IN  xxxNifty: NSFW Token0 BNB0.00012663
0xd1de32a150ef30b05268e144ecc59913beb118fa0957b09e03416e14cbb860ecApprove112546822021-09-26 15:44:3512 hrs 4 mins ago0x57f53e69e7fb2bbe2aa34d207faec67df476b0b6 IN  xxxNifty: NSFW Token0 BNB0.00022263
0x6b8550e0da84492f7d31501f8244e33afda2e7e8f5bc87e371df80c2273247ceTransfer112543612021-09-26 15:28:1712 hrs 20 mins ago0xa682dee108d2390fbc37595861d87bede9a39cec IN  xxxNifty: NSFW Token0 BNB0.00099003
0xe25f0f16f65db53a180ed4ae23f6c4ed113ae73cc39c52d82c68b470554d2774Approve112537622021-09-26 14:58:2012 hrs 50 mins ago0x0399df42866b9698b55c81540ba2c5ed72645b6d IN  xxxNifty: NSFW Token0 BNB0.00022263
0x27dee74c05df532672993e277e95d44bd351a8c0974503fa02f76861d2ddbf93Approve112500192021-09-26 11:49:4715 hrs 58 mins ago0xc0e0a32305ca09d9abfddf6e034c25899eb4d413 IN  xxxNifty: NSFW Token0 BNB0.00022263
0x31cb7e6b2f4a0c65a3a3cd597bc935cceb58b6c50bace9839830c4faf508376fApprove112487352021-09-26 10:44:4517 hrs 4 mins ago0xdc75278d40db6c29c605d20a00f832e930bba305 IN  xxxNifty: NSFW Token0 BNB0.00022263
0x26fc681325bac30930128331198fc29c6e987e09684a2034fc2fca10a2071f6fApprove112473872021-09-26 9:36:4918 hrs 11 mins ago0xb1b9b4bbe8a92d535f5df2368e7fd2ecfb3a1950 IN  xxxNifty: NSFW Token0 BNB0.00012513
0xd9690c0d2d7af1d1f6cde7cbecb48712134f4df990ca78a5643d58865d53a0c9Approve112473832021-09-26 9:36:3718 hrs 12 mins ago0xb1b9b4bbe8a92d535f5df2368e7fd2ecfb3a1950 IN  xxxNifty: NSFW Token0 BNB0.00022113
0xd72f4def04a5d3e1a9465f145a5e58caa709dac913808434d3723bf322385aecApprove112471862021-09-26 9:26:3218 hrs 22 mins ago0xfd3de05d5ee35c3b0a1b57996154553adc8ab563 IN  xxxNifty: NSFW Token0 BNB0.00022263
[ Download CSV Export 

OVERVIEW

xxxNifty is a NSFW Adult Content NFT Marketplace.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x423a1c47bd3e934a8e7507b67f13759091678d67fe905f4ff1674c9ccef9ec9e112413962021-09-26 4:34:4023 hrs 14 mins ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778484.58192890028794225 BNB
0x423a1c47bd3e934a8e7507b67f13759091678d67fe905f4ff1674c9ccef9ec9e112413962021-09-26 4:34:4023 hrs 14 mins ago PancakeSwap: Router v2 xxxNifty: NSFW Token4.58192890028794225 BNB
0x0111b525e49cdbb480046028b25175aa6bd27b59706e39ff8ddf5ba6e26988cd112097672021-09-25 2:04:272 days 1 hr ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778484.437682875446636515 BNB
0x0111b525e49cdbb480046028b25175aa6bd27b59706e39ff8ddf5ba6e26988cd112097672021-09-25 2:04:272 days 1 hr ago PancakeSwap: Router v2 xxxNifty: NSFW Token4.437682875446636515 BNB
0xc31a5255e7d684d361f90102249fa9e640ce82de13523a4ed88d0363b994359b112096612021-09-25 1:59:092 days 1 hr ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778484.474361148724850259 BNB
0xc31a5255e7d684d361f90102249fa9e640ce82de13523a4ed88d0363b994359b112096612021-09-25 1:59:092 days 1 hr ago PancakeSwap: Router v2 xxxNifty: NSFW Token4.474361148724850259 BNB
0xf53442cba29138a90205a70a0341d2b9f895c4411d089b8d09a3dccb264c454a111968042021-09-24 15:13:282 days 12 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.896251791934756326 BNB
0xf53442cba29138a90205a70a0341d2b9f895c4411d089b8d09a3dccb264c454a111968042021-09-24 15:13:282 days 12 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.896251791934756326 BNB
0xd7323a4b8ffeedcf826c97225e599a451e07140163793488afdaa10985548930111965862021-09-24 15:02:342 days 12 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.927674221952501387 BNB
0xd7323a4b8ffeedcf826c97225e599a451e07140163793488afdaa10985548930111965862021-09-24 15:02:342 days 12 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.927674221952501387 BNB
0x9a309c36c90df4bfcedb8d98c25238ece53cd69ba908309590382086581e314d111794222021-09-24 0:41:483 days 3 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.9485169845333832 BNB
0x9a309c36c90df4bfcedb8d98c25238ece53cd69ba908309590382086581e314d111794222021-09-24 0:41:483 days 3 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.9485169845333832 BNB
0x471c5ca529fe41103d0281c5b8e15631e8aca9518e14132ec25ac6be4dc70865111793672021-09-24 0:39:033 days 3 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.97892514022651706 BNB
0x471c5ca529fe41103d0281c5b8e15631e8aca9518e14132ec25ac6be4dc70865111793672021-09-24 0:39:033 days 3 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.97892514022651706 BNB
0x1c057963192c9f8d2eec10245c268263beb4cc441f4ff12b1f23b7d48dbe2c02111793372021-09-24 0:37:333 days 3 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778484.01172464830381013 BNB
0x1c057963192c9f8d2eec10245c268263beb4cc441f4ff12b1f23b7d48dbe2c02111793372021-09-24 0:37:333 days 3 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token4.01172464830381013 BNB
0x16a58b76257b3264832318629979c2258d60691a9350927dc600b1aff2b14205111612422021-09-23 9:27:143 days 18 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.274365184154687813 BNB
0x16a58b76257b3264832318629979c2258d60691a9350927dc600b1aff2b14205111612422021-09-23 9:27:143 days 18 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.274365184154687813 BNB
0x6f43cfb149e1d4789c790dcc183cff7e6710e6ef7e2c33ddafad168d5244dec2111611692021-09-23 9:23:343 days 18 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.294429804289594763 BNB
0x6f43cfb149e1d4789c790dcc183cff7e6710e6ef7e2c33ddafad168d5244dec2111611692021-09-23 9:23:343 days 18 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.294429804289594763 BNB
0x58ebd1a45bc09d6a67206a3a8db5407c622ebef96ad182121ab5af09b4db0864111611372021-09-23 9:21:573 days 18 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.316869710891367594 BNB
0x58ebd1a45bc09d6a67206a3a8db5407c622ebef96ad182121ab5af09b4db0864111611372021-09-23 9:21:573 days 18 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.316869710891367594 BNB
0xe6150f453bea9156294235d21738992b2711f59c23d70ad2216939d9d176d088109644462021-09-16 12:38:5510 days 15 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.538688252890785363 BNB
0xe6150f453bea9156294235d21738992b2711f59c23d70ad2216939d9d176d088109644462021-09-16 12:38:5510 days 15 hrs ago PancakeSwap: Router v2 xxxNifty: NSFW Token3.538688252890785363 BNB
0x9e64ec5b0ba9c48eded763b3ab49147e414e0b93aba3c81fc59ca1b4367f0fd3109644362021-09-16 12:38:2510 days 15 hrs ago xxxNifty: NSFW Token0x8dfee5946c1e24b6dc60a3d2ece2b40355c778483.566207791377537198 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
xxxNifty

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: xxxNifty.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

import "./util.sol";

contract xxxNifty 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 => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromSwapAndLiquify;

    address[] private _excluded;
    address public _charityWallet;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 69696969420 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 private _tFeeTotal;
    uint256 private _tBurnTotal;

    string private constant _name     = "xxxNifty";
    string private constant _symbol   = "NSFW";
    uint8  private constant _decimals = 9;
    
    uint256 public _taxFee       = 200; // 2% of every transaction is redistributed to holders
    uint256 public _liquidityFee = 500; // 5% of every transaction will be converted into BNB
    uint256 public _burnFee      = 200; // 2% of every transaction is burned

    uint256 public _maxTxAmount                   = 69696969420 * 10**9;
    uint256 public _numTokensSellToAddToLiquidity = 10000000 * 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 CharitySent(
        address to,
        uint256 bnbSent
    );
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor (address cOwner, address charityWallet) Ownable(cOwner) {
        _charityWallet = charityWallet;

        _rOwned[cOwner] = _rTotal;
        
        // Create a uniswap pair for this new token
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _uniswapV2Router = uniswapV2Router;

        // exclude system addresses from fee
        _isExcludedFromFee[owner()]        = true;
        _isExcludedFromFee[address(this)]  = true;
        _isExcludedFromFee[_charityWallet] = true;

        _isExcludedFromSwapAndLiquify[_uniswapV2Pair]            = true;
        _isExcludedFromSwapAndLiquify[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;
    }

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

        (, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, tBurn, 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 tBurn) = _getTValues(tAmount);
            uint256 currentRate = _getRate();
            (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);

            return rAmount;

        } else {
            (, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
            uint256 currentRate = _getRate();
            (, uint256 rTransferAmount,) = _getRValues(tAmount, tFee, tLiquidity, tBurn, 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 totalBurn() public view returns (uint256) {
        return _tBurnTotal;
    }
    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;
    }
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {
        _liquidityFee = liquidityFee;
    }
    function setBurnFeePercent(uint256 burnFee) external onlyOwner {
        _burnFee = burnFee;
    }
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(100);
    }
    function setMinLiquidityPercent(uint256 minLiquidityPercent) external onlyOwner {
        _numTokensSellToAddToLiquidity = _tTotal.mul(minLiquidityPercent).div(1000);
    }
    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 setIsExcludedFromSwapAndLiquify(address a, bool b) external onlyOwner {
        _isExcludedFromSwapAndLiquify[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 {
        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 &&
            !_isExcludedFromSwapAndLiquify[from] &&
            _swapAndLiquifyEnabled
        ) {
            swapAndLiquify(_numTokensSellToAddToLiquidity);
        }
        
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    function swapAndLiquify(uint256 tokenAmount) private lockTheSwap {
        swapTokensForBnb(tokenAmount);
        if (address(this).balance > 0) {
            emit CharitySent(_charityWallet, address(this).balance);
            payable(_charityWallet).transfer(address(this).balance);
        }
    }
    function swapTokensForBnb(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        uint256 previousTaxFee       = _taxFee;
        uint256 previousLiquidityFee = _liquidityFee;
        uint256 previousBurnFee      = _burnFee;

        if (!takeFee) {
            _taxFee       = 0;
            _liquidityFee = 0;
            _burnFee      = 0;
        }
        
        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) {
            _taxFee       = previousTaxFee;
            _liquidityFee = previousLiquidityFee;
            _burnFee      = previousBurnFee;
        }
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

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

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(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);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

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

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

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

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _reflectFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private {
        _rTotal     = _rTotal.sub(rFee).sub(rBurn);
        _tFeeTotal  = _tFeeTotal.add(tFee);
        _tBurnTotal = _tBurnTotal.add(tBurn);
        _tTotal     = _tTotal.sub(tBurn);
    }
    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 tBurn      = tAmount.mul(_burnFee).div(10000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        tTransferAmount = tTransferAmount.sub(tLiquidity);
        tTransferAmount = tTransferAmount.sub(tBurn);
        return (tTransferAmount, tFee, tLiquidity, tBurn);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount     = tAmount.mul(currentRate);
        uint256 rFee        = tFee.mul(currentRate);
        uint256 rLiquidity  = tLiquidity.mul(currentRate);
        uint256 rBurn       = tBurn.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        rTransferAmount = rTransferAmount.sub(rLiquidity);
        rTransferAmount = rTransferAmount.sub(rBurn);
        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);
        }
    }
}

File 2 of 2: util.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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 Mint(address indexed sender, uint amount0, uint amount1);
    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 mint(address to) external returns (uint liquidity);
    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 Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"cOwner","type":"address"},{"internalType":"address","name":"charityWallet","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":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"bnbSent","type":"uint256"}],"name":"CharitySent","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":"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":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_charityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromSwapAndLiquify","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":"_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":"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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnFee","type":"uint256"}],"name":"setBurnFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setIsExcludedFromSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","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":"totalBurn","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"}]

60806040526803c73d606ac85cf800600b819055620000219060001962000431565b6200002f906000196200040d565b600c5560c8600f8190556101f46010556011556803c73d606ac85cf800601255662386f26fc100006013556014805460ff191660011790553480156200007457600080fd5b5060405162002e8d38038062002e8d8339810160408190526200009791620003d6565b600080546001600160a01b0319166001600160a01b03841690811782556040518492907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b0319166001600160a01b0383811691909117909155600c5490831660009081526003602090815260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a01559260048083019392829003018186803b1580156200016457600080fd5b505afa15801562000179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019f9190620003b2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e857600080fd5b505afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002239190620003b2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026c57600080fd5b505af115801562000281573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a79190620003b2565b601580546001600160a01b0319166001600160a01b039283161781556014805462010000600160b01b0319166201000085851681029190911782556000805485168152600560209081526040808320805460ff1990811660019081179092553085528285208054821683179055600a54891685528285208054821683179055965488168452600883528184208054881682179055945493909304861682528282208054909516909317909355600b5481519081529051938716937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505062000452565b80516001600160a01b0381168114620003ad57600080fd5b919050565b600060208284031215620003c4578081fd5b620003cf8262000395565b9392505050565b60008060408385031215620003e9578081fd5b620003f48362000395565b9150620004046020840162000395565b90509250929050565b6000828210156200042c57634e487b7160e01b81526011600452602481fd5b500390565b6000826200044d57634e487b7160e01b81526012600452602481fd5b500690565b612a2b80620004626000396000f3fe60806040526004361061028c5760003560e01c806370a082311161015a578063b3f22ce3116100c1578063d543dbeb1161007a578063d543dbeb146107e4578063d5aed6bf14610804578063dd46706414610824578063dd62ed3e14610844578063ea2f0b371461088a578063f2fde38b146108aa57600080fd5b8063b3f22ce31461073e578063bea9849e14610754578063c0b0fda214610774578063c49b9a801461078a578063cbecede0146107aa578063cea26958146107c457600080fd5b80638ee88c53116101135780638ee88c531461067c57806395d89b411461069c5780639c74daf0146106c9578063a457c2d7146106e9578063a69df4b514610709578063a9059cbb1461071e57600080fd5b806370a08231146105aa578063715018a6146105ca5780637d1db4a5146105df5780638268a343146105f557806388f82020146106255780638da5cb5b1461065e57600080fd5b80633b124fe7116101fe5780634549b039116101b75780634549b039146104e057806352390c02146105005780635342acb414610520578063583e056814610559578063602bc62b1461057f5780636bc87c3a1461059457600080fd5b80633b124fe71461041d5780633bd5d173146104335780633c9f861d146104535780634092795214610468578063437823ec1461048857806343a18909146104a857600080fd5b806323b872dd1161025057806323b872dd146103615780632a9319cb146103815780632d838119146103a1578063313ce567146103c15780633685d419146103dd57806339509351146103fd57600080fd5b8063061c82d01461029857806306fdde03146102ba578063095ea7b3146102fd57806313114a9d1461032d57806318160ddd1461034c57600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102b86102b336600461279f565b6108ca565b005b3480156102c657600080fd5b506040805180820190915260088152677878784e6966747960c01b60208201525b6040516102f491906127d9565b60405180910390f35b34801561030957600080fd5b5061031d61031836600461275a565b610902565b60405190151581526020016102f4565b34801561033957600080fd5b50600d545b6040519081526020016102f4565b34801561035857600080fd5b50600b5461033e565b34801561036d57600080fd5b5061031d61037c3660046126e6565b610919565b34801561038d57600080fd5b506102b861039c36600461279f565b610982565b3480156103ad57600080fd5b5061033e6103bc36600461279f565b6109d3565b3480156103cd57600080fd5b50604051600981526020016102f4565b3480156103e957600080fd5b506102b86103f8366004612676565b610a57565b34801561040957600080fd5b5061031d61041836600461275a565b610c46565b34801561042957600080fd5b5061033e600f5481565b34801561043f57600080fd5b506102b861044e36600461279f565b610c7c565b34801561045f57600080fd5b50600e5461033e565b34801561047457600080fd5b506102b8610483366004612726565b610d8b565b34801561049457600080fd5b506102b86104a3366004612676565b610de0565b3480156104b457600080fd5b50600a546104c8906001600160a01b031681565b6040516001600160a01b0390911681526020016102f4565b3480156104ec57600080fd5b5061033e6104fb3660046127b7565b610e2e565b34801561050c57600080fd5b506102b861051b366004612676565b610f06565b34801561052c57600080fd5b5061031d61053b366004612676565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561056557600080fd5b506014546104c8906201000090046001600160a01b031681565b34801561058b57600080fd5b5060025461033e565b3480156105a057600080fd5b5061033e60105481565b3480156105b657600080fd5b5061033e6105c5366004612676565b611059565b3480156105d657600080fd5b506102b86110b8565b3480156105eb57600080fd5b5061033e60125481565b34801561060157600080fd5b5061031d610610366004612676565b60086020526000908152604090205460ff1681565b34801561063157600080fd5b5061031d610640366004612676565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561066a57600080fd5b506000546001600160a01b03166104c8565b34801561068857600080fd5b506102b861069736600461279f565b61111a565b3480156106a857600080fd5b506040805180820190915260048152634e53465760e01b60208201526102e7565b3480156106d557600080fd5b506015546104c8906001600160a01b031681565b3480156106f557600080fd5b5061031d61070436600461275a565b611149565b34801561071557600080fd5b506102b8611198565b34801561072a57600080fd5b5061031d61073936600461275a565b61129e565b34801561074a57600080fd5b5061033e60135481565b34801561076057600080fd5b506102b861076f366004612676565b6112ab565b34801561078057600080fd5b5061033e60115481565b34801561079657600080fd5b506102b86107a5366004612785565b6112ff565b3480156107b657600080fd5b5060145461031d9060ff1681565b3480156107d057600080fd5b506102b86107df36600461279f565b611370565b3480156107f057600080fd5b506102b86107ff36600461279f565b61139f565b34801561081057600080fd5b506102b861081f366004612676565b6113e9565b34801561083057600080fd5b506102b861083f36600461279f565b611435565b34801561085057600080fd5b5061033e61085f3660046126ae565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561089657600080fd5b506102b86108a5366004612676565b6114ba565b3480156108b657600080fd5b506102b86108c5366004612676565b611505565b6000546001600160a01b031633146108fd5760405162461bcd60e51b81526004016108f49061282c565b60405180910390fd5b600f55565b600061090f3384846115dd565b5060015b92915050565b6000610926848484611701565b610978843361097385604051806060016040528060288152602001612989602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611996565b6115dd565b5060019392505050565b6000546001600160a01b031633146109ac5760405162461bcd60e51b81526004016108f49061282c565b6109cd6103e86109c783600b546119d090919063ffffffff16565b90611a4f565b60135550565b6000600c54821115610a3a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016108f4565b6000610a44611a91565b9050610a508382611a4f565b9392505050565b6000546001600160a01b03163314610a815760405162461bcd60e51b81526004016108f49061282c565b6001600160a01b03811660009081526006602052604090205460ff16610ae95760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016108f4565b60005b600954811015610c4257816001600160a01b031660098281548110610b2157634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c305760098054610b4c90600190612928565b81548110610b6a57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600980546001600160a01b039092169183908110610ba457634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600690925220805460ff191690556009805480610c0a57634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610c3a8161293f565b915050610aec565b5050565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161090f9185906109739086611ab4565b3360008181526006602052604090205460ff1615610cf15760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016108f4565b6000806000610cff85611b13565b935093509350506000610d10611a91565b90506000610d218786868686611baa565b50506001600160a01b038716600090815260036020526040902054909150610d499082611c1e565b6001600160a01b038716600090815260036020526040902055600c54610d6f9082611c1e565b600c55600d54610d7f9088611ab4565b600d5550505050505050565b6000546001600160a01b03163314610db55760405162461bcd60e51b81526004016108f49061282c565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e0a5760405162461bcd60e51b81526004016108f49061282c565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000600b54831115610e825760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016108f4565b81610ec7576000806000610e9586611b13565b935093509350506000610ea6611a91565b90506000610eb78886868686611baa565b5090965061091395505050505050565b6000806000610ed586611b13565b935093509350506000610ee6611a91565b90506000610ef78886868686611baa565b50965061091395505050505050565b6000546001600160a01b03163314610f305760405162461bcd60e51b81526004016108f49061282c565b6001600160a01b03811660009081526006602052604090205460ff1615610f995760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016108f4565b6001600160a01b03811660009081526003602052604090205415610ff3576001600160a01b038116600090815260036020526040902054610fd9906109d3565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600660205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6001600160a01b03811660009081526006602052604081205460ff161561109657506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610913906109d3565b6000546001600160a01b031633146110e25760405162461bcd60e51b81526004016108f49061282c565b600080546040516001600160a01b03909116906000805160206129b1833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146111445760405162461bcd60e51b81526004016108f49061282c565b601055565b600061090f3384610973856040518060600160405280602581526020016129d1602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611996565b6001546001600160a01b031633146111fe5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016108f4565b600254421161124f5760405162461bcd60e51b815260206004820152601860248201527f436f6e7472616374206973207374696c6c206c6f636b6564000000000000000060448201526064016108f4565b600154600080546040516001600160a01b0393841693909116916000805160206129b183398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061090f338484611701565b6000546001600160a01b031633146112d55760405162461bcd60e51b81526004016108f49061282c565b601480546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6000546001600160a01b031633146113295760405162461bcd60e51b81526004016108f49061282c565b6014805460ff19168215159081179091556040519081527f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599060200160405180910390a150565b6000546001600160a01b0316331461139a5760405162461bcd60e51b81526004016108f49061282c565b601155565b6000546001600160a01b031633146113c95760405162461bcd60e51b81526004016108f49061282c565b6113e360646109c783600b546119d090919063ffffffff16565b60125550565b6000546001600160a01b031633146114135760405162461bcd60e51b81526004016108f49061282c565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461145f5760405162461bcd60e51b81526004016108f49061282c565b60008054600180546001600160a01b03199081166001600160a01b0384161790915516905561148e81426128d1565b600255600080546040516001600160a01b03909116906000805160206129b1833981519152908390a350565b6000546001600160a01b031633146114e45760405162461bcd60e51b81526004016108f49061282c565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461152f5760405162461bcd60e51b81526004016108f49061282c565b6001600160a01b0381166115945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f4565b600080546040516001600160a01b03808516939216916000805160206129b183398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661163f5760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f4565b6001600160a01b0382166116a05760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f4565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117655760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108f4565b6001600160a01b0382166117c75760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108f4565b600081116118295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108f4565b6000546001600160a01b0384811691161480159061185557506000546001600160a01b03838116911614155b156118bd576012548111156118bd5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108f4565b60006118c830611059565b905060125481106118d857506012545b601354811080159081906118f45750601454610100900460ff16155b801561191957506001600160a01b03851660009081526008602052604090205460ff16155b8015611927575060145460ff165b1561193757611937601354611c60565b6001600160a01b03851660009081526005602052604090205460019060ff168061197957506001600160a01b03851660009081526005602052604090205460ff165b15611982575060005b61198e86868684611d0b565b505050505050565b600081848411156119ba5760405162461bcd60e51b81526004016108f491906127d9565b5060006119c78486612928565b95945050505050565b6000826119df57506000610913565b60006119eb8385612909565b9050826119f885836128e9565b14610a505760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108f4565b6000610a5083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e9b565b6000806000611a9e611ec9565b9092509050611aad8282611a4f565b9250505090565b600080611ac183856128d1565b905083811015610a505760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108f4565b6000806000806000611b366127106109c7600f54896119d090919063ffffffff16565b90506000611b556127106109c76010548a6119d090919063ffffffff16565b90506000611b746127106109c76011548b6119d090919063ffffffff16565b90506000611b828985611c1e565b9050611b8e8184611c1e565b9050611b9a8183611c1e565b9993985091965094509092505050565b6000808080611bb989866119d0565b90506000611bc789876119d0565b90506000611bd589886119d0565b90506000611be389896119d0565b90506000611bf18585611c1e565b9050611bfd8184611c1e565b9050611c098183611c1e565b949d949c50929a509298505050505050505050565b6000610a5083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611996565b6014805461ff001916610100179055611c7881612083565b4715611cfd57600a54604080516001600160a01b0390921682524760208301527ed5888abd48df22072b354a454d4c2ee6a04aba2ccc348895e26a024e2c20ba910160405180910390a1600a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611cfb573d6000803e3d6000fd5b505b506014805461ff0019169055565b600f5460105460115483611d29576000600f81905560108190556011555b6001600160a01b03871660009081526006602052604090205460ff168015611d6a57506001600160a01b03861660009081526006602052604090205460ff16155b15611d7f57611d7a878787612225565b611e7d565b6001600160a01b03871660009081526006602052604090205460ff16158015611dc057506001600160a01b03861660009081526006602052604090205460ff165b15611dd057611d7a87878761237c565b6001600160a01b03871660009081526006602052604090205460ff16158015611e1257506001600160a01b03861660009081526006602052604090205460ff16155b15611e2257611d7a87878761244f565b6001600160a01b03871660009081526006602052604090205460ff168015611e6257506001600160a01b03861660009081526006602052604090205460ff165b15611e7257611d7a8787876124bd565b611e7d87878761244f565b83611e9257600f839055601082905560118190555b50505050505050565b60008183611ebc5760405162461bcd60e51b81526004016108f491906127d9565b5060006119c784866128e9565b600c54600b546000918291825b60095481101561205357826003600060098481548110611f0657634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611f7f5750816004600060098481548110611f5857634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611f9557600c54600b54945094505050509091565b611fe96003600060098481548110611fbd57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611c1e565b925061203f600460006009848154811061201357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611c1e565b91508061204b8161293f565b915050611ed6565b50600b54600c5461206391611a4f565b82101561207a57600c54600b549350935050509091565b90939092509050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106120c657634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050601460029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561213457600080fd5b505afa158015612148573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216c9190612692565b8160018151811061218d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526014546121b991309162010000900416846115dd565b60145460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac947906121f7908590600090869030904290600401612861565b600060405180830381600087803b15801561221157600080fd5b505af115801561198e573d6000803e3d6000fd5b60008060008061223485611b13565b93509350935093506000612246611a91565b9050600080600061225a8988888888611baa565b91945092509050600061226d86866119d0565b6001600160a01b038d16600090815260046020526040902054909150612293908b611c1e565b6001600160a01b038d166000908152600460209081526040808320939093556003905220546122c29085611c1e565b6001600160a01b03808e1660009081526003602052604080822093909355908d16815220546122f19084611ab4565b6001600160a01b038c1660009081526003602052604090205561231530888761255a565b61232182828a89612609565b8a6001600160a01b03168c6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b60405161236691815260200190565b60405180910390a3505050505050505050505050565b60008060008061238b85611b13565b9350935093509350600061239d611a91565b905060008060006123b18988888888611baa565b9194509250905060006123c486866119d0565b6001600160a01b038d166000908152600360205260409020549091506123ea9085611c1e565b6001600160a01b03808e16600090815260036020908152604080832094909455918e16815260049091522054612420908a611ab4565b6001600160a01b038c166000908152600460209081526040808320939093556003905220546122f19084611ab4565b60008060008061245e85611b13565b93509350935093506000612470611a91565b905060008060006124848988888888611baa565b91945092509050600061249786866119d0565b6001600160a01b038d166000908152600360205260409020549091506122c29085611c1e565b6000806000806124cc85611b13565b935093509350935060006124de611a91565b905060008060006124f28988888888611baa565b91945092509050600061250586866119d0565b6001600160a01b038d1660009081526004602052604090205490915061252b908b611c1e565b6001600160a01b038d166000908152600460209081526040808320939093556003905220546123ea9085611c1e565b6000821161256757505050565b600061257383836119d0565b6001600160a01b0385166000908152600360205260409020549091506125999082611ab4565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff1615612603576001600160a01b0384166000908152600460205260409020546125e99084611ab4565b6001600160a01b0385166000908152600460205260409020555b50505050565b6126288361262286600c54611c1e90919063ffffffff16565b90611c1e565b600c55600d546126389083611ab4565b600d55600e546126489082611ab4565b600e55600b546126589082611c1e565b600b5550505050565b8035801515811461267157600080fd5b919050565b600060208284031215612687578081fd5b8135610a5081612970565b6000602082840312156126a3578081fd5b8151610a5081612970565b600080604083850312156126c0578081fd5b82356126cb81612970565b915060208301356126db81612970565b809150509250929050565b6000806000606084860312156126fa578081fd5b833561270581612970565b9250602084013561271581612970565b929592945050506040919091013590565b60008060408385031215612738578182fd5b823561274381612970565b915061275160208401612661565b90509250929050565b6000806040838503121561276c578182fd5b823561277781612970565b946020939093013593505050565b600060208284031215612796578081fd5b610a5082612661565b6000602082840312156127b0578081fd5b5035919050565b600080604083850312156127c9578182fd5b8235915061275160208401612661565b6000602080835283518082850152825b81811015612805578581018301518582016040015282016127e9565b818111156128165783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156128b05784516001600160a01b03168352938301939183019160010161288b565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156128e4576128e461295a565b500190565b60008261290457634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156129235761292361295a565b500290565b60008282101561293a5761293a61295a565b500390565b60006000198214156129535761295361295a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461298557600080fd5b5056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e042455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c1e14b1911c431bd938199000c45bcee8108829e8dde230f6102f0df15c3e96f64736f6c63430008040033000000000000000000000000e377945d3ec61f673534b3c318eadec395eba9090000000000000000000000008dfee5946c1e24b6dc60a3d2ece2b40355c77848

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

000000000000000000000000e377945d3ec61f673534b3c318eadec395eba9090000000000000000000000008dfee5946c1e24b6dc60a3d2ece2b40355c77848

-----Decoded View---------------
Arg [0] : cOwner (address): 0xe377945d3ec61f673534b3c318eadec395eba909
Arg [1] : charityWallet (address): 0x8dfee5946c1e24b6dc60a3d2ece2b40355c77848

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e377945d3ec61f673534b3c318eadec395eba909
Arg [1] : 0000000000000000000000008dfee5946c1e24b6dc60a3d2ece2b40355c77848


Deployed ByteCode Sourcemap

80:18349:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7832:94;;;;;;;;;;-1:-1:-1;7832:94:1;;;;;:::i;:::-;;:::i;:::-;;2840:81;;;;;;;;;;-1:-1:-1;2909:5:1;;;;;;;;;;;;-1:-1:-1;;;2909:5:1;;;;2840:81;;;;;;;:::i;:::-;;;;;;;;3715:158;;;;;;;;;;-1:-1:-1;3715:158:1;;;;;:::i;:::-;;:::i;:::-;;;3546:14:2;;3539:22;3521:41;;3509:2;3494:18;3715:158:1;3476:92:2;7424:85:1;;;;;;;;;;-1:-1:-1;7492:10:1;;7424:85;;;10822:25:2;;;10810:2;10795:18;7424:85:1;10777:76:2;3102:93:1;;;;;;;;;;-1:-1:-1;3181:7:1;;3102:93;;4214:309;;;;;;;;;;-1:-1:-1;4214:309:1;;;;;:::i;:::-;;:::i;8294:172::-;;;;;;;;;;-1:-1:-1;8294:172:1;;;;;:::i;:::-;;:::i;6367:249::-;;;;;;;;;;-1:-1:-1;6367:249:1;;;;;:::i;:::-;;:::i;3016:81::-;;;;;;;;;;-1:-1:-1;3016:81:1;;953:1;11988:36:2;;11976:2;11961:18;3016:81:1;11943:87:2;6952:467:1;;;;;;;;;;-1:-1:-1;6952:467:1;;;;;:::i;:::-;;:::i;4528:215::-;;;;;;;;;;-1:-1:-1;4528:215:1;;;;;:::i;:::-;;:::i;965:34::-;;;;;;;;;;;;;;;;5038:547;;;;;;;;;;-1:-1:-1;5038:547:1;;;;;:::i;:::-;;:::i;7514:86::-;;;;;;;;;;-1:-1:-1;7582:11:1;;7514:86;;8891:132;;;;;;;;;;-1:-1:-1;8891:132:1;;;;;:::i;:::-;;:::i;7605:109::-;;;;;;;;;;-1:-1:-1;7605:109:1;;;;;:::i;:::-;;:::i;557:29::-;;;;;;;;;;-1:-1:-1;557:29:1;;;;-1:-1:-1;;;;;557:29:1;;;;;;-1:-1:-1;;;;;3058:32:2;;;3040:51;;3028:2;3013:18;557:29:1;2995:102:2;5590:772:1;;;;;;;;;;-1:-1:-1;5590:772:1;;;;;:::i;:::-;;:::i;6621:326::-;;;;;;;;;;-1:-1:-1;6621:326:1;;;;;:::i;:::-;;:::i;8642:121::-;;;;;;;;;;-1:-1:-1;8642:121:1;;;;;:::i;:::-;-1:-1:-1;;;;;8729:27:1;8706:4;8729:27;;;:18;:27;;;;;;;;;8642:121;1481:42;;;;;;;;;;-1:-1:-1;1481:42:1;;;;;;;-1:-1:-1;;;;;1481:42:1;;;3632:88:0;;;;;;;;;;-1:-1:-1;3704:9:0;;3632:88;;1060:34:1;;;;;;;;;;;;;;;;3200:195;;;;;;;;;;-1:-1:-1;3200:195:1;;;;;:::i;:::-;;:::i;3235:145:0:-;;;;;;;;;;;;;:::i;1232:67:1:-;;;;;;;;;;;;;;;;455:62;;;;;;;;;;-1:-1:-1;455:62:1;;;;;:::i;:::-;;;;;;;;;;;;;;;;8768:118;;;;;;;;;;-1:-1:-1;8768:118:1;;;;;:::i;:::-;-1:-1:-1;;;;;8859:20:1;8836:4;8859:20;;;:11;:20;;;;;;;;;8768:118;3030:77:0;;;;;;;;;;-1:-1:-1;3068:7:0;3094:6;-1:-1:-1;;;;;3094:6:0;3030:77;;7931:118:1;;;;;;;;;;-1:-1:-1;7931:118:1;;;;;:::i;:::-;;:::i;2926:85::-;;;;;;;;;;-1:-1:-1;2997:7:1;;;;;;;;;;;;-1:-1:-1;;;2997:7:1;;;;2926:85;;1529:40;;;;;;;;;;-1:-1:-1;1529:40:1;;;;-1:-1:-1;;;;;1529:40:1;;;4748:266;;;;;;;;;;-1:-1:-1;4748:266:1;;;;;:::i;:::-;;:::i;3957:293:0:-;;;;;;;;;;;;;:::i;3400:164:1:-;;;;;;;;;;-1:-1:-1;3400:164:1;;;;;:::i;:::-;;:::i;1305:64::-;;;;;;;;;;;;;;;;9028:175;;;;;;;;;;-1:-1:-1;9028:175:1;;;;;:::i;:::-;;:::i;1154:34::-;;;;;;;;;;;;;;;;8471:166;;;;;;;;;;-1:-1:-1;8471:166:1;;;;;:::i;:::-;;:::i;1397:42::-;;;;;;;;;;-1:-1:-1;1397:42:1;;;;;;;;8054:98;;;;;;;;;;-1:-1:-1;8054:98:1;;;;;:::i;:::-;;:::i;8157:132::-;;;;;;;;;;-1:-1:-1;8157:132:1;;;;;:::i;:::-;;:::i;9208:89::-;;;;;;;;;;-1:-1:-1;9208:89:1;;;;;:::i;:::-;;:::i;3726:221:0:-;;;;;;;;;;-1:-1:-1;3726:221:0;;;;;:::i;:::-;;:::i;3569:141:1:-;;;;;;;;;;-1:-1:-1;3569:141:1;;;;;:::i;:::-;-1:-1:-1;;;;;3676:18:1;;;3650:7;3676:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3569:141;7719:108;;;;;;;;;;-1:-1:-1;7719:108:1;;;;;:::i;:::-;;:::i;3386:240:0:-;;;;;;;;;;-1:-1:-1;3386:240:0;;;;;:::i;:::-;;:::i;7832:94:1:-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;;;;;;;;;7903:7:1::1;:16:::0;7832:94::o;3715:158::-;3790:4;3806:39;169:10:0;3829:7:1;3838:6;3806:8;:39::i;:::-;-1:-1:-1;3862:4:1;3715:158;;;;;:::o;4214:309::-;4312:4;4328:36;4338:6;4346:9;4357:6;4328:9;:36::i;:::-;4374:121;4383:6;169:10:0;4405:89:1;4443:6;4405:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4405:19:1;;;;;;:11;:19;;;;;;;;169:10:0;4405:33:1;;;;;;;;;;:37;:89::i;:::-;4374:8;:121::i;:::-;-1:-1:-1;4512:4:1;4214:309;;;;;:::o;8294:172::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;8417:42:1::1;8454:4;8417:32;8429:19;8417:7;;:11;;:32;;;;:::i;:::-;:36:::0;::::1;:42::i;:::-;8384:30;:75:::0;-1:-1:-1;8294:172:1:o;6367:249::-;6433:7;6471;;6460;:18;;6452:73;;;;-1:-1:-1;;;6452:73:1;;5782:2:2;6452:73:1;;;5764:21:2;5821:2;5801:18;;;5794:30;5860:34;5840:18;;;5833:62;-1:-1:-1;;;5911:18:2;;;5904:40;5961:19;;6452:73:1;5754:232:2;6452:73:1;6536:19;6558:10;:8;:10::i;:::-;6536:32;-1:-1:-1;6585:24:1;:7;6536:32;6585:11;:24::i;:::-;6578:31;6367:249;-1:-1:-1;;;6367:249:1:o;6952:467::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7031:20:1;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;7023:60;;;::::0;-1:-1:-1;;;7023:60:1;;6956:2:2;7023:60:1::1;::::0;::::1;6938:21:2::0;6995:2;6975:18;;;6968:30;7034:29;7014:18;;;7007:57;7081:18;;7023:60:1::1;6928:177:2::0;7023:60:1::1;7099:9;7094:319;7118:9;:16:::0;7114:20;::::1;7094:319;;;7175:7;-1:-1:-1::0;;;;;7159:23:1::1;:9;7169:1;7159:12;;;;;;-1:-1:-1::0;;;7159:12:1::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;7159:12:1::1;:23;7155:248;;;7217:9;7227:16:::0;;:20:::1;::::0;7246:1:::1;::::0;7227:20:::1;:::i;:::-;7217:31;;;;;;-1:-1:-1::0;;;7217:31:1::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;7202:9:::1;:12:::0;;-1:-1:-1;;;;;7217:31:1;;::::1;::::0;7212:1;;7202:12;::::1;;;-1:-1:-1::0;;;7202:12:1::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;7202:46:1::1;-1:-1:-1::0;;;;;7202:46:1;;::::1;;::::0;;7266:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;7304:11:::1;:20:::0;;;;:28;;-1:-1:-1;;7304:28:1::1;::::0;;7350:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;7350:15:1::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;7350:15:1;;;;;-1:-1:-1;;;;;;7350:15:1::1;::::0;;;;;7094:319:::1;6952:467:::0;:::o;7155:248::-:1;7136:3:::0;::::1;::::0;::::1;:::i;:::-;;;;7094:319;;;;6952:467:::0;:::o;4528:215::-;169:10:0;4616:4:1;4664:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4664:34:1;;;;;;;;;;4616:4;;4632:83;;4655:7;;4664:50;;4703:10;4664:38;:50::i;5038:547::-;169:10:0;5089:14:1;5137:19;;;:11;:19;;;;;;;;5136:20;5128:77;;;;-1:-1:-1;;;5128:77:1;;9658:2:2;5128:77:1;;;9640:21:2;9697:2;9677:18;;;9670:30;9736:34;9716:18;;;9709:62;-1:-1:-1;;;9787:18:2;;;9780:42;9839:19;;5128:77:1;9630:234:2;5128:77:1;5219:12;5233:18;5253:13;5270:20;5282:7;5270:11;:20::i;:::-;5216:74;;;;;;;5300:19;5322:10;:8;:10::i;:::-;5300:32;;5343:15;5364:58;5376:7;5385:4;5391:10;5403:5;5410:11;5364;:58::i;:::-;-1:-1:-1;;;;;;;5451:15:1;;;;;;:7;:15;;;;;;5342:80;;-1:-1:-1;5451:28:1;;5342:80;5451:19;:28::i;:::-;-1:-1:-1;;;;;5433:15:1;;;;;;:7;:15;;;;;:46;5507:7;;:20;;5519:7;5507:11;:20::i;:::-;5489:7;:38;5555:10;;:23;;5570:7;5555:14;:23::i;:::-;5537:10;:41;-1:-1:-1;;;;;;;5038:547:1:o;8891:132::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8980:32:1;;;::::1;;::::0;;;:29:::1;:32;::::0;;;;:36;;-1:-1:-1;;8980:36:1::1;::::0;::::1;;::::0;;;::::1;::::0;;8891:132::o;7605:109::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7673:27:1::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;7673:34:1::1;7703:4;7673:34;::::0;;7605:109::o;5590:772::-;5680:7;5718;;5707;:18;;5699:62;;;;-1:-1:-1;;;5699:62:1;;7312:2:2;5699:62:1;;;7294:21:2;7351:2;7331:18;;;7324:30;7390:33;7370:18;;;7363:61;7441:18;;5699:62:1;7284:181:2;5699:62:1;5777:17;5772:584;;5813:12;5827:18;5847:13;5864:20;5876:7;5864:11;:20::i;:::-;5810:74;;;;;;;5898:19;5920:10;:8;:10::i;:::-;5898:32;;5945:15;5966:58;5978:7;5987:4;5993:10;6005:5;6012:11;5966;:58::i;:::-;-1:-1:-1;5944:80:1;;-1:-1:-1;6039:14:1;;-1:-1:-1;;;;;;6039:14:1;5772:584;6088:12;6102:18;6122:13;6139:20;6151:7;6139:11;:20::i;:::-;6085:74;;;;;;;6173:19;6195:10;:8;:10::i;:::-;6173:32;;6222:23;6250:58;6262:7;6271:4;6277:10;6289:5;6296:11;6250;:58::i;:::-;-1:-1:-1;6219:89:1;-1:-1:-1;6323:22:1;;-1:-1:-1;;;;;;6323:22:1;6621:326;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6701:20:1;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;6700:21;6692:61;;;::::0;-1:-1:-1;;;6692:61:1;;6956:2:2;6692:61:1::1;::::0;::::1;6938:21:2::0;6995:2;6975:18;;;6968:30;7034:29;7014:18;;;7007:57;7081:18;;6692:61:1::1;6928:177:2::0;6692:61:1::1;-1:-1:-1::0;;;;;6768:16:1;::::1;6787:1;6768:16:::0;;;:7:::1;:16;::::0;;;;;:20;6764:107:::1;;-1:-1:-1::0;;;;;6843:16:1;::::1;;::::0;;;:7:::1;:16;::::0;;;;;6823:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;6804:16:1;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;6764:107:::1;-1:-1:-1::0;;;;;6880:20:1::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;6880:27:1::1;6903:4;6880:27:::0;;::::1;::::0;;;6917:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;6917:23:1::1;::::0;;::::1;::::0;;6621:326::o;3200:195::-;-1:-1:-1;;;;;3289:20:1;;3266:7;3289:20;;;:11;:20;;;;;;;;3285:49;;;-1:-1:-1;;;;;;3318:16:1;;;;;:7;:16;;;;;;;3200:195::o;3285:49::-;-1:-1:-1;;;;;3371:16:1;;;;;;:7;:16;;;;;;3351:37;;:19;:37::i;3235:145:0:-;3152:6;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;3341:1:::1;3325:6:::0;;3304:40:::1;::::0;-1:-1:-1;;;;;3325:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;3304:40:0;3341:1;;3304:40:::1;3371:1;3354:19:::0;;-1:-1:-1;;;;;;3354:19:0::1;::::0;;3235:145::o;7931:118:1:-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;8014:13:1::1;:28:::0;7931:118::o;4748:266::-;4841:4;4857:129;169:10:0;4880:7:1;4889:96;4928:15;4889:96;;;;;;;;;;;;;;;;;169:10:0;4889:25:1;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4889:34:1;;;;;;;;;;;;:38;:96::i;3957:293:0:-;4008:14;;-1:-1:-1;;;;;4008:14:0;4026:10;4008:28;4000:76;;;;-1:-1:-1;;;4000:76:0;;10474:2:2;4000:76:0;;;10456:21:2;10513:2;10493:18;;;10486:30;10552:34;10532:18;;;10525:62;-1:-1:-1;;;10603:18:2;;;10596:33;10646:19;;4000:76:0;10446:225:2;4000:76:0;4112:9;;4094:15;:27;4086:65;;;;-1:-1:-1;;;4086:65:0;;5024:2:2;4086:65:0;;;5006:21:2;5063:2;5043:18;;;5036:30;5102:26;5082:18;;;5075:54;5146:18;;4086:65:0;4996:174:2;4086:65:0;4195:14;;;4187:6;;4166:44;;-1:-1:-1;;;;;4195:14:0;;;;4187:6;;;;-1:-1:-1;;;;;;;;;;;4166:44:0;;4229:14;;;4220:23;;-1:-1:-1;;;;;;4220:23:0;-1:-1:-1;;;;;4229:14:0;;;4220:23;;;;;;3957:293::o;3400:164:1:-;3478:4;3494:42;169:10:0;3518:9:1;3529:6;3494:9;:42::i;9028:175::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;9162:16:1::1;:34:::0;;-1:-1:-1;;;;;9162:34:1;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;9162:34:1;;::::1;::::0;;;::::1;::::0;;9028:175::o;8471:166::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;8546:22:1::1;:32:::0;;-1:-1:-1;;8546:32:1::1;::::0;::::1;;::::0;;::::1;::::0;;;8593:37:::1;::::0;3521:41:2;;;8593:37:1::1;::::0;3509:2:2;3494:18;8593:37:1::1;;;;;;;8471:166:::0;:::o;8054:98::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;8127:8:1::1;:18:::0;8054:98::o;8157:132::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;8248:34:1::1;8278:3;8248:25;8260:12;8248:7;;:11;;:25;;;;:::i;:34::-;8233:12;:49:::0;-1:-1:-1;8157:132:1:o;9208:89::-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;9272:14:1::1;:18:::0;;-1:-1:-1;;;;;;9272:18:1::1;-1:-1:-1::0;;;;;9272:18:1;;;::::1;::::0;;;::::1;::::0;;9208:89::o;3726:221:0:-;3152:6;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;3806:6:::1;::::0;;;3789:23;;-1:-1:-1;;;;;;3789:23:0;;::::1;-1:-1:-1::0;;;;;3806:6:0;::::1;3789:23;::::0;;;3822:19:::1;::::0;;3863:22:::1;3881:4:::0;3863:15:::1;:22;:::i;:::-;3851:9;:34:::0;3937:1:::1;3921:6:::0;;3900:40:::1;::::0;-1:-1:-1;;;;;3921:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;3900:40:0;3937:1;;3900:40:::1;3726:221:::0;:::o;7719:108:1:-;3152:6:0;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7785:27:1::1;7815:5;7785:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;7785:35:1::1;::::0;;7719:108::o;3386:240:0:-;3152:6;;-1:-1:-1;;;;;3152:6:0;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3474:22:0;::::1;3466:73;;;::::0;-1:-1:-1;;;3466:73:0;;6193:2:2;3466:73:0::1;::::0;::::1;6175:21:2::0;6232:2;6212:18;;;6205:30;6271:34;6251:18;;;6244:62;-1:-1:-1;;;6322:18:2;;;6315:36;6368:19;;3466:73:0::1;6165:228:2::0;3466:73:0::1;3575:6;::::0;;3554:38:::1;::::0;-1:-1:-1;;;;;3554:38:0;;::::1;::::0;3575:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;3554:38:0;::::1;3602:6;:17:::0;;-1:-1:-1;;;;;;3602:17:0::1;-1:-1:-1::0;;;;;3602:17:0;;;::::1;::::0;;;::::1;::::0;;3386:240::o;3878:331:1:-;-1:-1:-1;;;;;3970:19:1;;3962:68;;;;-1:-1:-1;;;3962:68:1;;5377:2:2;3962:68:1;;;5359:21:2;5416:2;5396:18;;;5389:30;5455:34;5435:18;;;5428:62;-1:-1:-1;;;5506:18:2;;;5499:34;5550:19;;3962:68:1;5349:226:2;3962:68:1;-1:-1:-1;;;;;4048:21:1;;4040:68;;;;-1:-1:-1;;;4040:68:1;;10071:2:2;4040:68:1;;;10053:21:2;10110:2;10090:18;;;10083:30;10149:34;10129:18;;;10122:62;-1:-1:-1;;;10200:18:2;;;10193:32;10242:19;;4040:68:1;10043:224:2;4040:68:1;-1:-1:-1;;;;;4119:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;4170:32;;10822:25:2;;;4170:32:1;;10795:18:2;4170:32:1;;;;;;;3878:331;;;:::o;9319:1524::-;-1:-1:-1;;;;;9436:18:1;;9428:68;;;;-1:-1:-1;;;9428:68:1;;4618:2:2;9428:68:1;;;4600:21:2;4657:2;4637:18;;;4630:30;4696:34;4676:18;;;4669:62;-1:-1:-1;;;4747:18:2;;;4740:35;4792:19;;9428:68:1;4590:227:2;9428:68:1;-1:-1:-1;;;;;9514:16:1;;9506:64;;;;-1:-1:-1;;;9506:64:1;;9254:2:2;9506:64:1;;;9236:21:2;9293:2;9273:18;;;9266:30;9332:34;9312:18;;;9305:62;-1:-1:-1;;;9383:18:2;;;9376:33;9426:19;;9506:64:1;9226:225:2;9506:64:1;9597:1;9588:6;:10;9580:64;;;;-1:-1:-1;;;9580:64:1;;8844:2:2;9580:64:1;;;8826:21:2;8883:2;8863:18;;;8856:30;8922:34;8902:18;;;8895:62;-1:-1:-1;;;8973:18:2;;;8966:39;9022:19;;9580:64:1;8816:231:2;9580:64:1;3068:7:0;3094:6;-1:-1:-1;;;;;9659:15:1;;;3094:6:0;;9659:15:1;;;;:32;;-1:-1:-1;3068:7:0;3094:6;-1:-1:-1;;;;;9678:13:1;;;3094:6:0;;9678:13:1;;9659:32;9655:138;;;9725:12;;9715:6;:22;;9707:75;;;;-1:-1:-1;;;9707:75:1;;7672:2:2;9707:75:1;;;7654:21:2;7711:2;7691:18;;;7684:30;7750:34;7730:18;;;7723:62;-1:-1:-1;;;7801:18:2;;;7794:38;7849:19;;9707:75:1;7644:230:2;9707:75:1;10112:28;10143:24;10161:4;10143:9;:24::i;:::-;10112:55;;10214:12;;10190:20;:36;10186:102;;-1:-1:-1;10265:12:1;;10186:102;10359:30;;10335:54;;;;;;;10416:55;;-1:-1:-1;10454:17:1;;;;;;;10453:18;10416:55;:107;;;;-1:-1:-1;;;;;;10488:35:1;;;;;;:29;:35;;;;;;;;10487:36;10416:107;:145;;;;-1:-1:-1;10539:22:1;;;;10416:145;10399:244;;;10586:46;10601:30;;10586:14;:46::i;:::-;-1:-1:-1;;;;;10694:24:1;;10661:12;10694:24;;;:18;:24;;;;;;10676:4;;10694:24;;;:50;;-1:-1:-1;;;;;;10722:22:1;;;;;;:18;:22;;;;;;;;10694:50;10690:96;;;-1:-1:-1;10770:5:1;10690:96;10795:41;10810:4;10816:2;10820:6;10828:7;10795:14;:41::i;:::-;9319:1524;;;;;;:::o;1439:187:0:-;1525:7;1560:12;1552:6;;;;1544:29;;;;-1:-1:-1;;;1544:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1583:9:0;1595:5;1599:1;1595;:5;:::i;:::-;1583:17;1439:187;-1:-1:-1;;;;;1439:187:0:o;1632:221::-;1690:7;1713:6;1709:25;;-1:-1:-1;1730:1:0;1723:8;;1709:25;1744:9;1756:5;1760:1;1756;:5;:::i;:::-;1744:17;-1:-1:-1;1788:1:0;1779:5;1783:1;1744:17;1779:5;:::i;:::-;:10;1771:56;;;;-1:-1:-1;;;1771:56:0;;8081:2:2;1771:56:0;;;8063:21:2;8120:2;8100:18;;;8093:30;8159:34;8139:18;;;8132:62;-1:-1:-1;;;8210:18:2;;;8203:31;8251:19;;1771:56:0;8053:223:2;1859:130:0;1917:7;1943:39;1947:1;1950;1943:39;;;;;;;;;;;;;;;;;:3;:39::i;17381:160:1:-;17422:7;17442:15;17459;17478:19;:17;:19::i;:::-;17441:56;;-1:-1:-1;17441:56:1;-1:-1:-1;17514:20:1;17441:56;;17514:11;:20::i;:::-;17507:27;;;;17381:160;:::o;1117:176:0:-;1175:7;;1206:5;1210:1;1206;:5;:::i;:::-;1194:17;;1234:1;1229;:6;;1221:46;;;;-1:-1:-1;;;1221:46:0;;6600:2:2;1221:46:0;;;6582:21:2;6639:2;6619:18;;;6612:30;6678:29;6658:18;;;6651:57;6725:18;;1221:46:0;6572:177:2;16249:521:1;16309:7;16318;16327;16336;16355:12;16376:31;16401:5;16376:20;16388:7;;16376;:11;;:20;;;;:::i;:31::-;16355:52;;16417:18;16438:37;16469:5;16438:26;16450:13;;16438:7;:11;;:26;;;;:::i;:37::-;16417:58;;16485:13;16506:32;16532:5;16506:21;16518:8;;16506:7;:11;;:21;;;;:::i;:32::-;16485:53;-1:-1:-1;16548:23:1;16574:17;:7;16586:4;16574:11;:17::i;:::-;16548:43;-1:-1:-1;16619:31:1;16548:43;16639:10;16619:19;:31::i;:::-;16601:49;-1:-1:-1;16678:26:1;16601:49;16698:5;16678:19;:26::i;:::-;16660:44;16739:4;;-1:-1:-1;16745:10:1;;-1:-1:-1;16745:10:1;-1:-1:-1;16249:521:1;;-1:-1:-1;;;16249:521:1:o;16775:601::-;16905:7;;;;16964:24;:7;16976:11;16964;:24::i;:::-;16942:46;-1:-1:-1;16998:12:1;17020:21;:4;17029:11;17020:8;:21::i;:::-;16998:43;-1:-1:-1;17051:18:1;17073:27;:10;17088:11;17073:14;:27::i;:::-;17051:49;-1:-1:-1;17110:13:1;17132:22;:5;17142:11;17132:9;:22::i;:::-;17110:44;-1:-1:-1;17164:23:1;17190:17;:7;17202:4;17190:11;:17::i;:::-;17164:43;-1:-1:-1;17235:31:1;17164:43;17255:10;17235:19;:31::i;:::-;17217:49;-1:-1:-1;17294:26:1;17217:49;17314:5;17294:19;:26::i;:::-;17338:7;;;;-1:-1:-1;17364:4:1;;-1:-1:-1;16775:601:1;;-1:-1:-1;;;;;;;;;16775:601:1:o;1299:134:0:-;1357:7;1383:43;1387:1;1390;1383:43;;;;;;;;;;;;;;;;;:3;:43::i;10848:300:1:-;1806:17;:24;;-1:-1:-1;;1806:24:1;;;;;10923:29:::1;10940:11:::0;10923:16:::1;:29::i;:::-;10966:21;:25:::0;10962:180:::1;;11024:14;::::0;11012:50:::1;::::0;;-1:-1:-1;;;;;11024:14:1;;::::1;3276:51:2::0;;11040:21:1::1;3358:2:2::0;3343:18;;3336:34;11012:50:1::1;::::0;3249:18:2;11012:50:1::1;;;;;;;11084:14;::::0;11076:55:::1;::::0;-1:-1:-1;;;;;11084:14:1;;::::1;::::0;11109:21:::1;11076:55:::0;::::1;;;::::0;11084:14:::1;11076:55:::0;11084:14;11076:55;11109:21;11084:14;11076:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10962:180;-1:-1:-1::0;1851:17:1;:25;;-1:-1:-1;;1851:25:1;;;10848:300::o;11622:1174::-;11760:7;;11808:13;;11862:8;;11886:7;11881:118;;11925:1;11909:7;:17;;;11940:13;:17;;;11971:8;:17;11881:118;-1:-1:-1;;;;;12021:19:1;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;12045:22:1;;;;;;:11;:22;;;;;;;;12044:23;12021:46;12017:591;;;12083:48;12105:6;12113:9;12124:6;12083:21;:48::i;:::-;12017:591;;;-1:-1:-1;;;;;12154:19:1;;;;;;:11;:19;;;;;;;;12153:20;:46;;;;-1:-1:-1;;;;;;12177:22:1;;;;;;:11;:22;;;;;;;;12153:46;12149:459;;;12215:46;12235:6;12243:9;12254:6;12215:19;:46::i;12149:459::-;-1:-1:-1;;;;;12284:19:1;;;;;;:11;:19;;;;;;;;12283:20;:47;;;;-1:-1:-1;;;;;;12308:22:1;;;;;;:11;:22;;;;;;;;12307:23;12283:47;12279:329;;;12346:44;12364:6;12372:9;12383:6;12346:17;:44::i;12279:329::-;-1:-1:-1;;;;;12412:19:1;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;12435:22:1;;;;;;:11;:22;;;;;;;;12412:45;12408:200;;;12473:48;12495:6;12503:9;12514:6;12473:21;:48::i;12408:200::-;12553:44;12571:6;12579:9;12590:6;12553:17;:44::i;:::-;12631:7;12626:164;;12654:7;:30;;;12698:13;:36;;;12748:8;:31;;;12626:164;11622:1174;;;;;;;:::o;1995:272:0:-;2081:7;2115:12;2108:5;2100:28;;;;-1:-1:-1;;;2100:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2138:9:0;2150:5;2154:1;2150;:5;:::i;17546:551:1:-;17642:7;;17677;;17596;;;;;17700:285;17724:9;:16;17720:20;;17700:285;;;17789:7;17765;:21;17773:9;17783:1;17773:12;;;;;;-1:-1:-1;;;17773:12:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17773:12:1;17765:21;;;;;;;;;;;;;:31;;:66;;;17824:7;17800;:21;17808:9;17818:1;17808:12;;;;;;-1:-1:-1;;;17808:12:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17808:12:1;17800:21;;;;;;;;;;;;;:31;17765:66;17761:97;;;17841:7;;17850;;17833:25;;;;;;;17546:551;;:::o;17761:97::-;17882:34;17894:7;:21;17902:9;17912:1;17902:12;;;;;;-1:-1:-1;;;17902:12:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17902:12:1;17894:21;;;;;;;;;;;;;17882:7;;:11;:34::i;:::-;17872:44;;17940:34;17952:7;:21;17960:9;17970:1;17960:12;;;;;;-1:-1:-1;;;17960:12:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17960:12:1;17952:21;;;;;;;;;;;;;17940:7;;:11;:34::i;:::-;17930:44;-1:-1:-1;17742:3:1;;;;:::i;:::-;;;;17700:285;;;-1:-1:-1;18020:7:1;;18008;;:20;;:11;:20::i;:::-;17998:7;:30;17994:61;;;18038:7;;18047;;18030:25;;;;;;17546:551;;:::o;17994:61::-;18073:7;;18082;;-1:-1:-1;17546:551:1;-1:-1:-1;17546:551:1:o;11153:463::-;11242:16;;;11256:1;11242:16;;;;;;;;11218:21;;11242:16;;;;;;;;;;-1:-1:-1;11242:16:1;11218:40;;11286:4;11268;11273:1;11268:7;;;;;;-1:-1:-1;;;11268:7:1;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;11268:23:1;;;-1:-1:-1;;;;;11268:23:1;;;;;11311:16;;;;;;;;;-1:-1:-1;;;;;11311:16:1;-1:-1:-1;;;;;11311:21:1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11301:4;11306:1;11301:7;;;;;;-1:-1:-1;;;11301:7:1;;;;;;;;;-1:-1:-1;;;;;11301:33:1;;;:7;;;;;;;;;:33;11377:16;;11345:63;;11362:4;;11377:16;;;;11396:11;11345:8;:63::i;:::-;11418:16;;:191;;-1:-1:-1;;;11418:191:1;;:16;;;;-1:-1:-1;;;;;11418:16:1;;:67;;:191;;11499:11;;11524:1;;11539:4;;11565;;11584:15;;11418:191;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15181:780;15283:23;15308:12;15322:18;15342:13;15359:20;15371:7;15359:11;:20::i;:::-;15282:97;;;;;;;;15389:19;15411:10;:8;:10::i;:::-;15389:32;;15432:15;15449:23;15474:12;15490:58;15502:7;15511:4;15517:10;15529:5;15536:11;15490;:58::i;:::-;15431:117;;-1:-1:-1;15431:117:1;-1:-1:-1;15431:117:1;-1:-1:-1;15558:13:1;15574:22;:5;15584:11;15574:9;:22::i;:::-;-1:-1:-1;;;;;15625:15:1;;;;;;:7;:15;;;;;;15558:38;;-1:-1:-1;15625:28:1;;15645:7;15625:19;:28::i;:::-;-1:-1:-1;;;;;15607:15:1;;;;;;:7;:15;;;;;;;;:46;;;;15681:7;:15;;;;:28;;15701:7;15681:19;:28::i;:::-;-1:-1:-1;;;;;15663:15:1;;;;;;;:7;:15;;;;;;:46;;;;15740:18;;;;;;;:39;;15763:15;15740:22;:39::i;:::-;-1:-1:-1;;;;;15719:18:1;;;;;;:7;:18;;;;;:60;15790:58;15817:4;15824:10;15836:11;15790:18;:58::i;:::-;15858:37;15870:4;15876:5;15883:4;15889:5;15858:11;:37::i;:::-;15927:9;-1:-1:-1;;;;;15910:44:1;15919:6;-1:-1:-1;;;;;15910:44:1;;15938:15;15910:44;;;;10822:25:2;;10810:2;10795:18;;10777:76;15910:44:1;;;;;;;;15181:780;;;;;;;;;;;;:::o;14384:792::-;14484:23;14509:12;14523:18;14543:13;14560:20;14572:7;14560:11;:20::i;:::-;14483:97;;;;;;;;14590:19;14612:10;:8;:10::i;:::-;14590:32;;14633:15;14650:23;14675:12;14691:58;14703:7;14712:4;14718:10;14730:5;14737:11;14691;:58::i;:::-;14632:117;;-1:-1:-1;14632:117:1;-1:-1:-1;14632:117:1;-1:-1:-1;14759:13:1;14775:22;:5;14785:11;14775:9;:22::i;:::-;-1:-1:-1;;;;;14826:15:1;;;;;;:7;:15;;;;;;14759:38;;-1:-1:-1;14826:28:1;;14846:7;14826:19;:28::i;:::-;-1:-1:-1;;;;;14808:15:1;;;;;;;:7;:15;;;;;;;;:46;;;;14885:18;;;;;:7;:18;;;;;:39;;14908:15;14885:22;:39::i;:::-;-1:-1:-1;;;;;14864:18:1;;;;;;:7;:18;;;;;;;;:60;;;;14955:7;:18;;;;:39;;14978:15;14955:22;:39::i;12801:723::-;12899:23;12924:12;12938:18;12958:13;12975:20;12987:7;12975:11;:20::i;:::-;12898:97;;;;;;;;13005:19;13027:10;:8;:10::i;:::-;13005:32;;13048:15;13065:23;13090:12;13106:58;13118:7;13127:4;13133:10;13145:5;13152:11;13106;:58::i;:::-;13047:117;;-1:-1:-1;13047:117:1;-1:-1:-1;13047:117:1;-1:-1:-1;13174:13:1;13190:22;:5;13200:11;13190:9;:22::i;:::-;-1:-1:-1;;;;;13244:15:1;;;;;;:7;:15;;;;;;13174:38;;-1:-1:-1;13244:28:1;;13264:7;13244:19;:28::i;13529:850::-;13631:23;13656:12;13670:18;13690:13;13707:20;13719:7;13707:11;:20::i;:::-;13630:97;;;;;;;;13737:19;13759:10;:8;:10::i;:::-;13737:32;;13780:15;13797:23;13822:12;13838:58;13850:7;13859:4;13865:10;13877:5;13884:11;13838;:58::i;:::-;13779:117;;-1:-1:-1;13779:117:1;-1:-1:-1;13779:117:1;-1:-1:-1;13906:13:1;13922:22;:5;13932:11;13922:9;:22::i;:::-;-1:-1:-1;;;;;13973:15:1;;;;;;:7;:15;;;;;;13906:38;;-1:-1:-1;13973:28:1;;13993:7;13973:19;:28::i;:::-;-1:-1:-1;;;;;13955:15:1;;;;;;:7;:15;;;;;;;;:46;;;;14029:7;:15;;;;:28;;14049:7;14029:19;:28::i;18102:325::-;18213:1;18202:7;:12;18198:29;;18102:325;;;:::o;18198:29::-;18237:15;18255:24;:7;18267:11;18255;:24::i;:::-;-1:-1:-1;;;;;18303:11:1;;;;;;:7;:11;;;;;;18237:42;;-1:-1:-1;18303:24:1;;18237:42;18303:15;:24::i;:::-;-1:-1:-1;;;;;18289:11:1;;;;;;:7;:11;;;;;;;;:38;;;;18341:11;:15;;;;;;18337:84;;;-1:-1:-1;;;;;18386:11:1;;;;;;:7;:11;;;;;;:24;;18402:7;18386:15;:24::i;:::-;-1:-1:-1;;;;;18372:11:1;;;;;;:7;:11;;;;;:38;18337:84;18102:325;;;;:::o;15966:278::-;16077:28;16099:5;16077:17;16089:4;16077:7;;:11;;:17;;;;:::i;:::-;:21;;:28::i;:::-;16063:7;:42;16129:10;;:20;;16144:4;16129:14;:20::i;:::-;16115:10;:34;16173:11;;:22;;16189:5;16173:15;:22::i;:::-;16159:11;:36;16219:7;;:18;;16231:5;16219:11;:18::i;:::-;16205:7;:32;-1:-1:-1;;;;15966:278:1:o;14:160:2:-;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:2;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:2;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:2;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:2;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:2:o;2241:190::-;2297:6;2350:2;2338:9;2329:7;2325:23;2321:32;2318:2;;;2371:6;2363;2356:22;2318:2;2399:26;2415:9;2399:26;:::i;2436:190::-;2495:6;2548:2;2536:9;2527:7;2523:23;2519:32;2516:2;;;2569:6;2561;2554:22;2516:2;-1:-1:-1;2597:23:2;;2506:120;-1:-1:-1;2506:120:2:o;2631:258::-;2696:6;2704;2757:2;2745:9;2736:7;2732:23;2728:32;2725:2;;;2778:6;2770;2763:22;2725:2;2819:9;2806:23;2796:33;;2848:35;2879:2;2868:9;2864:18;2848:35;:::i;3808:603::-;3920:4;3949:2;3978;3967:9;3960:21;4010:6;4004:13;4053:6;4048:2;4037:9;4033:18;4026:34;4078:4;4091:140;4105:6;4102:1;4099:13;4091:140;;;4200:14;;;4196:23;;4190:30;4166:17;;;4185:2;4162:26;4155:66;4120:10;;4091:140;;;4249:6;4246:1;4243:13;4240:2;;;4319:4;4314:2;4305:6;4294:9;4290:22;4286:31;4279:45;4240:2;-1:-1:-1;4395:2:2;4374:15;-1:-1:-1;;4370:29:2;4355:45;;;;4402:2;4351:54;;3929:482;-1:-1:-1;;;3929:482:2:o;8281:356::-;8483:2;8465:21;;;8502:18;;;8495:30;8561:34;8556:2;8541:18;;8534:62;8628:2;8613:18;;8455:182::o;10858:983::-;11120:4;11168:3;11157:9;11153:19;11199:6;11188:9;11181:25;11225:2;11263:6;11258:2;11247:9;11243:18;11236:34;11306:3;11301:2;11290:9;11286:18;11279:31;11330:6;11365;11359:13;11396:6;11388;11381:22;11434:3;11423:9;11419:19;11412:26;;11473:2;11465:6;11461:15;11447:29;;11494:4;11507:195;11521:6;11518:1;11515:13;11507:195;;;11586:13;;-1:-1:-1;;;;;11582:39:2;11570:52;;11677:15;;;;11642:12;;;;11618:1;11536:9;11507:195;;;-1:-1:-1;;;;;;;11758:32:2;;;;11753:2;11738:18;;11731:60;-1:-1:-1;;;11822:3:2;11807:19;11800:35;11719:3;11129:712;-1:-1:-1;;;11129:712:2:o;12035:128::-;12075:3;12106:1;12102:6;12099:1;12096:13;12093:2;;;12112:18;;:::i;:::-;-1:-1:-1;12148:9:2;;12083:80::o;12168:217::-;12208:1;12234;12224:2;;-1:-1:-1;;;12259:31:2;;12313:4;12310:1;12303:15;12341:4;12266:1;12331:15;12224:2;-1:-1:-1;12370:9:2;;12214:171::o;12390:168::-;12430:7;12496:1;12492;12488:6;12484:14;12481:1;12478:21;12473:1;12466:9;12459:17;12455:45;12452:2;;;12503:18;;:::i;:::-;-1:-1:-1;12543:9:2;;12442:116::o;12563:125::-;12603:4;12631:1;12628;12625:8;12622:2;;;12636:18;;:::i;:::-;-1:-1:-1;12673:9:2;;12612:76::o;12693:135::-;12732:3;-1:-1:-1;;12753:17:2;;12750:2;;;12773:18;;:::i;:::-;-1:-1:-1;12820:1:2;12809:13;;12740:88::o;12833:127::-;12894:10;12889:3;12885:20;12882:1;12875:31;12925:4;12922:1;12915:15;12949:4;12946:1;12939:15;12965:131;-1:-1:-1;;;;;13040:31:2;;13030:42;;13020:2;;13086:1;13083;13076:12;13020:2;13010:86;:::o

Swarm Source

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