ETH Price: $3,369.91 (+0.08%)

Token

FrinkCoin (FRINK)
 

Overview

Max Total Supply

1,000,000,000 FRINK

Holders

285 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,127,000.019627665452732677 FRINK

Value
$0.00
0xf73c74813a774647a68e514b175e85836bc3c326
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Frink Coin is a parody community token whose goal is to bring a “parody meme token” project on chain while also giving back to its community through its daily & weekly automated lotteries. Full community token, no developer or marketing wallet.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FrinkToken

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : FRINK.sol
import "hardhat/console.sol";


//SPDX-License-Identifier: MIT

pragma solidity ^0.8.7;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

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

/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping(address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER");
        _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED");
        _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract FrinkToken is IBEP20, Auth {
    using SafeMath for uint256;

    address USDT;
    address WETH;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "FrinkCoin";
    string constant _symbol = "FRINK";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 1000000000 * (10**_decimals);
    uint256 public _maxTxAmount = _totalSupply / 200;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
     uint256 public maxWalletLimit = _totalSupply/50; 
    uint16 public AUTOMATION_FEE=10;


   address AutomateWallet = 0xF1BC72cC7b8c9B711b46d2D1A2cE131c5F167772;
    
    address public LotteryWalletDaily = payable(address(this));
    address public LotteryWalletWeekly = payable(address(this));
     address[] public WeeklyList;
    address[] public DailyList;
    uint256 public day = 1 days;
    uint256 public week = 7 days;
    mapping(address => bool) public inDailyList;
    mapping(address => bool) public inWeeklyList;

    mapping(address => uint256) public tokenHoldTime;
    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;


    uint256 liquidityFee = 200;
    uint256 totalFee = 200;
    uint256 feeDenominator = 10000;



    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    uint96 public TOKEN_THRESHOLD;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 200000; // 0.005%
    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address usdtAddress, address routerA) Auth(msg.sender) {
        router = IDEXRouter(routerA);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = uint256(
            2500000000 * 10**_decimals
        );


      
        USDT = usdtAddress;
        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;

       

      

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function decimals() external pure override returns (uint8) {
        return _decimals;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }
    function changeLotteryAddress(address _LotteryWalletDaily, address _LotteryWalletWeekly)public onlyOwner{
        LotteryWalletWeekly = _LotteryWalletWeekly;
        LotteryWalletDaily = _LotteryWalletDaily;
    }
    function name() external pure override returns (string memory) {
        return _name;
    }

    function getOwner() external view override returns (address) {
        return owner;
    }

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

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

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, uint256(2500000000 * 10**_decimals));
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (
            _allowances[sender][msg.sender] !=
            uint256(2500000000 * 10**_decimals)
        ) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender]
                .sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }
function getDailyList() public view returns (address[] memory) {
        return DailyList;
    }

    function getWeeklyList() public view returns (address[] memory) {
        return WeeklyList;
    }

    function isWeeklyReady(address addr) internal view returns (bool) {
        return ((block.timestamp - tokenHoldTime[addr]) >= week &&
            balanceOf(addr) >= 10 * 10**_decimals);
    }

    function isDailyReady(address addr) internal view returns (bool) {
        return ((block.timestamp - tokenHoldTime[addr]) >= day &&
            balanceOf(addr) >= TOKEN_THRESHOLD * 10**_decimals);
    }

     function filterDailyList() external {
        for (uint256 index = 0; index < DailyList.length; index++) {
            if (
                inDailyList[DailyList[index]] && !isDailyReady(DailyList[index])
            ) {
                
                    if (index >= DailyList.length) return;

                    for (uint256 i = index; i < DailyList.length - 1; i++) {
                        DailyList[i] = DailyList[i + 1];
                    }
                    DailyList.pop();
                    inDailyList[DailyList[index]] = false;
                
            }
            if (!isDailyReady(DailyList[index])) {
                for (uint256 i = index; i < DailyList.length - 1; i++) {
                    DailyList[i] = DailyList[i + 1];
                }
                DailyList.pop();
            }
        }
        
    }


function updateMaxWalletlimit(uint256 amount) external onlyOwner{
         maxWalletLimit = amount * 10**_decimals;
     }
     function filterWeeklyList() external {
        for (uint256 index = 0; index < WeeklyList.length; index++) {
            if (
                inWeeklyList[WeeklyList[index]] &&
                !(isWeeklyReady(WeeklyList[index]))
            ) {
                if (index >= WeeklyList.length) return;
                inWeeklyList[WeeklyList[index]] = false;
                for (uint256 i = index; i < WeeklyList.length - 1; i++) {
                    WeeklyList[i] = WeeklyList[i + 1];
                }
                WeeklyList.pop();
            }

            if (!isWeeklyReady(WeeklyList[index])) {
                for (uint256 i = index; i < WeeklyList.length - 1; i++) {
                    WeeklyList[i] = WeeklyList[i + 1];
                }
                WeeklyList.pop();
            }
        }
    }
    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
          if (inDailyList[sender]) {
            if (balanceOf(sender) - amount <= TOKEN_THRESHOLD * 10**_decimals) {
                inDailyList[sender] = false;
                tokenHoldTime[sender] = 0;
            }
        }
        if (inWeeklyList[sender]) {
            if (balanceOf(sender) - amount <= TOKEN_THRESHOLD * 10**_decimals) {
                inWeeklyList[sender] = false;
                tokenHoldTime[sender] = 0;
            }
        }
        if (
            !inDailyList[sender] &&
            tokenHoldTime[sender] != 0 &&
            isDailyReady(sender)
        ) {
            inDailyList[sender] = true;
            DailyList.push(sender);
        }
        if (
            !inDailyList[recipient] &&
            tokenHoldTime[recipient] != 0 &&
            isDailyReady(recipient)
        ) {
            inDailyList[recipient] = true;
            DailyList.push(recipient);
        }
        if (
            !inWeeklyList[sender] &&
            tokenHoldTime[sender] != 0 &&
            isWeeklyReady(sender)
        ) {
            inWeeklyList[sender] = true;
            WeeklyList.push(sender);
        }
        if (
            !inWeeklyList[recipient] &&
            tokenHoldTime[recipient] != 0 &&
            isWeeklyReady(recipient)
        ) {
            inWeeklyList[recipient] = true;
            WeeklyList.push(recipient);
        }

        if (
            balanceOf(recipient) + amount >= 10 * 10**_decimals &&
            tokenHoldTime[recipient] == 0
        ) {
            WeeklyList.push(recipient);
            DailyList.push(recipient);
            tokenHoldTime[recipient] = block.timestamp;
        }
        
       
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        checkTxLimit(sender, amount);


        if(shouldSwapBack()){ 
            swapBack();

            // swapTokensForUSDC(balanceOf(address(this)));
             }
       
