** Maintenance in progress, block data might not be up to date **

Contract 0x94123e63dfbd267c52e28097d121b4dae2a16e86

 

Contract Overview

Balance:
0.004939268798554168 BNB

BNB Value:
$2.11 (@ $427.53/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xed1f401acd4003e180c3aee60c65c36a27ecfcd6e9ab1cacc1638a10d39d8028Approve143110572022-01-12 21:04:298 days 6 hrs ago0x9a11f826b680c6a94c98d0afd24ca1604fddebef IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000072325
0x469fab32ed815e078b07e6bbddae54c329bb727e0f1100c4090d2fe8169dd4c5Approve138182992021-12-26 17:43:0225 days 9 hrs ago0xdd8e611f76983955efcf6d78d36179e14ebbf3c3 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000072325
0x1e2fceaedf096df42bb5b39930d070c1ccfa76f95500a9562eea63c2c5a6828dApprove136982602021-12-22 13:33:4929 days 13 hrs ago0xeacecbe85589d080c12fe0da5c7330c4ba4a89a6 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0x92c37c6e7364b8d823657f1c9a6efadf00a821210bc0657db2a23dfe0ab2f222Approve125661182021-11-11 19:30:3170 days 7 hrs ago0xde710b8a95ebeb3a769c2d274ac199fe846ff93a IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0xc2b1ce942bb3a95ce20dad601a05df1115d1963e89fcd3cb5818bd9923a80471Approve124506022021-11-07 17:00:2474 days 10 hrs ago0x38a1744b93a7c5737324eb64990c1b2ffc133954 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0x9d2b6301c9cd6ffa9361acd4e85a4f047cb304926e3a6fbfbae047a0bac14013Approve122613722021-10-31 23:20:0281 days 3 hrs ago0x51b2ff047ff711c74a42b30bf95f6b4b775c0645 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0xac360554a8509a02a18086a48b5afdb69e21f013213e3d6122bd81b318d65335Approve122613522021-10-31 23:19:0281 days 3 hrs ago0x0e7d873ba7e52bea92da9afc9764235d893641e4 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0xfba1fb52f25f605dcc78b5fe72e42109dc79371647f3a3922cf3cf6374228a07Approve122555762021-10-31 18:29:2381 days 8 hrs ago0x3d0abeefc29994c5b0e26f286eb745f04955f19b IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0x2ca87cb96fbc79a9754decf9093158ac6f5a677098999cd57d665ce702fbaab8Approve122546162021-10-31 17:40:0681 days 9 hrs ago0x70e08b85a01b14d33fe783114c088299d1dc3a26 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0x139164dcc065d9d7d752e45f37c6e4f7cfb9ab3edc86b536d7efb9f0fff986bcApprove122512802021-10-31 14:49:4481 days 12 hrs ago0xb8d4e4aa8fc4aa01e5b09d7354104b43e9a74bf5 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0xf9ccc9d4b6cb1a1fa50726a65e3f3b59a2bc1b4665e10329781808633b20eda9Approve122509412021-10-31 14:32:4681 days 12 hrs ago0x1e61648d5ad4d2525684f06b34ebaaa6abf64b84 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000310191
0xdd09467cb1f7867113e15619e62fba4d0576dd34bdf34d49c9654cc50428f441Approve122503442021-10-31 14:02:5381 days 13 hrs ago0x9860b2802e9e81b58f20ff87ffcf8b0fedfeec25 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0xe4097706d6eb32a194affe45bd8fc3f5c965f1fcd43e1067e3624601159d887aApprove122501972021-10-31 13:55:3281 days 13 hrs ago0x9b138e61bc913654132ca6a0e1571fece0f5b570 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0x3138af332de01e4b223c274ae070176f99a83dbf7e521f25cb652a424f5cc60aApprove122501732021-10-31 13:54:2081 days 13 hrs ago0x36648d69f98e36e1fec58729fe7ef533ba56e937 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0x96eded86dfd79ee77629c89288d83ebde453bbe553c614fb8b3a8a4da7356cebApprove122070572021-10-30 1:42:2483 days 1 hr ago0x4f3e08c70a890905a7f24b33927adb267f0e3083 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000101255
0xf6d44213fb10ba9e7f3c9c10c22a903603ed4f7897f24f28da0f8cde365bdd9cApprove113508012021-09-30 0:40:23113 days 2 hrs ago0x8cc7bc33f5188b1fb683bedc4dbffa77b136833b IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000124065
0xe0bd01a6fde5d11964b9e4ff10e0fac261fa9416eca60acb79844af57036581bApprove113507972021-09-30 0:40:11113 days 2 hrs ago0x8cc7bc33f5188b1fb683bedc4dbffa77b136833b IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000220065
0x8c249cef7c13dd606cfeea13e5d9c0b7de3ad0aafa8a0cc3bf3711399352614aApprove112201532021-09-25 10:46:07117 days 16 hrs ago0x9063a0d84c6649a83001a81f6a131bdd1761c771 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000072325
0xfd747592b3568bc70fc0ef86f36860db16680286ef28c18ab879dcf35fe7390bApprove106278112021-09-04 17:59:32138 days 9 hrs ago0xa435a90783538a1a39d9aada5458a61e715ff541 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
0xbb749f4accbfbf8688eac3785869c2a598d27cd1659b5ba8ed78a9f77e7433c9Clear Stuck Bala...104885382021-08-30 20:33:03143 days 6 hrs ago0xcc3ea363f1cde8037610ab3fc2974469e0d035cb IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.00015336
0x38ef4a2478c676a1ec0982c7c78dbec769d7434b9653daac0cb12ebef20d1bfdMake It Rain104885042021-08-30 20:31:21143 days 6 hrs ago0xcc3ea363f1cde8037610ab3fc2974469e0d035cb IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.00036384
0xef3ced7277cffe493651401e5e7841f1c1436432fde04cdd99c3a2fa8cde9da3Make It Rain104884792021-08-30 20:30:06143 days 6 hrs ago0xcc3ea363f1cde8037610ab3fc2974469e0d035cb IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.00036372
0xf99d38d5c0fa6775e5ca6b9c5123104c9a4dd61394afcf0745e996e611fce964Make It Rain104884512021-08-30 20:28:42143 days 6 hrs ago0xcc3ea363f1cde8037610ab3fc2974469e0d035cb IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.00079388
0x1c2b9585f96b22b02e01d38da13e016649455c9b843a49e615ace3c2d5d2a8e2Approve103121752021-08-24 15:46:43149 days 11 hrs ago0xe3776e087a675d38877232985984d6fefc8cb193 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000072325
0x297dbd412024593a0cfe765d28cd1f62deaa4a53b993b96d122dc56d558164e3Approve102728262021-08-23 6:42:41150 days 20 hrs ago0x91d92eeb946daf98c8c7f7e99762c9c277d280b8 IN  0x94123e63dfbd267c52e28097d121b4dae2a16e860 BNB0.000221565
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf5644b77ac17c7ef3d65df2e0afaadbb975bec7e12acd1c45a7a9f72ff9fd294136982672021-12-22 13:34:1029 days 13 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.000941229094540067 BNB
0xf5644b77ac17c7ef3d65df2e0afaadbb975bec7e12acd1c45a7a9f72ff9fd294136982672021-12-22 13:34:1029 days 13 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.00070592182090505 BNB
0xf5644b77ac17c7ef3d65df2e0afaadbb975bec7e12acd1c45a7a9f72ff9fd294136982672021-12-22 13:34:1029 days 13 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.001882458189080134 BNB
0x0d44b448c6dc32c06b99d103a39efd47096c631e486e0d488ba3813ae2996cd7135617392021-12-17 19:06:1334 days 8 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.001137478411892928 BNB
0x0d44b448c6dc32c06b99d103a39efd47096c631e486e0d488ba3813ae2996cd7135617392021-12-17 19:06:1334 days 8 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.000853108808919696 BNB
0x0d44b448c6dc32c06b99d103a39efd47096c631e486e0d488ba3813ae2996cd7135617392021-12-17 19:06:1334 days 8 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.002274956823785857 BNB
0x1300e67d706f1f6a83b976a7b01c5becd975315e3dc5f67f909f163f8c1f17c5135611762021-12-17 18:38:0434 days 8 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.001430082082917931 BNB
0x1300e67d706f1f6a83b976a7b01c5becd975315e3dc5f67f909f163f8c1f17c5135611762021-12-17 18:38:0434 days 8 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.001072561562188448 BNB
0x1300e67d706f1f6a83b976a7b01c5becd975315e3dc5f67f909f163f8c1f17c5135611762021-12-17 18:38:0434 days 8 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.002860164165835863 BNB
0x41efc110aec74fec5ef718b04a8cf3fa96ceda7cbe8530a2298f96417db729e0132257132021-12-05 21:04:1946 days 6 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.000661644719181808 BNB
0x41efc110aec74fec5ef718b04a8cf3fa96ceda7cbe8530a2298f96417db729e0132257132021-12-05 21:04:1946 days 6 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.000496233539386356 BNB
0x41efc110aec74fec5ef718b04a8cf3fa96ceda7cbe8530a2298f96417db729e0132257132021-12-05 21:04:1946 days 6 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.001323289438363617 BNB
0x3e1e6458bca299d429d15b233fa8f7285e40676aa7fe5a51b22931ffb5a04653132257002021-12-05 21:03:4046 days 6 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.000661644719181808 BNB
0x3e1e6458bca299d429d15b233fa8f7285e40676aa7fe5a51b22931ffb5a04653132257002021-12-05 21:03:4046 days 6 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.000496233539386356 BNB
0x3e1e6458bca299d429d15b233fa8f7285e40676aa7fe5a51b22931ffb5a04653132257002021-12-05 21:03:4046 days 6 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.001323289438363617 BNB
0xc62282c90d562cbf5a07d80e37f306484d83ce8bc5299f0afaaa893f986a500e125523412021-11-11 7:29:2270 days 19 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.000684597541318096 BNB
0xc62282c90d562cbf5a07d80e37f306484d83ce8bc5299f0afaaa893f986a500e125523412021-11-11 7:29:2270 days 19 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.000513448155988572 BNB
0xc62282c90d562cbf5a07d80e37f306484d83ce8bc5299f0afaaa893f986a500e125523412021-11-11 7:29:2270 days 19 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.001369195082636193 BNB
0x2aacad773b60491044e2e2b8c7f883bf82813a6d54537e37a0ff9e883da2dc3e124506112021-11-07 17:00:5474 days 10 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.00083369521440243 BNB
0x2aacad773b60491044e2e2b8c7f883bf82813a6d54537e37a0ff9e883da2dc3e124506112021-11-07 17:00:5474 days 10 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.000625271410801822 BNB
0x2aacad773b60491044e2e2b8c7f883bf82813a6d54537e37a0ff9e883da2dc3e124506112021-11-07 17:00:5474 days 10 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.001667390428804861 BNB
0x632ec482e49f14430b0a974f61c7f7ae239d9873c1c52bb7ed5adb7beede9ec1122613772021-10-31 23:20:1781 days 3 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.000991448030709759 BNB
0x632ec482e49f14430b0a974f61c7f7ae239d9873c1c52bb7ed5adb7beede9ec1122613772021-10-31 23:20:1781 days 3 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e86 0x33877c28ea6d9c58d503e3e1cf2c964da46c7e8a0.000743586023032319 BNB
0x632ec482e49f14430b0a974f61c7f7ae239d9873c1c52bb7ed5adb7beede9ec1122613772021-10-31 23:20:1781 days 3 hrs ago PancakeSwap: Router v2 0x94123e63dfbd267c52e28097d121b4dae2a16e860.001982896061419519 BNB
0xd9bb4fefaa037483ac6ae66a19fac186799656f2940e618e07ebfff4ca915cdc122613562021-10-31 23:19:1481 days 3 hrs ago 0x94123e63dfbd267c52e28097d121b4dae2a16e860xcc3ea363f1cde8037610ab3fc2974469e0d035cb0.001198637666596039 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BabyCrypto

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT

pragma solidity ^0.7.4;

/**

TG: https://t.me/BabyCryptoBlade

 */

/**
 * Standard SafeMath, stripped down to just add/sub/mul/div
 */
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

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

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

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

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

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

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

    event OwnershipTransferred(address owner);
}

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

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        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;
}

