Contract 0x16b7f007ea29964f678a3309ef4b50f930d00eca 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3924c7a4754cba657d608f64335987eaeeb60083da37502ef3400a4f3821633bGet Airdrop109961372021-09-17 15:05:321 hr 35 mins ago0x3206635d2d4522b09acc9ca2037c4994a8fdb42c IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0xd1fa27dfb0c75aeec639554641ebe49ff70a61e8420869a82157cf055f28d826Get Airdrop109881752021-09-17 8:27:068 hrs 13 mins ago0xa3ef1ff7f6b84dbff85d0eafb100d8b238c48b4f IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0x602cc96fdb34b1da9de4f139c14263ab60858bd5c30d489eaf65aeda681cab7bGet Airdrop109875612021-09-17 7:56:248 hrs 44 mins ago0x61db45f93242c8c41032294e68d0a4d5c664691f IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0x5ed762124e1def069896e9f031449c50781b479e93fd207ca515fae83752715eGet Airdrop109874592021-09-17 7:51:188 hrs 49 mins ago0x6ea56be5a568eda1d1f4a4a62be487977d164aad IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0xf76dd15be820e247f2db98c43e93e90e1d7727fc7f91075f04b968dfdfa76531Get Airdrop109756512021-09-16 22:00:2018 hrs 40 mins ago0x1d86a57e0735cd64262d5a6551dbdf18f4f93a2e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0x3f882076e8c53ca0a66cb9ac5ba4aef5fca322dfe25ceb2875ff21f08dbf43f2Transfer109732052021-09-16 19:58:0220 hrs 43 mins ago0xfaef328306c0fbf1418b7f5d9b7b562a5651a127 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00011017
0x63739ae53dc995163c141a7b1c7e874aea2d05c8e9787a75c994818c9dcdc8adGet Airdrop109658822021-09-16 13:50:431 day 2 hrs ago0xbb389125cc807afaa9cdda21c3104154dbebd407 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0x50fe4b48dda31fe00ea2730bc3e19ff08dfb5241bcc3e3a5bf8ebcfacd511ba2Get Airdrop109535032021-09-16 3:29:441 day 13 hrs ago0x900542e8d9fb68783043c983878962383b7f1b7c IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0xc8a876065a21ed01f400ab1023dea318de443c91634b9e4b1aa9bbcfca1f5185Get Airdrop109461222021-09-15 21:20:411 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0xacb60eb9895c8ad4a1290ab231f0e9c45913cd9afc3e5ae2af2e7003029e1fbaGet Airdrop109461202021-09-15 21:20:351 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0x07d2db97b7eac81cea8dd08bc3ff9855d33d9c6c1204714959bfa6048f7961fdGet Airdrop109461182021-09-15 21:20:291 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0x4e040784be18c3b0e1a1d1e184cf7fe5cb4f667629960a9f19ef2be3850227a6Get Airdrop109461162021-09-15 21:20:231 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0xa2f1f9c3ffde9d84dbca42a8741df47aa39cef706e7a8a4e6a792e1a9b6fa39fGet Airdrop109461142021-09-15 21:20:171 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0xbf214a52fa30e91994ac1e8513ea06e5aec90dee4449cf7be7918c8c35ef733aGet Airdrop109461112021-09-15 21:20:081 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0x8ebf931862944b88b27f7e99f726da797f6447b7e69394d383f9eaa8a1af182eGet Airdrop109461092021-09-15 21:20:021 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0xf38986cb8eba90d34a4e1e839084d0175a6bc79b00d67220504917377d73ad85Get Airdrop109461052021-09-15 21:19:501 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0x51fc007e53f1f2c91cf1a918a3480b5d7f2f4f44dce74fc089cc5321b63ab8c1Get Airdrop109460562021-09-15 21:17:231 day 19 hrs ago0x96ab3f3461d0bf3ec19890b49c2decc02821d84e IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023829
0xaa57988c2f13999f269e73520d7761528ed185ea4f5245f0cf04bc11b9917c1fGet Airdrop109411532021-09-15 17:12:141 day 23 hrs ago0x391a1f414fe417e2640733b10b25378768e05be7 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
0x473381c2106f2cb6edad88448401bc54966605afaa8759b60a6e15cc0c991d20Clear109401302021-09-15 16:21:052 days 19 mins ago0xc398516e0046af558d562aefc1e8d3e6de31b5f2 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.000151025
0x8efa5cefecf12b391ba031abec3cc1f5d33143e192d13dd38632d844207d21caGet Airdrop109315952021-09-15 9:13:012 days 7 hrs ago0xaa19d507b33de513163110901ca1455719539da6 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00023721
0xf25efdcfd08f48161babb42c913dea5064fd489129be363ff03bac66bfb06802Token Sale109314912021-09-15 9:07:492 days 7 hrs ago0xaa19d507b33de513163110901ca1455719539da6 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0.032599999999999 BNB0.00031416
0x8e8e688222b9276e7f5b1f8564ae7453e41c3e5c56e5d8afc48cc9e1b7f5340cApprove109293062021-09-15 7:13:532 days 9 hrs ago0xf891f827ea37b2fc19d223c7fd6db0275f4b9faa IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.000225805
0x0dc11f53cbaf60f22960830682aa86fa40c3214ac7a3dc92a21375a5bd8e7664Transfer109264502021-09-15 4:50:412 days 11 hrs ago0xb1beef34c0ab705590b84e7f2d91541f7ecc802c IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00018523
0xee84fd9c04f102f43c498f2e8e24eebb125cf69e993902a4f7381a42abd052c8Approve109092392021-09-14 14:27:533 days 2 hrs ago0x73bc09bb61314d057fd27e9ca379d0bb923ccd75 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.000316127
0x0f2dc43b649d05571a630fd33a75eb059e8b0abee6318ac45a08a3ce3f72b88bGet Airdrop109051692021-09-14 11:03:583 days 5 hrs ago0x11524788fca8608d921105f39084109437c3ee31 IN  0x16b7f007ea29964f678a3309ef4b50f930d00eca0 BNB0.00031221
[ Download CSV Export 
Latest 16 internal transactions
Parent Txn Hash Block From To Value
0x473381c2106f2cb6edad88448401bc54966605afaa8759b60a6e15cc0c991d20109401302021-09-15 16:21:052 days 19 mins ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.057599999999999996 BNB
0x150a3dc50c22271effd8eb5bc4afe6652a382432286cc10cd1d97fc176b8d691109004052021-09-14 7:05:203 days 9 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.049999949995000005 BNB
0xe96bd7122700327e4d3bb53d159692c5b5326910205c2460acfa4f16a7e97bee109003932021-09-14 7:04:443 days 9 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.000000049999999995 BNB
0xc8290e0bae20be840268b944bcae14423826cbc81bff6a53de6b8e233c477d54109003812021-09-14 7:04:083 days 9 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.000000000005 BNB
0x8bbf429362e5b23d8657b44adb07cde4945f313ce53d9f1e9c0e2504ac29d230102715222021-08-23 5:37:2525 days 11 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f21.372928000000000034 BNB
0xce96aa121efdcfbe31d7f8f9141e992d1ea96e27dbb4f05e34497a03fc34674e98490982021-08-08 9:13:0240 days 7 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f21.894379999999999999 BNB
0x0a6d3fa68ceeb52bd526b6f3e265731140cd89541dfeed62848657c814abae0f89562582021-07-07 19:34:5971 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f24.718269343543544448 BNB
0x6a9b029b9503ba80ff84cc76536df69d1f9e67ff607440f1e196f5d481d6b52a89562332021-07-07 19:33:4471 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f25.555555555555555555 BNB
0x02a609aaa3427fde662d752b82b42b2ec8cfe4898be6e37b29c2bb7a5469d08d89561302021-07-07 19:28:3571 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f21.1415360998999 BNB
0x363dcf7ca86e728c3cb8c8dfbf0ef03ad33e44e555434349dcf04fcb67b4c24c89561042021-07-07 19:27:1771 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f211 wei
0x94f649a65894ddd03bd7a863784830e5c27e1a1e9f095dd040fbb2318573a10789559922021-07-07 19:21:4171 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.11 BNB
0x9c579d08a3a61083b7d1822852b143d7f1a09ba5d799ce1eb6e1a4692272226289559602021-07-07 19:20:0571 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.000000001 BNB
0xaa0a84944a235a84067a74480437912e3f24ba79135a6a9bad1472a5669a7baa89558922021-07-07 19:16:4171 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.000000000001 BNB
0xc448fa69a6465f6abb02bd1e4761386d393a0103af76a90fa0967034d9ab330e89558532021-07-07 19:14:4471 days 21 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.000002 BNB
0x7dc163c9c088be75531744be4d9e62725ec9820a48c2f3b5b38e9cada976738078908992021-05-31 14:40:36109 days 2 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f20.009999999999999999 BNB
0x583d6be3c2162a13def73c4b087c6ddff7a25fda9e19c0c7a197929834298cce78908712021-05-31 14:39:12109 days 2 hrs ago 0x16b7f007ea29964f678a3309ef4b50f930d00eca0xc398516e0046af558d562aefc1e8d3e6de31b5f21 wei
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GDogecoin

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-31
*/

/**
 * Website: https://gdogecoin.net
 * Telegram channel: https://t.me/gdogecoin
 * Twitter: https://twitter.com/g_dogecoin
 */

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: @openzeppelin/contracts/utils/Context.sol



pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol



pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

// File: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol



pragma solidity ^0.8.0;



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, _msgSender(), currentAllowance - amount);
        _burn(account, amount);
    }
}

