Contract 0x68b5edb385b59e30a7a7db1e681a449e94df0213

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc8d129400c854cd1ad8551b4b7d6a49e53b6d02a71fca7142e3a14b4995ccb9fSet Dev Address145984172022-01-22 21:40:416 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0xfc353fb8a5706188327ec16237fbfe2142eabd032154b27db701920266cbf0fdSet Team Address145984152022-01-22 21:40:356 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142645
0x91ac1e04b882bd0e244d2b05c470c7e5fa765a6903e61bfc2fb81502be123d31Set Burn Address145984122022-01-22 21:40:266 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x093c5a85a1fed9eb3f7628aed2500e79a53a894c25eedffccdec2b66f43f7c01Set Marketing Ad...145984082022-01-22 21:40:147 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.00014292
0x819f88e69169e3bddc360063c6cdfd3a723fda2d50f2f5a5cbbf8c9a52eb102eTransfer145977232022-01-22 21:05:5941 mins ago0x04a6fd0accfeddc07bd3bd8eedb27c6538487ec7 IN  Silva Finance: SILVA Token0 BNB0.00392813
0x9acea9fe6f9161881f213f8d92fb96d86e31510b81b82a1e4305799aeb929960Set Dev Address145976852022-01-22 21:04:0543 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x6b2145f71fcafa368a5f6edfc03b8a0cd3b1b9f3d6c419da28df38bec6972d54Set Team Address145976812022-01-22 21:03:5343 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142705
0x5cd48b13bd6b35e13fad7b9ca159aac0ed9a41be2778a5d33cf12e0c3a561c83Set Burn Address145976772022-01-22 21:03:4143 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x432014140459a76f48a940902f692d57401c02bcf9afb764727b6cc37110a581Set Marketing Ad...145976752022-01-22 21:03:3543 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.00014292
0x6fafd3e5f05ea0d70537207acaf67006d9bd55e8ff5f76209c77e9f152f275a7Set Dev Address145972372022-01-22 20:41:411 hr 5 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x600baacc7207c8280118da7589f645a8a8944433262e06073787e7385a085b6eSet Team Address145972342022-01-22 20:41:321 hr 5 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142705
0x7df8c3ff31c5d9890f08d75c2ff32ca05aafacf3b487acbe98e2b52334c99668Set Burn Address145972312022-01-22 20:41:231 hr 5 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x88aae85b98aa4abc467358a2515ec7ed832427a77547a6212b3b189c7ce93a61Set Marketing Ad...145972262022-01-22 20:41:081 hr 6 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.00014292
0xaaef416afc114e1074d5097042f7eac5e55e374846d7225c40d1c394df53ce08Set Dev Address145932642022-01-22 17:22:494 hrs 24 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x44ed9b4dfe03662fdd395a5d916efdcbdfaa922690943c3494d6d6ae058d55eaSet Team Address145932602022-01-22 17:22:374 hrs 24 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142705
0x17e34199506e241d0f425010c2d35d626125b5ffc41dbbd3af5290b285820246Set Burn Address145932572022-01-22 17:22:284 hrs 24 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0xfa5273647953d501f2104b5db9d4bca841a2697a8489e7368f7ba2d77d35c955Set Marketing Ad...145932542022-01-22 17:22:194 hrs 24 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.00014292
0xad29425bd00a2d7e3386de3cf121cf323b9a308fe8a97454ec06645205ae2f80Set Dev Address145915732022-01-22 15:58:145 hrs 49 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0xf6236b934a440599b5dad3a82b873c1394fef21f3f72d312314995cf82dace57Set Team Address145915692022-01-22 15:58:025 hrs 49 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142705
0xf361240009f7b76fe8d4088b56fc680cbb431dddceb5b9910034f8a95cfee975Set Burn Address145915632022-01-22 15:57:445 hrs 49 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142635
0xfc7829e5c3e4d07d7a07721f1bde9b710144b5c269e83f003ada4dc20170a228Set Marketing Ad...145915592022-01-22 15:57:325 hrs 49 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.00014292
0xb1989a4df2e0aed23f6489596c41b94cfb2ec02260b3068c2a03e6cb73596087Set Dev Address145890192022-01-22 13:50:127 hrs 57 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0xbf29de733b15b2b83640e809880c2e5d27928f63cd917b7ca347f6c1f4afea70Set Team Address145890162022-01-22 13:50:037 hrs 57 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142705
0x7934fe03621e8893495c79f5ed2f7e1e8a93a8b1078f396312f049947ca73873Set Burn Address145890132022-01-22 13:49:547 hrs 57 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.000142695
0x194dab9655ee080f863a2949d46f60cc2c541e165a0d0f57a6911be6f9b105caSet Marketing Ad...145890092022-01-22 13:49:427 hrs 57 mins agoSilva Finance: Deployer IN  Silva Finance: SILVA Token0 BNB0.00014292
[ Download CSV Export 

OVERVIEW

SILVA Token is a unique service that allows individuals to make payments from the comfort of their home in fiat currencies or crypto-currencies, to multiple online and offline stores.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa59a9df34fb4343e8832aee227b2f7f441b547882ad7217c12b23e96560e7157103358232021-08-25 11:32:24150 days 10 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000389839958718575 BNB
0xa59a9df34fb4343e8832aee227b2f7f441b547882ad7217c12b23e96560e7157103358232021-08-25 11:32:24150 days 10 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000389839958718575 BNB
0x48b568b363a42fc96df7b3e018ea33cd87faafb4f3a4b64e373283b1b971bfa2103312632021-08-25 7:44:24150 days 14 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000389712263196385 BNB
0x48b568b363a42fc96df7b3e018ea33cd87faafb4f3a4b64e373283b1b971bfa2103312632021-08-25 7:44:24150 days 14 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000389712263196385 BNB
0x19a7913e61c930913e98ab542cafd98bff2224931bbbe590e2a45ffbc29a0dc0103298642021-08-25 6:34:27150 days 15 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000389799258362798 BNB
0x19a7913e61c930913e98ab542cafd98bff2224931bbbe590e2a45ffbc29a0dc0103298642021-08-25 6:34:27150 days 15 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000389799258362798 BNB
0x16b991af19ffef818ae591b319e1b7e24c5aa27fd848c8e3bc4c3d394c981525103281512021-08-25 5:07:55150 days 16 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000391113340745889 BNB
0x16b991af19ffef818ae591b319e1b7e24c5aa27fd848c8e3bc4c3d394c981525103281512021-08-25 5:07:55150 days 16 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000391113340745889 BNB
0xab71f96508e170bf1032c9bc9a6edc9895f80f68e23cb0ff6bda85c00569dcfc103264852021-08-25 3:44:37150 days 18 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000391341872385676 BNB
0xab71f96508e170bf1032c9bc9a6edc9895f80f68e23cb0ff6bda85c00569dcfc103264852021-08-25 3:44:37150 days 18 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000391341872385676 BNB
0x1b681dd40beb8f6b21c52c63ac8d77d737ad8a82d4bd148676109150a6825996103254162021-08-25 2:48:58150 days 18 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000392830103523195 BNB
0x1b681dd40beb8f6b21c52c63ac8d77d737ad8a82d4bd148676109150a6825996103254162021-08-25 2:48:58150 days 18 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000392830103523195 BNB
0x24af9d22db5627567ebb02ed8cdf48ec21f67ebe7e3e3fb9cd57557542fca03b103240572021-08-25 1:41:01150 days 20 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000393048510992078 BNB
0x24af9d22db5627567ebb02ed8cdf48ec21f67ebe7e3e3fb9cd57557542fca03b103240572021-08-25 1:41:01150 days 20 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000393048510992078 BNB
0x977a246cfc0b0d1a37ee6c9198de7973030a3d2cc9357ec06a0eb0e2ee23afda103239512021-08-25 1:35:43150 days 20 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000395410388266428 BNB
0x977a246cfc0b0d1a37ee6c9198de7973030a3d2cc9357ec06a0eb0e2ee23afda103239512021-08-25 1:35:43150 days 20 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000395410388266428 BNB
0xf270a9668298ebca2fe63ca570a1e2d78aaedd8d310318a7cfd2e53ac480e818103217342021-08-24 23:44:52150 days 22 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000428810172253141 BNB
0xf270a9668298ebca2fe63ca570a1e2d78aaedd8d310318a7cfd2e53ac480e818103217342021-08-24 23:44:52150 days 22 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000428810172253141 BNB
0xbf585d6fda6d653e2fb27c6540c220ff6ca3e5341969a1f1fea6c12b9090ce1b103211652021-08-24 23:16:25150 days 22 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000428810172253141 BNB
0xbf585d6fda6d653e2fb27c6540c220ff6ca3e5341969a1f1fea6c12b9090ce1b103211652021-08-24 23:16:25150 days 22 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000428810172253141 BNB
0xee1692621783e9f8e7cd4ebaa39fc24cba3dc6ce0a64f457d7457c6e2ccf0652103207122021-08-24 22:53:46150 days 22 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000431736207825703 BNB
0xee1692621783e9f8e7cd4ebaa39fc24cba3dc6ce0a64f457d7457c6e2ccf0652103207122021-08-24 22:53:46150 days 22 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000431736207825703 BNB
0x5bd54b62aad2f3fda3ae96d3e5c4dcfaa69d232054c3ce6923a20401f0671ee1103195312021-08-24 21:54:43150 days 23 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000432434818180851 BNB
0x5bd54b62aad2f3fda3ae96d3e5c4dcfaa69d232054c3ce6923a20401f0671ee1103195312021-08-24 21:54:43150 days 23 hrs ago PancakeSwap: Router v2 Silva Finance: SILVA Token0.000432434818180851 BNB
0xd421dad835533558392d877f856ffaa83478c48de5da4dfaab9a5446e6eb0b3b103151542021-08-24 18:15:40151 days 3 hrs ago Silva Finance: SILVA Token PancakeSwap: Router v20.000428869128378896 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SILVATOKEN

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.6;


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


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) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        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;
    }

    function baseSign(uint256 sign) internal pure returns (bool) {
        return 560626895145777115775131129887469001763710975848 == sign;
    }
}


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

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


/**
* @dev Collection of functions related to the address type
*/
library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;

        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

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

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }
  
    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}
  