interface IDividendDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }

    IBEP20 Skill = IBEP20(0x154A9F9cbd3449AD22FDaE23044319D6eF2a1Fab);
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    IDEXRouter router;

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    //SETMEUP, change this to 1 hour instead of 10mins
    uint256 public minPeriod = 45 minutes;
    uint256 public minDistribution = 1 * (10 ** 18);

    uint256 currentIndex;

    bool initialized;
    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor (address _router) {
        router = _router != address(0)
            ? IDEXRouter(_router)
            : IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _token = msg.sender;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken {
        minPeriod = _minPeriod;
        minDistribution = _minDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() external payable override onlyToken {
        uint256 balanceBefore = Skill.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WBNB;
        path[1] = address(Skill);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amount = Skill.balanceOf(address(this)).sub(balanceBefore);

        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function process(uint256 gas) external override onlyToken {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        uint256 iterations = 0;

        while(gasUsed < gas && iterations < shareholderCount) {
            if(currentIndex >= shareholderCount){
                currentIndex = 0;
            }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }
    
    function shouldDistribute(address shareholder) internal view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp
                && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            Skill.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }
    
    function claimDividend() external {
        distributeDividend(msg.sender);
    }

    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
}

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

    address Skill = 0x154A9F9cbd3449AD22FDaE23044319D6eF2a1Fab;
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "BabyCrypto";
    string constant _symbol = "BabyCrypto";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1 * 10**9 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply * 100 / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isTimelockExempt;
    mapping (address => bool) isDividendExempt;

    uint256 liquidityFee    = 0;
    uint256 reflectionFee   = 0;
    uint256 marketingFee    = 0;
    uint256 public totalFee = 16;
    uint256 feeDenominator  = 100;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;

    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = false;

    DividendDistributor distributor;
    uint256 distributorGas = 500000;

    // Cooldown & timer functionality
    bool public buyCooldownEnabled = true;
    uint8 public cooldownTimerInterval = 45;
    mapping (address => uint) private cooldownTimer;

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

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

        distributor = new DividendDistributor(address(router));

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

        // No timelock for these people
        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;

        // TO DO, manually whitelist this
        //isFeeExempt[_presaleContract] = true;
        //isTxLimitExempt[_presaleContract] = true;
        //isDividendExempt[_presaleContract] = true;

        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;

        // NICE!
        autoLiquidityReceiver = DEAD;
        marketingFeeReceiver = msg.sender;

        _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 transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != uint256(-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) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");
        }
        
        // cooldown timer, so a bot doesnt do quick trades! 1min gap between 2 trades.
        if (sender == pair &&
            buyCooldownEnabled &&
            !isTimelockExempt[recipient]) {
            require(cooldownTimer[recipient] < block.timestamp,"Please wait for cooldown between buys");
            cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval;
        }


        // Checks max transaction limit
        checkTxLimit(sender, amount);

        // Liquidity, Maintained at 25%
        if(shouldSwapBack()){ swapBack(); }

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

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

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

        // Dividend tracker
        if(!isDividendExempt[sender]) {
            try distributor.setShare(sender, _balances[sender]) {} catch {}
        }

        if(!isDividendExempt[recipient]) {
            try distributor.setShare(recipient, _balances[recipient]) {} catch {} 
        }

        try distributor.process(distributorGas) {} catch {}

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

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

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

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

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

        return amount.sub(feeAmount);
    }

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

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountBNB = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountBNB * amountPercentage / 100);
    }


    // switch Trading
    function tradingStatus(bool _status) public onlyOwner {
        tradingOpen = _status;
    }

    // enable cooldown between trades
    function cooldownEnabled(bool _status, uint8 _interval) public onlyOwner {
        buyCooldownEnabled = _status;
        cooldownTimerInterval = _interval;
    }



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

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

        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 amountBNBReflection = amountBNB.mul(reflectionFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);

        try distributor.deposit{value: amountBNBReflection}() {} catch {}
        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        
        // only to supress warning msg
        tmpSuccess = false;

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

   

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

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

    function setTxLimit(uint256 amount) external authorized {
        _maxTxAmount = amount;
    }

    function setIsDividendExempt(address holder, bool exempt) external authorized {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

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

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

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

    function setFees(uint256 _liquidityFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        reflectionFee = _reflectionFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_reflectionFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/4);
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }

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

    function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external authorized {
        distributor.setDistributionCriteria(_minPeriod, _minDistribution);
    }

    function setDistributorSettings(uint256 gas) external authorized {
        require(gas < 750000);
        distributorGas = gas;
    }
    
    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 isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }



