Contract 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d 4

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf68d1f8bf1d996d49a6164b79598e236d77f6efcbbc443efbdc44bdd494c2b02Claim119960752021-10-22 15:15:1315 secs ago0x4d38485451d7fc50cc227f638091f357b1e46e63 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0xf4a80225e9124b571414ba8bf3df1add0f0ff7b864d3a24aaff2279e2073327dClaim119960732021-10-22 15:15:0721 secs ago0x6e5223f6231c8173f46eae08c8f435ab2a5f2408 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00040623
0x01a066ff4f6a301c3bbeb9dcc9baec1389a180db3bbdfbf0567edd93044c91a0Claim119960722021-10-22 15:15:0424 secs ago0x4269ca65b3a60b2a7c0f1d41a0545c1394d027c8 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0xb79c78fd9fff295ed692f6fa5f1451386705794a5af506c6341f7bf9c0182661Claim119960682021-10-22 15:14:5236 secs ago0x75dac762065562447759c83f10cafd0307aca6b7 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0xf3b2a42a328f9713bb96754c8ec1cb2f5f46c15a368137c02545119206c38d00Claim119960682021-10-22 15:14:5236 secs ago0xdf2f5775588af304b2b586539b489bd4ee32d531 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x0a21ff61246a270078b0d3a0c5b059d291a9b8698647373318a4096ecbf8afe7Claim119960632021-10-22 15:14:3751 secs ago0x208fa9fef2ae97d56b1fcef3fa4bf9ecbf28e034 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x136ef2d2224b3e124670af5fbe5bac8e468b584f1f3f49cce121f1c2625767daClaim119960632021-10-22 15:14:3751 secs ago0x40a3333c0357b8753b1dd157a8d24723254115db IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x5c01a65ffcdc0d8c39677ae42ac5e2a442f1b7c319de4a9cfaf280ba7d5a7d08Claim119960622021-10-22 15:14:3454 secs ago0x8cd58e10531c7cd3948677ce527eea6d8f963565 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0xe630d024b11a7f6bb5131b64f2b734088adf51e1f1167d3b89a5bd446a695508Claim119960612021-10-22 15:14:3157 secs ago0x882c707d19649a93e21bd42f031c1df21653709f IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00040623
0xb7968f2cce16e37689e4b1f1348a59f1a83335d46beda353b8e28714e45c0a65Claim119960602021-10-22 15:14:281 min ago0xc19a0ce54df39e9829d898213164ae01e83dd403 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0xe97e6a488de39d7654fdaa1465653e034d521eab3e420c073eabfd0611b8cb1cClaim119960562021-10-22 15:14:161 min ago0xa18c7d5dfbd54dc7e0cb08c6197711f12c503b8e IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x2c419b2197e412d1dc80cd9b101f08aa14b34b35b44615f4860e5d01370d1cefClaim119960562021-10-22 15:14:161 min ago0x58cb7a36bc9cd276b19bdd64015548645eec0a40 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x950a86027e9e3f02e35dbaf55e577e0555c0b9c19102c778545e0def1e71aa2fClaim119960562021-10-22 15:14:161 min ago0x221e6723777e1a6e7a276d8899bd1c83baa5520e IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.000422845
0xc05ce3e63711db9feddea341f3839b3f74f4ad934cb02b80a1f7ff5a1a12aaddClaim119960552021-10-22 15:14:131 min ago0xdcd67f67658751e43dc4482d9a2e37044d545687 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x066b3a8b77c0b0c9785547242cd6f37e1aa7f43fd0d2b33486b5fa962b4bd4fdClaim119960542021-10-22 15:14:101 min ago0xb376d53fa9ebad1414dadad05a4b00499e1c5b2d IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x2b3683c7a338d06bb23a02c0b8f36b3666713b7cf51e2fd6d21da7fd5b00fd29Claim119960522021-10-22 15:14:041 min ago0x208fa9fef2ae97d56b1fcef3fa4bf9ecbf28e034 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.000422065
0x8e694f2d53f84ecde0c55c45a0d736f616aedf98a4d988d04c1345760073b7c1Claim119960522021-10-22 15:14:041 min ago0x68165409b5056e85e70f9d88ec4cf5deba974b04 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0xd8039618ebafafd96eab1ee6147b8beed6b01937d411d175f27bb63e5fc6d510Claim119960462021-10-22 15:13:461 min ago0xd674ffc7599899c9e3df0621633722335e184969 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x12db16a98c9b063310c3c2fd632a4ed4b25381539ef5a58f8b29cbb5e5186ab1Claim119960392021-10-22 15:13:252 mins ago0xa3cc96e526562a1596492aa264c90c0b741d26f5 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x3e23bb977150aa07af1f7b8dffbfbf7ae98352e0605418a2c59e66d31113f6a3Approve119960372021-10-22 15:13:192 mins ago0x9f9914db8bf22b4db84062b473bc1ed06d0e2957 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.000221565
0x42fd1a7de0b0115b051afbb8c62b07c18cc242bf3be0c70b7cf1eea0e03a667eClaim119960342021-10-22 15:13:102 mins ago0x8e0f2e05d236306404b9bd8b224cb02bbc97178a IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x9eeb75c25865cb345cfcd86a11b21cce59da3c56adb1b21922ed00ecac975227Claim119960292021-10-22 15:12:552 mins ago0xa4d03029b981e85a13af1fbb6fa8d02a41a4f34c IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x81330d58853ca420c82eea3cbb3e6917daf142c4fc256b1f4d5df1ca5fbf63c4Claim119960282021-10-22 15:12:522 mins ago0xd9a32620f1d160c6a1cd80ae209d0467bd30f36f IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x83cd3975ea7acdc23b397f5356d590589870a7c05c398c30cf3d04397c42d880Claim119960252021-10-22 15:12:432 mins ago0xdcc8bb5a12da67b2dd3459ddefaeff2bdad1f042 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
0x536701badba322266fdfcfee778697781f0fb3b6288e0f6a1ee52bbc5ae5d453Claim119960242021-10-22 15:12:402 mins ago0x4683b67dba3363626c59115bcb85276b28b564f7 IN  0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0 BNB0.00042723
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe08ef06e551ce6b01ec97398aea1d412e991a8373ae55e3ab2bc7ac40ee9b8fe119949682021-10-22 14:19:4555 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.143283452925364394 BNB
0xe08ef06e551ce6b01ec97398aea1d412e991a8373ae55e3ab2bc7ac40ee9b8fe119949682021-10-22 14:19:4555 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d1.002984170477550758 BNB
0xdff25ff7eeaa91c0d077f3420eb6c13a2f7c214d23149405383c9c048a39e08d119913962021-10-22 11:20:423 hrs 54 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.118530210439643553 BNB
0xdff25ff7eeaa91c0d077f3420eb6c13a2f7c214d23149405383c9c048a39e08d119913962021-10-22 11:20:423 hrs 54 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.829711473077504876 BNB
0xda02529c8e313f822ed6c6d901ac690e411395165cfb2395584824676f56abdd119913852021-10-22 11:20:093 hrs 55 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.118530210439643553 BNB
0xda02529c8e313f822ed6c6d901ac690e411395165cfb2395584824676f56abdd119913852021-10-22 11:20:093 hrs 55 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.829711473077504876 BNB
0x8cee7707163924b05f78e6977ad1958c49101ea401f73e4eda1ff9246cbcf0a2119875542021-10-22 8:03:517 hrs 11 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.130294511399713503 BNB
0x8cee7707163924b05f78e6977ad1958c49101ea401f73e4eda1ff9246cbcf0a2119875542021-10-22 8:03:517 hrs 11 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.912061579797994523 BNB
0xce77a4b5e324e736007752db9ee3d5402269b33ba85b436cf1dbe6b1191b2525119846532021-10-22 5:31:149 hrs 44 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0xb8e0754c56196635141631e35554fd1b176966711.445343886546249026 BNB
0x7f50c167a3bff488d1eb03cd586988139cb0487a54ee6ed94b9da3ec161c6178119828402021-10-22 3:49:0511 hrs 26 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.121246555328876424 BNB
0x7f50c167a3bff488d1eb03cd586988139cb0487a54ee6ed94b9da3ec161c6178119828402021-10-22 3:49:0511 hrs 26 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.848725887302134968 BNB
0x8acc51ffd138062317e3c54ab6651501319d3173574745dbc50fee7f7515180e119828122021-10-22 3:47:4011 hrs 27 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.121087145721791488 BNB
0x8acc51ffd138062317e3c54ab6651501319d3173574745dbc50fee7f7515180e119828122021-10-22 3:47:4011 hrs 27 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.847610020052540421 BNB
0x685026046b9ce25b3eba149f0c366164a2084cdb320a1c672aa5d32e59433da3119803802021-10-22 1:44:3313 hrs 30 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.120875194258635644 BNB
0x685026046b9ce25b3eba149f0c366164a2084cdb320a1c672aa5d32e59433da3119803802021-10-22 1:44:3313 hrs 30 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.84612635981044951 BNB
0x6076746ebab32ace2a0a3b2e3650d53afc6cb17b3f4c1f88b969864a41ecc131119775562021-10-21 23:20:0415 hrs 55 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.11871429603365398 BNB
0x6076746ebab32ace2a0a3b2e3650d53afc6cb17b3f4c1f88b969864a41ecc131119775562021-10-21 23:20:0415 hrs 55 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.83100007223557786 BNB
0xff27654021169a5c1b20a2a85779508e488898bc8c9858e94290c91fef323b9f119748612021-10-21 21:05:1618 hrs 10 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.119546210142365361 BNB
0xff27654021169a5c1b20a2a85779508e488898bc8c9858e94290c91fef323b9f119748612021-10-21 21:05:1618 hrs 10 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.836823470996557528 BNB
0x9783d357d235cdb8e31789e0f59941519025e660aae540b2821636e50c12cb68119741212021-10-21 20:28:1618 hrs 47 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.115725077152906644 BNB
0x9783d357d235cdb8e31789e0f59941519025e660aae540b2821636e50c12cb68119741212021-10-21 20:28:1618 hrs 47 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.810075540070346513 BNB
0x8ee00d7c76fd8d46a1a3da356a114ec9b4db375cf69bd587d5d7d39c5a1996b9119737552021-10-21 20:09:5819 hrs 5 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0xb8e0754c56196635141631e35554fd1b176966711.171758992598643993 BNB
0x405690a191736fe0c2c50241baa20fb238ccdec23207e8c338272569f1e35490119731412021-10-21 19:39:1619 hrs 36 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.113422201028643843 BNB
0x405690a191736fe0c2c50241baa20fb238ccdec23207e8c338272569f1e35490119731412021-10-21 19:39:1619 hrs 36 mins ago PancakeSwap: Router v2 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0.793955407200506904 BNB
0x4c983df2d1c70751fd4aae073d8163dbed81c8e7539b396311d3191c4ca3f3d7119731372021-10-21 19:39:0419 hrs 36 mins ago 0x7f60375245cbf30a4f1ffd1278e3601fadca2c4d0x168b151f99858e3f954c533855a81d45e855d9ff0.113243721808706146 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SpacePortUniverse

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-10-06
*/