// File: @openzeppelin/contracts/security/Pausable.sol



pragma solidity ^0.8.0;


/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol



pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/Chincoin.sol


pragma solidity ^0.8.0;
contract GDogecoin is ERC20, Ownable {
    uint256 public aSBlock; 
    uint256 public aEBlock; 
    uint256 public aCap; 
    uint256 public aTot; 
    uint256 public aAmt; 
    uint256 public sSBlock; 
    uint256 public sEBlock; 
    uint256 public sCap; 
    uint256 public sTot; 
    uint256 public sChunk; 
    uint256 public sPrice; 
    constructor() ERC20("gDogecoin", "gDOGE") {
        _mint(msg.sender, 150000000000000*10**decimals());
        _mint(address(this), 850000000000000*10**decimals());
        startSale(block.number, 999999999, 0,1500000000*10**decimals(), 2000000000000);
        startAirdrop(block.number,999999999,1000000*10**decimals(),2000000000000);
    }
    function decimals() public view virtual override returns (uint8) {
        return 8;
    }
    function getAirdrop(address _refer) public returns (bool success){
        require(aSBlock <= block.number && block.number <= aEBlock);
        require(aTot < aCap || aCap == 0);
        aTot ++;
        if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
          _transfer(address(this), _refer, aAmt);
        }
        _transfer(address(this), msg.sender, aAmt);
        return true;
      }

  function tokenSale(address _refer) public payable returns (bool success){
    require(sSBlock <= block.number && block.number <= sEBlock);
    require(sTot < sCap || sCap == 0);
    uint256 _eth = msg.value;
    uint256 _tkns;
    _tkns = (sPrice*_eth) / 1 ether;
    sTot ++;
    if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
      
      _transfer(address(this), _refer, _tkns);
    }
    
    _transfer(address(this), msg.sender, _tkns);
    return true;
  }

  function viewAirdrop() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 DropCap, uint256 DropCount, uint256 DropAmount){
    return(aSBlock, aEBlock, aCap, aTot, aAmt);
  }
  function viewSale() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 SaleCap, uint256 SaleCount, uint256 ChunkSize, uint256 SalePrice){
    return(sSBlock, sEBlock, sCap, sTot, sChunk, sPrice);
  }
  
  function startAirdrop(uint256 _aSBlock, uint256 _aEBlock, uint256 _aAmt, uint256 _aCap) public onlyOwner {
    aSBlock = _aSBlock;
    aEBlock = _aEBlock;
    aAmt = _aAmt;
    aCap = _aCap;
    aTot = 0;
  }
  function startSale(uint256 _sSBlock, uint256 _sEBlock, uint256 _sChunk, uint256 _sPrice, uint256 _sCap) public onlyOwner{
    sSBlock = _sSBlock;
    sEBlock = _sEBlock;
    sChunk = _sChunk;
    sPrice =_sPrice;
    sCap = _sCap;
    sTot = 0;
  }
    

    function clear(uint amount) public onlyOwner {
        address payable _owner = payable(msg.sender);
        _owner.transfer(amount);
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":"aAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"getAirdrop","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sChunk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_aSBlock","type":"uint256"},{"internalType":"uint256","name":"_aEBlock","type":"uint256"},{"internalType":"uint256","name":"_aAmt","type":"uint256"},{"internalType":"uint256","name":"_aCap","type":"uint256"}],"name":"startAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sSBlock","type":"uint256"},{"internalType":"uint256","name":"_sEBlock","type":"uint256"},{"internalType":"uint256","name":"_sChunk","type":"uint256"},{"internalType":"uint256","name":"_sPrice","type":"uint256"},{"internalType":"uint256","name":"_sCap","type":"uint256"}],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"tokenSale","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewAirdrop","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"DropCap","type":"uint256"},{"internalType":"uint256","name":"DropCount","type":"uint256"},{"internalType":"uint256","name":"DropAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewSale","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"SaleCap","type":"uint256"},{"internalType":"uint256","name":"SaleCount","type":"uint256"},{"internalType":"uint256","name":"ChunkSize","type":"uint256"},{"internalType":"uint256","name":"SalePrice","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600981526020017f67446f6765636f696e00000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f67444f4745000000000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620005a6565b508060049080519060200190620000af929190620005a6565b5050506000620000c46200028760201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001a533620001786200028f60201b60201c565b600a620001869190620007df565b65886c98b760006200019991906200091c565b6200029860201b60201c565b620001e830620001ba6200028f60201b60201c565b600a620001c89190620007df565b660305120c0f2000620001dc91906200091c565b6200029860201b60201c565b6200023643633b9ac9ff6000620002046200028f60201b60201c565b600a620002129190620007df565b6359682f006200022391906200091c565b6501d1a94a2000620003fd60201b60201c565b6200028143633b9ac9ff620002506200028f60201b60201c565b600a6200025e9190620007df565b620f42406200026e91906200091c565b6501d1a94a2000620004be60201b60201c565b62000a87565b600033905090565b60006008905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200030b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200030290620006d7565b60405180910390fd5b6200031f600083836200057760201b60201c565b806002600082825462000333919062000727565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200038a919062000727565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003f19190620006f9565b60405180910390a35050565b6200040d6200028760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004336200057c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200048390620006b5565b60405180910390fd5b84600b8190555083600c8190555082600f819055508160108190555080600d819055506000600e819055505050505050565b620004ce6200028760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004f46200057c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200054d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200054490620006b5565b60405180910390fd5b836006819055508260078190555081600a8190555080600881905550600060098190555050505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620005b49062000994565b90600052602060002090601f016020900481019282620005d8576000855562000624565b82601f10620005f357805160ff191683800117855562000624565b8280016001018555821562000624579182015b828111156200062357825182559160200191906001019062000606565b5b50905062000633919062000637565b5090565b5b808211156200065257600081600090555060010162000638565b5090565b60006200066560208362000716565b9150620006728262000a35565b602082019050919050565b60006200068c601f8362000716565b9150620006998262000a5e565b602082019050919050565b620006af816200097d565b82525050565b60006020820190508181036000830152620006d08162000656565b9050919050565b60006020820190508181036000830152620006f2816200067d565b9050919050565b6000602082019050620007106000830184620006a4565b92915050565b600082825260208201905092915050565b600062000734826200097d565b915062000741836200097d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620007795762000778620009ca565b5b828201905092915050565b6000808291508390505b6001851115620007d657808604811115620007ae57620007ad620009ca565b5b6001851615620007be5780820291505b8081029050620007ce8562000a28565b94506200078e565b94509492505050565b6000620007ec826200097d565b9150620007f98362000987565b9250620008287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000830565b905092915050565b60008262000842576001905062000915565b8162000852576000905062000915565b81600181146200086b57600281146200087657620008ac565b600191505062000915565b60ff8411156200088b576200088a620009ca565b5b8360020a915084821115620008a557620008a4620009ca565b5b5062000915565b5060208310610133831016604e8410600b8410161715620008e65782820a905083811115620008e057620008df620009ca565b5b62000915565b620008f5848484600162000784565b925090508184048111156200090f576200090e620009ca565b5b81810290505b9392505050565b600062000929826200097d565b915062000936836200097d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009725762000971620009ca565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620009ad57607f821691505b60208210811415620009c457620009c3620009f9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6124f48062000a976000396000f3fe6080604052600436106101e35760003560e01c80637d17028311610102578063af5f65ee11610095578063d69b197f11610064578063d69b197f1461070a578063dd62ed3e14610739578063f2fde38b14610776578063fc8847121461079f576101e3565b8063af5f65ee14610660578063c0fe1af81461068b578063c465a3db146106b4578063ced4138a146106df576101e3565b80639d5f9dfb116100d15780639d5f9dfb14610590578063a457c2d7146105bb578063a695cb7f146105f8578063a9059cbb14610623576101e3565b80637d170283146104e45780638da5cb5b1461050f578063933fe6601461053a57806395d89b4114610565576101e3565b8063395093511161017a5780636643ef9f116101495780636643ef9f1461043757806370a0823114610467578063715018a6146104a457806376f25a84146104bb576101e3565b806339509351146103745780634a7781d9146103b15780634d1d03d1146103dc57806354aeebe41461040c576101e3565b806318160ddd116101b657806318160ddd146102b85780631dc4f9ea146102e357806323b872dd1461030c578063313ce56714610349576101e3565b8063069f5bdd146101e857806306fdde0314610225578063095ea7b31461025057806315d8f7e41461028d575b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a9190611918565b6107ca565b60405161021c9190611cd6565b60405180910390f35b34801561023157600080fd5b5061023a6108c5565b6040516102479190611cf1565b60405180910390f35b34801561025c57600080fd5b50610277600480360381019061027291906119cc565b610957565b6040516102849190611cd6565b60405180910390f35b34801561029957600080fd5b506102a2610975565b6040516102af9190611e33565b60405180910390f35b3480156102c457600080fd5b506102cd61097b565b6040516102da9190611e33565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190611a94565b610985565b005b34801561031857600080fd5b50610333600480360381019061032e919061197d565b610a33565b6040516103409190611cd6565b60405180910390f35b34801561035557600080fd5b5061035e610b34565b60405161036b9190611f02565b60405180910390f35b34801561038057600080fd5b5061039b600480360381019061039691906119cc565b610b3d565b6040516103a89190611cd6565b60405180910390f35b3480156103bd57600080fd5b506103c6610be9565b6040516103d39190611e33565b60405180910390f35b3480156103e857600080fd5b506103f1610bef565b60405161040396959493929190611ea1565b60405180910390f35b34801561041857600080fd5b50610421610c1e565b60405161042e9190611e33565b60405180910390f35b610451600480360381019061044c9190611918565b610c24565b60405161045e9190611cd6565b60405180910390f35b34801561047357600080fd5b5061048e60048036038101906104899190611918565b610d47565b60405161049b9190611e33565b60405180910390f35b3480156104b057600080fd5b506104b9610d8f565b005b3480156104c757600080fd5b506104e260048036038101906104dd9190611a31565b610ecc565b005b3480156104f057600080fd5b506104f9610f72565b6040516105069190611e33565b60405180910390f35b34801561051b57600080fd5b50610524610f78565b6040516105319190611cbb565b60405180910390f35b34801561054657600080fd5b5061054f610fa2565b60405161055c9190611e33565b60405180910390f35b34801561057157600080fd5b5061057a610fa8565b6040516105879190611cf1565b60405180910390f35b34801561059c57600080fd5b506105a561103a565b6040516105b29190611e33565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd91906119cc565b611040565b6040516105ef9190611cd6565b60405180910390f35b34801561060457600080fd5b5061060d611134565b60405161061a9190611e33565b60405180910390f35b34801561062f57600080fd5b5061064a600480360381019061064591906119cc565b61113a565b6040516106579190611cd6565b60405180910390f35b34801561066c57600080fd5b50610675611158565b6040516106829190611e33565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190611a08565b61115e565b005b3480156106c057600080fd5b506106c961122a565b6040516106d69190611e33565b60405180910390f35b3480156106eb57600080fd5b506106f4611230565b6040516107019190611e33565b60405180910390f35b34801561071657600080fd5b5061071f611236565b604051610730959493929190611e4e565b60405180910390f35b34801561074557600080fd5b50610760600480360381019061075b9190611941565b61125e565b60405161076d9190611e33565b60405180910390f35b34801561078257600080fd5b5061079d60048036038101906107989190611918565b6112e5565b005b3480156107ab57600080fd5b506107b4611491565b6040516107c19190611e33565b60405180910390f35b600043600654111580156107e057506007544311155b6107e957600080fd5b60085460095410806107fd57506000600854145b61080657600080fd5b6009600081548092919061081990612108565b91905055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156108635750600061086083610d47565b14155b801561089c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156108af576108ae3083600a54611497565b5b6108bc3033600a54611497565b60019050919050565b6060600380546108d4906120d6565b80601f0160208091040260200160405190810160405280929190818152602001828054610900906120d6565b801561094d5780601f106109225761010080835404028352916020019161094d565b820191906000526020600020905b81548152906001019060200180831161093057829003601f168201915b5050505050905090565b600061096b610964611716565b848461171e565b6001905092915050565b60065481565b6000600254905090565b61098d611716565b73ffffffffffffffffffffffffffffffffffffffff166109ab610f78565b73ffffffffffffffffffffffffffffffffffffffff1614610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890611db3565b60405180910390fd5b84600b8190555083600c8190555082600f819055508160108190555080600d819055506000600e819055505050505050565b6000610a40848484611497565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a8b611716565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0290611d93565b60405180910390fd5b610b2885610b17611716565b8584610b23919061201a565b61171e565b60019150509392505050565b60006008905090565b6000610bdf610b4a611716565b848460016000610b58611716565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bda9190611f39565b61171e565b6001905092915050565b60105481565b600080600080600080600b54600c54600d54600e54600f54601054955095509550955095509550909192939495565b60095481565b600043600b5411158015610c3a5750600c544311155b610c4357600080fd5b600d54600e541080610c5757506000600d54145b610c6057600080fd5b60003490506000670de0b6b3a764000082601054610c7e9190611fc0565b610c889190611f8f565b9050600e6000815480929190610c9d90612108565b91905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610ce757506000610ce485610d47565b14155b8015610d205750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610d3157610d30308583611497565b5b610d3c303383611497565b600192505050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d97611716565b73ffffffffffffffffffffffffffffffffffffffff16610db5610f78565b73ffffffffffffffffffffffffffffffffffffffff1614610e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0290611db3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ed4611716565b73ffffffffffffffffffffffffffffffffffffffff16610ef2610f78565b73ffffffffffffffffffffffffffffffffffffffff1614610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f90611db3565b60405180910390fd5b836006819055508260078190555081600a8190555080600881905550600060098190555050505050565b600e5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b606060048054610fb7906120d6565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe3906120d6565b80156110305780601f1061100557610100808354040283529160200191611030565b820191906000526020600020905b81548152906001019060200180831161101357829003601f168201915b5050505050905090565b600f5481565b6000806001600061104f611716565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561110c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110390611e13565b60405180910390fd5b611129611117611716565b858584611124919061201a565b61171e565b600191505092915050565b60075481565b600061114e611147611716565b8484611497565b6001905092915050565b600d5481565b611166611716565b73ffffffffffffffffffffffffffffffffffffffff16611184610f78565b73ffffffffffffffffffffffffffffffffffffffff16146111da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d190611db3565b60405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611225573d6000803e3d6000fd5b505050565b60085481565b600c5481565b6000806000806000600654600754600854600954600a54945094509450945094509091929394565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ed611716565b73ffffffffffffffffffffffffffffffffffffffff1661130b610f78565b73ffffffffffffffffffffffffffffffffffffffff1614611361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135890611db3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c890611d33565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fe90611dd3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156e90611d13565b60405180910390fd5b6115828383836118e9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff90611d73565b60405180910390fd5b8181611614919061201a565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116a49190611f39565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117089190611e33565b60405180910390a350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590611df3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590611d53565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118dc9190611e33565b60405180910390a3505050565b505050565b6000813590506118fd81612490565b92915050565b600081359050611912816124a7565b92915050565b60006020828403121561192a57600080fd5b6000611938848285016118ee565b91505092915050565b6000806040838503121561195457600080fd5b6000611962858286016118ee565b9250506020611973858286016118ee565b9150509250929050565b60008060006060848603121561199257600080fd5b60006119a0868287016118ee565b93505060206119b1868287016118ee565b92505060406119c286828701611903565b9150509250925092565b600080604083850312156119df57600080fd5b60006119ed858286016118ee565b92505060206119fe85828601611903565b9150509250929050565b600060208284031215611a1a57600080fd5b6000611a2884828501611903565b91505092915050565b60008060008060808587031215611a4757600080fd5b6000611a5587828801611903565b9450506020611a6687828801611903565b9350506040611a7787828801611903565b9250506060611a8887828801611903565b91505092959194509250565b600080600080600060a08688031215611aac57600080fd5b6000611aba88828901611903565b9550506020611acb88828901611903565b9450506040611adc88828901611903565b9350506060611aed88828901611903565b9250506080611afe88828901611903565b9150509295509295909350565b611b148161204e565b82525050565b611b2381612060565b82525050565b6000611b3482611f1d565b611b3e8185611f28565b9350611b4e8185602086016120a3565b611b57816121de565b840191505092915050565b6000611b6f602383611f28565b9150611b7a826121ef565b604082019050919050565b6000611b92602683611f28565b9150611b9d8261223e565b604082019050919050565b6000611bb5602283611f28565b9150611bc08261228d565b604082019050919050565b6000611bd8602683611f28565b9150611be3826122dc565b604082019050919050565b6000611bfb602883611f28565b9150611c068261232b565b604082019050919050565b6000611c1e602083611f28565b9150611c298261237a565b602082019050919050565b6000611c41602583611f28565b9150611c4c826123a3565b604082019050919050565b6000611c64602483611f28565b9150611c6f826123f2565b604082019050919050565b6000611c87602583611f28565b9150611c9282612441565b604082019050919050565b611ca68161208c565b82525050565b611cb581612096565b82525050565b6000602082019050611cd06000830184611b0b565b92915050565b6000602082019050611ceb6000830184611b1a565b92915050565b60006020820190508181036000830152611d0b8184611b29565b905092915050565b60006020820190508181036000830152611d2c81611b62565b9050919050565b60006020820190508181036000830152611d4c81611b85565b9050919050565b60006020820190508181036000830152611d6c81611ba8565b9050919050565b60006020820190508181036000830152611d8c81611bcb565b9050919050565b60006020820190508181036000830152611dac81611bee565b9050919050565b60006020820190508181036000830152611dcc81611c11565b9050919050565b60006020820190508181036000830152611dec81611c34565b9050919050565b60006020820190508181036000830152611e0c81611c57565b9050919050565b60006020820190508181036000830152611e2c81611c7a565b9050919050565b6000602082019050611e486000830184611c9d565b92915050565b600060a082019050611e636000830188611c9d565b611e706020830187611c9d565b611e7d6040830186611c9d565b611e8a6060830185611c9d565b611e976080830184611c9d565b9695505050505050565b600060c082019050611eb66000830189611c9d565b611ec36020830188611c9d565b611ed06040830187611c9d565b611edd6060830186611c9d565b611eea6080830185611c9d565b611ef760a0830184611c9d565b979650505050505050565b6000602082019050611f176000830184611cac565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611f448261208c565b9150611f4f8361208c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f8457611f83612151565b5b828201905092915050565b6000611f9a8261208c565b9150611fa58361208c565b925082611fb557611fb4612180565b5b828204905092915050565b6000611fcb8261208c565b9150611fd68361208c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561200f5761200e612151565b5b828202905092915050565b60006120258261208c565b91506120308361208c565b92508282101561204357612042612151565b5b828203905092915050565b60006120598261206c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156120c15780820151818401526020810190506120a6565b838111156120d0576000848401525b50505050565b600060028204905060018216806120ee57607f821691505b60208210811415612102576121016121af565b5b50919050565b60006121138261208c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561214657612145612151565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6124998161204e565b81146124a457600080fd5b50565b6124b08161208c565b81146124bb57600080fd5b5056fea26469706673582212204f37b36b8b383a014614af189bffcf80da6ce98863f80b1587656f28a0bf80b264736f6c63430008040033

Deployed ByteCode Sourcemap

21295:2868:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22102:461;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6662:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8829:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21339:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7782:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23749:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9480:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22004:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10311:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21623:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23307:216;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;21426:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22569:537;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7953:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20679:148;;;;;;;;;;;;;:::i;:::-;;23531:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21567:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20028:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21480:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6881:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21594:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11029:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21369:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8293:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21540:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24018:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21399:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21510:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23112:191;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;8531:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20982:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21453:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22102:461;22154:12;22197;22186:7;;:23;;:50;;;;;22229:7;;22213:12;:23;;22186:50;22178:59;;;;;;22263:4;;22256;;:11;:24;;;;22279:1;22271:4;;:9;22256:24;22248:33;;;;;;22292:4;;:7;;;;;;;;;:::i;:::-;;;;;;22327:6;22313:20;;:10;:20;;;;:46;;;;;22358:1;22337:17;22347:6;22337:9;:17::i;:::-;:22;;22313:46;:102;;;;;22373:42;22363:52;;:6;:52;;;;22313:102;22310:169;;;22429:38;22447:4;22454:6;22462:4;;22429:9;:38::i;:::-;22310:169;22489:42;22507:4;22514:10;22526:4;;22489:9;:42::i;:::-;22549:4;22542:11;;22102:461;;;:::o;6662:100::-;6716:13;6749:5;6742:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6662:100;:::o;8829:169::-;8912:4;8929:39;8938:12;:10;:12::i;:::-;8952:7;8961:6;8929:8;:39::i;:::-;8986:4;8979:11;;8829:169;;;;:::o;21339:22::-;;;;:::o;7782:108::-;7843:7;7870:12;;7863:19;;7782:108;:::o;23749:255::-;20259:12;:10;:12::i;:::-;20248:23;;:7;:5;:7::i;:::-;:23;;;20240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23886:8:::1;23876:7;:18;;;;23911:8;23901:7;:18;;;;23935:7;23926:6;:16;;;;23957:7;23949:6;:15;;;;23978:5;23971:4;:12;;;;23997:1;23990:4;:8;;;;23749:255:::0;;;;;:::o;9480:422::-;9586:4;9603:36;9613:6;9621:9;9632:6;9603:9;:36::i;:::-;9652:24;9679:11;:19;9691:6;9679:19;;;;;;;;;;;;;;;:33;9699:12;:10;:12::i;:::-;9679:33;;;;;;;;;;;;;;;;9652:60;;9751:6;9731:16;:26;;9723:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9813:57;9822:6;9830:12;:10;:12::i;:::-;9863:6;9844:16;:25;;;;:::i;:::-;9813:8;:57::i;:::-;9890:4;9883:11;;;9480:422;;;;;:::o;22004:92::-;22062:5;22087:1;22080:8;;22004:92;:::o;10311:215::-;10399:4;10416:80;10425:12;:10;:12::i;:::-;10439:7;10485:10;10448:11;:25;10460:12;:10;:12::i;:::-;10448:25;;;;;;;;;;;;;;;:34;10474:7;10448:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10416:8;:80::i;:::-;10514:4;10507:11;;10311:215;;;;:::o;21623:21::-;;;;:::o;23307:216::-;23347:18;23367:16;23385:15;23402:17;23421;23440;23472:7;;23481;;23490:4;;23496;;23502:6;;23510;;23465:52;;;;;;;;;;;;23307:216;;;;;;:::o;21426:19::-;;;;:::o;22569:537::-;22628:12;22667;22656:7;;:23;;:50;;;;;22699:7;;22683:12;:23;;22656:50;22648:59;;;;;;22729:4;;22722;;:11;:24;;;;22745:1;22737:4;;:9;22722:24;22714:33;;;;;;22754:12;22769:9;22754:24;;22785:13;22829:7;22821:4;22814:6;;:11;;;;:::i;:::-;22813:23;;;;:::i;:::-;22805:31;;22843:4;;:7;;;;;;;;;:::i;:::-;;;;;;22874:6;22860:20;;:10;:20;;;;:46;;;;;22905:1;22884:17;22894:6;22884:9;:17::i;:::-;:22;;22860:46;:102;;;;;22920:42;22910:52;;:6;:52;;;;22860:102;22857:170;;;22980:39;22998:4;23005:6;23013:5;22980:9;:39::i;:::-;22857:170;23039:43;23057:4;23064:10;23076:5;23039:9;:43::i;:::-;23096:4;23089:11;;;;22569:537;;;:::o;7953:127::-;8027:7;8054:9;:18;8064:7;8054:18;;;;;;;;;;;;;;;;8047:25;;7953:127;;;:::o;20679:148::-;20259:12;:10;:12::i;:::-;20248:23;;:7;:5;:7::i;:::-;:23;;;20240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20786:1:::1;20749:40;;20770:6;;;;;;;;;;;20749:40;;;;;;;;;;;;20817:1;20800:6;;:19;;;;;;;;;;;;;;;;;;20679:148::o:0;23531:214::-;20259:12;:10;:12::i;:::-;20248:23;;:7;:5;:7::i;:::-;:23;;;20240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23653:8:::1;23643:7;:18;;;;23678:8;23668:7;:18;;;;23700:5;23693:4;:12;;;;23719:5;23712:4;:12;;;;23738:1;23731:4;:8;;;;23531:214:::0;;;;:::o;21567:19::-;;;;:::o;20028:87::-;20074:7;20101:6;;;;;;;;;;;20094:13;;20028:87;:::o;21480:22::-;;;;:::o;6881:104::-;6937:13;6970:7;6963:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6881:104;:::o;21594:21::-;;;;:::o;11029:377::-;11122:4;11139:24;11166:11;:25;11178:12;:10;:12::i;:::-;11166:25;;;;;;;;;;;;;;;:34;11192:7;11166:34;;;;;;;;;;;;;;;;11139:61;;11239:15;11219:16;:35;;11211:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11307:67;11316:12;:10;:12::i;:::-;11330:7;11358:15;11339:16;:34;;;;:::i;:::-;11307:8;:67::i;:::-;11394:4;11387:11;;;11029:377;;;;:::o;21369:22::-;;;;:::o;8293:175::-;8379:4;8396:42;8406:12;:10;:12::i;:::-;8420:9;8431:6;8396:9;:42::i;:::-;8456:4;8449:11;;8293:175;;;;:::o;21540:19::-;;;;:::o;24018:142::-;20259:12;:10;:12::i;:::-;20248:23;;:7;:5;:7::i;:::-;:23;;;20240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24074:22:::1;24107:10;24074:44;;24129:6;:15;;:23;24145:6;24129:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;20319:1;24018:142:::0;:::o;21399:19::-;;;;:::o;21510:22::-;;;;:::o;23112:191::-;23155:18;23175:16;23193:15;23210:17;23229:18;23262:7;;23271;;23280:4;;23286;;23292;;23255:42;;;;;;;;;;23112:191;;;;;:::o;8531:151::-;8620:7;8647:11;:18;8659:5;8647:18;;;;;;;;;;;;;;;:27;8666:7;8647:27;;;;;;;;;;;;;;;;8640:34;;8531:151;;;;:::o;20982:244::-;20259:12;:10;:12::i;:::-;20248:23;;:7;:5;:7::i;:::-;:23;;;20240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21091:1:::1;21071:22;;:8;:22;;;;21063:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;21181:8;21152:38;;21173:6;;;;;;;;;;;21152:38;;;;;;;;;;;;21210:8;21201:6;;:17;;;;;;;;;;;;;;;;;;20982:244:::0;:::o;21453:19::-;;;;:::o;11896:604::-;12020:1;12002:20;;:6;:20;;;;11994:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12104:1;12083:23;;:9;:23;;;;12075:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12159:47;12180:6;12188:9;12199:6;12159:20;:47::i;:::-;12219:21;12243:9;:17;12253:6;12243:17;;;;;;;;;;;;;;;;12219:41;;12296:6;12279:13;:23;;12271:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12392:6;12376:13;:22;;;;:::i;:::-;12356:9;:17;12366:6;12356:17;;;;;;;;;;;;;;;:42;;;;12433:6;12409:9;:20;12419:9;12409:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12474:9;12457:35;;12466:6;12457:35;;;12485:6;12457:35;;;;;;:::i;:::-;;;;;;;;11896:604;;;;:::o;4249:98::-;4302:7;4329:10;4322:17;;4249:98;:::o;14385:346::-;14504:1;14487:19;;:5;:19;;;;14479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14585:1;14566:21;;:7;:21;;;;14558:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14669:6;14639:11;:18;14651:5;14639:18;;;;;;;;;;;;;;;:27;14658:7;14639:27;;;;;;;;;;;;;;;:36;;;;14707:7;14691:32;;14700:5;14691:32;;;14716:6;14691:32;;;;;;:::i;:::-;;;;;;;;14385:346;;;:::o;15334:92::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:262::-;2008:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:2;;;2073:1;2070;2063:12;2025:2;2116:1;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2087:117;2015:196;;;;:::o;2217:698::-;2303:6;2311;2319;2327;2376:3;2364:9;2355:7;2351:23;2347:33;2344:2;;;2393:1;2390;2383:12;2344:2;2436:1;2461:53;2506:7;2497:6;2486:9;2482:22;2461:53;:::i;:::-;2451:63;;2407:117;2563:2;2589:53;2634:7;2625:6;2614:9;2610:22;2589:53;:::i;:::-;2579:63;;2534:118;2691:2;2717:53;2762:7;2753:6;2742:9;2738:22;2717:53;:::i;:::-;2707:63;;2662:118;2819:2;2845:53;2890:7;2881:6;2870:9;2866:22;2845:53;:::i;:::-;2835:63;;2790:118;2334:581;;;;;;;:::o;2921:844::-;3016:6;3024;3032;3040;3048;3097:3;3085:9;3076:7;3072:23;3068:33;3065:2;;;3114:1;3111;3104:12;3065:2;3157:1;3182:53;3227:7;3218:6;3207:9;3203:22;3182:53;:::i;:::-;3172:63;;3128:117;3284:2;3310:53;3355:7;3346:6;3335:9;3331:22;3310:53;:::i;:::-;3300:63;;3255:118;3412:2;3438:53;3483:7;3474:6;3463:9;3459:22;3438:53;:::i;:::-;3428:63;;3383:118;3540:2;3566:53;3611:7;3602:6;3591:9;3587:22;3566:53;:::i;:::-;3556:63;;3511:118;3668:3;3695:53;3740:7;3731:6;3720:9;3716:22;3695:53;:::i;:::-;3685:63;;3639:119;3055:710;;;;;;;;:::o;3771:118::-;3858:24;3876:5;3858:24;:::i;:::-;3853:3;3846:37;3836:53;;:::o;3895:109::-;3976:21;3991:5;3976:21;:::i;:::-;3971:3;3964:34;3954:50;;:::o;4010:364::-;4098:3;4126:39;4159:5;4126:39;:::i;:::-;4181:71;4245:6;4240:3;4181:71;:::i;:::-;4174:78;;4261:52;4306:6;4301:3;4294:4;4287:5;4283:16;4261:52;:::i;:::-;4338:29;4360:6;4338:29;:::i;:::-;4333:3;4329:39;4322:46;;4102:272;;;;;:::o;4380:366::-;4522:3;4543:67;4607:2;4602:3;4543:67;:::i;:::-;4536:74;;4619:93;4708:3;4619:93;:::i;:::-;4737:2;4732:3;4728:12;4721:19;;4526:220;;;:::o;4752:366::-;4894:3;4915:67;4979:2;4974:3;4915:67;:::i;:::-;4908:74;;4991:93;5080:3;4991:93;:::i;:::-;5109:2;5104:3;5100:12;5093:19;;4898:220;;;:::o;5124:366::-;5266:3;5287:67;5351:2;5346:3;5287:67;:::i;:::-;5280:74;;5363:93;5452:3;5363:93;:::i;:::-;5481:2;5476:3;5472:12;5465:19;;5270:220;;;:::o;5496:366::-;5638:3;5659:67;5723:2;5718:3;5659:67;:::i;:::-;5652:74;;5735:93;5824:3;5735:93;:::i;:::-;5853:2;5848:3;5844:12;5837:19;;5642:220;;;:::o;5868:366::-;6010:3;6031:67;6095:2;6090:3;6031:67;:::i;:::-;6024:74;;6107:93;6196:3;6107:93;:::i;:::-;6225:2;6220:3;6216:12;6209:19;;6014:220;;;:::o;6240:366::-;6382:3;6403:67;6467:2;6462:3;6403:67;:::i;:::-;6396:74;;6479:93;6568:3;6479:93;:::i;:::-;6597:2;6592:3;6588:12;6581:19;;6386:220;;;:::o;6612:366::-;6754:3;6775:67;6839:2;6834:3;6775:67;:::i;:::-;6768:74;;6851:93;6940:3;6851:93;:::i;:::-;6969:2;6964:3;6960:12;6953:19;;6758:220;;;:::o;6984:366::-;7126:3;7147:67;7211:2;7206:3;7147:67;:::i;:::-;7140:74;;7223:93;7312:3;7223:93;:::i;:::-;7341:2;7336:3;7332:12;7325:19;;7130:220;;;:::o;7356:366::-;7498:3;7519:67;7583:2;7578:3;7519:67;:::i;:::-;7512:74;;7595:93;7684:3;7595:93;:::i;:::-;7713:2;7708:3;7704:12;7697:19;;7502:220;;;:::o;7728:118::-;7815:24;7833:5;7815:24;:::i;:::-;7810:3;7803:37;7793:53;;:::o;7852:112::-;7935:22;7951:5;7935:22;:::i;:::-;7930:3;7923:35;7913:51;;:::o;7970:222::-;8063:4;8101:2;8090:9;8086:18;8078:26;;8114:71;8182:1;8171:9;8167:17;8158:6;8114:71;:::i;:::-;8068:124;;;;:::o;8198:210::-;8285:4;8323:2;8312:9;8308:18;8300:26;;8336:65;8398:1;8387:9;8383:17;8374:6;8336:65;:::i;:::-;8290:118;;;;:::o;8414:313::-;8527:4;8565:2;8554:9;8550:18;8542:26;;8614:9;8608:4;8604:20;8600:1;8589:9;8585:17;8578:47;8642:78;8715:4;8706:6;8642:78;:::i;:::-;8634:86;;8532:195;;;;:::o;8733:419::-;8899:4;8937:2;8926:9;8922:18;8914:26;;8986:9;8980:4;8976:20;8972:1;8961:9;8957:17;8950:47;9014:131;9140:4;9014:131;:::i;:::-;9006:139;;8904:248;;;:::o;9158:419::-;9324:4;9362:2;9351:9;9347:18;9339:26;;9411:9;9405:4;9401:20;9397:1;9386:9;9382:17;9375:47;9439:131;9565:4;9439:131;:::i;:::-;9431:139;;9329:248;;;:::o;9583:419::-;9749:4;9787:2;9776:9;9772:18;9764:26;;9836:9;9830:4;9826:20;9822:1;9811:9;9807:17;9800:47;9864:131;9990:4;9864:131;:::i;:::-;9856:139;;9754:248;;;:::o;10008:419::-;10174:4;10212:2;10201:9;10197:18;10189:26;;10261:9;10255:4;10251:20;10247:1;10236:9;10232:17;10225:47;10289:131;10415:4;10289:131;:::i;:::-;10281:139;;10179:248;;;:::o;10433:419::-;10599:4;10637:2;10626:9;10622:18;10614:26;;10686:9;10680:4;10676:20;10672:1;10661:9;10657:17;10650:47;10714:131;10840:4;10714:131;:::i;:::-;10706:139;;10604:248;;;:::o;10858:419::-;11024:4;11062:2;11051:9;11047:18;11039:26;;11111:9;11105:4;11101:20;11097:1;11086:9;11082:17;11075:47;11139:131;11265:4;11139:131;:::i;:::-;11131:139;;11029:248;;;:::o;11283:419::-;11449:4;11487:2;11476:9;11472:18;11464:26;;11536:9;11530:4;11526:20;11522:1;11511:9;11507:17;11500:47;11564:131;11690:4;11564:131;:::i;:::-;11556:139;;11454:248;;;:::o;11708:419::-;11874:4;11912:2;11901:9;11897:18;11889:26;;11961:9;11955:4;11951:20;11947:1;11936:9;11932:17;11925:47;11989:131;12115:4;11989:131;:::i;:::-;11981:139;;11879:248;;;:::o;12133:419::-;12299:4;12337:2;12326:9;12322:18;12314:26;;12386:9;12380:4;12376:20;12372:1;12361:9;12357:17;12350:47;12414:131;12540:4;12414:131;:::i;:::-;12406:139;;12304:248;;;:::o;12558:222::-;12651:4;12689:2;12678:9;12674:18;12666:26;;12702:71;12770:1;12759:9;12755:17;12746:6;12702:71;:::i;:::-;12656:124;;;;:::o;12786:664::-;12991:4;13029:3;13018:9;13014:19;13006:27;;13043:71;13111:1;13100:9;13096:17;13087:6;13043:71;:::i;:::-;13124:72;13192:2;13181:9;13177:18;13168:6;13124:72;:::i;:::-;13206;13274:2;13263:9;13259:18;13250:6;13206:72;:::i;:::-;13288;13356:2;13345:9;13341:18;13332:6;13288:72;:::i;:::-;13370:73;13438:3;13427:9;13423:19;13414:6;13370:73;:::i;:::-;12996:454;;;;;;;;:::o;13456:775::-;13689:4;13727:3;13716:9;13712:19;13704:27;;13741:71;13809:1;13798:9;13794:17;13785:6;13741:71;:::i;:::-;13822:72;13890:2;13879:9;13875:18;13866:6;13822:72;:::i;:::-;13904;13972:2;13961:9;13957:18;13948:6;13904:72;:::i;:::-;13986;14054:2;14043:9;14039:18;14030:6;13986:72;:::i;:::-;14068:73;14136:3;14125:9;14121:19;14112:6;14068:73;:::i;:::-;14151;14219:3;14208:9;14204:19;14195:6;14151:73;:::i;:::-;13694:537;;;;;;;;;:::o;14237:214::-;14326:4;14364:2;14353:9;14349:18;14341:26;;14377:67;14441:1;14430:9;14426:17;14417:6;14377:67;:::i;:::-;14331:120;;;;:::o;14457:99::-;14509:6;14543:5;14537:12;14527:22;;14516:40;;;:::o;14562:169::-;14646:11;14680:6;14675:3;14668:19;14720:4;14715:3;14711:14;14696:29;;14658:73;;;;:::o;14737:305::-;14777:3;14796:20;14814:1;14796:20;:::i;:::-;14791:25;;14830:20;14848:1;14830:20;:::i;:::-;14825:25;;14984:1;14916:66;14912:74;14909:1;14906:81;14903:2;;;14990:18;;:::i;:::-;14903:2;15034:1;15031;15027:9;15020:16;;14781:261;;;;:::o;15048:185::-;15088:1;15105:20;15123:1;15105:20;:::i;:::-;15100:25;;15139:20;15157:1;15139:20;:::i;:::-;15134:25;;15178:1;15168:2;;15183:18;;:::i;:::-;15168:2;15225:1;15222;15218:9;15213:14;;15090:143;;;;:::o;15239:348::-;15279:7;15302:20;15320:1;15302:20;:::i;:::-;15297:25;;15336:20;15354:1;15336:20;:::i;:::-;15331:25;;15524:1;15456:66;15452:74;15449:1;15446:81;15441:1;15434:9;15427:17;15423:105;15420:2;;;15531:18;;:::i;:::-;15420:2;15579:1;15576;15572:9;15561:20;;15287:300;;;;:::o;15593:191::-;15633:4;15653:20;15671:1;15653:20;:::i;:::-;15648:25;;15687:20;15705:1;15687:20;:::i;:::-;15682:25;;15726:1;15723;15720:8;15717:2;;;15731:18;;:::i;:::-;15717:2;15776:1;15773;15769:9;15761:17;;15638:146;;;;:::o;15790:96::-;15827:7;15856:24;15874:5;15856:24;:::i;:::-;15845:35;;15835:51;;;:::o;15892:90::-;15926:7;15969:5;15962:13;15955:21;15944:32;;15934:48;;;:::o;15988:126::-;16025:7;16065:42;16058:5;16054:54;16043:65;;16033:81;;;:::o;16120:77::-;16157:7;16186:5;16175:16;;16165:32;;;:::o;16203:86::-;16238:7;16278:4;16271:5;16267:16;16256:27;;16246:43;;;:::o;16295:307::-;16363:1;16373:113;16387:6;16384:1;16381:13;16373:113;;;16472:1;16467:3;16463:11;16457:18;16453:1;16448:3;16444:11;16437:39;16409:2;16406:1;16402:10;16397:15;;16373:113;;;16504:6;16501:1;16498:13;16495:2;;;16584:1;16575:6;16570:3;16566:16;16559:27;16495:2;16344:258;;;;:::o;16608:320::-;16652:6;16689:1;16683:4;16679:12;16669:22;;16736:1;16730:4;16726:12;16757:18;16747:2;;16813:4;16805:6;16801:17;16791:27;;16747:2;16875;16867:6;16864:14;16844:18;16841:38;16838:2;;;16894:18;;:::i;:::-;16838:2;16659:269;;;;:::o;16934:233::-;16973:3;16996:24;17014:5;16996:24;:::i;:::-;16987:33;;17042:66;17035:5;17032:77;17029:2;;;17112:18;;:::i;:::-;17029:2;17159:1;17152:5;17148:13;17141:20;;16977:190;;;:::o;17173:180::-;17221:77;17218:1;17211:88;17318:4;17315:1;17308:15;17342:4;17339:1;17332:15;17359:180;17407:77;17404:1;17397:88;17504:4;17501:1;17494:15;17528:4;17525:1;17518:15;17545:180;17593:77;17590:1;17583:88;17690:4;17687:1;17680:15;17714:4;17711:1;17704:15;17731:102;17772:6;17823:2;17819:7;17814:2;17807:5;17803:14;17799:28;17789:38;;17779:54;;;:::o;17839:222::-;17979:34;17975:1;17967:6;17963:14;17956:58;18048:5;18043:2;18035:6;18031:15;18024:30;17945:116;:::o;18067:225::-;18207:34;18203:1;18195:6;18191:14;18184:58;18276:8;18271:2;18263:6;18259:15;18252:33;18173:119;:::o;18298:221::-;18438:34;18434:1;18426:6;18422:14;18415:58;18507:4;18502:2;18494:6;18490:15;18483:29;18404:115;:::o;18525:225::-;18665:34;18661:1;18653:6;18649:14;18642:58;18734:8;18729:2;18721:6;18717:15;18710:33;18631:119;:::o;18756:227::-;18896:34;18892:1;18884:6;18880:14;18873:58;18965:10;18960:2;18952:6;18948:15;18941:35;18862:121;:::o;18989:182::-;19129:34;19125:1;19117:6;19113:14;19106:58;19095:76;:::o;19177:224::-;19317:34;19313:1;19305:6;19301:14;19294:58;19386:7;19381:2;19373:6;19369:15;19362:32;19283:118;:::o;19407:223::-;19547:34;19543:1;19535:6;19531:14;19524:58;19616:6;19611:2;19603:6;19599:15;19592:31;19513:117;:::o;19636:224::-;19776:34;19772:1;19764:6;19760:14;19753:58;19845:7;19840:2;19832:6;19828:15;19821:32;19742:118;:::o;19866:122::-;19939:24;19957:5;19939:24;:::i;:::-;19932:5;19929:35;19919:2;;19978:1;19975;19968:12;19919:2;19909:79;:::o;19994:122::-;20067:24;20085:5;20067:24;:::i;:::-;20060:5;20057:35;20047:2;;20106:1;20103;20096:12;20047:2;20037:79;:::o

Swarm Source

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