if(recipient != pair){
             require(balanceOf(recipient) + amount <= maxWalletLimit, "You are exceeding max wallet limit.");

}
        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(
            amount <= _maxTxAmount || isTxLimitExempt[sender],
            "TX Limit Exceeded"
        );
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee() public view returns (uint256) {
     
        return totalFee;
    }



    function takeFee(
        address sender,
        uint256 amount
    ) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee()).div(
            feeDenominator
        );

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            !inSwap &&
            swapEnabled &&
            _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
     
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;


        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            balanceOf(address(this)) ,
            0,
            path,
            address(this),
            block.timestamp
        );
//  address[] memory path = new address[](2);


        uint256 amountETH = address(this).balance.sub(address(this).balance * AUTOMATION_FEE/100);
      

        path[0] = WETH;
        path[1] = USDT;
     router.swapExactETHForTokensSupportingFeeOnTransferTokens{
            value: amountETH
        }(0, path, address(this), block.timestamp);

    
console.log("USDT:",IBEP20(USDT).balanceOf(address(this)));
console.log("ETH:",address(this).balance);
                IBEP20(USDT).transfer(LotteryWalletWeekly,IBEP20(USDT).balanceOf(address(this)) /2);
        IBEP20(USDT).transfer(LotteryWalletDaily,IBEP20(USDT).balanceOf(address(this)));
        payable(AutomateWallet).transfer(address(this).balance);
        
    }




    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{
            value: amount
        }(0, path, to, block.timestamp);
    }



    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }


    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt)
        external
        authorized
    {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(
        uint256 _liquidityFee,
        uint16 _AUTOMATION_FEE,
        uint256 _feeDenominator
    ) external authorized {
        liquidityFee = _liquidityFee;
AUTOMATION_FEE = _AUTOMATION_FEE;
        totalFee = _liquidityFee;
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 4);
    }


    function setSwapBackSettings(bool _enabled, uint256 _amount)
        external
        authorized
    {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

 

 

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy)
        public
        view
        returns (uint256)
    {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }


    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
    event BuybackMultiplierActive(uint256 duration);
}

File 2 of 2 : console.sol
// SPDX-License-Identifier: MIT
pragma solidity >= 0.4.22 <0.9.0;