pragma solidity ^0.7.4;

//SPDX-License-Identifier: MIT

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

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

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

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

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    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,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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

contract RewardHolder {
    using SafeMath for uint256;

    address public _token;

    address public main;
    IBEP20 public SPC = IBEP20(main);

    mapping (address => bool) internal authorized;
    bool initialized;
    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }
    modifier auth() {
        require(isAuth(msg.sender), "!AUTHORIZED"); _;
    }
    
    function authorize(address adr) public onlyToken {
        authorized[adr] = true;
    }
    
    function isAuth(address adr) public view returns (bool) {
        return authorized[adr];
    }

    constructor (address payable _main) {
        main = _main;
        _token = msg.sender;
    }
    function claim(address caller, uint256 amount) internal {
        
    
    SPC.approve(address(this),amount);
    SPC.transfer(caller, amount);
    
    }
    function claimReward(address caller, uint256 amount) external onlyToken{
        claim(caller, amount);
    }
    
    function claimTransfer(address caller, uint256 amount) external auth{
        claim(caller, amount);
    }
    
    function newCoin(IBEP20 coin) public onlyToken{
        SPC = coin;
    }
    
    receive() external payable { }
}
contract SpacePortUniverse is IBEP20, Auth {
    using SafeMath for uint256;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address NFT = 0xEd840De2c93BA3BfaF3d9aa79BfcDC869B77De09;
    
    address public rewardsHolder;
    
    string constant _name = "SpacePort Universe";
    string constant _symbol = "SPU";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100 * 10**6 * (10 ** _decimals); //
    uint256 public _maxTxAmount = _totalSupply * 100 / 100; //
    uint256 public _maxWalletToken = ( _totalSupply * 100 ) / 100; //
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isCooldownExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isFeeExempt;
    mapping (address => bool) _isBlacklisted;

    uint256 public liquidityFee  = 1;
    uint256 public developerFee  = 1;
    uint256 public rewardsFee    = 5;
    uint256 public totalFee      = 7;
    uint256 feeDenominator       = 100;
    uint256 public sellMulti = 100;
    
    uint256 claimLimit = 2;

    address public autoLiquidityReceiver;
    address public developerFeeReceiver;
    
    
    //1 day
    uint256 public claimCooldownTimerInterval = 86400;
    mapping (address => uint) private claimCooldownTimer;
    
    bool public tradingIsEnabled = false;

    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;
    
    event TradingIsEnabled(bool enabled);
    event UpdateRewardHolder(address indexed newAddress, address indexed oldAddress);

    IDEXRouter public router;
    address public pair;
    
    RewardHolder rewardHolder;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 10 / 10000; // 0.01% of supply
    uint256 swapPercent = 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        pair = IDEXFactory(router.factory()).createPair(0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c, address(this));
        _allowances[address(this)][address(router)] = uint256(-1);
        
        rewardHolder = new RewardHolder(address(this));

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

        autoLiquidityReceiver = 0x168b151F99858E3f954C533855A81D45e855D9Ff;
        developerFeeReceiver = 0x168b151F99858E3f954C533855A81D45e855D9Ff;

        _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 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(-1));
    }
    
    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 blacklistAddress(address account, bool value) external onlyOwner{
        _isBlacklisted[account] = value;
    }
    
    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    function checkClaimCooldownTimer(address player) external view returns (uint256, bool){
        return (claimCooldownTimer[player], (claimCooldownTimer[player] > block.timestamp));
    }
    
    function claim(uint256 _amount) public {
        uint256 amount = _amount * 10**_decimals;
        uint256 heldTokens = balanceOf(msg.sender);
        uint256 rewardLimit = nftRewardLimit(heldTokens);
        require (amount <= rewardLimit);
        if (isCooldownExempt[msg.sender] == false) {
            require(claimCooldownTimer[msg.sender] < block.timestamp,"Please wait for cooldown between claims");
        }
        claimCooldownTimer[msg.sender] = block.timestamp + claimCooldownTimerInterval;
        
        rewardHolder.claimReward(msg.sender, amount);
    }
    
    function rewardTransfer(address newReward, uint256 amount) external onlyOwner{
        rewardHolder.claimTransfer(newReward, amount);
    }
    
    function clearStuckBalance(uint256 amountPercentage) external authorized {
        uint256 tokensHeld = _balances[address(this)];
        uint256 amountTokens = tokensHeld.mul(amountPercentage).div(100);
        uint256 amountBNB = address(this).balance;
        payable(autoLiquidityReceiver).transfer(amountBNB * amountPercentage / 100);
        approve(address(this), amountTokens);
         _basicTransfer(address(this), msg.sender, amountTokens);
        
    }
    
    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());
    }

    
    function nftAmount(address owner) internal view returns (uint256) {
        uint256 a = nftCheck(NFT, owner, 6448882);
        uint256 b = nftCheck(NFT, owner, 2975434);
        uint256 c = nftCheck(NFT, owner, 447770);
        uint256 d = nftCheck(NFT, owner, 9999770);
        uint256 e = nftCheck(NFT, owner, 1542322);
        return a + b + c + d + e;
    }
    
    function nftCheck(address addr, address owner, uint256 id) public view returns(uint) {
        NFTCheck check = NFTCheck(addr);
        return check.balanceOf(owner, id);
    }
    
    function nftRewardLimit(uint256 _balance) internal view returns (uint256){
        uint256 nftCount = nftAmount(msg.sender);
        
        //done to allow for 2% max balance
        uint256 nftCountMult = nftCount.add(claimLimit * 10);
        uint256 rewardLimit;
        if (nftCount == 0){
            rewardLimit = _balance.mul(claimLimit * 10).div(1000);
        }
        else if (nftCount > 0 && nftCount < 5){
            rewardLimit = _balance.mul(nftCountMult).div(1000);
        }
        else {
            nftCountMult = nftCountMult.mul(10).add(75);
            rewardLimit = _balance.mul(nftCountMult).div(10000);
        }
        return rewardLimit;
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
    
    function setRewardsAuth(address caller) external onlyOwner{
        rewardHolder.authorize(caller);
    }
    
    function setClaimLimit(uint256 percentage) external onlyOwner {
        claimLimit = percentage;
    }
    
    function setTxLimit(uint256 amount) external onlyOwner {
        _maxTxAmount = amount;
    }

    function setMaxWallet(uint256 amount) external onlyOwner() {
        _maxWalletToken = amount;
    }
    
    function setIsCooldownExempt(address holder, bool exempt) external authorized {
        isCooldownExempt[holder] = exempt;
    }
    
    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, uint256 _developerFee, uint256 _rewardsFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        developerFee = _developerFee;
        rewardsFee = _rewardsFee;
        totalFee = _liquidityFee.add(_developerFee).add(_rewardsFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator);
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _developerFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        developerFeeReceiver = _developerFeeReceiver;
    }
    
    function setSellFeeMultiplier(uint256 _multiplier) external authorized {
  	    sellMulti = _multiplier;
  	}
    
    function setTradingIsEnabled(bool _enabled) external onlyOwner {

        tradingIsEnabled = _enabled;
        emit TradingIsEnabled(tradingIsEnabled);
    }

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

    function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }
    
    function setRewards(IBEP20 coin) external onlyOwner{
        
        rewardHolder.newCoin(coin);
    }
    
    function setRewardsAddress(address _reward) external onlyOwner{
        rewardsHolder = _reward;
    }
    
    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }
    
    function shouldTokenSwap() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }
    
    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 _totalFee = totalFee;
        uint256 _rewardsFee = rewardsFee;
        
        if (recipient == pair){
            _totalFee = _totalFee * sellMulti.div(100);
            _rewardsFee = _rewardsFee * sellMulti.div(100);
        }
        
        uint256 feeAmount = amount.mul(_totalFee).div(feeDenominator);
        uint256 rewardAmount = amount.mul(_rewardsFee).div(feeDenominator);
        uint256 swapAmount = feeAmount.sub(rewardAmount);

        _balances[address(this)] = _balances[address(this)].add(swapAmount);
        _balances[rewardsHolder] = _balances[rewardsHolder].add(rewardAmount);
        emit Transfer(sender, address(this), swapAmount);
        emit Transfer(sender, rewardsHolder, rewardAmount);

        return amount.sub(feeAmount);
    }
    
    function tokenSwapAmount() internal view returns (uint256) {
        uint256 tokensHeld = _balances[address(this)];
        uint256 swapAmount = tokensHeld.mul(swapPercent).div(100);
        return swapAmount;
    }

    function tokenSwap() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = tokenSwapAmount().sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountBNB = address(this).balance.sub(balanceBefore);

        uint256 totalBNBFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBdeveloper = amountBNB.mul(developerFee).div(totalBNBFee);
        
        (bool tmpSuccess,) = payable(developerFeeReceiver).call{value: amountBNBdeveloper, gas: 50000}("");
        
        tmpSuccess = false;


        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountBNBLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountBNBLiquidity, amountToLiquify);
        }
    }

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

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

        return _transferFrom(sender, recipient, amount);
    }
    
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(tradingIsEnabled == true || sender == owner || recipient == owner);
        require(!_isBlacklisted[recipient] && !_isBlacklisted[sender], 'Blacklisted address');
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != developerFeeReceiver && recipient != autoLiquidityReceiver){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");
        }

        checkTxLimit(sender, amount);

        if(shouldTokenSwap()){ tokenSwap(); }
        
        
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    
    function updateRewardHolder(address newAddress) external onlyOwner {
        RewardHolder newRewardHolder = RewardHolder(payable(newAddress));
        
        emit UpdateRewardHolder(newAddress, address(rewardHolder));
        
        rewardHolder = newRewardHolder;
    }
    
    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
    

}
    contract NFTCheck {
        mapping (uint256 => mapping(address => uint256)) internal balances;
        function balanceOf(address _owner,uint256 _id)  external view returns (uint256){
            
            return balances[_id][_owner];
        }
    }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"TradingIsEnabled","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateRewardHolder","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"checkClaimCooldownTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimCooldownTimerInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developerFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"developerFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","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":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"nftCheck","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newReward","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rewardTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsHolder","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":[],"name":"sellMulti","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"setClaimLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_developerFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developerFee","type":"uint256"},{"internalType":"uint256","name":"_rewardsFee","type":"uint256"},{"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":"setIsCooldownExempt","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":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IBEP20","name":"coin","type":"address"}],"name":"setRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_reward","type":"address"}],"name":"setRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"setRewardsAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"setSellFeeMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_percentage","type":"uint256"}],"name":"setTokenSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTradingIsEnabled","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":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingIsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"address","name":"newAddress","type":"address"}],"name":"updateRewardHolder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811661dead1790915560038054821690556004805490911673ed840de2c93ba3bfaf3d9aa79bfcdc869b77de0917905567016345785d8a000060068190556007556064678ac7230489e80000046008556001600f81905560105560056011556007601255606460138190556014818155600260155562015180601855601a805460ff19169055601b55601c55601f805460ff60a01b1916600160a01b17905560065461271090600a02046020556064602155348015620000d157600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601d80549092167310ed43c718714eb63d5aa57b78b54704e256024e1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200016157600080fd5b505afa15801562000176573d6000803e3d6000fd5b505050506040513d60208110156200018d57600080fd5b5051604080516364e329cb60e11b815273bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c600482015230602482015290516001600160a01b039092169163c9c65396916044808201926020929091908290030181600087803b158015620001f457600080fd5b505af115801562000209573d6000803e3d6000fd5b505050506040513d60208110156200022057600080fd5b5051601e80546001600160a01b0319166001600160a01b03928316179055306000818152600a60209081526040808320601d54909516835293905282902060001990559051620002709062000365565b6001600160a01b03909116815260405190819003602001906000f0801580156200029e573d6000803e3d6000fd5b50601f80546001600160a01b03929092166001600160a01b0319928316179055336000818152600d60209081526040808320805460ff199081166001908117909255600c84528285208054909116909117905560168054861673168b151f99858e3f954c533855a81d45e855d9ff90811790915560178054909616179094556006546009825284832081905584519081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a362000373565b6104fe8062002ea183390190565b612b1e80620003836000396000f3fe60806040526004361061037a5760003560e01c80636fa6302f116101d1578063a8aa1b3111610102578063eaef105b116100a0578063f84ba65d1161006f578063f84ba65d14610cac578063f887ea4014610ce7578063fe9fbb8014610cfc578063ffe2f21314610d2f57610381565b8063eaef105b14610bfe578063ec38a86214610c13578063f0b37c0414610c46578063f2fde38b14610c7957610381565b8063ca33e64c116100dc578063ca33e64c14610b58578063d51ed1c814610b6d578063dd62ed3e14610b97578063e27ad5eb14610bd257610381565b8063a8aa1b3114610ad7578063a9059cbb14610aec578063b6a5d7de14610b2557610381565b80638582ef561161016f57806395d89b411161014957806395d89b4114610a2f57806398118cb414610a44578063a4b45c0014610a59578063a7e2821314610a9457610381565b80638582ef56146109d25780638906758d146109e7578063893d20e814610a1a57610381565b806370a08231116101ab57806370a082311461092957806378109e541461095c57806378f1acf1146109715780637d1db4a5146109bd57610381565b80636fa6302f146108a55780636fcba377146108ba5780636ffd5c03146108f657610381565b806329a7b243116102ab57806343fc0851116102495780635c85974f116102235780635c85974f146108015780635d0044ca1461082b578063658d4b7f146108555780636ddd17131461089057610381565b806343fc085114610762578063455a439614610793578063571ac8b0146107ce57610381565b80632f54bf6e116102855780632f54bf6e146106c5578063313ce567146106f857806331c2ad5314610723578063379607f51461073857610381565b806329a7b243146106635780632b112e491461069b5780632bb14e1d146106b057610381565b806318160ddd11610318578063201e7991116102f2578063201e799114610582578063229544ea146105b257806323b872dd146105e557806326ea8cac1461062857610381565b806318160ddd1461052e5780631da1db5e146105435780631df4ccfc1461056d57610381565b806308a76e201161035457806308a76e2014610463578063095ea7b31461049c57806309c58fcd146104e95780631161ae39146104fe57610381565b8063020a0ff5146103865780630445b667146103b257806306fdde03146103d957610381565b3661038157005b600080fd5b34801561039257600080fd5b506103b0600480360360208110156103a957600080fd5b5035610d59565b005b3480156103be57600080fd5b506103c7610da1565b60408051918252519081900360200190f35b3480156103e557600080fd5b506103ee610da7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610428578181015183820152602001610410565b50505050905090810190601f1680156104555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046f57600080fd5b506103b06004803603604081101561048657600080fd5b506001600160a01b038135169060200135610dd3565b3480156104a857600080fd5b506104d5600480360360408110156104bf57600080fd5b506001600160a01b038135169060200135610e87565b604080519115158252519081900360200190f35b3480156104f557600080fd5b506104d5610eee565b34801561050a57600080fd5b506104d56004803603604081101561052157600080fd5b5080359060200135610ef7565b34801561053a57600080fd5b506103c7610f0b565b34801561054f57600080fd5b506103b06004803603602081101561056657600080fd5b5035610f11565b34801561057957600080fd5b506103c7610fe0565b34801561058e57600080fd5b506103b0600480360360408110156105a557600080fd5b5080359060200135610fe6565b3480156105be57600080fd5b506103b0600480360360208110156105d557600080fd5b50356001600160a01b0316611039565b3480156105f157600080fd5b506104d56004803603606081101561060857600080fd5b506001600160a01b038135811691602081013590911690604001356110de565b34801561063457600080fd5b506103b06004803603604081101561064b57600080fd5b506001600160a01b03813516906020013515156111a0565b34801561066f57600080fd5b506103b06004803603606081101561068657600080fd5b50803515159060208101359060400135611213565b3480156106a757600080fd5b506103c7611280565b3480156106bc57600080fd5b506103c76112c9565b3480156106d157600080fd5b506104d5600480360360208110156106e857600080fd5b50356001600160a01b03166112cf565b34801561070457600080fd5b5061070d6112e3565b6040805160ff9092168252519081900360200190f35b34801561072f57600080fd5b506103c76112e8565b34801561074457600080fd5b506103b06004803603602081101561075b57600080fd5b50356112ee565b34801561076e57600080fd5b50610777611407565b604080516001600160a01b039092168252519081900360200190f35b34801561079f57600080fd5b506103b0600480360360408110156107b657600080fd5b506001600160a01b0381351690602001351515611416565b3480156107da57600080fd5b506104d5600480360360208110156107f157600080fd5b50356001600160a01b0316611484565b34801561080d57600080fd5b506103b06004803603602081101561082457600080fd5b5035611492565b34801561083757600080fd5b506103b06004803603602081101561084e57600080fd5b50356114da565b34801561086157600080fd5b506103b06004803603604081101561087857600080fd5b506001600160a01b0381351690602001351515611522565b34801561089c57600080fd5b506104d5611595565b3480156108b157600080fd5b506103c76115a5565b3480156108c657600080fd5b506103b0600480360360808110156108dd57600080fd5b50803590602081013590604081013590606001356115ab565b34801561090257600080fd5b506103b06004803603602081101561091957600080fd5b50356001600160a01b031661162c565b34801561093557600080fd5b506103c76004803603602081101561094c57600080fd5b50356001600160a01b03166116d0565b34801561096857600080fd5b506103c76116eb565b34801561097d57600080fd5b506109a46004803603602081101561099457600080fd5b50356001600160a01b03166116f1565b6040805192835290151560208301528051918290030190f35b3480156109c957600080fd5b506103c7611710565b3480156109de57600080fd5b506103c7611716565b3480156109f357600080fd5b506103b060048036036020811015610a0a57600080fd5b50356001600160a01b031661171c565b348015610a2657600080fd5b50610777611781565b348015610a3b57600080fd5b506103ee611790565b348015610a5057600080fd5b506103c76117ad565b348015610a6557600080fd5b506103b060048036036040811015610a7c57600080fd5b506001600160a01b03813581169160200135166117b3565b348015610aa057600080fd5b506103c760048036036060811015610ab757600080fd5b506001600160a01b03813581169160208101359091169060400135611829565b348015610ae357600080fd5b506107776118b8565b348015610af857600080fd5b506104d560048036036040811015610b0f57600080fd5b506001600160a01b0381351690602001356118c7565b348015610b3157600080fd5b506103b060048036036020811015610b4857600080fd5b50356001600160a01b03166118f4565b348015610b6457600080fd5b5061077761195e565b348015610b7957600080fd5b506103c760048036036020811015610b9057600080fd5b503561196d565b348015610ba357600080fd5b506103c760048036036040811015610bba57600080fd5b506001600160a01b03813581169160200135166119a7565b348015610bde57600080fd5b506103b060048036036020811015610bf557600080fd5b503515156119d2565b348015610c0a57600080fd5b50610777611a61565b348015610c1f57600080fd5b506103b060048036036020811015610c3657600080fd5b50356001600160a01b0316611a70565b348015610c5257600080fd5b506103b060048036036020811015610c6957600080fd5b50356001600160a01b0316611b01565b348015610c8557600080fd5b506103b060048036036020811015610c9c57600080fd5b50356001600160a01b0316611b65565b348015610cb857600080fd5b506103b060048036036040811015610ccf57600080fd5b506001600160a01b0381351690602001351515611c16565b348015610cf357600080fd5b50610777611c89565b348015610d0857600080fd5b506104d560048036036020811015610d1f57600080fd5b50356001600160a01b0316611c98565b348015610d3b57600080fd5b506103b060048036036020811015610d5257600080fd5b5035611cb6565b610d62336112cf565b610d9c576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601555565b60205481565b6040805180820190915260128152715370616365506f727420556e69766572736560701b602082015290565b610ddc336112cf565b610e16576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601f5460408051632bf46f8760e21b81526001600160a01b038581166004830152602482018590529151919092169163afd1be1c91604480830192600092919082900301818387803b158015610e6b57600080fd5b505af1158015610e7f573d6000803e3d6000fd5b505050505050565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b601a5460ff1681565b600082610f038361196d565b119392505050565b60065490565b610f1a33611c98565b610f59576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b3060009081526009602052604081205490610f7f6064610f798486611d03565b90611d5c565b60165460405191925047916001600160a01b039091169060648684020480156108fc02916000818181858888f19350505050158015610fc2573d6000803e3d6000fd5b50610fcd3083610e87565b50610fd9303384611d9e565b5050505050565b60125481565b610fef33611c98565b61102e576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601b91909155601c55565b611042336112cf565b61107c576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601f5460408051635b52ebef60e11b81526001600160a01b0384811660048301529151919092169163b6a5d7de91602480830192600092919082900301818387803b1580156110ca57600080fd5b505af1158015610fd9573d6000803e3d6000fd5b6001600160a01b0383166000908152600a602090815260408083203384529091528120546000191461118b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054611166918490611e6d565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b611196848484611f04565b90505b9392505050565b6111a933611c98565b6111e8576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b61121c33611c98565b61125b576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601f8054931515600160a01b0260ff60a01b1990941693909317909255602055602155565b6003546000906112c49061129c906001600160a01b03166116d0565b6002546112be906112b5906001600160a01b03166116d0565b60065490612203565b90612203565b905090565b60115481565b6000546001600160a01b0390811691161490565b600990565b60105481565b633b9aca0081026000611300336116d0565b9050600061130d82612245565b90508083111561131c57600080fd5b336000908152600b602052604090205460ff16611380573360009081526019602052604090205442116113805760405162461bcd60e51b8152600401808060200182810382526027815260200180612a436027913960400191505060405180910390fd5b6018543360008181526019602052604080822042909401909355601f5483516305d38c7160e21b815260048101939093526024830187905292516001600160a01b039093169263174e31c492604480820193929182900301818387803b1580156113e957600080fd5b505af11580156113fd573d6000803e3d6000fd5b5050505050505050565b6017546001600160a01b031681565b61141f336112cf565b611459576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610ee882600019610e87565b61149b336112cf565b6114d5576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600755565b6114e3336112cf565b61151d576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600855565b61152b33611c98565b61156a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b601f54600160a01b900460ff1681565b60185481565b6115b4336112cf565b6115ee576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600f849055601083905560118290556116118261160b86866122ed565b906122ed565b60128190556013829055811161162657600080fd5b50505050565b611635336112cf565b61166f576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601f5460405182916001600160a01b0390811691908316907fa59a8ed7886dfb404126b90fa1a9e4a82f77ac76c5c4c9177a83677c1d282a8490600090a3601f80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b031660009081526009602052604090205490565b60085481565b6001600160a01b03166000908152601960205260409020549042821190565b60075481565b60145481565b611725336112cf565b61175f576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b60408051808201909152600381526253505560e81b602082015290565b600f5481565b6117bc33611c98565b6117fb576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601680546001600160a01b039384166001600160a01b03199182161790915560178054929093169116179055565b600080849050806001600160a01b031662fdd58e85856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561188357600080fd5b505afa158015611897573d6000803e3d6000fd5b505050506040513d60208110156118ad57600080fd5b505195945050505050565b601e546001600160a01b031681565b60006118d233611c98565b156118e9576118e2338484611d9e565b9050610ee8565b6118e2338484611f04565b6118fd336112cf565b611937576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6016546001600160a01b031681565b6000610ee861197a611280565b601e54610f79906119a09060029061199a906001600160a01b03166116d0565b90611d03565b8590611d03565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b6119db336112cf565b611a15576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601a805460ff191682151517908190556040805160ff90921615158252517fa02db39d6e2f2a170805a38849ca019454b6ab2582d4056b85c6bbd77ffcdc70916020908290030190a150565b6005546001600160a01b031681565b611a79336112cf565b611ab3576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601f54604080516306200d6d60e01b81526001600160a01b038481166004830152915191909216916306200d6d91602480830192600092919082900301818387803b1580156110ca57600080fd5b611b0a336112cf565b611b44576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b611b6e336112cf565b611ba8576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b611c1f33611c98565b611c5e576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b601d546001600160a01b031681565b6001600160a01b031660009081526001602052604090205460ff1690565b611cbf33611c98565b611cfe576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601455565b600082611d1257506000610ee8565b82820282848281611d1f57fe5b04146111995760405162461bcd60e51b8152600401808060200182810382526021815260200180612a6a6021913960400191505060405180910390fd5b600061119983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612347565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611def918490611e6d565b6001600160a01b038086166000908152600960205260408082209390935590851681522054611e1e90836122ed565b6001600160a01b038085166000818152600960209081526040918290209490945580518681529051919392881692600080516020612ac983398151915292918290030190a35060019392505050565b60008184841115611efc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ec1578181015183820152602001611ea9565b50505050905090810190601f168015611eee5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601a5460009060ff16151560011480611f2a57506000546001600160a01b038581169116145b80611f4257506000546001600160a01b038481169116145b611f4b57600080fd5b6001600160a01b0383166000908152600e602052604090205460ff16158015611f8d57506001600160a01b0384166000908152600e602052604090205460ff16155b611fd4576040805162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b604482015290519081900360640190fd5b60225460ff1615611ff157611fea848484611d9e565b9050611199565b6001600160a01b03841660009081526001602052604090205460ff1615801561202357506001600160a01b0383163014155b801561203d57506002546001600160a01b03848116911614155b80156120575750601e546001600160a01b03848116911614155b801561207157506017546001600160a01b03848116911614155b801561208b57506016546001600160a01b03848116911614155b156120e257600061209b846116d0565b905060085483820111156120e05760405162461bcd60e51b815260040180806020018281038252603e815260200180612a8b603e913960400191505060405180910390fd5b505b6120ec84836123ac565b6120f461241e565b1561210157612101612476565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054612153918490611e6d565b6001600160a01b038516600090815260096020526040812091909155612178856127e7565b612182578261218d565b61218d858585612806565b6001600160a01b0385166000908152600960205260409020549091506121b390826122ed565b6001600160a01b038086166000818152600960209081526040918290209490945580518581529051919392891692600080516020612ac983398151915292918290030190a3506001949350505050565b600061119983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e6d565b60008061225133612964565b9050600061226d601554600a02836122ed90919063ffffffff16565b905060008261229b576122946103e8610f79601554600a0288611d0390919063ffffffff16565b90506122e5565b6000831180156122ab5750600583105b156122c0576122946103e8610f798785611d03565b6122d0604b61160b84600a611d03565b91506122e2612710610f798785611d03565b90505b949350505050565b600082820183811015611199576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836123965760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611ec1578181015183820152602001611ea9565b5060008385816123a257fe5b0495945050505050565b600754811115806123d557506001600160a01b0382166000908152600c602052604090205460ff165b61241a576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b5050565b601e546000906001600160a01b0316331480159061243f575060225460ff16155b80156124545750601f54600160a01b900460ff165b80156112c4575050602080543060009081526009909252604090912054101590565b6022805460ff19166001179055601b54601c5460009161249591610ef7565b6124a157600f546124a4565b60005b905060006124c86002610f79601254610f7986602054611d0390919063ffffffff16565b905060006124d8826112be612a14565b604080516002808252606080830184529394509091602083019080368337019050509050308160008151811061250a57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c8160018151811061254c57fe5b6001600160a01b03928316602091820292909201810191909152601d5460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b838110156125e65781810151838201526020016125ce565b505050509050019650505050505050600060405180830381600087803b15801561260f57600080fd5b505af1158015612623573d6000803e3d6000fd5b50505050600061263c824761220390919063ffffffff16565b9050600061265761264e886002611d5c565b60125490612203565b9050600061266c6002610f798481878d611d03565b9050600061268983610f7960105487611d0390919063ffffffff16565b6017546040519192506000916001600160a01b039091169061c35090849084818181858888f193505050503d80600081146126e0576040519150601f19603f3d011682016040523d82523d6000602084013e6126e5565b606091505b506000925050891590506127d157601d546016546040805163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991869160c48082019260609290919082900301818588803b15801561276857600080fd5b505af115801561277c573d6000803e3d6000fd5b50505050506040513d606081101561279357600080fd5b505060408051848152602081018b905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b50506022805460ff191690555050505050505050565b6001600160a01b03166000908152600d602052604090205460ff161590565b601254601154601e5460009291906001600160a01b038681169116141561284857601454612835906064611d5c565b601454920291612846906064611d5c565b025b60135460009061285c90610f798786611d03565b90506000612879601354610f798589611d0390919063ffffffff16565b905060006128878383612203565b306000908152600960205260409020549091506128a490826122ed565b30600090815260096020526040808220929092556005546001600160a01b0316815220546128d290836122ed565b6005546001600160a01b0390811660009081526009602090815260409182902093909355805184815290513093928d1692600080516020612ac9833981519152928290030190a36005546040805184815290516001600160a01b03928316928c1691600080516020612ac9833981519152919081900360200190a36129578784612203565b9998505050505050505050565b6004546000908190612983906001600160a01b031684626266f2611829565b6004549091506000906129a3906001600160a01b031685622d66ca611829565b6004549091506000906129c3906001600160a01b0316866206d51a611829565b6004549091506000906129e3906001600160a01b0316876298959a611829565b600454909150600090612a03906001600160a01b031688621788b2611829565b939094019190910101019392505050565b306000908152600960205260408120546021548290612a3b90606490610f79908590611d03565b925050509056fe506c65617365207761697420666f7220636f6f6c646f776e206265747765656e20636c61696d73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682eddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f0b0993cd6b913bd7b30626a06e58d9f6b247aa558f9a32105261097a97b986264736f6c634300070400336080604052600154600280546001600160a01b0319166001600160a01b0390921691909117905534801561003257600080fd5b506040516104fe3803806104fe8339818101604052602081101561005557600080fd5b5051600180546001600160a01b039092166001600160a01b0319928316179055600080549091163317905561046f8061008f6000396000f3fe60806040526004361061007f5760003560e01c8063afd1be1c1161004e578063afd1be1c14610171578063b6a5d7de146101aa578063dffeadd0146101dd578063ecd0c0c3146101f257610086565b806306200d6d1461008b578063174e31c4146100c057806319a304ef146100f95780632520e7ff1461012a57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610207565b005b3480156100cc57600080fd5b506100be600480360360408110156100e357600080fd5b506001600160a01b038135169060200135610240565b34801561010557600080fd5b5061010e610265565b604080516001600160a01b039092168252519081900360200190f35b34801561013657600080fd5b5061015d6004803603602081101561014d57600080fd5b50356001600160a01b0316610274565b604080519115158252519081900360200190f35b34801561017d57600080fd5b506100be6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610292565b3480156101b657600080fd5b506100be600480360360208110156101cd57600080fd5b50356001600160a01b03166102da565b3480156101e957600080fd5b5061010e610315565b3480156101fe57600080fd5b5061010e610324565b6000546001600160a01b0316331461021e57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461025757600080fd5b6102618282610333565b5050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205460ff1690565b61029b33610274565b610257576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6000546001600160a01b031633146102f157600080fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6001546001600160a01b031681565b6000546001600160a01b031681565b6002546040805163095ea7b360e01b81523060048201526024810184905290516001600160a01b039092169163095ea7b3916044808201926020929091908290030181600087803b15801561038757600080fd5b505af115801561039b573d6000803e3d6000fd5b505050506040513d60208110156103b157600080fd5b50506002546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b505050506040513d602081101561043357600080fd5b5050505056fea2646970667358221220bd72e7ee732917a5f08b44b1240666ce763b20975db73d50eae42051ba49f45164736f6c63430007040033