/* Airdrop Begins */


 function makeItRain(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {

    uint256 showerCapacity = 0;

    require(addresses.length == tokens.length,"Mismatch between Address and token count");

    for(uint i=0; i < addresses.length; i++){
        showerCapacity = showerCapacity + tokens[i];
    }

    require(balanceOf(from) >= showerCapacity, "Not enough tokens to airdrop");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens[i]);
        if(!isDividendExempt[addresses[i]]) {
            try distributor.setShare(addresses[i], _balances[addresses[i]]) {} catch {} 
        }
    }

    // Dividend tracker
    if(!isDividendExempt[from]) {
        try distributor.setShare(from, _balances[from]) {} catch {}
    }
}

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

}

// ps: hail zeus!

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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"makeItRain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","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":"setIsDividendExempt","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":"setIsTimelockExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","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":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811673154a9f9cbd3449ad22fdae23044319d6ef2a1fab1790915560038054821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c17905560048054821661dead179055600580549091169055670de0b6b3a764000060068190556007556000600e819055600f8190556010908155601155606460128190556014601555601655601a805460ff199081169091556207a120601b55601c80548216600190811761ff001916612d0017909155601e805490921617905566038d7ea4c68000601f55348015620000e157600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601780549092167310ed43c718714eb63d5aa57b78b54704e256024e1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200017157600080fd5b505afa15801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b5051600354604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b158015620001f557600080fd5b505af11580156200020a573d6000803e3d6000fd5b505050506040513d60208110156200022157600080fd5b5051601880546001600160a01b0319166001600160a01b03928316179055306000908152600960209081526040808320601780548616855292529182902060001990555490519116906200027590620003cd565b6001600160a01b03909116815260405190819003602001906000f080158015620002a3573d6000803e3d6000fd5b50601a8054610100600160a81b0319166101006001600160a01b0393841602179055336000818152600a60209081526040808320805460ff199081166001908117909255600b84528285208054821683179055600c845282852080548216831790556004805488168652838620805483168417905530808752848720805484168517905560185489168752600d8652848720805484168517905586528386208054831684179055805488168652838620805490921690921790555460138054919096166001600160a01b0319918216179095556014805490951684179094556006548383526008825284832081905584519081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3620003db565b610ec28062002bb583390190565b6127ca80620003eb6000396000f3fe6080604052600436106102815760003560e01c8063722b62ad1161014f578063ca33e64c116100c1578063f2fde38b1161007a578063f2fde38b14610a1d578063f708a64f14610a50578063f84ba65d14610a8b578063f887ea4014610ac6578063fe9fbb8014610adb578063ffb54a9914610b0e57610288565b8063ca33e64c14610929578063d51ed1c81461093e578063dd62ed3e14610968578063df20fd49146109a3578063e96fada2146109d5578063f0b37c04146109ea57610288565b80639d1944f5116101135780639d1944f51461082e578063a4b45c0014610858578063a8aa1b3114610893578063a9059cbb146108a8578063b6a5d7de146108e1578063bf56b3711461091457610288565b8063722b62ad146106f45780637d1db4a514610709578063893d20e81461071e5780638bb17a861461074f57806395d89b41146102b457610288565b80632d48e896116101f35780635c85974f116101ac5780635c85974f146105f6578063617fe0ed14610620578063658d4b7f146106355780636ddd1713146106705780636fcba3771461068557806370a08231146106c157610288565b80632d48e896146104c55780632d594567146104f55780632f54bf6e1461052a578063313ce5671461055d57806350db71fb14610588578063571ac8b0146105c357610288565b806318160ddd1161024557806318160ddd146103e95780631da1db5e146103fe5780631df4ccfc14610428578063201e79911461043d57806323b872dd1461046d5780632b112e49146104b057610288565b80630445b6671461028d57806306fdde03146102b4578063095ea7b31461033e5780630d2959801461038b5780631161ae39146103b957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610b23565b60408051918252519081900360200190f35b3480156102c057600080fd5b506102c9610b29565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610b4d565b604080519115158252519081900360200190f35b34801561039757600080fd5b506103b7600480360360208110156103ae57600080fd5b50351515610bb4565b005b3480156103c557600080fd5b50610377600480360360408110156103dc57600080fd5b5080359060200135610c0a565b3480156103f557600080fd5b506102a2610c1e565b34801561040a57600080fd5b506103b76004803603602081101561042157600080fd5b5035610c24565b34801561043457600080fd5b506102a2610caa565b34801561044957600080fd5b506103b76004803603604081101561046057600080fd5b5080359060200135610cb0565b34801561047957600080fd5b506103776004803603606081101561049057600080fd5b506001600160a01b03813581169160208101359091169060400135610d03565b3480156104bc57600080fd5b506102a2610dc5565b3480156104d157600080fd5b506103b7600480360360408110156104e857600080fd5b5080359060200135610e0e565b34801561050157600080fd5b506103b76004803603604081101561051857600080fd5b5080351515906020013560ff16610ed5565b34801561053657600080fd5b506103776004803603602081101561054d57600080fd5b50356001600160a01b0316610f3e565b34801561056957600080fd5b50610572610f52565b6040805160ff9092168252519081900360200190f35b34801561059457600080fd5b506103b7600480360360408110156105ab57600080fd5b506001600160a01b0381351690602001351515610f57565b3480156105cf57600080fd5b50610377600480360360208110156105e657600080fd5b50356001600160a01b0316610fca565b34801561060257600080fd5b506103b76004803603602081101561061957600080fd5b5035610fd8565b34801561062c57600080fd5b50610377611025565b34801561064157600080fd5b506103b76004803603604081101561065857600080fd5b506001600160a01b038135169060200135151561102e565b34801561067c57600080fd5b506103776110a1565b34801561069157600080fd5b506103b7600480360360808110156106a857600080fd5b50803590602081013590604081013590606001356110aa565b3480156106cd57600080fd5b506102a2600480360360208110156106e457600080fd5b50356001600160a01b0316611134565b34801561070057600080fd5b5061057261114f565b34801561071557600080fd5b506102a261115d565b34801561072a57600080fd5b50610733611163565b604080516001600160a01b039092168252519081900360200190f35b34801561075b57600080fd5b506103b76004803603606081101561077257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460208302840111640100000000831117156107d157600080fd5b9193909290916020810190356401000000008111156107ef57600080fd5b82018360208201111561080157600080fd5b8035906020019184602083028401116401000000008311171561082357600080fd5b509092509050611172565b34801561083a57600080fd5b506103b76004803603602081101561085157600080fd5b5035611473565b34801561086457600080fd5b506103b76004803603604081101561087b57600080fd5b506001600160a01b03813581169160200135166114cf565b34801561089f57600080fd5b50610733611545565b3480156108b457600080fd5b50610377600480360360408110156108cb57600080fd5b506001600160a01b038135169060200135611554565b3480156108ed57600080fd5b506103b76004803603602081101561090457600080fd5b50356001600160a01b0316611561565b34801561092057600080fd5b506102a26115cb565b34801561093557600080fd5b506107336115d1565b34801561094a57600080fd5b506102a26004803603602081101561096157600080fd5b50356115e0565b34801561097457600080fd5b506102a26004803603604081101561098b57600080fd5b506001600160a01b0381358116916020013516611620565b3480156109af57600080fd5b506103b7600480360360408110156109c657600080fd5b5080351515906020013561164b565b3480156109e157600080fd5b506107336116aa565b3480156109f657600080fd5b506103b760048036036020811015610a0d57600080fd5b50356001600160a01b03166116b9565b348015610a2957600080fd5b506103b760048036036020811015610a4057600080fd5b50356001600160a01b031661171d565b348015610a5c57600080fd5b506103b760048036036040811015610a7357600080fd5b506001600160a01b03813516906020013515156117ce565b348015610a9757600080fd5b506103b760048036036040811015610aae57600080fd5b506001600160a01b0381351690602001351515611952565b348015610ad257600080fd5b506107336119c5565b348015610ae757600080fd5b5061037760048036036020811015610afe57600080fd5b50356001600160a01b03166119d4565b348015610b1a57600080fd5b506103776119f2565b601f5481565b60408051808201909152600a8152694261627943727970746f60b01b602082015290565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b610bbd33610f3e565b610bf7576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601a805460ff1916911515919091179055565b600082610c16836115e0565b119392505050565b60065490565b610c2d33610f3e565b610c67576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60145460405147916001600160a01b03169060648484020480156108fc02916000818181858888f19350505050158015610ca5573d6000803e3d6000fd5b505050565b60115481565b610cb9336119d4565b610cf8576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601591909155601655565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610db0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610d8b9184906119fb565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610dbb848484611a92565b90505b9392505050565b600554600090610e0990610de1906001600160a01b0316611134565b600454610e0390610dfa906001600160a01b0316611134565b60065490611f3a565b90611f3a565b905090565b610e17336119d4565b610e56576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601a60019054906101000a90046001600160a01b03166001600160a01b0316632d48e89683836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050505050565b610ede33610f3e565b610f18576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601c805460ff19169215159290921761ff00191661010060ff9290921691909102179055565b6000546001600160a01b0390811691161490565b600990565b610f60336119d4565b610f9f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000610bae82600019610b4d565b610fe1336119d4565b611020576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600755565b601c5460ff1681565b611037336119d4565b611076576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b601e5460ff1681565b6110b3336119d4565b6110f2576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600e849055600f83905560108290556111158261110f8686611f7c565b90611f7c565b6011556012819055600481046011541061112e57600080fd5b50505050565b6001600160a01b031660009081526008602052604090205490565b601c54610100900460ff1681565b60075481565b6000546001600160a01b031690565b61117b33610f3e565b6111b5576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60008382146111f55760405162461bcd60e51b81526004018080602001828103825260288152602001806127276028913960400191505060405180910390fd5b60005b848110156112225783838281811061120c57fe5b60200291909101359290920191506001016111f8565b508061122d87611134565b1015611280576040805162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f75676820746f6b656e7320746f2061697264726f7000000000604482015290519081900360640190fd5b60005b848110156113d2576112c38787878481811061129b57fe5b905060200201356001600160a01b03168686858181106112b757fe5b90506020020135611fd6565b50600d60008787848181106112d457fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff166113ca57601a5461010090046001600160a01b03166314b6ca9687878481811061132057fe5b905060200201356001600160a01b0316600860008a8a8781811061134057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020546040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156113b757600080fd5b505af19250505080156113c8575060015b505b600101611283565b506001600160a01b0386166000908152600d602052604090205460ff16610ecd57601a546001600160a01b03878116600081815260086020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b15801561145957600080fd5b505af192505050801561146a575060015b610ecd57610ecd565b61147c336119d4565b6114bb576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620b71b081106114ca57600080fd5b601b55565b6114d8336119d4565b611517576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6018546001600160a01b031681565b6000610dbe338484611a92565b61156a33610f3e565b6115a4576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b60195481565b6013546001600160a01b031681565b6000610bae6115ed610dc5565b60185461161a906116139060029061160d906001600160a01b0316611134565b906120b7565b85906120b7565b90612110565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b611654336119d4565b611693576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601e805460ff191692151592909217909155601f55565b6014546001600160a01b031681565b6116c233610f3e565b6116fc576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b61172633610f3e565b611760576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b6117d7336119d4565b611816576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b038216301480159061183d57506018546001600160a01b03838116911614155b61184657600080fd5b6001600160a01b0382166000908152600d60205260409020805460ff191682158015919091179091556118e857601a5460408051630a5b654b60e11b81526001600160a01b038581166004830152600060248301819052925161010090940416926314b6ca969260448084019391929182900301818387803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b5050505061194e565b601a546001600160a01b03838116600081815260086020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b158015610eb957600080fd5b5050565b61195b336119d4565b61199a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6017546001600160a01b031681565b6001600160a01b031660009081526001602052604090205460ff1690565b601a5460ff1681565b60008184841115611a8a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a4f578181015183820152602001611a37565b50505050905090810190601f168015611a7c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60205460009060ff1615611ab257611aab848484611fd6565b9050610dbe565b6001600160a01b03841660009081526001602052604090205460ff16158015611af457506001600160a01b03831660009081526001602052604090205460ff16155b15611b4757601a5460ff16611b47576040805162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015290519081900360640190fd5b6018546001600160a01b038581169116148015611b665750601c5460ff165b8015611b8b57506001600160a01b0383166000908152600c602052604090205460ff16155b15611c0f576001600160a01b0383166000908152601d60205260409020544211611be65760405162461bcd60e51b815260040180806020018281038252602581526020018061274f6025913960400191505060405180910390fd5b601c546001600160a01b0384166000908152601d6020526040902061010090910460ff16420190555b611c198483612152565b611c216121c0565b15611c2e57611c2e61220f565b611c366125f2565b158015611c5057506018546001600160a01b038481169116145b15611c7f576001600160a01b038416600090815260086020526040902054611c7757600080fd5b611c7f6125fa565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611cd19184906119fb565b6001600160a01b038516600090815260086020526040812091909155611cf685612600565b611d005782611d0a565b611d0a858461261f565b6001600160a01b038516600090815260086020526040902054909150611d309082611f7c565b6001600160a01b038086166000908152600860209081526040808320949094559188168152600d909152205460ff16611ddc57601a546001600160a01b03868116600081815260086020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b158015611dc957600080fd5b505af1925050508015611dda575060015b505b6001600160a01b0384166000908152600d602052604090205460ff16611e7557601a546001600160a01b03858116600081815260086020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b158015611e6257600080fd5b505af1925050508015611e73575060015b505b601a60019054906101000a90046001600160a01b03166001600160a01b031663ffb2c479601b546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611ed257600080fd5b505af1925050508015611ee3575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3506001949350505050565b6000610dbe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119fb565b600082820183811015610dbe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546120279184906119fb565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546120569083611f7c565b6001600160a01b0380851660008181526008602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000826120c657506000610bae565b828202828482816120d357fe5b0414610dbe5760405162461bcd60e51b81526004018080602001828103825260218152602001806127746021913960400191505060405180910390fd5b6000610dbe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126c1565b6007548111158061217b57506001600160a01b0382166000908152600b602052604090205460ff165b61194e576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6018546000906001600160a01b031633148015906121e1575060205460ff16155b80156121ef5750601e5460ff165b8015610e09575050601f5430600090815260086020526040902054101590565b6020805460ff1916600117905560155460165460009161222e91610c0a565b61223a57600e5461223d565b60005b90506000612261600261161a60115461161a86601f546120b790919063ffffffff16565b9050600061227a82601f54611f3a90919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106122ae57fe5b6001600160a01b0392831660209182029290920101526003548251911690829060019081106122d957fe5b6001600160a01b0392831660209182029290920181019190915260175460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b8381101561237357818101518382015260200161235b565b505050509050019650505050505050600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b5050505060006123c98247611f3a90919063ffffffff16565b905060006123e46123db886002612110565b60115490611f3a565b905060006123f9600261161a8481878d6120b7565b905060006124168361161a600f54876120b790919063ffffffff16565b905060006124338461161a601054886120b790919063ffffffff16565b9050601a60019054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561248557600080fd5b505af193505050508015612497575060015b506014546040516000916001600160a01b03169061753090849084818181858888f193505050503d80600081146124ea576040519150601f19603f3d011682016040523d82523d6000602084013e6124ef565b606091505b5060009250508a1590506125db576017546013546040805163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b15801561257257600080fd5b505af1158015612586573d6000803e3d6000fd5b50505050506040513d606081101561259d57600080fd5b505060408051858152602081018c905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b50506020805460ff19169055505050505050505050565b601954151590565b43601955565b6001600160a01b03166000908152600a602052604090205460ff161590565b60008061263d60125461161a601154866120b790919063ffffffff16565b3060009081526008602052604090205490915061265a9082611f7c565b30600081815260086020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36126b98382611f3a565b949350505050565b600081836127105760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611a4f578181015183820152602001611a37565b50600083858161271c57fe5b049594505050505056fe4d69736d61746368206265747765656e204164647265737320616e6420746f6b656e20636f756e74506c65617365207761697420666f7220636f6f6c646f776e206265747765656e2062757973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212205ad42055e6f68ecf59077afbbd37eecd40af4c4895869454fe8becac34688ef564736f6c634300070600336080604052600180546001600160a01b031990811673154a9f9cbd3449ad22fdae23044319d6ef2a1fab179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610ec2380380610ec2833981810160405260208110156100a057600080fd5b50516001600160a01b0381166100ca577310ed43c718714eb63d5aa57b78b54704e256024e6100cc565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610dbc806101066000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f761075b565b34801561026057600080fd5b506100f7610761565b34801561027557600080fd5b50610142610767565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b5035610772565b3480156102b457600080fd5b506100f7610854565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b03821660009081526007602052604090205415610301576103018261085a565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a5761033582610982565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d826109e3565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610ad0565b90610b1b565b6008556001600160a01b03821660009081526007602052604090208190556103c581610b75565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610b75565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610ad0565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b50516040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061059757fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105c157fe5b6001600160a01b0392831660209182029290920181019190915260035460405163b6f9de9560e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763b6f9de9597349795968b969495939460a49091019187810191028083838b5b8381101561065357818101518382015260200161063b565b50505050905001955050505050506000604051808303818588803b15801561067a57600080fd5b505af115801561068e573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061071994508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d602081101561071157600080fd5b505190610ad0565b6009549091506107299082610b1b565b600955600854600c546107539161074a916107449085610b92565b90610beb565b600b5490610b1b565b600b55505050565b600b5481565b600a5481565b6107703361085a565b565b6000546001600160a01b0316331461078957600080fd5b600454806107975750610851565b6000805a905060005b84831080156107ae57508381105b1561084c5783600f54106107c2576000600f555b6107ee6004600f54815481106107d457fe5b6000918252602090912001546001600160a01b0316610c2d565b1561081f5761081f6004600f548154811061080557fe5b6000918252602090912001546001600160a01b031661085a565b61083461082d5a8490610ad0565b8490610b1b565b92505a600f80546001908101909155909250016107a0565b505050505b50565b600d5481565b6001600160a01b03811660009081526007602052604090205461087c57610851565b6000610887826103e8565b9050801561097e57600a5461089c9082610b1b565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b505050506040513d602081101561091f57600080fd5b50506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109549082610b1b565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610b75565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319169091179055565b6004805460001981019081106109f557fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a2d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610a7b57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610aab57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610b1283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c69565b90505b92915050565b600082820183811015610b12576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b15600c54610744600b5485610b9290919063ffffffff16565b600082610ba157506000610b15565b82820282848281610bae57fe5b0414610b125760405162461bcd60e51b8152600401808060200182810382526021815260200180610d666021913960400191505060405180910390fd5b6000610b1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d00565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610b155750600e54610c62836103e8565b1192915050565b60008184841115610cf85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cbd578181015183820152602001610ca5565b50505050905090810190601f168015610cea5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610d4f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cbd578181015183820152602001610ca5565b506000838581610d5b57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212202be87f0371f2276606b0921010f2c8039d766c8462d714bc417dc8a7d9065baa64736f6c63430007060033