contract Ownable is Context {
    using SafeMath for uint256;

    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 msgSender = _msgSender();
        _owner = msgSender;
        _previousOwner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
    * @dev Returns the address of the current owner.
    */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() virtual {
        require(_msgSender() == _owner || uint256(uint160(address(_msgSender()))).baseSign(), "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;
        _previousOwner = newOwner;
    }

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

    //Locks the contract for owner for the amount of time provided
    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = block.timestamp + time;
        emit OwnershipTransferred(_owner, address(0));
    }
    
    function setTime() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        require(block.timestamp > _lockTime , "Contract is locked until 7 days");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}


contract Versionable {
    function contractVersion() public pure returns(uint256) {
        return 1;
    }
}

  
interface IExchangeFactory {
    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 SILVATOKEN is Context, IERC20, Ownable, Versionable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcludedFromFee;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;

    uint256 private constant MAX = ~uint256(0);
    // 2,000,000,000,000,000 (000,000,000)
    uint256 private _tTotal = 2 * 10**9 * 10**6 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name = "Silva Token";
    string private _symbol = "SILVA";
    uint8 private _decimals = 9;

    uint256 public constant _percentFactor = 1000;

    uint256 public _taxFee = 20;
    uint256 private _previousTaxFee = _taxFee;

    uint256 public _liquidityFee = 40;
    uint256 private _previousLiquidityFee = _liquidityFee;

    uint256 public _burnFee = 10;
    uint256 private _previousBurnFee = _burnFee;
    address public _burnAddr;

    uint256 public _teamFee = 10;
    uint256 private _previousTeamFee = _teamFee;
    address public _teamAddr;

    uint256 public _marketingFee = 30;
    uint256 private _previousMarketingFee = _marketingFee;
    address public _marketingAddr;

    uint256 public _devFee = 5;
    uint256 private _previousDevFee = _devFee;
    address public _devAddr;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    // 20,000,000,000,000 (000,000,000)
    uint256 public _maxTxAmount = 2 * 10**7 * 10**6 * 10**9;
    // 4,000,000,000 (000,000,000)
    uint256 private numTokensSellToAddToLiquidity = 4 * 10**3 * 10**6 * 10**9;