Deployed ByteCode Sourcemap

6188:15573:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14032:104;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14032:104:0;;:::i;:::-;;8048:56;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9281:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11510:141;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11510:141:0;;;;;;;;:::i;9703:216::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9703:216:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7649:36;;;;;;;;;;;;;:::i;13751:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13751:150:0;;;;;;;:::i;9011:88::-;;;;;;;;;;;;;:::i;11663:474::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11663:474:0;;:::i;7264:32::-;;;;;;;;;;;;;:::i;15941:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15941:183:0;;;;;;;:::i;13913:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13913:107:0;-1:-1:-1;;;;;13913:107:0;;:::i;19790:364::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19790:364:0;;;;;;;;;;;;;;;;;:::i;14365:130::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14365:130:0;;;;;;;;;;:::i;15719:214::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15719:214:0;;;;;;;;;;;;;;:::i;12149:142::-;;;;;;;;;;;;;:::i;7225:32::-;;;;;;;;;;;;;:::i;2894:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2894:103:0;-1:-1:-1;;;;;2894:103:0;;:::i;9105:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7186:32;;;;;;;;;;;;;:::i;10914:584::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10914:584:0;;:::i;7461:35::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;7461:35:0;;;;;;;;;;;;;;10401:123;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10401:123:0;;;;;;;;;;:::i;9927:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9927:116:0;-1:-1:-1;;;;;9927:116:0;;:::i;14148:95::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14148:95:0;;:::i;14251:102::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14251:102:0;;:::i;14507:120::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14507:120:0;;;;;;;;;;:::i;8011:30::-;;;;;;;;;;;;;:::i;7528:49::-;;;;;;;;;;;;;:::i;14771:408::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14771:408:0;;;;;;;;;;;;;;;;;:::i;21402:280::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21402:280:0;-1:-1:-1;;;;;21402:280:0;;:::i;9451:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9451:105:0;-1:-1:-1;;;;;9451:105:0;;:::i;6765:61::-;;;;;;;;;;;;;:::i;10714:188::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10714:188:0;-1:-1:-1;;;;;10714:188:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6701:54;;;;;;;;;;;;;:::i;7344:30::-;;;;;;;;;;;;;:::i;16254:104::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16254:104:0;-1:-1:-1;;;;;16254:104:0;;:::i;9367:78::-;;;;;;;;;;;;;:::i;9191:84::-;;;;;;;;;;;;;:::i;7147:32::-;;;;;;;;;;;;;:::i;15187:228::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15187:228:0;;;;;;;;;;:::i;12860:179::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12860:179:0;;;;;;;;;;;;;;;;;:::i;7945:19::-;;;;;;;;;;;;;:::i;19477:305::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19477:305:0;;;;;;;;:::i;2687:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2687:94:0;-1:-1:-1;;;;;2687:94:0;;:::i;7418:36::-;;;;;;;;;;;;;:::i;12299:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12299:167:0;;:::i;9562:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9562:133:0;;;;;;;;;;:::i;15550:161::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15550:161:0;;;;:::i;6470:28::-;;;;;;;;;;;;;:::i;16136:106::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16136:106:0;-1:-1:-1;;;;;16136:106:0;;:::i;2789:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2789:97:0;-1:-1:-1;;;;;2789:97:0;;:::i;3120:173::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3120:173:0;-1:-1:-1;;;;;3120:173:0;;:::i;14635:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14635:128:0;;;;;;;;;;:::i;7914:24::-;;;;;;;;;;;;;:::i;3005:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3005:107:0;-1:-1:-1;;;;;3005:107:0;;:::i;15427:111::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15427:111:0;;:::i;14032:104::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;14105:10:::1;:23:::0;14032:104::o;8048:56::-;;;;:::o;9281:80::-;9353:5;;;;;;;;;;;;-1:-1:-1;;;9353:5:0;;;;9281:80;:::o;11510:141::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;11598:12:::1;::::0;:45:::1;::::0;;-1:-1:-1;;;11598:45:0;;-1:-1:-1;;;;;11598:45:0;;::::1;;::::0;::::1;::::0;;;;;;;;;:12;;;::::1;::::0;:26:::1;::::0;:45;;;;;:12:::1;::::0;:45;;;;;;;:12;;:45;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11510:141:::0;;:::o;9703:216::-;9807:10;9778:4;9795:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9795:32:0;;;;;;;;;;;:41;;;9852:37;;;;;;;9778:4;;9795:32;;9807:10;;9852:37;;;;;;;;-1:-1:-1;9907:4:0;9703:216;;;;;:::o;7649:36::-;;;;;;:::o;13751:150::-;13831:4;13887:6;13855:29;13875:8;13855:19;:29::i;:::-;:38;;13751:150;-1:-1:-1;;;13751:150:0:o;9011:88::-;9084:12;;9011:88;:::o;11663:474::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;11786:4:::1;11747:18;11768:24:::0;;;:9:::1;:24;::::0;;;;;;11826:41:::1;11863:3;11826:32;11768:24:::0;11841:16;11826:14:::1;:32::i;:::-;:36:::0;::::1;:41::i;:::-;11938:21;::::0;11930:75:::1;::::0;11803:64;;-1:-1:-1;11898:21:0::1;::::0;-1:-1:-1;;;;;11938:21:0;;::::1;::::0;12001:3:::1;11970:28:::0;;::::1;:34;11930:75:::0;::::1;;;::::0;::::1;::::0;;;11970:34;11938:21;11930:75;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12016:36;12032:4;12039:12;12016:7;:36::i;:::-;;12064:55;12087:4;12094:10;12106:12;12064:14;:55::i;:::-;;2670:1;;;11663:474:::0;:::o;7264:32::-;;;;:::o;15941:183::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;16039:15:::1;:25:::0;;;;16075:26:::1;:41:::0;15941:183::o;13913:107::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;13982:12:::1;::::0;:30:::1;::::0;;-1:-1:-1;;;13982:30:0;;-1:-1:-1;;;;;13982:30:0;;::::1;;::::0;::::1;::::0;;;:12;;;::::1;::::0;:22:::1;::::0;:30;;;;;:12:::1;::::0;:30;;;;;;;:12;;:30;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;19790:364:::0;-1:-1:-1;;;;;19910:19:0;;19890:4;19910:19;;;:11;:19;;;;;;;;19930:10;19910:31;;;;;;;;-1:-1:-1;;19910:46:0;19907:180;;20006:69;;;;;;;;;;;-1:-1:-1;;;20006:69:0;;;;;;;;-1:-1:-1;;;;;20006:19:0;;-1:-1:-1;20006:19:0;;;:11;:19;;;;;20026:10;20006:31;;;;;;;;;;:69;;20042:6;;20006:35;:69::i;:::-;-1:-1:-1;;;;;19972:19:0;;;;;;:11;:19;;;;;;;;19992:10;19972:31;;;;;;;:103;19907:180;20106:40;20120:6;20128:9;20139:6;20106:13;:40::i;:::-;20099:47;;19790:364;;;;;;:::o;14365:130::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14454:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;14454:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14365:130::o;15719:214::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;15833:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;15833:22:0::1;-1:-1:-1::0;;;;15833:22:0;;::::1;::::0;;;::::1;::::0;;;15866:13:::1;:23:::0;15900:11:::1;:25:::0;15719:214::o;12149:142::-;12277:4;;12202:7;;12229:54;;12267:15;;-1:-1:-1;;;;;12277:4:0;12267:9;:15::i;:::-;12256:4;;12229:33;;12246:15;;-1:-1:-1;;;;;12256:4:0;12246:9;:15::i;:::-;12229:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;12222:61;;12149:142;:::o;7225:32::-;;;;:::o;2894:103::-;2949:4;2984:5;-1:-1:-1;;;;;2984:5:0;;;2973:16;;;;2894:103::o;9105:80::-;6627:1;9105:80;:::o;7186:32::-;;;;:::o;10914:584::-;10991:13;10981:23;;10964:14;11036:21;11046:10;11036:9;:21::i;:::-;11015:42;;11068:19;11090:26;11105:10;11090:14;:26::i;:::-;11068:48;;11146:11;11136:6;:21;;11127:31;;;;;;11190:10;11173:28;;;;:16;:28;;;;;;;;11169:169;;11254:10;11235:30;;;;:18;:30;;;;;;11268:15;-1:-1:-1;11227:99:0;;;;-1:-1:-1;;;11227:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11399:26;;11367:10;11348:30;;;;:18;:30;;;;;;11381:15;:44;;;11348:77;;;11446:12;;:44;;-1:-1:-1;;;11446:44:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11446:12:0;;;;:24;;:44;;;;;11348:30;11446:44;;;;;;11348:30;11446:12;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10914:584;;;;:::o;7461:35::-;;;-1:-1:-1;;;;;7461:35:0;;:::o;10401:123::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10485:23:0;;;::::1;;::::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;10485:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10401:123::o;9927:116::-;9982:4;10006:29;10014:7;-1:-1:-1;;10006:7:0;:29::i;14148:95::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;14214:12:::1;:21:::0;14148:95::o;14251:102::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;14321:15:::1;:24:::0;14251:102::o;14507:120::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14591:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;14591:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14507:120::o;8011:30::-;;;-1:-1:-1;;;8011:30:0;;;;;:::o;7528:49::-;;;;:::o;14771:408::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;14910:12:::1;:28:::0;;;14949:12:::1;:28:::0;;;14988:10:::1;:24:::0;;;15034:49:::1;15001:11:::0;15034:32:::1;14925:13:::0;14964;15034:17:::1;:32::i;:::-;:36:::0;::::1;:49::i;:::-;15023:8;:60:::0;;;15094:14:::1;:32:::0;;;15145:25;-1:-1:-1;15137:34:0::1;;;::::0;::::1;;14771:408:::0;;;;:::o;21402:280::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;21609:12:::1;::::0;21570:53:::1;::::0;21532:10;;-1:-1:-1;;;;;21609:12:0;;::::1;::::0;21570:53;;::::1;::::0;::::1;::::0;21480:28:::1;::::0;21570:53:::1;21644:12;:30:::0;;-1:-1:-1;;;;;;21644:30:0::1;-1:-1:-1::0;;;;;21644:30:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;21402:280:0:o;9451:105::-;-1:-1:-1;;;;;9535:18:0;9517:7;9535:18;;;:9;:18;;;;;;;9451:105::o;6765:61::-;;;;:::o;10714:188::-;-1:-1:-1;;;;;10819:26:0;10786:7;10819:26;;;:18;:26;;;;;;;10877:15;10848:44;;;10714:188::o;6701:54::-;;;;:::o;7344:30::-;;;;:::o;16254:104::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;16327:13:::1;:23:::0;;-1:-1:-1;;;;;;16327:23:0::1;-1:-1:-1::0;;;;;16327:23:0;;;::::1;::::0;;;::::1;::::0;;16254:104::o;9367:78::-;9419:7;9437:5;-1:-1:-1;;;;;9437:5:0;9367:78;:::o;9191:84::-;9265:7;;;;;;;;;;;;-1:-1:-1;;;9265:7:0;;;;9191:84;:::o;7147:32::-;;;;:::o;15187:228::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;15306:21:::1;:46:::0;;-1:-1:-1;;;;;15306:46:0;;::::1;-1:-1:-1::0;;;;;;15306:46:0;;::::1;;::::0;;;15363:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;15187:228::o;12860:179::-;12939:4;12956:14;12982:4;12956:31;;13005:5;-1:-1:-1;;;;;13005:15:0;;13021:5;13028:2;13005:26;;;;;;;;;;;;;-1:-1:-1;;;;;13005:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13005:26:0;;12860:179;-1:-1:-1;;;;;12860:179:0:o;7945:19::-;;;-1:-1:-1;;;;;7945:19:0;;:::o;19477:305::-;19557:4;19578:24;19591:10;19578:12;:24::i;:::-;19574:201;;;19625:45;19640:10;19652:9;19663:6;19625:14;:45::i;:::-;19618:52;;;;19574:201;19719:44;19733:10;19745:9;19756:6;19719:13;:44::i;2687:94::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2747:19:0::1;;::::0;;;2769:4:::1;2747:19;::::0;;;;;;;:26;;-1:-1:-1;;2747:26:0::1;::::0;;::::1;::::0;;2687:94::o;7418:36::-;;;-1:-1:-1;;;;;7418:36:0;;:::o;12299:167::-;12367:7;12394:64;12435:22;:20;:22::i;:::-;12417:4;;12394:36;;12407:22;;12427:1;;12407:15;;-1:-1:-1;;;;;12417:4:0;12407:9;:15::i;:::-;:19;;:22::i;:::-;12394:8;;:12;:36::i;9562:133::-;-1:-1:-1;;;;;9664:19:0;;;9646:7;9664:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9562:133::o;15550:161::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;15626:16:::1;:27:::0;;-1:-1:-1;;15626:27:0::1;::::0;::::1;;;::::0;;;;15669:34:::1;::::0;;15626:27:::1;15686:16:::0;;::::1;15669:34;;::::0;;;::::1;::::0;::::1;::::0;;;;;;::::1;15550:161:::0;:::o;6470:28::-;;;-1:-1:-1;;;;;6470:28:0;;:::o;16136:106::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;16208:12:::1;::::0;:26:::1;::::0;;-1:-1:-1;;;16208:26:0;;-1:-1:-1;;;;;16208:26:0;;::::1;;::::0;::::1;::::0;;;:12;;;::::1;::::0;:20:::1;::::0;:26;;;;;:12:::1;::::0;:26;;;;;;;:12;;:26;::::1;;::::0;::::1;;;;::::0;::::1;2789:97:::0;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2851:19:0::1;2873:5;2851:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;2851:27:0::1;::::0;;2789:97::o;3120:173::-;2538:19;2546:10;2538:7;:19::i;:::-;2530:38;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;-1:-1:-1;;;2530:38:0;;;;;;;;;;;;;;;3196:5:::1;:11:::0;;-1:-1:-1;;;;;;3196:11:0::1;-1:-1:-1::0;;;;;3196:11:0;::::1;::::0;;::::1;::::0;;3218:19;;;-1:-1:-1;3218:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3218:26:0::1;::::0;;::::1;::::0;;;3260:25;;;;;;;::::1;::::0;;;;;;;;;::::1;3120:173:::0;:::o;14635:128::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14723:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;14723:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14635:128::o;7914:24::-;;;-1:-1:-1;;;;;7914:24:0;;:::o;3005:107::-;-1:-1:-1;;;;;3085:19:0;3061:4;3085:19;;;:14;:19;;;;;;;;;3005:107::o;15427:111::-;2628:24;2641:10;2628:12;:24::i;:::-;2620:48;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;-1:-1:-1;;;2620:48:0;;;;;;;;;;;;;;;15508:9:::1;:23:::0;15427:111::o;612:250::-;670:7;694:6;690:47;;-1:-1:-1;724:1:0;717:8;;690:47;761:5;;;765:1;761;:5;:1;785:5;;;;;:10;777:56;;;;-1:-1:-1;;;777:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:132;926:7;953:39;957:1;960;953:39;;;;;;;;;;;;;;;;;:3;:39::i;10055:330::-;10185:53;;;;;;;;;;;-1:-1:-1;;;10185:53:0;;;;;;;;-1:-1:-1;;;;;10185:17:0;;10148:4;10185:17;;;:9;:17;;;;;;;:53;;10207:6;;10185:21;:53::i;:::-;-1:-1:-1;;;;;10165:17:0;;;;;;;:9;:17;;;;;;:73;;;;10272:20;;;;;;;:32;;10297:6;10272:24;:32::i;:::-;-1:-1:-1;;;;;10249:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;10320:35;;;;;;;10249:20;;10320:35;;;;-1:-1:-1;;;;;;;;;;;10320:35:0;;;;;;;;-1:-1:-1;10373:4:0;10055:330;;;;;:::o;414:192::-;500:7;536:12;528:6;;;;520:29;;;;-1:-1:-1;;;520:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;572:5:0;;;414:192::o;20166:1218::-;20283:16;;20258:4;;20283:16;;:24;;:16;:24;;:43;;-1:-1:-1;20321:5:0;;-1:-1:-1;;;;;20311:15:0;;;20321:5;;20311:15;20283:43;:65;;;-1:-1:-1;20343:5:0;;-1:-1:-1;;;;;20330:18:0;;;20343:5;;20330:18;20283:65;20275:74;;;;;;-1:-1:-1;;;;;20369:25:0;;;;;;:14;:25;;;;;;;;20368:26;:53;;;;-1:-1:-1;;;;;;20399:22:0;;;;;;:14;:22;;;;;;;;20398:23;20368:53;20360:85;;;;;-1:-1:-1;;;20360:85:0;;;;;;;;;;;;-1:-1:-1;;;20360:85:0;;;;;;;;;;;;;;;20459:6;;;;20456:63;;;20475:41;20490:6;20498:9;20509:6;20475:14;:41::i;:::-;20468:48;;;;20456:63;-1:-1:-1;;;;;20544:22:0;;;;;;:14;:22;;;;;;;;20543:23;:53;;;;-1:-1:-1;;;;;;20570:26:0;;20591:4;20570:26;;20543:53;:84;;;;-1:-1:-1;20622:4:0;;-1:-1:-1;;;;;20601:26:0;;;20622:4;;20601:26;;20543:84;:105;;;;-1:-1:-1;20644:4:0;;-1:-1:-1;;;;;20631:17:0;;;20644:4;;20631:17;;20543:105;:142;;;;-1:-1:-1;20665:20:0;;-1:-1:-1;;;;;20652:33:0;;;20665:20;;20652:33;;20543:142;:180;;;;-1:-1:-1;20702:21:0;;-1:-1:-1;;;;;20689:34:0;;;20702:21;;20689:34;;20543:180;20539:382;;;20739:18;20760:20;20770:9;20760;:20::i;:::-;20739:41;;20828:15;;20817:6;20804:10;:19;20803:40;;20795:114;;;;-1:-1:-1;;;20795:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20539:382;;20933:28;20946:6;20954;20933:12;:28::i;:::-;20977:17;:15;:17::i;:::-;20974:37;;;20997:11;:9;:11::i;:::-;21061:53;;;;;;;;;;;-1:-1:-1;;;21061:53:0;;;;;;;;-1:-1:-1;;;;;21061:17:0;;-1:-1:-1;21061:17:0;;;:9;:17;;;;;;;;:53;;21083:6;;21061:21;:53::i;:::-;-1:-1:-1;;;;;21041:17:0;;;;;;:9;:17;;;;;:73;;;;21152:21;21051:6;21152:13;:21::i;:::-;:67;;21213:6;21152:67;;;21176:34;21184:6;21192:9;21203:6;21176:7;:34::i;:::-;-1:-1:-1;;;;;21253:20:0;;;;;;:9;:20;;;;;;21127:92;;-1:-1:-1;21253:40:0;;21127:92;21253:24;:40::i;:::-;-1:-1:-1;;;;;21230:20:0;;;;;;;:9;:20;;;;;;;;;:63;;;;21311:43;;;;;;;21230:20;;21311:43;;;;-1:-1:-1;;;;;;;;;;;21311:43:0;;;;;;;;-1:-1:-1;21372:4:0;;20166:1218;-1:-1:-1;;;;20166:1218:0:o;272:136::-;330:7;357:43;361:1;364;357:43;;;;;;;;;;;;;;;;;:3;:43::i;13051:692::-;13116:7;13135:16;13154:21;13164:10;13154:9;:21::i;:::-;13135:40;;13240:20;13263:29;13276:10;;13289:2;13276:15;13263:8;:12;;:29;;;;:::i;:::-;13240:52;-1:-1:-1;13303:19:0;13337:13;13333:374;;13380:39;13414:4;13380:29;13393:10;;13406:2;13393:15;13380:8;:12;;:29;;;;:::i;:39::-;13366:53;;13333:374;;;13461:1;13450:8;:12;:28;;;;;13477:1;13466:8;:12;13450:28;13446:261;;;13508:36;13539:4;13508:26;:8;13521:12;13508;:26::i;13446:261::-;13601:28;13626:2;13601:20;:12;13618:2;13601:16;:20::i;:28::-;13586:43;-1:-1:-1;13658:37:0;13689:5;13658:26;:8;13586:43;13658:12;:26::i;:37::-;13644:51;;13446:261;13724:11;13051:692;-1:-1:-1;;;;13051:692:0:o;85:181::-;143:7;175:5;;;199:6;;;;191:46;;;;;-1:-1:-1;;;191:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1006:345;1092:7;1194:12;1187:5;1179:28;;;;-1:-1:-1;;;1179:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:9;1234:1;1230;:5;;;;;;;1006:345;-1:-1:-1;;;;;1006:345:0:o;10536:166::-;10633:12;;10623:6;:22;;:49;;;-1:-1:-1;;;;;;10649:23:0;;;;;;:15;:23;;;;;;;;10623:49;10615:79;;;;;-1:-1:-1;;;10615:79:0;;;;;;;;;;;;-1:-1:-1;;;10615:79:0;;;;;;;;;;;;;;;10536:166;;:::o;16496:198::-;16584:4;;16546;;-1:-1:-1;;;;;16584:4:0;16570:10;:18;;;;:38;;-1:-1:-1;16602:6:0;;;;16601:7;16570:38;:62;;;;-1:-1:-1;16621:11:0;;-1:-1:-1;;;16621:11:0;;;;16570:62;:116;;;;-1:-1:-1;;16673:13:0;;;16663:4;16645:24;;;;:9;:24;;;;;;;;:41;;;16496:198::o;17851:1618::-;8202:6;:13;;-1:-1:-1;;8202:13:0;8211:4;8202:13;;;17947:15:::1;::::0;17964:26:::1;::::0;8202:6;;17931:60:::1;::::0;:15:::1;:60::i;:::-;:79;;17998:12;;17931:79;;;17994:1;17931:79;17901:109;;18021:23;18047:59;18104:1;18047:52;18090:8;;18047:38;18065:19;18047:13;;:17;;:38;;;;:::i;:59::-;18021:85;;18117:20;18140:38;18162:15;18140:17;:15;:17::i;:38::-;18215:16;::::0;;18229:1:::1;18215:16:::0;;;18191:21:::1;18215:16:::0;;::::1;::::0;;18117:61;;-1:-1:-1;18215:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;18215:16:0::1;18191:40;;18260:4;18242;18247:1;18242:7;;;;;;;;;;;;;:23;-1:-1:-1::0;;;;;18242:23:0::1;;;-1:-1:-1::0;;;;;18242:23:0::1;;;::::0;::::1;18286:42;18276:4;18281:1;18276:7;;;;;;;;-1:-1:-1::0;;;;;18276:52:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:52;;;;18399:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;18399:188:0;;::::1;::::0;::::1;::::0;;;18341:21:::1;18399:188:::0;;;;;;18541:4:::1;18399:188:::0;;;;;;18561:15:::1;18399:188:::0;;;;;;;;;;;;;;;;;;;;;18365:21:::1;::::0;18399:6;;;::::1;::::0;:57:::1;::::0;18471:12;;18341:21;;18514:4;;18399:188;;;;;;;;;;::::1;::::0;::::1;::::0;;;18341:21;18399:188:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18600:17;18620:40;18646:13;18620:21;:25;;:40;;;;:::i;:::-;18600:60:::0;-1:-1:-1;18673:19:0::1;18695:40;18708:26;:19:::0;18732:1:::1;18708:23;:26::i;:::-;18695:8;::::0;;:12:::1;:40::i;:::-;18673:62:::0;-1:-1:-1;18756:26:0::1;18785:58;18841:1;18785:51;18673:62:::0;18785:51;:9;18799:19;18785:13:::1;:34::i;:58::-;18756:87;;18854:26;18883:44;18915:11;18883:27;18897:12;;18883:9;:13;;:27;;;;:::i;:44::-;18977:20;::::0;18969:77:::1;::::0;18854:73;;-1:-1:-1;18949:15:0::1;::::0;-1:-1:-1;;;;;18977:20:0;;::::1;::::0;19036:5:::1;::::0;18854:73;;18949:15;18969:77;18949:15;18969:77;18854:73;18977:20;19036:5;18969:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;19080:5:0::1;::::0;-1:-1:-1;;19103:19:0;;;-1:-1:-1;19100:362:0::1;;19138:6;::::0;19312:21:::1;::::0;19138:244:::1;::::0;;-1:-1:-1;;;19138:244:0;;19214:4:::1;19138:244;::::0;::::1;::::0;;;;;;;:6:::1;:244:::0;;;;;;;;;;-1:-1:-1;;;;;19312:21:0;;::::1;19138:244:::0;;;;19352:15:::1;19138:244:::0;;;;;;:6;;;::::1;::::0;:22:::1;::::0;19168:18;;19138:244;;;;;::::1;::::0;;;;;;;;;19168:18;19138:6;:244;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;19138:244:0;19402:48;;;;;19138:244:::1;19402:48:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;19100:362;-1:-1:-1::0;;8220:6:0;:14;;-1:-1:-1;;8220:14:0;;;-1:-1:-1;;;;;;;;17851:1618:0:o;16370:114::-;-1:-1:-1;;;;;16457:19:0;16432:4;16457:19;;;:11;:19;;;;;;;;16456:20;;16370:114::o;16706:906::-;16842:8;;16883:10;;16931:4;;16792:7;;16842:8;16883:10;-1:-1:-1;;;;;16918:17:0;;;16931:4;;16918:17;16914:152;;;16975:9;;:18;;16989:3;16975:13;:18::i;:::-;17036:9;;16963:30;;;17036:18;;17050:3;17036:13;:18::i;:::-;17022:32;16914:152;17132:14;;17086:17;;17106:41;;:21;:6;17117:9;17106:10;:21::i;:41::-;17086:61;;17158:20;17181:43;17209:14;;17181:23;17192:11;17181:6;:10;;:23;;;;:::i;:43::-;17158:66;-1:-1:-1;17235:18:0;17256:27;:9;17158:66;17256:13;:27::i;:::-;17341:4;17323:24;;;;:9;:24;;;;;;17235:48;;-1:-1:-1;17323:40:0;;17235:48;17323:28;:40::i;:::-;17314:4;17296:24;;;;:9;:24;;;;;;:67;;;;17411:13;;-1:-1:-1;;;;;17411:13:0;17401:24;;;;:42;;17430:12;17401:28;:42::i;:::-;17384:13;;-1:-1:-1;;;;;17384:13:0;;;17374:24;;;;:9;:24;;;;;;;;;:69;;;;17459:43;;;;;;;17484:4;;17459:43;;;;-1:-1:-1;;;;;;;;;;;17459:43:0;;;;;;;17535:13;;17518:45;;;;;;;;-1:-1:-1;;;;;17535:13:0;;;;17518:45;;;-1:-1:-1;;;;;;;;;;;17518:45:0;;;;;;;;;17583:21;:6;17594:9;17583:10;:21::i;:::-;17576:28;16706:906;-1:-1:-1;;;;;;;;;16706:906:0:o;12480:368::-;12578:3;;12537:7;;;;12569:29;;-1:-1:-1;;;;;12578:3:0;12583:5;12590:7;12569:8;:29::i;:::-;12630:3;;12557:41;;-1:-1:-1;12609:9:0;;12621:29;;-1:-1:-1;;;;;12630:3:0;12635:5;12642:7;12621:8;:29::i;:::-;12682:3;;12609:41;;-1:-1:-1;12661:9:0;;12673:28;;-1:-1:-1;;;;;12682:3:0;12687:5;12694:6;12673:8;:28::i;:::-;12733:3;;12661:40;;-1:-1:-1;12712:9:0;;12724:29;;-1:-1:-1;;;;;12733:3:0;12738:5;12745:7;12724:8;:29::i;:::-;12785:3;;12712:41;;-1:-1:-1;12764:9:0;;12776:29;;-1:-1:-1;;;;;12785:3:0;12790:5;12797:7;12776:8;:29::i;:::-;12823:5;;;;:9;;;;:13;:17;;12480:368;-1:-1:-1;;;12480:368:0:o;17624:219::-;17733:4;17674:7;17715:24;;;:9;:24;;;;;;17786:11;;17674:7;;17771:36;;17803:3;;17771:27;;17715:24;;17771:14;:27::i;:36::-;17750:57;-1:-1:-1;;;17624:219:0;:::o

Swarm Source

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