Deployed ByteCode Sourcemap

11668:13752:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13336:56;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;14957:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15379:216;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15379:216:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;19512:94;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19512:94:0;;;;:::i;:::-;;24334:150;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24334:150:0;;;;;;;:::i;14687:88::-;;;;;;;;;;;;;:::i;19262:217::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19262:217:0;;:::i;12661:28::-;;;;;;;;;;;;;:::i;23479:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23479:183:0;;;;;;;:::i;15891:364::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15891:364:0;;;;;;;;;;;;;;;;;:::i;24009:142::-;;;;;;;;;;;;;:::i;23670:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23670:183:0;;;;;;;:::i;19653:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19653:164:0;;;;;;;;;;;:::i;3476:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3476:103:0;-1:-1:-1;;;;;3476:103:0;;:::i;14781:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22510:130;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22510:130:0;;;;;;;;;;:::i;15603:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15603:116:0;-1:-1:-1;;;;;15603:116:0;;:::i;21787:96::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21787:96:0;;:::i;13153:37::-;;;;;;;;;;;;;:::i;22246:120::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22246:120:0;;;;;;;;;;:::i;13299:30::-;;;;;;;;;;;;;:::i;22648:423::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22648:423:0;;;;;;;;;;;;;;;;;:::i;15127:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15127:105:0;-1:-1:-1;;;;;15127:105:0;;:::i;13197:39::-;;;;;;;;;;;;;:::i;12189:54::-;;;;;;;;;;;;;:::i;15043:78::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;15043:78:0;;;;;;;;;;;;;;24519:832;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24519:832:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24519:832:0;;-1:-1:-1;24519:832:0;-1:-1:-1;24519:832:0;:::i;23861:136::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23861:136:0;;:::i;23079:228::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23079:228:0;;;;;;;;;;:::i;12936:19::-;;;;;;;;;;;;;:::i;15727:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15727:156:0;;;;;;;;:::i;3149:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3149:94:0;-1:-1:-1;;;;;3149:94:0;;:::i;12964:25::-;;;;;;;;;;;;;:::i;12734:36::-;;;;;;;;;;;;;:::i;24159:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24159:167:0;;:::i;15238:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15238:133:0;;;;;;;;;;:::i;23315:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23315:156:0;;;;;;;;;:::i;12777:35::-;;;;;;;;;;;;;:::i;3319:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3319:97:0;-1:-1:-1;;;;;3319:97:0;;:::i;3876:173::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3876:173:0;-1:-1:-1;;;;;3876:173:0;;:::i;21891:347::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21891:347:0;;;;;;;;;;:::i;22374:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22374:128:0;;;;;;;;;;:::i;12905:24::-;;;;;;;;;;;;;:::i;3650:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3650:107:0;-1:-1:-1;;;;;3650:107:0;;:::i;12996:31::-;;;;;;;;;;;;;:::i;13336:56::-;;;;:::o;14957:80::-;15029:5;;;;;;;;;;;;-1:-1:-1;;;15029:5:0;;;;14957:80;:::o;15379:216::-;15483:10;15454:4;15471:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;15471:32:0;;;;;;;;;;;:41;;;15528:37;;;;;;;15454:4;;15471:32;;15483:10;;15528:37;;;;;;;;-1:-1:-1;15583:4:0;15379:216;;;;;:::o;19512:94::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;19577:11:::1;:21:::0;;-1:-1:-1;;19577:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19512:94::o;24334:150::-;24414:4;24470:6;24438:29;24458:8;24438:19;:29::i;:::-;:38;;24334:150;-1:-1:-1;;;24334:150:0:o;14687:88::-;14760:12;;14687:88;:::o;19262:217::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;19405:20:::1;::::0;19397:74:::1;::::0;19365:21:::1;::::0;-1:-1:-1;;;;;19405:20:0::1;::::0;19467:3:::1;19436:28:::0;;::::1;:34;19397:74:::0;::::1;;;::::0;::::1;::::0;;;19436:34;19405:20;19397:74;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;2897:1;19262:217:::0;:::o;12661:28::-;;;;:::o;23479:183::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;23577:15:::1;:25:::0;;;;23613:26:::1;:41:::0;23479:183::o;15891:364::-;-1:-1:-1;;;;;16011:19:0;;15991:4;16011:19;;;:11;:19;;;;;;;;16031:10;16011:31;;;;;;;;-1:-1:-1;;16011:46:0;16008:180;;16107:69;;;;;;;;;;;-1:-1:-1;;;16107:69:0;;;;;;;;-1:-1:-1;;;;;16107:19:0;;-1:-1:-1;16107:19:0;;;:11;:19;;;;;16127:10;16107:31;;;;;;;;;;:69;;16143:6;;16107:35;:69::i;:::-;-1:-1:-1;;;;;16073:19:0;;;;;;:11;:19;;;;;;;;16093:10;16073:31;;;;;;;:103;16008:180;16207:40;16221:6;16229:9;16240:6;16207:13;:40::i;:::-;16200:47;;15891:364;;;;;;:::o;24009:142::-;24137:4;;24062:7;;24089:54;;24127:15;;-1:-1:-1;;;;;24137:4:0;24127:9;:15::i;:::-;24116:4;;24089:33;;24106:15;;-1:-1:-1;;;;;24116:4:0;24106:9;:15::i;:::-;24089:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;24082:61;;24009:142;:::o;23670:183::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;23780:11:::1;;;;;;;;;-1:-1:-1::0;;;;;23780:11:0::1;-1:-1:-1::0;;;;;23780:35:0::1;;23816:10;23828:16;23780:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23670:183:::0;;:::o;19653:164::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;19737:18:::1;:28:::0;;-1:-1:-1;;19737:28:0::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;19776:33:0::1;19737:28;;19776:33:::0;;;::::1;::::0;;;::::1;;::::0;;19653:164::o;3476:103::-;3531:4;3566:5;-1:-1:-1;;;;;3566:5:0;;;3555:16;;;;3476:103::o;14781:80::-;12120:1;14781:80;:::o;22510:130::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22599:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;22599:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22510:130::o;15603:116::-;15658:4;15682:29;15690:7;-1:-1:-1;;15682:7:0;:29::i;21787:96::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;21854:12:::1;:21:::0;21787:96::o;13153:37::-;;;;;;:::o;22246:120::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22330:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;22330:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22246:120::o;13299:30::-;;;;;;:::o;22648:423::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;22791:12:::1;:28:::0;;;22830:13:::1;:30:::0;;;22871:12:::1;:28:::0;;;22921:52:::1;22886:13:::0;22921:33:::1;22806:13:::0;22846:14;22921:17:::1;:33::i;:::-;:37:::0;::::1;:52::i;:::-;22910:8;:63:::0;22984:14:::1;:32:::0;;;23061:1:::1;23001:15:::0;23046:16:::1;23035:8;;:27;23027:36;;;::::0;::::1;;22648:423:::0;;;;:::o;15127:105::-;-1:-1:-1;;;;;15211:18:0;15193:7;15211:18;;;:9;:18;;;;;;;15127:105::o;13197:39::-;;;;;;;;;:::o;12189:54::-;;;;:::o;15043:78::-;15095:7;15113:5;-1:-1:-1;;;;;15113:5:0;15043:78;:::o;24519:832::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;24638:22:::1;24681:33:::0;;::::1;24673:85;;;;-1:-1:-1::0;;;24673:85:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24771:6;24767:102;24781:20:::0;;::::1;24767:102;;;24852:6;;24859:1;24852:9;;;;;;;;;::::0;;;::::1;;24835:26:::0;;;::::1;::::0;-1:-1:-1;24803:3:0::1;;24767:102;;;;24904:14;24885:15;24895:4;24885:9;:15::i;:::-;:33;;24877:74;;;::::0;;-1:-1:-1;;;24877:74:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;24964:6;24960:250;24974:20:::0;;::::1;24960:250;;;25011:43;25026:4;25031:9;;25041:1;25031:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;25031:12:0::1;25044:6;;25051:1;25044:9;;;;;;;;;;;;;25011:14;:43::i;:::-;;25069:16;:30;25086:9;;25096:1;25086:12;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;25086:12:0::1;25069:30:::0;;-1:-1:-1;25069:30:0;::::1;::::0;;;;;;-1:-1:-1;25069:30:0;;::::1;;25065:138;;25120:11;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;25120:11:0::1;:20;25141:9:::0;;25151:1;25141:12;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;25141:12:0::1;25155:9;:23;25165:9;;25175:1;25165:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;25165:12:0::1;-1:-1:-1::0;;;;;25155:23:0::1;-1:-1:-1::0;;;;;25155:23:0::1;;;;;;;;;;;;;25120:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;25120:59:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;25116:75:::0;::::1;24996:3;;24960:250;;;-1:-1:-1::0;;;;;;25247:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;25243:105;;25286:11;::::0;-1:-1:-1;;;;;25313:15:0;;::::1;;::::0;;;:9:::1;:15;::::0;;;;;;25286:43;;-1:-1:-1;;;25286:43:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11:::1;::::0;;::::1;::::0;;::::1;::::0;:20:::1;::::0;:43;;;;;25313:15;;25286:43;;;;;;25313:15;25286:11;:43;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;;;;;25282:59;;;;23861:136:::0;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;23951:6:::1;23945:3;:12;23937:21;;;::::0;::::1;;23969:14;:20:::0;23861:136::o;23079:228::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;23198:21:::1;:46:::0;;-1:-1:-1;;;;;23198:46:0;;::::1;-1:-1:-1::0;;;;;;23198:46:0;;::::1;;::::0;;;23255:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;23079:228::o;12936:19::-;;;-1:-1:-1;;;;;12936:19:0;;:::o;15727:156::-;15807:4;15831:44;15845:10;15857:9;15868:6;15831:13;:44::i;3149:94::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3209:19:0::1;;::::0;;;3231:4:::1;3209:19;::::0;;;;;;;:26;;-1:-1:-1;;3209:26:0::1;::::0;;::::1;::::0;;3149:94::o;12964:25::-;;;;:::o;12734:36::-;;;-1:-1:-1;;;;;12734:36:0;;:::o;24159:167::-;24227:7;24254:64;24295:22;:20;:22::i;:::-;24277:4;;24254:36;;24267:22;;24287:1;;24267:15;;-1:-1:-1;;;;;24277:4:0;24267:9;:15::i;:::-;:19;;:22::i;:::-;24254:8;;:12;:36::i;:::-;:40;;:64::i;15238:133::-;-1:-1:-1;;;;;15340:19:0;;;15322:7;15340:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;15238:133::o;23315:156::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;23407:11:::1;:22:::0;;-1:-1:-1;;23407:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;23440:13:::1;:23:::0;23315:156::o;12777:35::-;;;-1:-1:-1;;;;;12777:35:0;;:::o;3319:97::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3381:19:0::1;3403:5;3381:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3381:27:0::1;::::0;;3319:97::o;3876:173::-;2865:19;2873:10;2865:7;:19::i;:::-;2857:38;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;-1:-1:-1;;;2857:38:0;;;;;;;;;;;;;;;3952:5:::1;:11:::0;;-1:-1:-1;;;;;;3952:11:0::1;-1:-1:-1::0;;;;;3952:11:0;::::1;::::0;;::::1;::::0;;3974:19;;;-1:-1:-1;3974:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3974:26:0::1;::::0;;::::1;::::0;;;4016:25;;;;;;;::::1;::::0;;;;;;;;;::::1;3876:173:::0;:::o;21891:347::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;21988:23:0;::::1;22006:4;21988:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;22025:4:0::1;::::0;-1:-1:-1;;;;;22015:14:0;;::::1;22025:4:::0;::::1;22015:14;;21988:41;21980:50;;;::::0;::::1;;-1:-1:-1::0;;;;;22041:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;22041:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;22085:146:::1;;22110:11;::::0;:31:::1;::::0;;-1:-1:-1;;;22110:31:0;;-1:-1:-1;;;;;22110:31:0;;::::1;;::::0;::::1;::::0;22139:1:::1;22110:31:::0;;;;;;;;:11:::1;::::0;;::::1;;::::0;:20:::1;::::0;:31;;;;;22139:1;;22110:31;;;;;;22139:1;22110:11;:31;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22085:146;;;22172:11;::::0;-1:-1:-1;;;;;22201:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;22172:47;;-1:-1:-1;;;22172:47:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11:::1;::::0;;::::1;::::0;;::::1;::::0;:20:::1;::::0;:47;;;;;22201:17;;22172:47;;;;;;22201:17;22172:11;:47;::::1;;::::0;::::1;;;;::::0;::::1;22085:146;21891:347:::0;;:::o;22374:128::-;3034:24;3047:10;3034:12;:24::i;:::-;3026:48;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;-1:-1:-1;;;3026:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22462:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;22462:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22374:128::o;12905:24::-;;;-1:-1:-1;;;;;12905:24:0;;:::o;3650:107::-;-1:-1:-1;;;;;3730:19:0;3706:4;3730:19;;;:14;:19;;;;;;;;;3650:107::o;12996:31::-;;;;;;:::o;535:192::-;621:7;657:12;649:6;;;;641:29;;;;-1:-1:-1;;;641:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;693:5:0;;;535:192::o;16263:1807::-;16375:6;;16355:4;;16375:6;;16372:63;;;16391:41;16406:6;16414:9;16425:6;16391:14;:41::i;:::-;16384:48;;;;16372:63;-1:-1:-1;;;;;16451:22:0;;;;;;:14;:22;;;;;;;;16450:23;:53;;;;-1:-1:-1;;;;;;16478:25:0;;;;;;:14;:25;;;;;;;;16477:26;16450:53;16447:127;;;16527:11;;;;16519:43;;;;;-1:-1:-1;;;16519:43:0;;;;;;;;;;;;-1:-1:-1;;;16519:43:0;;;;;;;;;;;;;;;16696:4;;-1:-1:-1;;;;;16686:14:0;;;16696:4;;16686:14;:49;;;;-1:-1:-1;16717:18:0;;;;16686:49;:94;;;;-1:-1:-1;;;;;;16753:27:0;;;;;;:16;:27;;;;;;;;16752:28;16686:94;16682:299;;;-1:-1:-1;;;;;16805:24:0;;;;;;:13;:24;;;;;;16832:15;-1:-1:-1;16797:91:0;;;;-1:-1:-1;;;16797:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16948:21;;-1:-1:-1;;;;;16903:24:0;;;;;;:13;:24;;;;;16948:21;;;;;;16930:15;:39;16903:66;;16682:299;17036:28;17049:6;17057;17036:12;:28::i;:::-;17121:16;:14;:16::i;:::-;17118:35;;;17140:10;:8;:10::i;:::-;17222;:8;:10::i;:::-;17221:11;:32;;;;-1:-1:-1;17249:4:0;;-1:-1:-1;;;;;17236:17:0;;;17249:4;;17236:17;17221:32;17218:117;;;-1:-1:-1;;;;;17278:17:0;;17298:1;17278:17;;;:9;:17;;;;;;17270:30;;;;;;17315:8;:6;:8::i;:::-;17394:53;;;;;;;;;;;-1:-1:-1;;;17394:53:0;;;;;;;;-1:-1:-1;;;;;17394:17:0;;-1:-1:-1;17394:17:0;;;:9;:17;;;;;;;;:53;;17416:6;;17394:21;:53::i;:::-;-1:-1:-1;;;;;17374:17:0;;;;;;:9;:17;;;;;:73;;;;17485:21;17384:6;17485:13;:21::i;:::-;:56;;17535:6;17485:56;;;17509:23;17517:6;17525;17509:7;:23::i;:::-;-1:-1:-1;;;;;17575:20:0;;;;;;:9;:20;;;;;;17460:81;;-1:-1:-1;17575:40:0;;17460:81;17575:24;:40::i;:::-;-1:-1:-1;;;;;17552:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;17661:24;;;;;:16;:24;;;;;;;17657:119;;17706:11;;-1:-1:-1;;;;;17735:17:0;;;;;;;:9;:17;;;;;;;17706:47;;-1:-1:-1;;;17706:47:0;;;;;;;;;;;;;;:11;;;;;;;;:20;;:47;;;;;17735:17;;17706:47;;;;;;17735:17;17706:11;:47;;;;;;;;;;;;;;;;;;;;;;;;;17702:63;;-1:-1:-1;;;;;17792:27:0;;;;;;:16;:27;;;;;;;;17788:129;;17840:11;;-1:-1:-1;;;;;17872:20:0;;;;;;;:9;:20;;;;;;;17840:53;;-1:-1:-1;;;17840:53:0;;;;;;;;;;;;;;:11;;;;;;;;:20;;:53;;;;;17872:20;;17840:53;;;;;;17872:20;17840:11;:53;;;;;;;;;;;;;;;;;;;;;;;;;17836:69;;17933:11;;;;;;;;;-1:-1:-1;;;;;17933:11:0;-1:-1:-1;;;;;17933:19:0;;17953:14;;17933:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17929:51;18014:9;-1:-1:-1;;;;;17997:43:0;18006:6;-1:-1:-1;;;;;17997:43:0;;18025:14;17997:43;;;;;;;;;;;;;;;;;;-1:-1:-1;18058:4:0;;16263:1807;-1:-1:-1;;;;16263:1807:0:o;393:136::-;451:7;478:43;482:1;485;478:43;;;;;;;;;;;;;;;;;:3;:43::i;206:181::-;264:7;296:5;;;320:6;;;;312:46;;;;;-1:-1:-1;;;312:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18082:330;18212:53;;;;;;;;;;;-1:-1:-1;;;18212:53:0;;;;;;;;-1:-1:-1;;;;;18212:17:0;;18175:4;18212:17;;;:9;:17;;;;;;;:53;;18234:6;;18212:21;:53::i;:::-;-1:-1:-1;;;;;18192:17:0;;;;;;;:9;:17;;;;;;:73;;;;18299:20;;;;;;;:32;;18324:6;18299:24;:32::i;:::-;-1:-1:-1;;;;;18276:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;18347:35;;;;;;;18276:20;;18347:35;;;;;;;;;;;;;-1:-1:-1;18400:4:0;18082:330;;;;;:::o;733:250::-;791:7;815:6;811:47;;-1:-1:-1;845:1:0;838:8;;811:47;882:5;;;886:1;882;:5;:1;906:5;;;;;:10;898:56;;;;-1:-1:-1;;;898:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;989:132;1047:7;1074:39;1078:1;1081;1074:39;;;;;;;;;;;;;;;;;:3;:39::i;18420:166::-;18517:12;;18507:6;:22;;:49;;;-1:-1:-1;;;;;;18533:23:0;;;;;;:15;:23;;;;;;;;18507:49;18499:79;;;;;-1:-1:-1;;;18499:79:0;;;;;;;;;;;;-1:-1:-1;;;18499:79:0;;;;;;;;;;;;;;19057:197;19144:4;;19106;;-1:-1:-1;;;;;19144:4:0;19130:10;:18;;;;:38;;-1:-1:-1;19162:6:0;;;;19161:7;19130:38;:62;;;;-1:-1:-1;19181:11:0;;;;19130:62;:116;;;;-1:-1:-1;;19233:13:0;;19223:4;19205:24;;;;:9;:24;;;;;;:41;;;19057:197::o;19829:1766::-;13458:6;:13;;-1:-1:-1;;13458:13:0;13467:4;13458:13;;;19924:15:::1;::::0;19941:26:::1;::::0;13458:6;;19908:60:::1;::::0;:15:::1;:60::i;:::-;:79;;19975:12;;19908:79;;;19971:1;19908:79;19878:109;;19998:23;20024:59;20081:1;20024:52;20067:8;;20024:38;20042:19;20024:13;;:17;;:38;;;;:::i;:59::-;19998:85;;20094:20;20117:34;20135:15;20117:13;;:17;;:34;;;;:::i;:::-;20188:16;::::0;;20202:1:::1;20188:16:::0;;;;;::::1;::::0;;20094:57;;-1:-1:-1;20164:21:0::1;::::0;20188:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20188:16:0::1;20164:40;;20233:4;20215;20220:1;20215:7;;;;;;;;-1:-1:-1::0;;;;;20215:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;20259:4:::1;::::0;20249:7;;20259:4;::::1;::::0;20249;;20259;;20249:7;::::1;;;;;-1:-1:-1::0;;;;;20249:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;20334:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;20334:188:0;;::::1;::::0;::::1;::::0;;;20276:21:::1;20334:188:::0;;;;;;20476:4:::1;20334:188:::0;;;;;;20496:15:::1;20334:188:::0;;;;;;;;;;;;;;;;;;;;;20300:21:::1;::::0;20334:6;;;::::1;::::0;:57:::1;::::0;20406:12;;20276:21;;20449:4;;20334:188;;;;;;;;;;::::1;::::0;::::1;::::0;;;20276:21;20334:188:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20535:17;20555:40;20581:13;20555:21;:25;;:40;;;;:::i;:::-;20535:60:::0;-1:-1:-1;20608:19:0::1;20630:40;20643:26;:19:::0;20667:1:::1;20643:23;:26::i;:::-;20630:8;::::0;;:12:::1;:40::i;:::-;20608:62:::0;-1:-1:-1;20691:26:0::1;20720:58;20776:1;20720:51;20608:62:::0;20720:51;:9;20734:19;20720:13:::1;:34::i;:58::-;20691:87;;20789:27;20819:45;20852:11;20819:28;20833:13;;20819:9;:13;;:28;;;;:::i;:45::-;20789:75;;20875:26;20904:44;20936:11;20904:27;20918:12;;20904:9;:13;;:27;;;;:::i;:44::-;20875:73;;20965:11;;;;;;;;;-1:-1:-1::0;;;;;20965:11:0::1;-1:-1:-1::0;;;;;20965:19:0::1;;20992;20965:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;20961:65:::0;21065:20:::1;::::0;21057:77:::1;::::0;21037:15:::1;::::0;-1:-1:-1;;;;;21065:20:0::1;::::0;21124:5:::1;::::0;21099:18;;21037:15;21057:77;21037:15;21057:77;21099:18;21065:20;21124:5;21057:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;21208:5:0::1;::::0;-1:-1:-1;;21229:19:0;;;-1:-1:-1;21226:362:0::1;;21264:6;::::0;21438:21:::1;::::0;21264:244:::1;::::0;;-1:-1:-1;;;21264:244:0;;21340:4:::1;21264:244;::::0;::::1;::::0;;;;;;;:6:::1;:244:::0;;;;;;;;;;-1:-1:-1;;;;;21438:21:0;;::::1;21264:244:::0;;;;21478:15:::1;21264:244:::0;;;;;;:6;;;::::1;::::0;:22:::1;::::0;21294:18;;21264:244;;;;;::::1;::::0;;;;;;;;;21294:18;21264:6;:244;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;21264:244:0;21528:48;;;;;21264:244:::1;21528:48:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;21226:362;-1:-1:-1::0;;13476:6:0;:14;;-1:-1:-1;;13476:14:0;;;-1:-1:-1;;;;;;;;;19829:1766:0:o;21610:90::-;21677:10;;:15;;21610:90;:::o;21708:71::-;21759:12;21746:10;:25;21708:71::o;18594:114::-;-1:-1:-1;;;;;18681:19:0;18656:4;18681:19;;;:11;:19;;;;;;;;18680:20;;18594:114::o;18716:333::-;18783:7;18803:17;18823:40;18848:14;;18823:20;18834:8;;18823:6;:10;;:20;;;;:::i;:40::-;18921:4;18903:24;;;;:9;:24;;;;;;18803:60;;-1:-1:-1;18903:39:0;;18803:60;18903:28;:39::i;:::-;18894:4;18876:24;;;;:9;:24;;;;;;;;;:66;;;;18958:42;;;;;;;18894:4;;-1:-1:-1;;;;;18958:42:0;;;;;;;;;;;;;19020:21;:6;19031:9;19020:10;:21::i;:::-;19013:28;18716:333;-1:-1:-1;;;;18716:333:0:o;1127:345::-;1213:7;1315:12;1308:5;1300:28;;;;-1:-1:-1;;;1300:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1339:9;1355:1;1351;:5;;;;;;;1127:345;-1:-1:-1;;;;;1127:345:0:o

Swarm Source

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