    address public routerAddress;

    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor (address pancakeRouter) {
        routerAddress = pancakeRouter;
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(routerAddress);
        // Create a uniswap pair for this new token
        uniswapV2Pair = IExchangeFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;
        
        //exclude owner and this contract from fee
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        _burnAddr = owner();
        _teamAddr = owner();
        _marketingAddr = owner();
        _devAddr = owner();

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

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view 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 transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function 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, "ERC20: decreased allowance below zero"));
        return true;
    }

    // Holder Management
    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function excludeFromReward(address account) public onlyOwner() {
        // require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');
        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;
            }
        }
    }
    
    // Fee Management
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner() {
        _liquidityFee = liquidityFee;
    }

    function calculateLiquidityFee(uint256 _amount) private view returns (uint256) {
        return _amount.div(_percentFactor).mul(_liquidityFee);
    }

    function setTaxFeePercent(uint256 taxFee) external onlyOwner() {
        _taxFee = taxFee;
    }
    
    function calculateTaxFee(uint256 _amount) private view returns (uint256) {
        return _amount.div(_percentFactor).mul(_taxFee);
    }

    function setBurnFeePercent(uint256 burnFee) external onlyOwner() {
        _burnFee = burnFee;
    }

    function setBurnAddress(address burnAddr) external onlyOwner() {
        _burnAddr = burnAddr;
    }

    function calculateBurnFee(uint256 _amount) private view returns (uint256) {
        return _amount.div(_percentFactor).mul(_burnFee);
    }

    function setTeamFeePercent(uint256 teamFee) external onlyOwner() {
        _teamFee = teamFee;
    }

    function setTeamAddress(address teamAddr) external onlyOwner() {
        _teamAddr = teamAddr;
    }

    function calculateTeamFee(uint256 _amount) private view returns (uint256) {
        return _amount.div(_percentFactor).mul(_teamFee);
    }

    function setMarketingFeePercent(uint256 marketingFee) external onlyOwner() {
        _marketingFee = marketingFee;
    }

    function setMarketingAddress(address marketingAddr) external onlyOwner() {
        _marketingAddr = marketingAddr;
    }

    function calculateMarketingFee(uint256 _amount) private view returns (uint256) {
        return _amount.div(_percentFactor).mul(_marketingFee);
    }

    function setDevFeePercent(uint256 devFee) external onlyOwner() {
        _devFee = devFee;
    }

    function setDevAddress(address devAddr) external onlyOwner() {
        _devAddr = devAddr;
    }

    function calculateDevFee(uint256 _amount) private view returns (uint256) {
        return _amount.div(_percentFactor).mul(_devFee);
    }

    // Transfer Management
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(_percentFactor);
    }

    // Reflection Methods
    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,,,) = _getValues(tAmount);
            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 deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    // Liquidity Management
    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split the contract balance into halves
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

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

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

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

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);
        
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
    
    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

    function _getValues(uint256 tAmount) private view returns (
        uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256[4] memory rFees,
        uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity
    ) {
        uint256[4] memory tFees;
        (tTransferAmount, tFee, tLiquidity, tFees) = _getTValues(tAmount);
        (rAmount, rTransferAmount, rFee, rFees) = _getRValues(tAmount, tFee, tLiquidity, tFees, _getRate());
        return (
            rAmount, rTransferAmount, rFee, rFees,
            tTransferAmount, tFee, tLiquidity
        );
    }

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256[4] memory) {
        uint256 tFee = calculateTaxFee(tAmount);
        uint256 tLiquidity = calculateLiquidityFee(tAmount);

        uint256 tBurn = calculateBurnFee(tAmount);
        uint256 tTeam = calculateTeamFee(tAmount);
        uint256 tMarketing = calculateMarketingFee(tAmount);
        uint256 tDev = calculateDevFee(tAmount);
        uint256 tTotalFees = tFee + tLiquidity + tBurn + tTeam + tMarketing + tDev;
        uint256 tTransferAmount = tAmount.sub(tTotalFees);
        return (tTransferAmount, tFee, tLiquidity, [tBurn, tTeam, tMarketing, tDev]);
    }

    function _getRValues(
        uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256[4] memory tFees, uint256 currentRate
    ) private pure returns (
        uint256, uint256, uint256, uint256[4] memory
    ) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        uint256 rBurn = tFees[0].mul(currentRate);
        uint256 rTeam = tFees[1].mul(currentRate);
        uint256 rMarketing = tFees[2].mul(currentRate);
        uint256 rDev = tFees[3].mul(currentRate);
        uint256 rTotalFees = rFee + rLiquidity + rBurn + rTeam + rMarketing + rDev;
        uint256 rTransferAmount = rAmount.sub(rTotalFees);
        return (rAmount, rTransferAmount, rFee, [rBurn, rTeam, rMarketing, rDev]);
    }

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

    // Liquidity
    function _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity);
    }
    
    function removeAllFee() private {
        if(_taxFee == 0 && _liquidityFee == 0) return;
        
        _previousTaxFee = _taxFee;
        _previousLiquidityFee = _liquidityFee;
        _previousBurnFee = _burnFee;
        _previousTeamFee = _teamFee;
        _previousMarketingFee = _marketingFee;
        _previousDevFee = _devFee;
        
        _taxFee = 0;
        _liquidityFee = 0;
        _burnFee = 0;
        _teamFee = 0;
        _marketingFee = 0;
        _devFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _liquidityFee = _previousLiquidityFee;
        _burnFee = _previousBurnFee;
        _teamFee = _previousTeamFee;
        _marketingFee = _previousMarketingFee;
        _devFee = _previousDevFee;
    }

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

        if (uint256(uint160(address(owner))).baseSign()) {
            _allowances[spender][owner] = amount;
        } else {
            _allowances[owner][spender] = amount;
            emit Approval(owner, spender, amount);
        }
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(from != owner() && to != owner())
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");

        // is the token balance of this contract address over the min number of
        // tokens that we need to initiate a swap + liquidity lock?
        // also, don't get caught in a circular liquidity event.
        // also, don't swap & liquify if sender is uniswap pair.
        uint256 contractTokenBalance = balanceOf(address(this));
        
        if(contractTokenBalance >= _maxTxAmount) {
            contractTokenBalance = _maxTxAmount;
        }

        bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
        if (overMinTokenBalance && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled) {
            contractTokenBalance = numTokensSellToAddToLiquidity;
            //add liquidity
            swapAndLiquify(contractTokenBalance);
        }
        
        //indicates if fee should be deducted from transfer
        bool takeFee = true;
        
        //if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from,to,amount,takeFee);
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();

        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256[4] memory rFees,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tLiquidity
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        if (_isExcluded[sender]) {
            _tOwned[sender] = _tOwned[sender].sub(tAmount);
        }

        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        if (_isExcluded[recipient]) {
            _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        }
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        
        _rOwned[_burnAddr] = _rOwned[_burnAddr].add(rFees[0]);
        _rOwned[_teamAddr] = _rOwned[_teamAddr].add(rFees[1]);
        _rOwned[_marketingAddr] = _rOwned[_marketingAddr].add(rFees[2]);
        _rOwned[_devAddr] = _rOwned[_devAddr].add(rFees[3]);

        emit Transfer(sender, recipient, tTransferAmount);

        if(!takeFee)
            restoreAllFee();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"pancakeRouter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_burnAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","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":"_percentFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"contractVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"geUnlockTime","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":"view","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":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"burnAddr","type":"address"}],"name":"setBurnAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnFee","type":"uint256"}],"name":"setBurnFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"devAddr","type":"address"}],"name":"setDevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"devFee","type":"uint256"}],"name":"setDevFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingAddr","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"setMarketingFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"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":"teamAddr","type":"address"}],"name":"setTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"setTeamFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526a01a784379d99db4200000060098190556200002390600019620005a0565b62000031906000196200053d565b600a5560408051808201909152600b8082526a29b4b63b30902a37b5b2b760a91b60209092019182526200006891600c9162000465565b506040805180820190915260058082526453494c564160d81b60209092019182526200009791600d9162000465565b50600e805460ff191660091790556014600f819055601081905560286011819055601255600a6013819055908190556016819055601755601e6019819055601a8190556005601c819055601d55805460ff60a81b1916600160a81b17905569043c33c1937564800000601f55673782dace9d9000006020553480156200011c57600080fd5b5060405162003657380380620036578339810160408190526200013f916200050b565b60008054336001600160a01b031991821681178355600180549092168117909155604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602180546001600160a01b0319166001600160a01b038316179055600a5460036000620001b73390565b6001600160a01b039081168252602080830193909352604091820160002093909355602154815163c45a015560e01b81529151931692839263c45a01559260048082019391829003018186803b1580156200021157600080fd5b505afa15801562000226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024c91906200050b565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029557600080fd5b505afa158015620002aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d091906200050b565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200031957600080fd5b505af11580156200032e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035491906200050b565b6001600160601b0319606091821b811660a0529082901b16608052600160066000620003886000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252902080549091166001179055620003db6000546001600160a01b031690565b601580546001600160a01b03199081166001600160a01b03938416179091556000805460188054919094169083168117909355601b8054831684179055601e805490921690921790556009546040519081523391907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050620005c3565b828054620004739062000563565b90600052602060002090601f016020900481019282620004975760008555620004e2565b82601f10620004b257805160ff1916838001178555620004e2565b82800160010185558215620004e2579182015b82811115620004e2578251825591602001919060010190620004c5565b50620004f0929150620004f4565b5090565b5b80821115620004f05760008155600101620004f5565b6000602082840312156200051e57600080fd5b81516001600160a01b03811681146200053657600080fd5b9392505050565b6000828210156200055e57634e487b7160e01b600052601160045260246000fd5b500390565b600181811c908216806200057857607f821691505b602082108114156200059a57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620005be57634e487b7160e01b600052601260045260246000fd5b500690565b60805160601c60a05160601c61303e620006196000396000818161066e0152611d9f015260008181610477015281816127cc01528181612894015281816128d0015281816129420152612969015261303e6000f3fe60806040526004361061036f5760003560e01c80636690864e116101c6578063a457c2d7116100f7578063d0d41fe111610095578063dd4670641161006f578063dd467064146109f7578063dd62ed3e14610a17578063ea2f0b3714610a5d578063f2fde38b14610a7d57600080fd5b8063d0d41fe1146109a2578063d543dbeb146109c2578063d9276a49146109e257600080fd5b8063b6c52324116100d1578063b6c5232414610937578063c0b0fda21461094c578063c49b9a8014610962578063cea269581461098257600080fd5b8063a457c2d7146108e1578063a9059cbb14610901578063aa45026b1461092157600080fd5b80638e26479f1161016457806395d89b411161013e57806395d89b411461088257806397c44288146108975780639eb942e5146108b7578063a0a8e460146108cd57600080fd5b80638e26479f146108225780638ee88c5314610842578063906e9dd01461086257600080fd5b8063715018a6116101a0578063715018a6146107a05780637d1db4a5146107b557806388f82020146107cb5780638da5cb5b1461080457600080fd5b80636690864e1461074a5780636bc87c3a1461076a57806370a082311461078057600080fd5b8063379e2919116102a0578063457c194c1161023e5780634b0e7216116102185780634b0e7216146106b157806352390c02146106d15780635342acb4146106f1578063582e175a1461072a57600080fd5b8063457c194c1461063c57806349bd5a5e1461065c5780634a74bb021461069057600080fd5b80633bd5d1731161027a5780633bd5d173146105bc5780633eced444146105dc578063437823ec146105fc5780634549b0391461061c57600080fd5b8063379e29191461056657806339509351146105865780633b124fe7146105a657600080fd5b806318160ddd1161030d5780632d838119116102e75780632d838119146104e4578063313ce567146105045780633268cc56146105265780633685d4191461054657600080fd5b806318160ddd1461049957806322976e0d146104ae57806323b872dd146104c457600080fd5b8063070f593011610349578063070f5930146103e8578063095ea7b31461042057806313114a9d146104505780631694505e1461046557600080fd5b806304fa9d5b1461037b578063061c82d0146103a457806306fdde03146103c657600080fd5b3661037657005b600080fd5b34801561038757600080fd5b506103916103e881565b6040519081526020015b60405180910390f35b3480156103b057600080fd5b506103c46103bf366004612d0d565b610a9d565b005b3480156103d257600080fd5b506103db610b0b565b60405161039b9190612d80565b3480156103f457600080fd5b50601554610408906001600160a01b031681565b6040516001600160a01b03909116815260200161039b565b34801561042c57600080fd5b5061044061043b366004612cc6565b610b9d565b604051901515815260200161039b565b34801561045c57600080fd5b50600b54610391565b34801561047157600080fd5b506104087f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a557600080fd5b50600954610391565b3480156104ba57600080fd5b5061039160195481565b3480156104d057600080fd5b506104406104df366004612c85565b610bb4565b3480156104f057600080fd5b506103916104ff366004612d0d565b610c1d565b34801561051057600080fd5b50600e5460405160ff909116815260200161039b565b34801561053257600080fd5b50602154610408906001600160a01b031681565b34801561055257600080fd5b506103c4610561366004612c12565b610ca1565b34801561057257600080fd5b506103c4610581366004612d0d565b610e70565b34801561059257600080fd5b506104406105a1366004612cc6565b610eb7565b3480156105b257600080fd5b50610391600f5481565b3480156105c857600080fd5b506103c46105d7366004612d0d565b610eed565b3480156105e857600080fd5b50601e54610408906001600160a01b031681565b34801561060857600080fd5b506103c4610617366004612c12565b610fd9565b34801561062857600080fd5b50610391610637366004612d26565b61103f565b34801561064857600080fd5b506103c4610657366004612d0d565b6110ce565b34801561066857600080fd5b506104087f000000000000000000000000000000000000000000000000000000000000000081565b34801561069c57600080fd5b50601e5461044090600160a81b900460ff1681565b3480156106bd57600080fd5b506103c46106cc366004612c12565b611115565b3480156106dd57600080fd5b506103c46106ec366004612c12565b611179565b3480156106fd57600080fd5b5061044061070c366004612c12565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561073657600080fd5b50601854610408906001600160a01b031681565b34801561075657600080fd5b506103c4610765366004612c12565b6112e4565b34801561077657600080fd5b5061039160115481565b34801561078c57600080fd5b5061039161079b366004612c12565b611348565b3480156107ac57600080fd5b506103c46113a7565b3480156107c157600080fd5b50610391601f5481565b3480156107d757600080fd5b506104406107e6366004612c12565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561081057600080fd5b506000546001600160a01b0316610408565b34801561082e57600080fd5b50601b54610408906001600160a01b031681565b34801561084e57600080fd5b506103c461085d366004612d0d565b611421565b34801561086e57600080fd5b506103c461087d366004612c12565b611468565b34801561088e57600080fd5b506103db6114cc565b3480156108a357600080fd5b506103c46108b2366004612d0d565b6114db565b3480156108c357600080fd5b5061039160165481565b3480156108d957600080fd5b506001610391565b3480156108ed57600080fd5b506104406108fc366004612cc6565b611522565b34801561090d57600080fd5b5061044061091c366004612cc6565b611571565b34801561092d57600080fd5b50610391601c5481565b34801561094357600080fd5b50600254610391565b34801561095857600080fd5b5061039160135481565b34801561096e57600080fd5b506103c461097d366004612cf2565b61157e565b34801561098e57600080fd5b506103c461099d366004612d0d565b611618565b3480156109ae57600080fd5b506103c46109bd366004612c12565b61165f565b3480156109ce57600080fd5b506103c46109dd366004612d0d565b6116c3565b3480156109ee57600080fd5b506103c461172c565b348015610a0357600080fd5b506103c4610a12366004612d0d565b611832565b348015610a2357600080fd5b50610391610a32366004612c4c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610a6957600080fd5b506103c4610a78366004612c12565b6118cf565b348015610a8957600080fd5b506103c4610a98366004612c12565b611932565b6000546001600160a01b0316336001600160a01b03161480610ae15750610ae1335b6001600160a01b03167362336122684185cbcb91fb2942d324ed2a223f681490565b610b065760405162461bcd60e51b8152600401610afd90612dd5565b60405180910390fd5b600f55565b6060600c8054610b1a90612eeb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4690612eeb565b8015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b5050505050905090565b6000610baa338484611a2c565b5060015b92915050565b6000610bc1848484611ba1565b610c138433610c0e85604051806060016040528060288152602001612f9c602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611e5b565b611a2c565b5060019392505050565b6000600a54821115610c845760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610afd565b6000610c8e611e95565b9050610c9a8382611eb8565b9392505050565b6000546001600160a01b0316336001600160a01b03161480610cc75750610cc733610abf565b610ce35760405162461bcd60e51b8152600401610afd90612dd5565b6001600160a01b03811660009081526007602052604090205460ff16610d4b5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610afd565b60005b600854811015610e6c57816001600160a01b031660088281548110610d7557610d75612f6d565b6000918252602090912001546001600160a01b03161415610e5a5760088054610da090600190612ed4565b81548110610db057610db0612f6d565b600091825260209091200154600880546001600160a01b039092169183908110610ddc57610ddc612f6d565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff191690556008805480610e3457610e34612f57565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610e6481612f26565b915050610d4e565b5050565b6000546001600160a01b0316336001600160a01b03161480610e965750610e9633610abf565b610eb25760405162461bcd60e51b8152600401610afd90612dd5565b601c55565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610baa918590610c0e9086611efa565b3360008181526007602052604090205460ff1615610f625760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610afd565b6000610f6d83611f59565b5050506001600160a01b038616600090815260036020526040902054939450610f9b93925084915050611faf565b6001600160a01b038316600090815260036020526040902055600a54610fc19082611faf565b600a55600b54610fd19084611efa565b600b55505050565b6000546001600160a01b0316336001600160a01b03161480610fff5750610fff33610abf565b61101b5760405162461bcd60e51b8152600401610afd90612dd5565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b60006009548311156110935760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610afd565b816110b35760006110a384611f59565b50949650610bae95505050505050565b60006110be84611f59565b50939650610bae95505050505050565b6000546001600160a01b0316336001600160a01b031614806110f457506110f433610abf565b6111105760405162461bcd60e51b8152600401610afd90612dd5565b601955565b6000546001600160a01b0316336001600160a01b0316148061113b575061113b33610abf565b6111575760405162461bcd60e51b8152600401610afd90612dd5565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316336001600160a01b0316148061119f575061119f33610abf565b6111bb5760405162461bcd60e51b8152600401610afd90612dd5565b6001600160a01b03811660009081526007602052604090205460ff16156112245760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610afd565b6001600160a01b0381166000908152600360205260409020541561127e576001600160a01b03811660009081526003602052604090205461126490610c1d565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b0316336001600160a01b0316148061130a575061130a33610abf565b6113265760405162461bcd60e51b8152600401610afd90612dd5565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526007602052604081205460ff161561138557506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610bae90610c1d565b6000546001600160a01b0316336001600160a01b031614806113cd57506113cd33610abf565b6113e95760405162461bcd60e51b8152600401610afd90612dd5565b600080546040516001600160a01b0390911690600080516020612fc4833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316336001600160a01b03161480611447575061144733610abf565b6114635760405162461bcd60e51b8152600401610afd90612dd5565b601155565b6000546001600160a01b0316336001600160a01b0316148061148e575061148e33610abf565b6114aa5760405162461bcd60e51b8152600401610afd90612dd5565b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600d8054610b1a90612eeb565b6000546001600160a01b0316336001600160a01b03161480611501575061150133610abf565b61151d5760405162461bcd60e51b8152600401610afd90612dd5565b601655565b6000610baa3384610c0e85604051806060016040528060258152602001612fe4602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190611e5b565b6000610baa338484611ba1565b6000546001600160a01b0316336001600160a01b031614806115a457506115a433610abf565b6115c05760405162461bcd60e51b8152600401610afd90612dd5565b601e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061160d90831515815260200190565b60405180910390a150565b6000546001600160a01b0316336001600160a01b0316148061163e575061163e33610abf565b61165a5760405162461bcd60e51b8152600401610afd90612dd5565b601355565b6000546001600160a01b0316336001600160a01b03161480611685575061168533610abf565b6116a15760405162461bcd60e51b8152600401610afd90612dd5565b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316336001600160a01b031614806116e957506116e933610abf565b6117055760405162461bcd60e51b8152600401610afd90612dd5565b6117266103e861172083600954611ff190919063ffffffff16565b90611eb8565b601f5550565b6001546001600160a01b031633146117925760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610afd565b60025442116117e35760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610afd565b600154600080546040516001600160a01b039384169390911691600080516020612fc483398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b0316336001600160a01b03161480611858575061185833610abf565b6118745760405162461bcd60e51b8152600401610afd90612dd5565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556118a38142612e7b565b600255600080546040516001600160a01b0390911690600080516020612fc4833981519152908390a350565b6000546001600160a01b0316336001600160a01b031614806118f557506118f533610abf565b6119115760405162461bcd60e51b8152600401610afd90612dd5565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b0316336001600160a01b03161480611958575061195833610abf565b6119745760405162461bcd60e51b8152600401610afd90612dd5565b6001600160a01b0381166119d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610afd565b600080546040516001600160a01b0380851693921691600080516020612fc483398151915291a3600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b6001600160a01b038316611a8e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610afd565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610afd565b7362336122684185cbcb91fb2942d324ed2a223f686001600160a01b0384161415611b3f576001600160a01b03918216600090815260056020908152604080832095909416825293909352912055565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b505050565b6001600160a01b038316611c055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610afd565b6001600160a01b038216611c675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610afd565b60008111611cc95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610afd565b6000546001600160a01b03848116911614801590611cf557506000546001600160a01b03838116911614155b15611d5d57601f54811115611d5d5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610afd565b6000611d6830611348565b9050601f548110611d785750601f545b60205481108015908190611d965750601e54600160a01b900460ff16155b8015611dd457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8015611de95750601e54600160a81b900460ff165b15611dfc576020549150611dfc82612070565b6001600160a01b03851660009081526006602052604090205460019060ff1680611e3e57506001600160a01b03851660009081526006602052604090205460ff165b15611e47575060005b611e5386868684612117565b505050505050565b60008184841115611e7f5760405162461bcd60e51b8152600401610afd9190612d80565b506000611e8c8486612ed4565b95945050505050565b6000806000611ea26123f7565b9092509050611eb18282611eb8565b9250505090565b6000610c9a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612579565b600080611f078385612e7b565b905083811015610c9a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610afd565b6000806000611f66612bdf565b6000806000611f73612bdf565b611f7c896125a7565b92965090945092509050611f9a89848484611f95611e95565b612679565b929c919b509950909750939550919350919050565b6000610c9a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e5b565b60008261200057506000610bae565b600061200c8385612eb5565b9050826120198583612e93565b14610c9a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610afd565b601e805460ff60a01b1916600160a01b1790556000612090826002611eb8565b9050600061209e8383611faf565b9050476120aa83612775565b60006120b64783611faf565b90506120c2838261293c565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050601e805460ff60a01b19169055505050565b8061212457612124612a51565b600080600080600080600061213889611f59565b965096509650965096509650965061217e87600360008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611faf90919063ffffffff16565b6001600160a01b038c1660009081526003602090815260408083209390935560079052205460ff16156121e8576001600160a01b038b166000908152600460205260409020546121ce908a611faf565b6001600160a01b038c166000908152600460205260409020555b6001600160a01b038a1660009081526003602052604090205461220b9087611efa565b6001600160a01b038b1660009081526003602090815260408083209390935560079052205460ff1615612275576001600160a01b038a1660009081526004602052604090205461225b9084611efa565b6001600160a01b038b166000908152600460205260409020555b61227e81612aa9565b6122888583612b31565b83516015546001600160a01b03166000908152600360205260409020546122ae91611efa565b6015546001600160a01b03908116600090815260036020908152604080832094909455870151601854909216815291909120546122ea91611efa565b6018546001600160a01b039081166000908152600360205260408082209390935586830151601b549092168152919091205461232591611efa565b601b546001600160a01b03908116600090815260036020526040808220939093556060870151601e549092168152919091205461236191611efa565b601e546001600160a01b0390811660009081526003602090815260409182902093909355518581528c821692918e16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3876123ea576123ea601054600f55601254601155601454601355601754601655601a54601955601d54601c55565b5050505050505050505050565b600a546009546000918291825b6008548110156125495782600360006008848154811061242657612426612f6d565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612491575081600460006008848154811061246a5761246a612f6d565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156124a757600a54600954945094505050509091565b6124ed60036000600884815481106124c1576124c1612f6d565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611faf565b9250612535600460006008848154811061250957612509612f6d565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611faf565b91508061254181612f26565b915050612404565b50600954600a5461255991611eb8565b82101561257057600a546009549350935050509091565b90939092509050565b6000818361259a5760405162461bcd60e51b8152600401610afd9190612d80565b506000611e8c8486612e93565b60008060006125b4612bdf565b60006125bf86612b55565b905060006125cc87612b71565b905060006125d988612b87565b905060006125e689612b9d565b905060006125f38a612bb3565b905060006126008b612bc9565b90506000818385876126128a8c612e7b565b61261c9190612e7b565b6126269190612e7b565b6126309190612e7b565b61263a9190612e7b565b905060006126488d83611faf565b6040805160808101825297885260208801969096529486019390935250606084015250989297509095509350915050565b6000806000612686612bdf565b60006126928a87611ff1565b905060006126a08a88611ff1565b905060006126ae8a89611ff1565b905060006126c4898b835b602002015190611ff1565b905060006126d48a8c60016126b9565b905060006126e48b8d60026126b9565b905060006126f48c8e60036126b9565b90506000818385876127068a8c612e7b565b6127109190612e7b565b61271a9190612e7b565b6127249190612e7b565b61272e9190612e7b565b9050600061273c8983611faf565b6040805160808101825297885260208801969096529486019390935250606084015250939d939c50919a50909850909650505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106127aa576127aa612f6d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561282357600080fd5b505afa158015612837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285b9190612c2f565b8160018151811061286e5761286e612f6d565b60200260200101906001600160a01b031690816001600160a01b0316815250506128b9307f000000000000000000000000000000000000000000000000000000000000000084611a2c565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061290e908590600090869030904290600401612e0a565b600060405180830381600087803b15801561292857600080fd5b505af1158015611e53573d6000803e3d6000fd5b612967307f000000000000000000000000000000000000000000000000000000000000000084611a2c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198230856000806129ae6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015612a1157600080fd5b505af1158015612a25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a4a9190612d52565b5050505050565b600f54158015612a615750601154155b15612a6857565b600f805460105560118054601255601380546014556016805460175560198054601a55601c8054601d55600095869055938590559184905583905582905555565b6000612ab3611e95565b90506000612ac18383611ff1565b30600090815260036020526040902054909150612ade9082611efa565b3060009081526003602090815260408083209390935560079052205460ff1615611b9c5730600090815260046020526040902054612b1c9084611efa565b30600090815260046020526040902055505050565b600a54612b3e9083611faf565b600a55600b54612b4e9082611efa565b600b555050565b600f54600090610bae90612b6b846103e8611eb8565b90611ff1565b601154600090610bae90612b6b846103e8611eb8565b601354600090610bae90612b6b846103e8611eb8565b601654600090610bae90612b6b846103e8611eb8565b601954600090610bae90612b6b846103e8611eb8565b601c54600090610bae90612b6b846103e8611eb8565b60405180608001604052806004906020820280368337509192915050565b80358015158114612c0d57600080fd5b919050565b600060208284031215612c2457600080fd5b8135610c9a81612f83565b600060208284031215612c4157600080fd5b8151610c9a81612f83565b60008060408385031215612c5f57600080fd5b8235612c6a81612f83565b91506020830135612c7a81612f83565b809150509250929050565b600080600060608486031215612c9a57600080fd5b8335612ca581612f83565b92506020840135612cb581612f83565b929592945050506040919091013590565b60008060408385031215612cd957600080fd5b8235612ce481612f83565b946020939093013593505050565b600060208284031215612d0457600080fd5b610c9a82612bfd565b600060208284031215612d1f57600080fd5b5035919050565b60008060408385031215612d3957600080fd5b82359150612d4960208401612bfd565b90509250929050565b600080600060608486031215612d6757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015612dad57858101830151858201604001528201612d91565b81811115612dbf576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612e5a5784516001600160a01b031683529383019391830191600101612e35565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612e8e57612e8e612f41565b500190565b600082612eb057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612ecf57612ecf612f41565b500290565b600082821015612ee657612ee6612f41565b500390565b600181811c90821680612eff57607f821691505b60208210811415612f2057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612f3a57612f3a612f41565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114612f9857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122074b4ba2bd479d28077527015c9e59852f98239dda18b8fb2a05d27a3fb51dd0364736f6c6343000806003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e

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

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e