library console {
	address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);

	function _sendLogPayload(bytes memory payload) private view {
		uint256 payloadLength = payload.length;
		address consoleAddress = CONSOLE_ADDRESS;
		assembly {
			let payloadStart := add(payload, 32)
			let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)
		}
	}

	function log() internal view {
		_sendLogPayload(abi.encodeWithSignature("log()"));
	}

	function logInt(int256 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
	}

	function logUint(uint256 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
	}

	function logString(string memory p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
	}

	function logBool(bool p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
	}

	function logAddress(address p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
	}

	function logBytes(bytes memory p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
	}

	function logBytes1(bytes1 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
	}

	function logBytes2(bytes2 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
	}

	function logBytes3(bytes3 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
	}

	function logBytes4(bytes4 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
	}

	function logBytes5(bytes5 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
	}

	function logBytes6(bytes6 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
	}

	function logBytes7(bytes7 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
	}

	function logBytes8(bytes8 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
	}

	function logBytes9(bytes9 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
	}

	function logBytes10(bytes10 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
	}

	function logBytes11(bytes11 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
	}

	function logBytes12(bytes12 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
	}

	function logBytes13(bytes13 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
	}

	function logBytes14(bytes14 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
	}

	function logBytes15(bytes15 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
	}

	function logBytes16(bytes16 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
	}

	function logBytes17(bytes17 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
	}

	function logBytes18(bytes18 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
	}

	function logBytes19(bytes19 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
	}

	function logBytes20(bytes20 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
	}

	function logBytes21(bytes21 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
	}

	function logBytes22(bytes22 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
	}

	function logBytes23(bytes23 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
	}

	function logBytes24(bytes24 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
	}

	function logBytes25(bytes25 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
	}

	function logBytes26(bytes26 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
	}

	function logBytes27(bytes27 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
	}

	function logBytes28(bytes28 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
	}

	function logBytes29(bytes29 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
	}

	function logBytes30(bytes30 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
	}

	function logBytes31(bytes31 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
	}

	function logBytes32(bytes32 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
	}

	function log(uint256 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
	}

	function log(string memory p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
	}

	function log(bool p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
	}

	function log(address p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
	}

	function log(uint256 p0, uint256 p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
	}

	function log(uint256 p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
	}

	function log(uint256 p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
	}

	function log(uint256 p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
	}

	function log(string memory p0, uint256 p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
	}

	function log(string memory p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
	}

	function log(string memory p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
	}

	function log(string memory p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
	}

	function log(bool p0, uint256 p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
	}

	function log(bool p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
	}

	function log(bool p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
	}

	function log(bool p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
	}

	function log(address p0, uint256 p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
	}

	function log(address p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
	}

	function log(address p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
	}

	function log(address p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
	}

	function log(uint256 p0, uint256 p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
	}

	function log(uint256 p0, uint256 p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
	}

	function log(uint256 p0, uint256 p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
	}

	function log(uint256 p0, uint256 p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
	}

	function log(uint256 p0, string memory p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
	}

	function log(uint256 p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
	}

	function log(uint256 p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
	}

	function log(uint256 p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
	}

	function log(uint256 p0, bool p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
	}

	function log(uint256 p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
	}

	function log(uint256 p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
	}

	function log(uint256 p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
	}

	function log(uint256 p0, address p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
	}

	function log(uint256 p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
	}

	function log(uint256 p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
	}

	function log(uint256 p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
	}

	function log(string memory p0, uint256 p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
	}

	function log(string memory p0, uint256 p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
	}

	function log(string memory p0, uint256 p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
	}

	function log(string memory p0, uint256 p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
	}

	function log(string memory p0, address p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
	}

	function log(string memory p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
	}

	function log(string memory p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
	}

	function log(string memory p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
	}

	function log(bool p0, uint256 p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
	}

	function log(bool p0, uint256 p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
	}

	function log(bool p0, uint256 p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
	}

	function log(bool p0, uint256 p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
	}

	function log(bool p0, bool p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
	}

	function log(bool p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
	}

	function log(bool p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
	}

	function log(bool p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
	}

	function log(bool p0, address p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
	}

	function log(bool p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
	}

	function log(bool p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
	}

	function log(bool p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
	}

	function log(address p0, uint256 p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
	}

	function log(address p0, uint256 p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
	}

	function log(address p0, uint256 p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
	}

	function log(address p0, uint256 p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
	}

	function log(address p0, string memory p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
	}

	function log(address p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
	}

	function log(address p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
	}

	function log(address p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
	}

	function log(address p0, bool p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
	}

	function log(address p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
	}

	function log(address p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
	}

	function log(address p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
	}

	function log(address p0, address p1, uint256 p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
	}

	function log(address p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
	}

	function log(address p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
	}

	function log(address p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
	}

	function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, uint256 p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
	}

	function log(uint256 p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint256 p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint256)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint256 p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint256 p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint256 p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint256 p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint256 p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint256 p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, uint256 p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
	}

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"usdtAddress","type":"address"},{"internalType":"address","name":"routerA","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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AUTOMATION_FEE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"DailyList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LotteryWalletDaily","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LotteryWalletWeekly","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_THRESHOLD","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"WeeklyList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_LotteryWalletDaily","type":"address"},{"internalType":"address","name":"_LotteryWalletWeekly","type":"address"}],"name":"changeLotteryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"day","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"filterDailyList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"filterWeeklyList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDailyList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWeeklyList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"inDailyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"inWeeklyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint16","name":"_AUTOMATION_FEE","type":"uint16"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenHoldTime","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"week","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600480546001600160a01b031990811661dead17909155600580549091169055620000326012600a620004e1565b6200004290633b9aca00620004f9565b60065560c86006546200005691906200051b565b60075560326006546200006a91906200051b565b600a55600b80546001600160b01b03191675f1bc72cc7b8c9b711b46d2d1a2ce131c5f167772000a179055600c8054306001600160a01b03199182168117909255600d805490911690911790556201518060105562093a8060115560c86017819055601855612710601955601d80546c0100000000000000000000000060ff60601b19909116179055600654620001069062030d40906200051b565b601e553480156200011657600080fd5b50604051620031163803806200311683398101604081905262000139916200055b565b600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601a80546001600160a01b03861693168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa158015620001b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001db919062000593565b600380546001600160a01b0319166001600160a01b03928316179055601a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000260919062000593565b6003546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d8919062000593565b601b80546001600160a01b0319166001600160a01b0392909216919091179055620003066012600a620004e1565b6200031690639502f900620004f9565b306000908152600960209081526040808320601a546001600160a01b03908116855290835281842094909455600280546001600160a01b031916948716949094179093553380835260158252838320805460ff1990811660019081179092556016845285852080549091169091179055600654600883528484208190559351938452927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620005b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000423578160001904821115620004075762000407620003cc565b808516156200041557918102915b93841c9390800290620003e7565b509250929050565b6000826200043c57506001620004db565b816200044b57506000620004db565b81600181146200046457600281146200046f576200048f565b6001915050620004db565b60ff841115620004835762000483620003cc565b50506001821b620004db565b5060208310610133831016604e8410600b8410161715620004b4575081810a620004db565b620004c08383620003e2565b8060001904821115620004d757620004d7620003cc565b0290505b92915050565b6000620004f260ff8416836200042b565b9392505050565b6000816000190483118215151615620005165762000516620003cc565b500290565b6000826200053957634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160a01b03811681146200055657600080fd5b919050565b600080604083850312156200056f57600080fd5b6200057a836200053e565b91506200058a602084016200053e565b90509250929050565b600060208284031215620005a657600080fd5b620004f2826200053e565b612b5580620005c16000396000f3fe6080604052600436106102975760003560e01c80637b76ac911161015a578063d51ed1c8116100c1578063f61ab8c71161007a578063f61ab8c714610832578063f84ba65d14610862578063f887ea4014610882578063fa08d292146108a2578063fe9fbb80146108c2578063ff6385f1146108e257600080fd5b8063d51ed1c81461074c578063d8672e511461076c578063dd62ed3e1461078c578063df20fd49146107d2578063f0b37c04146107f2578063f2fde38b1461081257600080fd5b8063a71d2f7611610113578063a71d2f76146106a1578063a8aa1b31146106b6578063a9059cbb146106d6578063b6a5d7de146106f6578063bc2ca21914610716578063bf56b3711461073657600080fd5b80637b76ac91146105f45780637d1db4a51461060a578063893d20e8146106205780638ca1eaf61461063e57806395d89b411461065e578063965afe9b1461068c57600080fd5b8063313ce567116101fe578063658d4b7f116101b7578063658d4b7f1461053857806366a88d9614610558578063699d73b11461056e5780636ddd17131461059e57806370a08231146105bf5780637ae316d0146105df57600080fd5b8063313ce567146104865780634995b458146104a257806356382dc2146104b8578063571ac8b0146104d85780635c85974f146104f8578063629691bf1461051857600080fd5b80631b3c03fe116102505780631b3c03fe146103a657806323b872dd146103bd57806328654a13146103dd5780632b112e491461040a5780632f3a5d281461041f5780632f54bf6e1461045757600080fd5b80630322517a146102a35780630445b667146102e057806306fdde0314610304578063095ea7b31461033f57806318160ddd1461036f5780631a91e6591461038457600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b50600c546102c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102ec57600080fd5b506102f6601e5481565b6040519081526020016102d7565b34801561031057600080fd5b50604080518082019091526009815268233934b735a1b7b4b760b91b60208201525b6040516102d7919061266e565b34801561034b57600080fd5b5061035f61035a366004612696565b610910565b60405190151581526020016102d7565b34801561037b57600080fd5b506006546102f6565b34801561039057600080fd5b5061039961097d565b6040516102d79190612706565b3480156103b257600080fd5b506103bb6109df565b005b3480156103c957600080fd5b5061035f6103d8366004612719565b610c93565b3480156103e957600080fd5b506102f66103f836600461275a565b60146020526000908152604090205481565b34801561041657600080fd5b506102f6610d6e565b34801561042b57600080fd5b50601d5461043f906001600160601b031681565b6040516001600160601b0390911681526020016102d7565b34801561046357600080fd5b5061035f61047236600461275a565b6000546001600160a01b0391821691161490565b34801561049257600080fd5b50604051601281526020016102d7565b3480156104ae57600080fd5b506102f660115481565b3480156104c457600080fd5b506103bb6104d3366004612777565b610db7565b3480156104e457600080fd5b5061035f6104f336600461275a565b610e1b565b34801561050457600080fd5b506103bb6105133660046127b0565b610e3b565b34801561052457600080fd5b506103bb6105333660046127c9565b610e81565b34801561054457600080fd5b506103bb610553366004612805565b610ee3565b34801561056457600080fd5b506102f6600a5481565b34801561057a57600080fd5b5061035f61058936600461275a565b60126020526000908152604090205460ff1681565b3480156105aa57600080fd5b50601d5461035f90600160601b900460ff1681565b3480156105cb57600080fd5b506102f66105da36600461275a565b610f33565b3480156105eb57600080fd5b506018546102f6565b34801561060057600080fd5b506102f660105481565b34801561061657600080fd5b506102f660075481565b34801561062c57600080fd5b506000546001600160a01b03166102c3565b34801561064a57600080fd5b506102c36106593660046127b0565b610f4e565b34801561066a57600080fd5b506040805180820190915260058152644652494e4b60d81b6020820152610332565b34801561069857600080fd5b50610399610f78565b3480156106ad57600080fd5b506103bb610fd8565b3480156106c257600080fd5b50601b546102c3906001600160a01b031681565b3480156106e257600080fd5b5061035f6106f1366004612696565b61128f565b34801561070257600080fd5b506103bb61071136600461275a565b61129c565b34801561072257600080fd5b506102c36107313660046127b0565b6112ed565b34801561074257600080fd5b506102f6601c5481565b34801561075857600080fd5b506102f66107673660046127b0565b6112fd565b34801561077857600080fd5b506103bb6107873660046127b0565b61133d565b34801561079857600080fd5b506102f66107a7366004612777565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107de57600080fd5b506103bb6107ed366004612833565b611383565b3480156107fe57600080fd5b506103bb61080d36600461275a565b6113ca565b34801561081e57600080fd5b506103bb61082d36600461275a565b611415565b34801561083e57600080fd5b5061035f61084d36600461275a565b60136020526000908152604090205460ff1681565b34801561086e57600080fd5b506103bb61087d366004612805565b6114ab565b34801561088e57600080fd5b50601a546102c3906001600160a01b031681565b3480156108ae57600080fd5b50600d546102c3906001600160a01b031681565b3480156108ce57600080fd5b5061035f6108dd36600461275a565b6114fb565b3480156108ee57600080fd5b50600b546108fd9061ffff1681565b60405161ffff90911681526020016102d7565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061096b9086815260200190565b60405180910390a35060015b92915050565b6060600e8054806020026020016040519081016040528092919081815260200182805480156109d557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109b7575b5050505050905090565b60005b600e54811015610c905760136000600e8381548110610a0357610a03612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff168015610a645750610a62600e8281548110610a4857610a48612851565b6000918252602090912001546001600160a01b0316611519565b155b15610b9357600e548110610a755750565b600060136000600e8481548110610a8e57610a8e612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055805b600e54610ad39060019061287d565b811015610b5e57600e610ae7826001612894565b81548110610af757610af7612851565b600091825260209091200154600e80546001600160a01b039092169183908110610b2357610b23612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610b56816128ac565b915050610ac4565b50600e805480610b7057610b706128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b610ba9600e8281548110610a4857610a48612851565b610c7e57805b600e54610bbe9060019061287d565b811015610c4957600e610bd2826001612894565b81548110610be257610be2612851565b600091825260209091200154600e80546001600160a01b039092169183908110610c0e57610c0e612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610c41816128ac565b915050610baf565b50600e805480610c5b57610c5b6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610c88816128ac565b9150506109e2565b50565b6000610ca16012600a6129c1565b610caf90639502f9006129d0565b6001600160a01b038516600090815260096020908152604080832033845290915290205414610d59576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610d34918490611573565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d648484846115ad565b90505b9392505050565b600554600090610db290610d8a906001600160a01b0316610f33565b600454610dac90610da3906001600160a01b0316610f33565b60065490611cbe565b90611cbe565b905090565b6000546001600160a01b03163314610dea5760405162461bcd60e51b8152600401610de1906129ef565b60405180910390fd5b600d80546001600160a01b039283166001600160a01b031991821617909155600c8054939092169216919091179055565b600061097782610e2d6012600a6129c1565b61035a90639502f9006129d0565b610e44336114fb565b610e605760405162461bcd60e51b8152600401610de190612a0f565b6103e8600654610e709190612a34565b811015610e7c57600080fd5b600755565b610e8a336114fb565b610ea65760405162461bcd60e51b8152600401610de190612a0f565b6017839055600b805461ffff191661ffff841617905560188390556019819055610ed1600482612a34565b60185410610ede57600080fd5b505050565b610eec336114fb565b610f085760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526008602052604090205490565b600f8181548110610f5e57600080fd5b6000918252602090912001546001600160a01b0316905081565b6060600f8054806020026020016040519081016040528092919081815260200182805480156109d5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116109b7575050505050905090565b60005b600f54811015610c905760126000600f8381548110610ffc57610ffc612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16801561105d575061105b600f828154811061104157611041612851565b6000918252602090912001546001600160a01b0316611d00565b155b1561119257600f54811061106e5750565b805b600f5461107f9060019061287d565b81101561110a57600f611093826001612894565b815481106110a3576110a3612851565b600091825260209091200154600f80546001600160a01b0390921691839081106110cf576110cf612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611102816128ac565b915050611070565b50600f80548061111c5761111c6128c7565b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055600060126000600f848154811061115d5761115d612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790555b6111a8600f828154811061104157611041612851565b61127d57805b600f546111bd9060019061287d565b81101561124857600f6111d1826001612894565b815481106111e1576111e1612851565b600091825260209091200154600f80546001600160a01b03909216918390811061120d5761120d612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611240816128ac565b9150506111ae565b50600f80548061125a5761125a6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80611287816128ac565b915050610fdb565b6000610d673384846115ad565b6000546001600160a01b031633146112c65760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b600e8181548110610f5e57600080fd5b600061097761130a610d6e565b601b54611337906113309060029061132a906001600160a01b0316610f33565b90611d54565b8590611d54565b90611dd3565b6000546001600160a01b031633146113675760405162461bcd60e51b8152600401610de1906129ef565b6113736012600a6129c1565b61137d90826129d0565b600a5550565b61138c336114fb565b6113a85760405162461bcd60e51b8152600401610de190612a0f565b601d8054921515600160601b0260ff60601b1990931692909217909155601e55565b6000546001600160a01b031633146113f45760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610de1906129ef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6114b4336114fb565b6114d05760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6011546001600160a01b038216600090815260146020526040812054909190611542904261287d565b1015801561097757506115576012600a6129c1565b61156290600a6129d0565b61156b83610f33565b101592915050565b600081848411156115975760405162461bcd60e51b8152600401610de1919061266e565b5060006115a4848661287d565b95945050505050565b6001600160a01b03831660009081526012602052604081205460ff1615611635576115da6012600a6129c1565b601d546115f091906001600160601b03166129d0565b826115fa86610f33565b611604919061287d565b11611635576001600160a01b0384166000908152601260209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526013602052604090205460ff16156116bd576116626012600a6129c1565b601d5461167891906001600160601b03166129d0565b8261168286610f33565b61168c919061287d565b116116bd576001600160a01b0384166000908152601360209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526012602052604090205460ff161580156116fd57506001600160a01b03841660009081526014602052604090205415155b801561170d575061170d84611d00565b15611778576001600160a01b0384166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03831660009081526012602052604090205460ff161580156117b857506001600160a01b03831660009081526014602052604090205415155b80156117c857506117c883611d00565b15611833576001600160a01b0383166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03841660009081526013602052604090205460ff1615801561187357506001600160a01b03841660009081526014602052604090205415155b8015611883575061188384611519565b156118ee576001600160a01b0384166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6001600160a01b03831660009081526013602052604090205460ff1615801561192e57506001600160a01b03831660009081526014602052604090205415155b801561193e575061193e83611519565b156119a9576001600160a01b0383166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6119b56012600a6129c1565b6119c090600a6129d0565b826119ca85610f33565b6119d49190612894565b101580156119f857506001600160a01b038316600090815260146020526040902054155b15611a9157600e805460018181019092557fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0386166001600160a01b03199182168117909255600f805493840190557f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8029092018054909216811790915560009081526014602052604090204290555b601f5460ff1615611aae57611aa7848484611e15565b9050610d67565b611ab88483611efb565b611ac0611f68565b15611acd57611acd611fbe565b601b546001600160a01b03848116911614611b5357600a5482611aef85610f33565b611af99190612894565b1115611b535760405162461bcd60e51b815260206004820152602360248201527f596f752061726520657863656564696e67206d61782077616c6c6574206c696d60448201526234ba1760e91b6064820152608401610de1565b601c54158015611b705750601b546001600160a01b038481169116145b15611ba0576001600160a01b038416600090815260086020526040902054611b9757600080fd5b611ba043601c55565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611bf2918490611573565b6001600160a01b038516600090815260086020908152604080832093909355601590529081205460ff1615611c275782611c31565b611c31858461248f565b6001600160a01b038516600090815260086020526040902054909150611c579082612533565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cab9085815260200190565b60405180910390a3506001949350505050565b6000610d6783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611573565b6010546001600160a01b038216600090815260146020526040812054909190611d29904261287d565b101580156109775750611d3e6012600a6129c1565b601d5461156291906001600160601b03166129d0565b600082611d6357506000610977565b6000611d6f83856129d0565b905082611d7c8583612a34565b14610d675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610de1565b6000610d6783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612592565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611e66918490611573565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611e959083612533565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ee99086815260200190565b60405180910390a35060019392505050565b60075481111580611f2457506001600160a01b03821660009081526016602052604090205460ff165b611f645760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610de1565b5050565b601b546000906001600160a01b03163314801590611f895750601f5460ff16155b8015611f9e5750601d54600160601b900460ff165b8015610db2575050601e5430600090815260086020526040902054101590565b601f805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061200057612000612851565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061203157612031612851565b6001600160a01b039283166020918202929092010152601a541663791ac94761205930610f33565b60008430426040518663ffffffff1660e01b815260040161207e959493929190612a56565b600060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b5050600b54600092506120dc91506064906120cb9061ffff16476129d0565b6120d59190612a34565b4790611cbe565b60035483519192506001600160a01b03169083906000906120ff576120ff612851565b6001600160a01b03928316602091820292909201015260025483519116908390600190811061213057612130612851565b6001600160a01b039283166020918202929092010152601a5460405163b6f9de9560e01b815291169063b6f9de9590839061217690600090879030904290600401612a92565b6000604051808303818588803b15801561218f57600080fd5b505af11580156121a3573d6000803e3d6000fd5b505060408051808201825260058152642aa9a22a1d60d91b602082015260025491516370a0823160e01b815230600482015261223995509093506001600160a01b0390911691506370a0823190602401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122349190612ac7565b6125c0565b61225f6040518060400160405280600481526020016322aa241d60e11b815250476125c0565b60028054600d546040516370a0823160e01b81523060048201526001600160a01b039283169363a9059cbb93909216919084906370a0823190602401602060405180830381865afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc9190612ac7565b6122e69190612a34565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123559190612ae0565b50600254600c546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190612ac7565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e9190612ae0565b50600b546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015612480573d6000803e3d6000fd5b5050601f805460ff1916905550565b6000806124ab6019546113376124a460185490565b8690611d54565b306000908152600860205260409020549091506124c89082612533565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125199085815260200190565b60405180910390a361252b8382611cbe565b949350505050565b6000806125408385612894565b905083811015610d675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610de1565b600081836125b35760405162461bcd60e51b8152600401610de1919061266e565b5060006115a48486612a34565b611f6482826040516024016125d6929190612afd565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b17905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000815180845260005b818110156126475760208185018101518683018201520161262b565b81811115612659576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d676020830184612621565b6001600160a01b0381168114610c9057600080fd5b600080604083850312156126a957600080fd5b82356126b481612681565b946020939093013593505050565b600081518084526020808501945080840160005b838110156126fb5781516001600160a01b0316875295820195908201906001016126d6565b509495945050505050565b602081526000610d6760208301846126c2565b60008060006060848603121561272e57600080fd5b833561273981612681565b9250602084013561274981612681565b929592945050506040919091013590565b60006020828403121561276c57600080fd5b8135610d6781612681565b6000806040838503121561278a57600080fd5b823561279581612681565b915060208301356127a581612681565b809150509250929050565b6000602082840312156127c257600080fd5b5035919050565b6000806000606084860312156127de57600080fd5b83359250602084013561ffff8116811461274957600080fd5b8015158114610c9057600080fd5b6000806040838503121561281857600080fd5b823561282381612681565b915060208301356127a5816127f7565b6000806040838503121561284657600080fd5b82356126b4816127f7565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561288f5761288f612867565b500390565b600082198211156128a7576128a7612867565b500190565b60006000198214156128c0576128c0612867565b5060010190565b634e487b7160e01b600052603160045260246000fd5b600181815b808511156129185781600019048211156128fe576128fe612867565b8085161561290b57918102915b93841c93908002906128e2565b509250929050565b60008261292f57506001610977565b8161293c57506000610977565b8160018114612952576002811461295c57612978565b6001915050610977565b60ff84111561296d5761296d612867565b50506001821b610977565b5060208310610133831016604e8410600b841016171561299b575081810a610977565b6129a583836128dd565b80600019048211156129b9576129b9612867565b029392505050565b6000610d6760ff841683612920565b60008160001904831182151516156129ea576129ea612867565b500290565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600082612a5157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000612a7560a08301866126c2565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612aab60808301866126c2565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215612ad957600080fd5b5051919050565b600060208284031215612af257600080fd5b8151610d67816127f7565b604081526000612b106040830185612621565b9050826020830152939250505056fea264697066735822122030c78d351a62702cf5a321be919160900c560f001f9646b2732c1241e8b8111764736f6c634300080c0033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102975760003560e01c80637b76ac911161015a578063d51ed1c8116100c1578063f61ab8c71161007a578063f61ab8c714610832578063f84ba65d14610862578063f887ea4014610882578063fa08d292146108a2578063fe9fbb80146108c2578063ff6385f1146108e257600080fd5b8063d51ed1c81461074c578063d8672e511461076c578063dd62ed3e1461078c578063df20fd49146107d2578063f0b37c04146107f2578063f2fde38b1461081257600080fd5b8063a71d2f7611610113578063a71d2f76146106a1578063a8aa1b31146106b6578063a9059cbb146106d6578063b6a5d7de146106f6578063bc2ca21914610716578063bf56b3711461073657600080fd5b80637b76ac91146105f45780637d1db4a51461060a578063893d20e8146106205780638ca1eaf61461063e57806395d89b411461065e578063965afe9b1461068c57600080fd5b8063313ce567116101fe578063658d4b7f116101b7578063658d4b7f1461053857806366a88d9614610558578063699d73b11461056e5780636ddd17131461059e57806370a08231146105bf5780637ae316d0146105df57600080fd5b8063313ce567146104865780634995b458146104a257806356382dc2146104b8578063571ac8b0146104d85780635c85974f146104f8578063629691bf1461051857600080fd5b80631b3c03fe116102505780631b3c03fe146103a657806323b872dd146103bd57806328654a13146103dd5780632b112e491461040a5780632f3a5d281461041f5780632f54bf6e1461045757600080fd5b80630322517a146102a35780630445b667146102e057806306fdde0314610304578063095ea7b31461033f57806318160ddd1461036f5780631a91e6591461038457600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b50600c546102c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102ec57600080fd5b506102f6601e5481565b6040519081526020016102d7565b34801561031057600080fd5b50604080518082019091526009815268233934b735a1b7b4b760b91b60208201525b6040516102d7919061266e565b34801561034b57600080fd5b5061035f61035a366004612696565b610910565b60405190151581526020016102d7565b34801561037b57600080fd5b506006546102f6565b34801561039057600080fd5b5061039961097d565b6040516102d79190612706565b3480156103b257600080fd5b506103bb6109df565b005b3480156103c957600080fd5b5061035f6103d8366004612719565b610c93565b3480156103e957600080fd5b506102f66103f836600461275a565b60146020526000908152604090205481565b34801561041657600080fd5b506102f6610d6e565b34801561042b57600080fd5b50601d5461043f906001600160601b031681565b6040516001600160601b0390911681526020016102d7565b34801561046357600080fd5b5061035f61047236600461275a565b6000546001600160a01b0391821691161490565b34801561049257600080fd5b50604051601281526020016102d7565b3480156104ae57600080fd5b506102f660115481565b3480156104c457600080fd5b506103bb6104d3366004612777565b610db7565b3480156104e457600080fd5b5061035f6104f336600461275a565b610e1b565b34801561050457600080fd5b506103bb6105133660046127b0565b610e3b565b34801561052457600080fd5b506103bb6105333660046127c9565b610e81565b34801561054457600080fd5b506103bb610553366004612805565b610ee3565b34801561056457600080fd5b506102f6600a5481565b34801561057a57600080fd5b5061035f61058936600461275a565b60126020526000908152604090205460ff1681565b3480156105aa57600080fd5b50601d5461035f90600160601b900460ff1681565b3480156105cb57600080fd5b506102f66105da36600461275a565b610f33565b3480156105eb57600080fd5b506018546102f6565b34801561060057600080fd5b506102f660105481565b34801561061657600080fd5b506102f660075481565b34801561062c57600080fd5b506000546001600160a01b03166102c3565b34801561064a57600080fd5b506102c36106593660046127b0565b610f4e565b34801561066a57600080fd5b506040805180820190915260058152644652494e4b60d81b6020820152610332565b34801561069857600080fd5b50610399610f78565b3480156106ad57600080fd5b506103bb610fd8565b3480156106c257600080fd5b50601b546102c3906001600160a01b031681565b3480156106e257600080fd5b5061035f6106f1366004612696565b61128f565b34801561070257600080fd5b506103bb61071136600461275a565b61129c565b34801561072257600080fd5b506102c36107313660046127b0565b6112ed565b34801561074257600080fd5b506102f6601c5481565b34801561075857600080fd5b506102f66107673660046127b0565b6112fd565b34801561077857600080fd5b506103bb6107873660046127b0565b61133d565b34801561079857600080fd5b506102f66107a7366004612777565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107de57600080fd5b506103bb6107ed366004612833565b611383565b3480156107fe57600080fd5b506103bb61080d36600461275a565b6113ca565b34801561081e57600080fd5b506103bb61082d36600461275a565b611415565b34801561083e57600080fd5b5061035f61084d36600461275a565b60136020526000908152604090205460ff1681565b34801561086e57600080fd5b506103bb61087d366004612805565b6114ab565b34801561088e57600080fd5b50601a546102c3906001600160a01b031681565b3480156108ae57600080fd5b50600d546102c3906001600160a01b031681565b3480156108ce57600080fd5b5061035f6108dd36600461275a565b6114fb565b3480156108ee57600080fd5b50600b546108fd9061ffff1681565b60405161ffff90911681526020016102d7565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061096b9086815260200190565b60405180910390a35060015b92915050565b6060600e8054806020026020016040519081016040528092919081815260200182805480156109d557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109b7575b5050505050905090565b60005b600e54811015610c905760136000600e8381548110610a0357610a03612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff168015610a645750610a62600e8281548110610a4857610a48612851565b6000918252602090912001546001600160a01b0316611519565b155b15610b9357600e548110610a755750565b600060136000600e8481548110610a8e57610a8e612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055805b600e54610ad39060019061287d565b811015610b5e57600e610ae7826001612894565b81548110610af757610af7612851565b600091825260209091200154600e80546001600160a01b039092169183908110610b2357610b23612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610b56816128ac565b915050610ac4565b50600e805480610b7057610b706128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b610ba9600e8281548110610a4857610a48612851565b610c7e57805b600e54610bbe9060019061287d565b811015610c4957600e610bd2826001612894565b81548110610be257610be2612851565b600091825260209091200154600e80546001600160a01b039092169183908110610c0e57610c0e612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610c41816128ac565b915050610baf565b50600e805480610c5b57610c5b6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610c88816128ac565b9150506109e2565b50565b6000610ca16012600a6129c1565b610caf90639502f9006129d0565b6001600160a01b038516600090815260096020908152604080832033845290915290205414610d59576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610d34918490611573565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d648484846115ad565b90505b9392505050565b600554600090610db290610d8a906001600160a01b0316610f33565b600454610dac90610da3906001600160a01b0316610f33565b60065490611cbe565b90611cbe565b905090565b6000546001600160a01b03163314610dea5760405162461bcd60e51b8152600401610de1906129ef565b60405180910390fd5b600d80546001600160a01b039283166001600160a01b031991821617909155600c8054939092169216919091179055565b600061097782610e2d6012600a6129c1565b61035a90639502f9006129d0565b610e44336114fb565b610e605760405162461bcd60e51b8152600401610de190612a0f565b6103e8600654610e709190612a34565b811015610e7c57600080fd5b600755565b610e8a336114fb565b610ea65760405162461bcd60e51b8152600401610de190612a0f565b6017839055600b805461ffff191661ffff841617905560188390556019819055610ed1600482612a34565b60185410610ede57600080fd5b505050565b610eec336114fb565b610f085760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526008602052604090205490565b600f8181548110610f5e57600080fd5b6000918252602090912001546001600160a01b0316905081565b6060600f8054806020026020016040519081016040528092919081815260200182805480156109d5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116109b7575050505050905090565b60005b600f54811015610c905760126000600f8381548110610ffc57610ffc612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16801561105d575061105b600f828154811061104157611041612851565b6000918252602090912001546001600160a01b0316611d00565b155b1561119257600f54811061106e5750565b805b600f5461107f9060019061287d565b81101561110a57600f611093826001612894565b815481106110a3576110a3612851565b600091825260209091200154600f80546001600160a01b0390921691839081106110cf576110cf612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611102816128ac565b915050611070565b50600f80548061111c5761111c6128c7565b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055600060126000600f848154811061115d5761115d612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790555b6111a8600f828154811061104157611041612851565b61127d57805b600f546111bd9060019061287d565b81101561124857600f6111d1826001612894565b815481106111e1576111e1612851565b600091825260209091200154600f80546001600160a01b03909216918390811061120d5761120d612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611240816128ac565b9150506111ae565b50600f80548061125a5761125a6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80611287816128ac565b915050610fdb565b6000610d673384846115ad565b6000546001600160a01b031633146112c65760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b600e8181548110610f5e57600080fd5b600061097761130a610d6e565b601b54611337906113309060029061132a906001600160a01b0316610f33565b90611d54565b8590611d54565b90611dd3565b6000546001600160a01b031633146113675760405162461bcd60e51b8152600401610de1906129ef565b6113736012600a6129c1565b61137d90826129d0565b600a5550565b61138c336114fb565b6113a85760405162461bcd60e51b8152600401610de190612a0f565b601d8054921515600160601b0260ff60601b1990931692909217909155601e55565b6000546001600160a01b031633146113f45760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610de1906129ef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6114b4336114fb565b6114d05760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6011546001600160a01b038216600090815260146020526040812054909190611542904261287d565b1015801561097757506115576012600a6129c1565b61156290600a6129d0565b61156b83610f33565b101592915050565b600081848411156115975760405162461bcd60e51b8152600401610de1919061266e565b5060006115a4848661287d565b95945050505050565b6001600160a01b03831660009081526012602052604081205460ff1615611635576115da6012600a6129c1565b601d546115f091906001600160601b03166129d0565b826115fa86610f33565b611604919061287d565b11611635576001600160a01b0384166000908152601260209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526013602052604090205460ff16156116bd576116626012600a6129c1565b601d5461167891906001600160601b03166129d0565b8261168286610f33565b61168c919061287d565b116116bd576001600160a01b0384166000908152601360209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526012602052604090205460ff161580156116fd57506001600160a01b03841660009081526014602052604090205415155b801561170d575061170d84611d00565b15611778576001600160a01b0384166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03831660009081526012602052604090205460ff161580156117b857506001600160a01b03831660009081526014602052604090205415155b80156117c857506117c883611d00565b15611833576001600160a01b0383166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03841660009081526013602052604090205460ff1615801561187357506001600160a01b03841660009081526014602052604090205415155b8015611883575061188384611519565b156118ee576001600160a01b0384166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6001600160a01b03831660009081526013602052604090205460ff1615801561192e57506001600160a01b03831660009081526014602052604090205415155b801561193e575061193e83611519565b156119a9576001600160a01b0383166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6119b56012600a6129c1565b6119c090600a6129d0565b826119ca85610f33565b6119d49190612894565b101580156119f857506001600160a01b038316600090815260146020526040902054155b15611a9157600e805460018181019092557fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0386166001600160a01b03199182168117909255600f805493840190557f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8029092018054909216811790915560009081526014602052604090204290555b601f5460ff1615611aae57611aa7848484611e15565b9050610d67565b611ab88483611efb565b611ac0611f68565b15611acd57611acd611fbe565b601b546001600160a01b03848116911614611b5357600a5482611aef85610f33565b611af99190612894565b1115611b535760405162461bcd60e51b815260206004820152602360248201527f596f752061726520657863656564696e67206d61782077616c6c6574206c696d60448201526234ba1760e91b6064820152608401610de1565b601c54158015611b705750601b546001600160a01b038481169116145b15611ba0576001600160a01b038416600090815260086020526040902054611b9757600080fd5b611ba043601c55565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611bf2918490611573565b6001600160a01b038516600090815260086020908152604080832093909355601590529081205460ff1615611c275782611c31565b611c31858461248f565b6001600160a01b038516600090815260086020526040902054909150611c579082612533565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cab9085815260200190565b60405180910390a3506001949350505050565b6000610d6783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611573565b6010546001600160a01b038216600090815260146020526040812054909190611d29904261287d565b101580156109775750611d3e6012600a6129c1565b601d5461156291906001600160601b03166129d0565b600082611d6357506000610977565b6000611d6f83856129d0565b905082611d7c8583612a34565b14610d675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610de1565b6000610d6783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612592565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611e66918490611573565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611e959083612533565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ee99086815260200190565b60405180910390a35060019392505050565b60075481111580611f2457506001600160a01b03821660009081526016602052604090205460ff165b611f645760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610de1565b5050565b601b546000906001600160a01b03163314801590611f895750601f5460ff16155b8015611f9e5750601d54600160601b900460ff165b8015610db2575050601e5430600090815260086020526040902054101590565b601f805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061200057612000612851565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061203157612031612851565b6001600160a01b039283166020918202929092010152601a541663791ac94761205930610f33565b60008430426040518663ffffffff1660e01b815260040161207e959493929190612a56565b600060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b5050600b54600092506120dc91506064906120cb9061ffff16476129d0565b6120d59190612a34565b4790611cbe565b60035483519192506001600160a01b03169083906000906120ff576120ff612851565b6001600160a01b03928316602091820292909201015260025483519116908390600190811061213057612130612851565b6001600160a01b039283166020918202929092010152601a5460405163b6f9de9560e01b815291169063b6f9de9590839061217690600090879030904290600401612a92565b6000604051808303818588803b15801561218f57600080fd5b505af11580156121a3573d6000803e3d6000fd5b505060408051808201825260058152642aa9a22a1d60d91b602082015260025491516370a0823160e01b815230600482015261223995509093506001600160a01b0390911691506370a0823190602401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122349190612ac7565b6125c0565b61225f6040518060400160405280600481526020016322aa241d60e11b815250476125c0565b60028054600d546040516370a0823160e01b81523060048201526001600160a01b039283169363a9059cbb93909216919084906370a0823190602401602060405180830381865afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc9190612ac7565b6122e69190612a34565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123559190612ae0565b50600254600c546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190612ac7565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e9190612ae0565b50600b546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015612480573d6000803e3d6000fd5b5050601f805460ff1916905550565b6000806124ab6019546113376124a460185490565b8690611d54565b306000908152600860205260409020549091506124c89082612533565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125199085815260200190565b60405180910390a361252b8382611cbe565b949350505050565b6000806125408385612894565b905083811015610d675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610de1565b600081836125b35760405162461bcd60e51b8152600401610de1919061266e565b5060006115a48486612a34565b611f6482826040516024016125d6929190612afd565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b17905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000815180845260005b818110156126475760208185018101518683018201520161262b565b81811115612659576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d676020830184612621565b6001600160a01b0381168114610c9057600080fd5b600080604083850312156126a957600080fd5b82356126b481612681565b946020939093013593505050565b600081518084526020808501945080840160005b838110156126fb5781516001600160a01b0316875295820195908201906001016126d6565b509495945050505050565b602081526000610d6760208301846126c2565b60008060006060848603121561272e57600080fd5b833561273981612681565b9250602084013561274981612681565b929592945050506040919091013590565b60006020828403121561276c57600080fd5b8135610d6781612681565b6000806040838503121561278a57600080fd5b823561279581612681565b915060208301356127a581612681565b809150509250929050565b6000602082840312156127c257600080fd5b5035919050565b6000806000606084860312156127de57600080fd5b83359250602084013561ffff8116811461274957600080fd5b8015158114610c9057600080fd5b6000806040838503121561281857600080fd5b823561282381612681565b915060208301356127a5816127f7565b6000806040838503121561284657600080fd5b82356126b4816127f7565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561288f5761288f612867565b500390565b600082198211156128a7576128a7612867565b500190565b60006000198214156128c0576128c0612867565b5060010190565b634e487b7160e01b600052603160045260246000fd5b600181815b808511156129185781600019048211156128fe576128fe612867565b8085161561290b57918102915b93841c93908002906128e2565b509250929050565b60008261292f57506001610977565b8161293c57506000610977565b8160018114612952576002811461295c57612978565b6001915050610977565b60ff84111561296d5761296d612867565b50506001821b610977565b5060208310610133831016604e8410600b841016171561299b575081810a610977565b6129a583836128dd565b80600019048211156129b9576129b9612867565b029392505050565b6000610d6760ff841683612920565b60008160001904831182151516156129ea576129ea612867565b500290565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600082612a5157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000612a7560a08301866126c2565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612aab60808301866126c2565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215612ad957600080fd5b5051919050565b600060208284031215612af257600080fd5b8151610d67816127f7565b604081526000612b106040830185612621565b9050826020830152939250505056fea264697066735822122030c78d351a62702cf5a321be919160900c560f001f9646b2732c1241e8b8111764736f6c634300080c0033

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

000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : usdtAddress (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [1] : routerA (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [1] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.