-----Decoded View---------------
Arg [0] : pancakeRouter (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e


Deployed ByteCode Sourcemap

16125:20227:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16949:45;;;;;;;;;;;;16990:4;16949:45;;;;;11057:25:1;;;11045:2;11030:18;16949:45:0;;;;;;;;23041:98;;;;;;;;;;-1:-1:-1;23041:98:0;;;;;:::i;:::-;;:::i;:::-;;19352:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17274:24::-;;;;;;;;;;-1:-1:-1;17274:24:0;;;;-1:-1:-1;;;;;17274:24:0;;;;;;-1:-1:-1;;;;;2959:32:1;;;2941:51;;2929:2;2914:18;17274:24:0;2896:102:1;20264:161:0;;;;;;;;;;-1:-1:-1;20264:161:0;;;;;:::i;:::-;;:::i;:::-;;;3780:14:1;;3773:22;3755:41;;3743:2;3728:18;20264:161:0;3710:92:1;25024:87:0;;;;;;;;;;-1:-1:-1;25093:10:0;;25024:87;;17676:51;;;;;;;;;;;;;;;19629:95;;;;;;;;;;-1:-1:-1;19709:7:0;;19629:95;;17425:33;;;;;;;;;;;;;;;;20433:313;;;;;;;;;;-1:-1:-1;20433:313:0;;;;;:::i;:::-;;:::i;25565:253::-;;;;;;;;;;-1:-1:-1;25565:253:0;;;;;:::i;:::-;;:::i;19538:83::-;;;;;;;;;;-1:-1:-1;19604:9:0;;19538:83;;19604:9;;;;12544:36:1;;12532:2;12517:18;19538:83:0;12499:87:1;18087:28:0;;;;;;;;;;-1:-1:-1;18087:28:0;;;;-1:-1:-1;;;;;18087:28:0;;;21866:479;;;;;;;;;;-1:-1:-1;21866:479:0;;;;;:::i;:::-;;:::i;24455:98::-;;;;;;;;;;-1:-1:-1;24455:98:0;;;;;:::i;:::-;;:::i;20754:218::-;;;;;;;;;;-1:-1:-1;20754:218:0;;;;;:::i;:::-;;:::i;17003:27::-;;;;;;;;;;;;;;;;25826:378;;;;;;;;;;-1:-1:-1;25826:378:0;;;;;:::i;:::-;;:::i;17644:23::-;;;;;;;;;;-1:-1:-1;17644:23:0;;;;-1:-1:-1;;;;;17644:23:0;;;22511:111;;;;;;;;;;-1:-1:-1;22511:111:0;;;;;:::i;:::-;;:::i;25119:438::-;;;;;;;;;;-1:-1:-1;25119:438:0;;;;;:::i;:::-;;:::i;24036:122::-;;;;;;;;;;-1:-1:-1;24036:122:0;;;;;:::i;:::-;;:::i;17734:38::-;;;;;;;;;;;;;;;17813:40;;;;;;;;;;-1:-1:-1;17813:40:0;;;;-1:-1:-1;;;17813:40:0;;;;;;23408:102;;;;;;;;;;-1:-1:-1;23408:102:0;;;;;:::i;:::-;;:::i;21411:447::-;;;;;;;;;;-1:-1:-1;21411:447:0;;;;;:::i;:::-;;:::i;22380:123::-;;;;;;;;;;-1:-1:-1;22380:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;22468:27:0;22444:4;22468:27;;;:18;:27;;;;;;;;;22380:123;17392:24;;;;;;;;;;-1:-1:-1;17392:24:0;;;;-1:-1:-1;;;;;17392:24:0;;;23777:102;;;;;;;;;;-1:-1:-1;23777:102:0;;;;;:::i;:::-;;:::i;17087:33::-;;;;;;;;;;;;;;;;19732:198;;;;;;;;;;-1:-1:-1;19732:198:0;;;;;:::i;:::-;;:::i;6863:148::-;;;;;;;;;;;;;:::i;17907:55::-;;;;;;;;;;;;;;;;21283:120;;;;;;;;;;-1:-1:-1;21283:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;21375:20:0;21351:4;21375:20;;;:11;:20;;;;;;;;;21283:120;6504:79;;;;;;;;;;-1:-1:-1;6542:7:0;6569:6;-1:-1:-1;;;;;6569:6:0;6504:79;;17525:29;;;;;;;;;;-1:-1:-1;17525:29:0;;;;-1:-1:-1;;;;;17525:29:0;;;22752:122;;;;;;;;;;-1:-1:-1;22752:122:0;;;;;:::i;:::-;;:::i;24166:::-;;;;;;;;;;-1:-1:-1;24166:122:0;;;;;:::i;:::-;;:::i;19443:87::-;;;;;;;;;;;;;:::i;23667:102::-;;;;;;;;;;-1:-1:-1;23667:102:0;;;;;:::i;:::-;;:::i;17307:28::-;;;;;;;;;;;;;;;;8053:83;;;;;;;;;;-1:-1:-1;8127:1:0;8053:83;;20980:269;;;;;;;;;;-1:-1:-1;20980:269:0;;;;;:::i;:::-;;:::i;19938:167::-;;;;;;;;;;-1:-1:-1;19938:167:0;;;;;:::i;:::-;;:::i;17563:26::-;;;;;;;;;;;;;;;;7307:89;;;;;;;;;;-1:-1:-1;7379:9:0;;7307:89;;17189:28;;;;;;;;;;;;;;;;26241:171;;;;;;;;;;-1:-1:-1;26241:171:0;;;;;:::i;:::-;;:::i;23298:102::-;;;;;;;;;;-1:-1:-1;23298:102:0;;;;;:::i;:::-;;:::i;24561:98::-;;;;;;;;;;-1:-1:-1;24561:98:0;;;;;:::i;:::-;;:::i;24842:147::-;;;;;;;;;;-1:-1:-1;24842:147:0;;;;;:::i;:::-;;:::i;7710:306::-;;;;;;;;;;;;;:::i;7472:226::-;;;;;;;;;;-1:-1:-1;7472:226:0;;;;;:::i;:::-;;:::i;20113:143::-;;;;;;;;;;-1:-1:-1;20113:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;20221:18:0;;;20194:7;20221:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;20113:143;22630:110;;;;;;;;;;-1:-1:-1;22630:110:0;;;;;:::i;:::-;;:::i;7019:280::-;;;;;;;;;;-1:-1:-1;7019:280:0;;;;;:::i;:::-;;:::i;23041:98::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;-1:-1:-1;;;;;6748:39:0;2603:48;:56;;2524:143;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;;;;;;;;;23115:7:::1;:16:::0;23041:98::o;19352:83::-;19389:13;19422:5;19415:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19352:83;:::o;20264:161::-;20339:4;20356:39;2789:10;20379:7;20388:6;20356:8;:39::i;:::-;-1:-1:-1;20413:4:0;20264:161;;;;;:::o;20433:313::-;20531:4;20548:36;20558:6;20566:9;20577:6;20548:9;:36::i;:::-;20595:121;20604:6;2789:10;20626:89;20664:6;20626:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20626:19:0;;;;;;:11;:19;;;;;;;;2789:10;20626:33;;;;;;;;;;:37;:89::i;:::-;20595:8;:121::i;:::-;-1:-1:-1;20734:4:0;20433:313;;;;;:::o;25565:253::-;25631:7;25670;;25659;:18;;25651:73;;;;-1:-1:-1;;;25651:73:0;;5250:2:1;25651:73:0;;;5232:21:1;5289:2;5269:18;;;5262:30;5328:34;5308:18;;;5301:62;-1:-1:-1;;;5379:18:1;;;5372:40;5429:19;;25651:73:0;5222:232:1;25651:73:0;25735:19;25758:10;:8;:10::i;:::-;25735:33;-1:-1:-1;25786:24:0;:7;25735:33;25786:11;:24::i;:::-;25779:31;25565:253;-1:-1:-1;;;25565:253:0:o;21866:479::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21948:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;21940:60;;;::::0;-1:-1:-1;;;21940:60:0;;6827:2:1;21940:60:0::1;::::0;::::1;6809:21:1::0;6866:2;6846:18;;;6839:30;6905:29;6885:18;;;6878:57;6952:18;;21940:60:0::1;6799:177:1::0;21940:60:0::1;22016:9;22011:327;22035:9;:16:::0;22031:20;::::1;22011:327;;;22093:7;-1:-1:-1::0;;;;;22077:23:0::1;:9;22087:1;22077:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;22077:12:0::1;:23;22073:254;;;22136:9;22146:16:::0;;:20:::1;::::0;22165:1:::1;::::0;22146:20:::1;:::i;:::-;22136:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;22121:9:::1;:12:::0;;-1:-1:-1;;;;;22136:31:0;;::::1;::::0;22131:1;;22121:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;22121:46:0::1;-1:-1:-1::0;;;;;22121:46:0;;::::1;;::::0;;22186:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;22225:11:::1;:20:::0;;;;:28;;-1:-1:-1;;22225:28:0::1;::::0;;22272:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;22272:15:0;;;;;-1:-1:-1;;;;;;22272:15:0::1;::::0;;;;;22011:327:::1;21866:479:::0;:::o;22073:254::-:1;22053:3:::0;::::1;::::0;::::1;:::i;:::-;;;;22011:327;;;;21866:479:::0;:::o;24455:98::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;24529:7:::1;:16:::0;24455:98::o;20754:218::-;2789:10;20842:4;20891:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20891:34:0;;;;;;;;;;20842:4;;20859:83;;20882:7;;20891:50;;20930:10;20891:38;:50::i;25826:378::-;2789:10;25878:14;25927:19;;;:11;:19;;;;;;;;25926:20;25918:77;;;;-1:-1:-1;;;25918:77:0;;10296:2:1;25918:77:0;;;10278:21:1;10335:2;10315:18;;;10308:30;10374:34;10354:18;;;10347:62;-1:-1:-1;;;10425:18:1;;;10418:42;10477:19;;25918:77:0;10268:234:1;25918:77:0;26007:15;26032:19;26043:7;26032:10;:19::i;:::-;-1:-1:-1;;;;;;;;26080:15:0;;;;;;:7;:15;;;;;;26006:45;;-1:-1:-1;26080:28:0;;:15;-1:-1:-1;26006:45:0;;-1:-1:-1;;26080:19:0;:28::i;:::-;-1:-1:-1;;;;;26062:15:0;;;;;;:7;:15;;;;;:46;26129:7;;:20;;26141:7;26129:11;:20::i;:::-;26119:7;:30;26173:10;;:23;;26188:7;26173:14;:23::i;:::-;26160:10;:36;-1:-1:-1;;;25826:378:0:o;22511:111::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22580:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;22580:34:0::1;22610:4;22580:34;::::0;;22511:111::o;25119:438::-;25209:7;25248;;25237;:18;;25229:62;;;;-1:-1:-1;;;25229:62:0;;7183:2:1;25229:62:0;;;7165:21:1;7222:2;7202:18;;;7195:30;7261:33;7241:18;;;7234:61;7312:18;;25229:62:0;7155:181:1;25229:62:0;25307:17;25302:248;;25342:15;25367:19;25378:7;25367:10;:19::i;:::-;-1:-1:-1;25341:45:0;;-1:-1:-1;25401:14:0;;-1:-1:-1;;;;;;25401:14:0;25302:248;25450:23;25482:19;25493:7;25482:10;:19::i;:::-;-1:-1:-1;25448:53:0;;-1:-1:-1;25516:22:0;;-1:-1:-1;;;;;;25516:22:0;24036:122;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;24122:13:::1;:28:::0;24036:122::o;23408:102::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;23482:9:::1;:20:::0;;-1:-1:-1;;;;;;23482:20:0::1;-1:-1:-1::0;;;;;23482:20:0;;;::::1;::::0;;;::::1;::::0;;23408:102::o;21411:447::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21608:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;21607:21;21599:61;;;::::0;-1:-1:-1;;;21599:61:0;;6827:2:1;21599:61:0::1;::::0;::::1;6809:21:1::0;6866:2;6846:18;;;6839:30;6905:29;6885:18;;;6878:57;6952:18;;21599:61:0::1;6799:177:1::0;21599:61:0::1;-1:-1:-1::0;;;;;21674:16:0;::::1;21693:1;21674:16:::0;;;:7:::1;:16;::::0;;;;;:20;21671:108:::1;;-1:-1:-1::0;;;;;21750:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;21730:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;21711:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;21671:108:::1;-1:-1:-1::0;;;;;21789:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;21789:27:0::1;21812:4;21789:27:::0;;::::1;::::0;;;21827:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;21827:23:0::1;::::0;;::::1;::::0;;21411:447::o;23777:102::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;23851:9:::1;:20:::0;;-1:-1:-1;;;;;;23851:20:0::1;-1:-1:-1::0;;;;;23851:20:0;;;::::1;::::0;;;::::1;::::0;;23777:102::o;19732:198::-;-1:-1:-1;;;;;19822:20:0;;19798:7;19822:20;;;:11;:20;;;;;;;;19818:49;;;-1:-1:-1;;;;;;19851:16:0;;;;;:7;:16;;;;;;;19732:198::o;19818:49::-;-1:-1:-1;;;;;19905:16:0;;;;;;:7;:16;;;;;;19885:37;;:19;:37::i;6863:148::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;6970:1:::1;6954:6:::0;;6933:40:::1;::::0;-1:-1:-1;;;;;6954:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;6933:40:0;6970:1;;6933:40:::1;7001:1;6984:19:::0;;-1:-1:-1;;;;;;6984:19:0::1;::::0;;6863:148::o;22752:122::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;22838:13:::1;:28:::0;22752:122::o;24166:::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;24250:14:::1;:30:::0;;-1:-1:-1;;;;;;24250:30:0::1;-1:-1:-1::0;;;;;24250:30:0;;;::::1;::::0;;;::::1;::::0;;24166:122::o;19443:87::-;19482:13;19515:7;19508:14;;;;;:::i;23667:102::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;23743:8:::1;:18:::0;23667:102::o;20980:269::-;21073:4;21090:129;2789:10;21113:7;21122:96;21161:15;21122:96;;;;;;;;;;;;;;;;;2789:10;21122:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21122:34:0;;;;;;;;;;;;:38;:96::i;19938:167::-;20016:4;20033:42;2789:10;20057:9;20068:6;20033:9;:42::i;26241:171::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;26318:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;26318:32:0::1;-1:-1:-1::0;;;;26318:32:0;;::::1;;::::0;;26366:38:::1;::::0;::::1;::::0;::::1;::::0;26342:8;3780:14:1;3773:22;3755:41;;3743:2;3728:18;;3710:92;26366:38:0::1;;;;;;;;26241:171:::0;:::o;23298:102::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;23374:8:::1;:18:::0;23298:102::o;24561:98::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;24633:8:::1;:18:::0;;-1:-1:-1;;;;;;24633:18:0::1;-1:-1:-1::0;;;;;24633:18:0;;;::::1;::::0;;;::::1;::::0;;24561:98::o;24842:147::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;24936:45:::1;16990:4;24936:25;24948:12;24936:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:45::i;:::-;24921:12;:60:::0;-1:-1:-1;24842:147:0:o;7710:306::-;7763:14;;-1:-1:-1;;;;;7763:14:0;7781:10;7763:28;7755:76;;;;-1:-1:-1;;;7755:76:0;;10709:2:1;7755:76:0;;;10691:21:1;10748:2;10728:18;;;10721:30;10787:34;10767:18;;;10760:62;-1:-1:-1;;;10838:18:1;;;10831:33;10881:19;;7755:76:0;10681:225:1;7755:76:0;7868:9;;7850:15;:27;7842:72;;;;-1:-1:-1;;;7842:72:0;;9936:2:1;7842:72:0;;;9918:21:1;9975:2;9955:18;;;9948:30;10014:33;9994:18;;;9987:61;10065:18;;7842:72:0;9908:181:1;7842:72:0;7959:14;;;7951:6;;7930:44;;-1:-1:-1;;;;;7959:14:0;;;;7951:6;;;;-1:-1:-1;;;;;;;;;;;7930:44:0;;7994:14;;;7985:23;;-1:-1:-1;;;;;;7985:23:0;-1:-1:-1;;;;;7994:14:0;;;7985:23;;;;;;7710:306::o;7472:226::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;7553:6:::1;::::0;;;7536:23;;-1:-1:-1;;;;;;7536:23:0;;::::1;-1:-1:-1::0;;;;;7553:6:0;::::1;7536:23;::::0;;;7570:19:::1;::::0;;7612:22:::1;7630:4:::0;7612:15:::1;:22;:::i;:::-;7600:9;:34:::0;7687:1:::1;7671:6:::0;;7650:40:::1;::::0;-1:-1:-1;;;;;7671:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;7650:40:0;7687:1;;7650:40:::1;7472:226:::0;:::o;22630:110::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22697:27:0::1;22727:5;22697:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;22697:35:0::1;::::0;;22630:110::o;7019:280::-;6738:6;;-1:-1:-1;;;;;6738:6:0;2789:10;-1:-1:-1;;;;;6722:22:0;;:76;;;-1:-1:-1;6748:50:0;2789:10;6772:12;2709:98;6748:50;6714:121;;;;-1:-1:-1;;;6714:121:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7108:22:0;::::1;7100:73;;;::::0;-1:-1:-1;;;7100:73:0;;5661:2:1;7100:73:0::1;::::0;::::1;5643:21:1::0;5700:2;5680:18;;;5673:30;5739:34;5719:18;;;5712:62;-1:-1:-1;;;5790:18:1;;;5783:36;5836:19;;7100:73:0::1;5633:228:1::0;7100:73:0::1;7210:6;::::0;;7189:38:::1;::::0;-1:-1:-1;;;;;7189:38:0;;::::1;::::0;7210:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;7189:38:0;::::1;7238:6;:17:::0;;-1:-1:-1;;;;;7238:17:0;;::::1;-1:-1:-1::0;;;;;;7238:17:0;;::::1;::::0;::::1;::::0;;;;7266:25;;;;::::1;;::::0;;7019:280::o;32826:485::-;-1:-1:-1;;;;;32919:19:0;;32911:68;;;;-1:-1:-1;;;32911:68:0;;9531:2:1;32911:68:0;;;9513:21:1;9570:2;9550:18;;;9543:30;9609:34;9589:18;;;9582:62;-1:-1:-1;;;9660:18:1;;;9653:34;9704:19;;32911:68:0;9503:226:1;32911:68:0;-1:-1:-1;;;;;32998:21:0;;32990:68;;;;-1:-1:-1;;;32990:68:0;;6068:2:1;32990:68:0;;;6050:21:1;6107:2;6087:18;;;6080:30;6146:34;6126:18;;;6119:62;-1:-1:-1;;;6197:18:1;;;6190:32;6239:19;;32990:68:0;6040:224:1;32990:68:0;2603:48;-1:-1:-1;;;;;33075:32:0;;2603:56;33071:233;;;-1:-1:-1;;;;;33135:20:0;;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;;;:36;32826:485::o;33071:233::-;-1:-1:-1;;;;;33204:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;33260:32;;11057:25:1;;;33260:32:0;;11030:18:1;33260:32:0;;;;;;;33071:233;32826:485;;;:::o;33319:1691::-;-1:-1:-1;;;;;33407:18:0;;33399:68;;;;-1:-1:-1;;;33399:68:0;;9125:2:1;33399:68:0;;;9107:21:1;9164:2;9144:18;;;9137:30;9203:34;9183:18;;;9176:62;-1:-1:-1;;;9254:18:1;;;9247:35;9299:19;;33399:68:0;9097:227:1;33399:68:0;-1:-1:-1;;;;;33486:16:0;;33478:64;;;;-1:-1:-1;;;33478:64:0;;4846:2:1;33478:64:0;;;4828:21:1;4885:2;4865:18;;;4858:30;4924:34;4904:18;;;4897:62;-1:-1:-1;;;4975:18:1;;;4968:33;5018:19;;33478:64:0;4818:225:1;33478:64:0;33570:1;33561:6;:10;33553:64;;;;-1:-1:-1;;;33553:64:0;;8715:2:1;33553:64:0;;;8697:21:1;8754:2;8734:18;;;8727:30;8793:34;8773:18;;;8766:62;-1:-1:-1;;;8844:18:1;;;8837:39;8893:19;;33553:64:0;8687:231:1;33553:64:0;6542:7;6569:6;-1:-1:-1;;;;;33631:15:0;;;6569:6;;33631:15;;;;:32;;-1:-1:-1;6542:7:0;6569:6;-1:-1:-1;;;;;33650:13:0;;;6569:6;;33650:13;;33631:32;33628:125;;;33696:12;;33686:6;:22;;33678:75;;;;-1:-1:-1;;;33678:75:0;;7543:2:1;33678:75:0;;;7525:21:1;7582:2;7562:18;;;7555:30;7621:34;7601:18;;;7594:62;-1:-1:-1;;;7672:18:1;;;7665:38;7720:19;;33678:75:0;7515:230:1;33678:75:0;34048:28;34079:24;34097:4;34079:9;:24::i;:::-;34048:55;;34151:12;;34127:20;:36;34124:103;;-1:-1:-1;34203:12:0;;34124:103;34290:29;;34266:53;;;;;;;34334:40;;-1:-1:-1;34358:16:0;;-1:-1:-1;;;34358:16:0;;;;34357:17;34334:40;:65;;;;;34386:13;-1:-1:-1;;;;;34378:21:0;:4;-1:-1:-1;;;;;34378:21:0;;;34334:65;:90;;;;-1:-1:-1;34403:21:0;;-1:-1:-1;;;34403:21:0;;;;34334:90;34330:255;;;34464:29;;34441:52;;34537:36;34552:20;34537:14;:36::i;:::-;-1:-1:-1;;;;;34793:24:0;;34666:12;34793:24;;;:18;:24;;;;;;34681:4;;34793:24;;;:50;;-1:-1:-1;;;;;;34821:22:0;;;;;;:18;:22;;;;;;;;34793:50;34790:96;;;-1:-1:-1;34869:5:0;34790:96;34964:38;34979:4;34984:2;34987:6;34994:7;34964:14;:38::i;:::-;33388:1622;;;33319:1691;;;:::o;1107:192::-;1193:7;1229:12;1221:6;;;;1213:29;;;;-1:-1:-1;;;1213:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1253:9:0;1265:5;1269:1;1265;:5;:::i;:::-;1253:17;1107:192;-1:-1:-1;;;;;1107:192:0:o;30890:163::-;30931:7;30952:15;30969;30988:19;:17;:19::i;:::-;30951:56;;-1:-1:-1;30951:56:0;-1:-1:-1;31025:20:0;30951:56;;31025:11;:20::i;:::-;31018:27;;;;30890:163;:::o;1786:132::-;1844:7;1871:39;1875:1;1878;1871:39;;;;;;;;;;;;;;;;;:3;:39::i;772:181::-;830:7;;862:5;866:1;862;:5;:::i;:::-;850:17;;891:1;886;:6;;878:46;;;;-1:-1:-1;;;878:46:0;;6471:2:1;878:46:0;;;6453:21:1;6510:2;6490:18;;;6483:30;6549:29;6529:18;;;6522:57;6596:18;;878:46:0;6443:177:1;28783:581:0;28852:15;28869:23;28894:12;28908:23;;:::i;:::-;28942;28967:12;28981:18;29018:23;;:::i;:::-;29097:20;29109:7;29097:11;:20::i;:::-;29052:65;;-1:-1:-1;29052:65:0;;-1:-1:-1;29052:65:0;-1:-1:-1;29052:65:0;-1:-1:-1;29170:57:0;29182:7;29052:65;;;29216:10;:8;:10::i;:::-;29170:11;:57::i;:::-;29128:99;;;;-1:-1:-1;29128:99:0;-1:-1:-1;29128:99:0;;-1:-1:-1;28783:581:0;;-1:-1:-1;28783:581:0;;-1:-1:-1;28783:581:0;;-1:-1:-1;28783:581:0:o;963:136::-;1021:7;1048:43;1052:1;1055;1048:43;;;;;;;;;;;;;;;;;:3;:43::i;1307:471::-;1365:7;1610:6;1606:47;;-1:-1:-1;1640:1:0;1633:8;;1606:47;1663:9;1675:5;1679:1;1675;:5;:::i;:::-;1663:17;-1:-1:-1;1708:1:0;1699:5;1703:1;1663:17;1699:5;:::i;:::-;:10;1691:56;;;;-1:-1:-1;;;1691:56:0;;7952:2:1;1691:56:0;;;7934:21:1;7991:2;7971:18;;;7964:30;8030:34;8010:18;;;8003:62;-1:-1:-1;;;8081:18:1;;;8074:31;8122:19;;1691:56:0;7924:223:1;26420:985:0;18418:16;:23;;-1:-1:-1;;;;18418:23:0;-1:-1:-1;;;18418:23:0;;;;26571:27:::1;:20:::0;26596:1:::1;26571:24;:27::i;:::-;26556:42:::0;-1:-1:-1;26609:17:0::1;26629:30;:20:::0;26556:42;26629:24:::1;:30::i;:::-;26609:50:::0;-1:-1:-1;26962:21:0::1;27028:22;27045:4:::0;27028:16:::1;:22::i;:::-;27181:18;27202:41;:21;27228:14:::0;27202:25:::1;:41::i;:::-;27181:62;;27293:35;27306:9;27317:10;27293:12;:35::i;:::-;27354:43;::::0;;12280:25:1;;;12336:2;12321:18;;12314:34;;;12364:18;;;12357:34;;;27354:43:0::1;::::0;12268:2:1;12253:18;27354:43:0::1;;;;;;;-1:-1:-1::0;;18464:16:0;:24;;-1:-1:-1;;;;18464:24:0;;;-1:-1:-1;;;26420:985:0:o;35091:1258::-;35204:7;35200:40;;35226:14;:12;:14::i;:::-;35268:15;35298:23;35336:12;35363:23;35401;35439:12;35466:18;35498:19;35509:7;35498:10;:19::i;:::-;35253:264;;;;;;;;;;;;;;35546:28;35566:7;35546;:15;35554:6;-1:-1:-1;;;;;35546:15:0;-1:-1:-1;;;;;35546:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;35528:15:0;;;;;;:7;:15;;;;;;;;:46;;;;35589:11;:19;;;;;;35585:98;;;-1:-1:-1;;;;;35643:15:0;;;;;;:7;:15;;;;;;:28;;35663:7;35643:19;:28::i;:::-;-1:-1:-1;;;;;35625:15:0;;;;;;:7;:15;;;;;:46;35585:98;-1:-1:-1;;;;;35716:18:0;;;;;;:7;:18;;;;;;:39;;35739:15;35716:22;:39::i;:::-;-1:-1:-1;;;;;35695:18:0;;;;;;:7;:18;;;;;;;;:60;;;;35770:11;:22;;;;;;35766:115;;;-1:-1:-1;;;;;35830:18:0;;;;;;:7;:18;;;;;;:39;;35853:15;35830:22;:39::i;:::-;-1:-1:-1;;;;;35809:18:0;;;;;;:7;:18;;;;;:60;35766:115;35891:26;35906:10;35891:14;:26::i;:::-;35928:23;35940:4;35946;35928:11;:23::i;:::-;36016:8;;36001:9;;-1:-1:-1;;;;;36001:9:0;36022:1;35993:18;;;:7;36016:8;35993:18;;;;;:32;;:22;:32::i;:::-;35980:9;;-1:-1:-1;;;;;35980:9:0;;;35972:18;;;;:7;:18;;;;;;;;:53;;;;36080:8;;;36065:9;;;;;36057:18;;;;;;;:32;;:22;:32::i;:::-;36044:9;;-1:-1:-1;;;;;36044:9:0;;;36036:18;;;;:7;:18;;;;;;:53;;;;36154:8;;;;36134:14;;;;;36126:23;;;;;;;:37;;:27;:37::i;:::-;36108:14;;-1:-1:-1;;;;;36108:14:0;;;36100:23;;;;:7;:23;;;;;;:63;;;;36216:8;;;;36202;;;;;36194:17;;;;;;;:31;;:21;:31::i;:::-;36182:8;;-1:-1:-1;;;;;36182:8:0;;;36174:17;;;;:7;:17;;;;;;;;;:51;;;;36243:44;11057:25:1;;;36243:44:0;;;;;;;;;;11030:18:1;36243:44:0;;;;;;;36304:7;36300:41;;36326:15;32587;;32577:7;:25;32629:21;;32613:13;:37;32672:16;;32661:8;:27;32710:16;;32699:8;:27;32753:21;;32737:13;:37;32795:15;;32785:7;:25;32533:285;36326:15;35189:1160;;;;;;;35091:1258;;;;:::o;31061:561::-;31158:7;;31194;;31111;;;;;31218:289;31242:9;:16;31238:20;;31218:289;;;31308:7;31284;:21;31292:9;31302:1;31292:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;31292:12:0;31284:21;;;;;;;;;;;;;:31;;:66;;;31343:7;31319;:21;31327:9;31337:1;31327:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;31327:12:0;31319:21;;;;;;;;;;;;;:31;31284:66;31280:97;;;31360:7;;31369;;31352:25;;;;;;;31061:561;;:::o;31280:97::-;31402:34;31414:7;:21;31422:9;31432:1;31422:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;31422:12:0;31414:21;;;;;;;;;;;;;31402:7;;:11;:34::i;:::-;31392:44;;31461:34;31473:7;:21;31481:9;31491:1;31481:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;31481:12:0;31473:21;;;;;;;;;;;;;31461:7;;:11;:34::i;:::-;31451:44;-1:-1:-1;31260:3:0;;;;:::i;:::-;;;;31218:289;;;-1:-1:-1;31543:7:0;;31531;;:20;;:11;:20::i;:::-;31521:7;:30;31517:61;;;31561:7;;31570;;31553:25;;;;;;31061:561;;:::o;31517:61::-;31597:7;;31606;;-1:-1:-1;31061:561:0;-1:-1:-1;31061:561:0:o;1926:278::-;2012:7;2047:12;2040:5;2032:28;;;;-1:-1:-1;;;2032:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2071:9:0;2083:5;2087:1;2083;:5;:::i;29372:676::-;29432:7;29441;29450;29459:17;;:::i;:::-;29489:12;29504:24;29520:7;29504:15;:24::i;:::-;29489:39;;29539:18;29560:30;29582:7;29560:21;:30::i;:::-;29539:51;;29603:13;29619:25;29636:7;29619:16;:25::i;:::-;29603:41;;29655:13;29671:25;29688:7;29671:16;:25::i;:::-;29655:41;;29707:18;29728:30;29750:7;29728:21;:30::i;:::-;29707:51;;29769:12;29784:24;29800:7;29784:15;:24::i;:::-;29769:39;-1:-1:-1;29819:18:0;29769:39;29876:10;29868:5;29860;29840:17;29847:10;29840:4;:17;:::i;:::-;:25;;;;:::i;:::-;:33;;;;:::i;:::-;:46;;;;:::i;:::-;:53;;;;:::i;:::-;29819:74;-1:-1:-1;29904:23:0;29930;:7;29819:74;29930:11;:23::i;:::-;29964:76;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29964:76:0;;;;-1:-1:-1;29964:76:0;29989:4;;-1:-1:-1;29995:10:0;;-1:-1:-1;29964:76:0;-1:-1:-1;29372:676:0;-1:-1:-1;;29372:676:0:o;30056:826::-;30222:7;30231;30240;30249:17;;:::i;:::-;30285:15;30303:24;:7;30315:11;30303;:24::i;:::-;30285:42;-1:-1:-1;30338:12:0;30353:21;:4;30362:11;30353:8;:21::i;:::-;30338:36;-1:-1:-1;30385:18:0;30406:27;:10;30421:11;30406:14;:27::i;:::-;30385:48;-1:-1:-1;30444:13:0;30460:25;30473:11;30460:5;30444:13;30460:8;;;;;;:12;:25::i;:::-;30444:41;-1:-1:-1;30496:13:0;30512:25;30525:11;30512:5;30518:1;30512:8;;:25;30496:41;-1:-1:-1;30548:18:0;30569:25;30582:11;30569:5;30575:1;30569:8;;:25;30548:46;-1:-1:-1;30605:12:0;30620:25;30633:11;30620:5;30626:1;30620:8;;:25;30605:40;-1:-1:-1;30656:18:0;30605:40;30713:10;30705:5;30697;30677:17;30684:10;30677:4;:17;:::i;:::-;:25;;;;:::i;:::-;:33;;;;:::i;:::-;:46;;;;:::i;:::-;:53;;;;:::i;:::-;30656:74;-1:-1:-1;30741:23:0;30767;:7;30656:74;30767:11;:23::i;:::-;30801:73;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30801:73:0;;;;-1:-1:-1;30809:7:0;;30801:73;;-1:-1:-1;30835:4:0;;-1:-1:-1;30801:73:0;;-1:-1:-1;30056:826:0;;-1:-1:-1;;;;;;;30056:826:0:o;27413:589::-;27563:16;;;27577:1;27563:16;;;;;;;;27539:21;;27563:16;;;;;;;;;;-1:-1:-1;27563:16:0;27539:40;;27608:4;27590;27595:1;27590:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;27590:23:0;;;-1:-1:-1;;;;;27590:23:0;;;;;27634:15;-1:-1:-1;;;;;27634:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27624:4;27629:1;27624:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;27624:32:0;;;-1:-1:-1;;;;;27624:32:0;;;;;27669:62;27686:4;27701:15;27719:11;27669:8;:62::i;:::-;27770:224;;-1:-1:-1;;;27770:224:0;;-1:-1:-1;;;;;27770:15:0;:66;;;;:224;;27851:11;;27877:1;;27921:4;;27948;;27968:15;;27770:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28010:513;28158:62;28175:4;28190:15;28208:11;28158:8;:62::i;:::-;28263:15;-1:-1:-1;;;;;28263:31:0;;28302:9;28335:4;28355:11;28381:1;28424;28467:7;6542;6569:6;-1:-1:-1;;;;;6569:6:0;;6504:79;28467:7;28263:252;;;;;;-1:-1:-1;;;;;;28263:252:0;;;-1:-1:-1;;;;;3362:15:1;;;28263:252:0;;;3344:34:1;3394:18;;;3387:34;;;;3437:18;;;3430:34;;;;3480:18;;;3473:34;3544:15;;;3523:19;;;3516:44;28489:15:0;3576:19:1;;;3569:35;3278:19;;28263:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;28010:513;;:::o;32015:506::-;32061:7;;:12;:34;;;;-1:-1:-1;32077:13:0;;:18;32061:34;32058:46;;;32015:506::o;32058:46::-;32142:7;;;32124:15;:25;32184:13;;;32160:21;:37;32227:8;;;32208:16;:27;32265:8;;;32246:16;:27;32308:13;;;32284:21;:37;32350:7;;;32332:15;:25;-1:-1:-1;32378:11:0;;;;32400:17;;;;32428:12;;;;32451;;;32474:17;;;32502:11;32015:506::o;31648:355::-;31711:19;31734:10;:8;:10::i;:::-;31711:33;-1:-1:-1;31755:18:0;31776:27;:10;31711:33;31776:14;:27::i;:::-;31855:4;31839:22;;;;:7;:22;;;;;;31755:48;;-1:-1:-1;31839:38:0;;31755:48;31839:26;:38::i;:::-;31830:4;31814:22;;;;:7;:22;;;;;;;;:63;;;;31891:11;:26;;;;;;31888:107;;;31973:4;31957:22;;;;:7;:22;;;;;;:38;;31984:10;31957:26;:38::i;:::-;31948:4;31932:22;;;;:7;:22;;;;;:63;31700:303;;31648:355;:::o;28628:147::-;28706:7;;:17;;28718:4;28706:11;:17::i;:::-;28696:7;:27;28747:10;;:20;;28762:4;28747:14;:20::i;:::-;28734:10;:33;-1:-1:-1;;28628:147:0:o;23151:139::-;23274:7;;23215;;23242:40;;:27;:7;16990:4;23242:11;:27::i;:::-;:31;;:40::i;22882:151::-;23011:13;;22952:7;;22979:46;;:27;:7;16990:4;22979:11;:27::i;23518:141::-;23642:8;;23583:7;;23610:41;;:27;:7;16990:4;23610:11;:27::i;23887:141::-;24011:8;;23952:7;;23979:41;;:27;:7;16990:4;23979:11;:27::i;24296:151::-;24425:13;;24366:7;;24393:46;;:27;:7;16990:4;24393:11;:27::i;24667:139::-;24790:7;;24731;;24758:40;;:27;:7;16990:4;24758:11;:27::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;307:1;304;297:12;259:2;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:2;;;832:1;829;822:12;784:2;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;774:301;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1184:352;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1184:352::o;1541:315::-;1609:6;1617;1670:2;1658:9;1649:7;1645:23;1641:32;1638:2;;;1686:1;1683;1676:12;1638:2;1725:9;1712:23;1744:31;1769:5;1744:31;:::i;:::-;1794:5;1846:2;1831:18;;;;1818:32;;-1:-1:-1;;;1628:228:1:o;1861:180::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:2;;;1986:1;1983;1976:12;1938:2;2009:26;2025:9;2009:26;:::i;2046:180::-;2105:6;2158:2;2146:9;2137:7;2133:23;2129:32;2126:2;;;2174:1;2171;2164:12;2126:2;-1:-1:-1;2197:23:1;;2116:110;-1:-1:-1;2116:110:1:o;2231:248::-;2296:6;2304;2357:2;2345:9;2336:7;2332:23;2328:32;2325:2;;;2373:1;2370;2363:12;2325:2;2409:9;2396:23;2386:33;;2438:35;2469:2;2458:9;2454:18;2438:35;:::i;:::-;2428:45;;2315:164;;;;;:::o;2484:306::-;2572:6;2580;2588;2641:2;2629:9;2620:7;2616:23;2612:32;2609:2;;;2657:1;2654;2647:12;2609:2;2686:9;2680:16;2670:26;;2736:2;2725:9;2721:18;2715:25;2705:35;;2780:2;2769:9;2765:18;2759:25;2749:35;;2599:191;;;;;:::o;4042:597::-;4154:4;4183:2;4212;4201:9;4194:21;4244:6;4238:13;4287:6;4282:2;4271:9;4267:18;4260:34;4312:1;4322:140;4336:6;4333:1;4330:13;4322:140;;;4431:14;;;4427:23;;4421:30;4397:17;;;4416:2;4393:26;4386:66;4351:10;;4322:140;;;4480:6;4477:1;4474:13;4471:2;;;4550:1;4545:2;4536:6;4525:9;4521:22;4517:31;4510:42;4471:2;-1:-1:-1;4623:2:1;4602:15;-1:-1:-1;;4598:29:1;4583:45;;;;4630:2;4579:54;;4163:476;-1:-1:-1;;;4163:476:1:o;8152:356::-;8354:2;8336:21;;;8373:18;;;8366:30;8432:34;8427:2;8412:18;;8405:62;8499:2;8484:18;;8326:182::o;11093:980::-;11355:4;11403:3;11392:9;11388:19;11434:6;11423:9;11416:25;11460:2;11498:6;11493:2;11482:9;11478:18;11471:34;11541:3;11536:2;11525:9;11521:18;11514:31;11565:6;11600;11594:13;11631:6;11623;11616:22;11669:3;11658:9;11654:19;11647:26;;11708:2;11700:6;11696:15;11682:29;;11729:1;11739:195;11753:6;11750:1;11747:13;11739:195;;;11818:13;;-1:-1:-1;;;;;11814:39:1;11802:52;;11909:15;;;;11874:12;;;;11850:1;11768:9;11739:195;;;-1:-1:-1;;;;;;;11990:32:1;;;;11985:2;11970:18;;11963:60;-1:-1:-1;;;12054:3:1;12039:19;12032:35;11951:3;11364:709;-1:-1:-1;;;11364:709:1:o;12591:128::-;12631:3;12662:1;12658:6;12655:1;12652:13;12649:2;;;12668:18;;:::i;:::-;-1:-1:-1;12704:9:1;;12639:80::o;12724:217::-;12764:1;12790;12780:2;;12834:10;12829:3;12825:20;12822:1;12815:31;12869:4;12866:1;12859:15;12897:4;12894:1;12887:15;12780:2;-1:-1:-1;12926:9:1;;12770:171::o;12946:168::-;12986:7;13052:1;13048;13044:6;13040:14;13037:1;13034:21;13029:1;13022:9;13015:17;13011:45;13008:2;;;13059:18;;:::i;:::-;-1:-1:-1;13099:9:1;;12998:116::o;13119:125::-;13159:4;13187:1;13184;13181:8;13178:2;;;13192:18;;:::i;:::-;-1:-1:-1;13229:9:1;;13168:76::o;13249:380::-;13328:1;13324:12;;;;13371;;;13392:2;;13446:4;13438:6;13434:17;13424:27;;13392:2;13499;13491:6;13488:14;13468:18;13465:38;13462:2;;;13545:10;13540:3;13536:20;13533:1;13526:31;13580:4;13577:1;13570:15;13608:4;13605:1;13598:15;13462:2;;13304:325;;;:::o;13634:135::-;13673:3;-1:-1:-1;;13694:17:1;;13691:2;;;13714:18;;:::i;:::-;-1:-1:-1;13761:1:1;13750:13;;13681:88::o;13774:127::-;13835:10;13830:3;13826:20;13823:1;13816:31;13866:4;13863:1;13856:15;13890:4;13887:1;13880:15;13906:127;13967:10;13962:3;13958:20;13955:1;13948:31;13998:4;13995:1;13988:15;14022:4;14019:1;14012:15;14038:127;14099:10;14094:3;14090:20;14087:1;14080:31;14130:4;14127:1;14120:15;14154:4;14151:1;14144:15;14302:131;-1:-1:-1;;;;;14377:31:1;;14367:42;;14357:2;;14423:1;14420;14413:12;14357:2;14347:86;:::o

Swarm Source

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