Contract 0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d

 
 
Txn Hash
Block
From
To
Value [Txn Fee]
0xa37532b17affea681f209d50d187aa5f00517761fe8f90615701b4252aa8a7e575400432021-05-19 8:53:2266 days 20 hrs ago0xb1baf0bc8af7d4594450cf5fbbdbc38c7438f978 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000072855
0x62d72ecab64fe22eda14a3f9f2a5ad4709816937341f271c21d8b2c94a333a4974598252021-05-16 12:52:1669 days 16 hrs ago0x6ad66472056313ab71fea12844d1e38c4917dc90 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x8e66e3b86aa3ca04fe47e0bdcec8e8fa394564afc02666d7cfbf5ec18efaf72174322092021-05-15 13:38:2270 days 15 hrs ago0x05e4b23dea004fdf11b1169a649e82a28091ad51 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x7c0cf9a4fa65a52192b3b0895afd5dc737ab43add7d322ae982145913b8be35074252652021-05-15 7:47:0270 days 21 hrs ago0xeff8dbc33b0f9b8da264177dffc44bbdb3e1473a IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xbbefd718173d4f638f6fad60c7829f9c2fa9208bc6f7905e8b25ceec6311cfb173970882021-05-14 7:35:0571 days 21 hrs ago0x3fafb8b276e711e3cc25d9a4386cdf5bbff64603 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000363915
0xc411fc8fe1efadecb44ceb90ca72c9a39cea02fde160f0e045f296652e72b61473792082021-05-13 16:32:3472 days 12 hrs ago0xaa0a672f8cfbae426cfe1b171dc0295553f0dc02 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000364035
0x0c1dea115e9da8a024f8eb13f4c0addbdcea96b0b7dc00534aa9d07aa2d98e5073653192021-05-13 4:44:2773 days 42 mins ago0x8f5b1ebbddca87c5a3c4713b046eedb60545d39b IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000363975
0x67e551c6f91397e632e616539e9710318168ced8440f43e949d90cb4ca1afbbf73412922021-05-12 7:33:2373 days 21 hrs ago0x4d3b15caf1901d7aef37823cb9b72e609d019ec3 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000311675
0x08f3122c4840bc8faf9c476697cf45a2e0dafafb1438c25cdd2a0dc52328a93d72840432021-05-10 1:09:0076 days 4 hrs ago0x938738223bdadcea6edf3670cba457afb8d39004 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x2d13bbd42bc63eda2c42bdc7e4e810b73f8c83b9a3d0018fe8bbe9d74704bc3272672262021-05-09 10:25:0376 days 19 hrs ago0x3b0e8aad7e09648092dc9b703600ddb79a62574c IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xa018245226beb8b1a5e68769daa8bfc6cf2f87c2a9fa13f9e3c8328807ab101f72520482021-05-08 21:14:5877 days 8 hrs ago0x419e25174167d5e6692c5e5a01d62adfcdc1a35a IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xd77fc5f814e2b3b55430dc14b275518c16d8e2431409e17db24cc79458215b9372501082021-05-08 19:32:1877 days 9 hrs ago0x4e65f88806dba9c7514c53f144af946d63e82211 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x8494502073fa2ad0b85347254f0c590f731079a8ad6f90aad6751b2e1890fdf672333032021-05-08 4:57:3978 days 28 mins ago0x82a6722eb90f71a16de6efa78f07dad36f9780ef IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xbc2f428c498220753d245d1bd965fe355e79de0e76463d53985889441135f20572012922021-05-07 1:45:4779 days 3 hrs ago0x692b8c24f8f9d1ad89aab81614848b4321b0cd55 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xa39c5e34558c344d1e27d4b6f587c5d02a89292efdf16c97006221b13c2de95372006582021-05-07 1:14:0379 days 4 hrs ago0x1ebb30c3613d3578d684a5b4888b00c5ad0e3572 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x365de2a3d32a6b349b7823a7995d4ea7c95f3be8dab61af14168f24f9b5b8ac772000702021-05-07 0:44:3979 days 4 hrs ago0xdb10ca60f9e945c02584c2655ae135a7201bcc46 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x26980fa56a242f8e8c3bfe6e2d7b7508a52c5497e6a09831ab70660e77b282de71900522021-05-06 16:16:2679 days 13 hrs ago0xe3929b357ce8f419be69ed58f9d6563669a3051d IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x7d7cc6f268c2f13784eecd135da12f34385a924ab8f9d5c8e8b785932286774971717932021-05-06 0:28:1580 days 4 hrs ago0x316421339fa88abc492fab0868df357a7a71af00 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x40ce5bc3bfd1eaefad5fff5af23d9a8ec4bf4b137570ec64882f4052b8ef6b4e71573552021-05-05 11:58:0580 days 17 hrs ago0x322685c0332dc37d2c2fce019f07805451cbb8d3 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x747b23eecf8b949d5f32830847a0a7af027c21a5aa5b59a43735301ce68d8a1d70659962021-05-02 7:03:4583 days 22 hrs ago0x6b49980b13317beaaec2809d62d6acffe57ae5ef IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x83cb819f5043fb4c9098e0ceb7739ed60e6b645c97f5df98d711955c671b414070516982021-05-01 19:06:1084 days 10 hrs ago0x07ce1d9c9a64726c0e848810a87001d11cfe0b39 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x68df56a7eda7b349a816d7e73a3b3c98bae0eb7e3a130a4b6901b0457f178f3170272032021-04-30 22:31:5985 days 6 hrs ago0xb8a5926b5541dfc1fd211234e63b0fbc22bb9170 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xbb165b08ae3c2bb6b20cd8fe58827ca476ee8101b4827614fe5817d0bf4981cf70270132021-04-30 22:22:2985 days 7 hrs ago0x924e8fc81484781b8057db784266017fce1af136 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0xa4d799c212ddce1310800deb16992654069d9234648f9e90ef5869b8bee29d8e70250862021-04-30 20:46:0285 days 8 hrs ago0x15d319053fc7554250c4951503b941d1b2e8ff23 IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.000222625
0x6a59d6ac741b493140f819c7eeaca4092f1accdd6ae0c2d6d1b8a98a132d8a2b70201622021-04-30 16:32:1885 days 12 hrs ago0x43a159cf12f6753f9d3d556f2cc766c4c6dcb47d IN  0x3ea843e2b9bd9c6b108f6d72264e83a0fc02655d0 BNB0.00026715
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MOONSTAY

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at BscScan.com on 2021-04-22
*/

// Welcome To MoonStay

// GET SOME PASSIVE INCOME WHILE YOU DO NOTHING

// EVERY TRANSACTIONS HAS A 5% BURN FEE (5% ADDED TO LP FOR PANCAKESWAP)

// We will stay mooning no matter what

// www.MoonStay.net

 
// SPDX-License-Identifier: Licensed

pragma
 
solidity
 ^0.7.6;

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

        
return
 
msg
.
data
;
    }
}
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
)
;
}
library
 
SafeMath
 
{
    
/**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */

    
function
 
add
(
uint256
 a, 
uint256
 b
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
uint256
 c = a + b;
        
require
(c >= a, 
"SafeMath: addition overflow"
);
        
return
 c;
    }
    
/**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */

    
function
 
sub
(
uint256
 a, 
uint256
 b
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
return
 sub(a, b, 
"SafeMath: subtraction overflow"
);
    }
    
/**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */

    
function
 
sub
(
uint256
 a, 
uint256
 b, 
string
 
memory
 errorMessage
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
require
(b <= a, errorMessage);
        
uint256
 c = a - b;
        
return
 c;
    }
    
/**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */

    
function
 
mul
(
uint256
 a, 
uint256
 b
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the

        
// benefit is lost if 'b' is also tested.

        
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522

        
if
 (a == 
0
) {
            
return
 
0
;
        }
        
uint256
 c = a * b;
        
require
(c / a == b, 
"SafeMath: multiplication overflow"
);
        
return
 c;
    }
    
/**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */

    
function
 
div
(
uint256
 a, 
uint256
 b
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
return
 div(a, b, 
"SafeMath: division by zero"
);
    }
    
/**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */

    
function
 
div
(
uint256
 a, 
uint256
 b, 
string
 
memory
 errorMessage
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
require
(b > 
0
, errorMessage);
        
uint256
 c = a / b;
        
// assert(a == b * c + a % b); // There is no case in which this doesn't hold

        
return
 c;
    }
    
/**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */

    
function
 
mod
(
uint256
 a, 
uint256
 b
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
return
 mod(a, b, 
"SafeMath: modulo by zero"
);
    }
    
/**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */

    
function
 
mod
(
uint256
 a, 
uint256
 b, 
string
 
memory
 errorMessage
) 
internal
 
pure
 
returns
 (
uint256
) 
{
        
require
(b != 
0
, errorMessage);
        
return
 a % b;
    }
}
library
 
Address
 
{
    
/**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */

    
function
 
isContract
(
address
 account
) 
internal
 
view
 
returns
 (
bool
) 
{
        
// According to EIP-1052, 0x0 is the value returned for not-yet created accounts

        
// and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned

        
// for accounts without code, i.e. `keccak256('')`

        
bytes32
 codehash;
        
bytes32
 accountHash = 
0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
;
        
// solhint-disable-next-line no-inline-assembly

        
assembly
 { codehash := 
extcodehash
(account) }
        
return
 (codehash != accountHash && codehash != 
0x0
);
    }
    
/**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */

    
function
 
sendValue
(
address
 
payable
 recipient, 
uint256
 amount
) 
internal
 
{
        
require
(
address
(
this
).
balance
 >= amount, 
"Address: insufficient balance"
);
        
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value

        (
bool
 success, ) = recipient.
call
{ 
value:
 amount }(
""
);
        
require
(success, 
"Address: unable to send value, recipient may have reverted"
);
    }
    
/**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */

    
function
 
functionCall
(
address
 target, 
bytes
 
memory
 data
) 
internal
 
returns
 (
bytes
 
memory
) 
{
      
return
 functionCall(target, data, 
"Address: low-level call failed"
);
    }
    
/**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */

    
function
 
functionCall
(
address
 target, 
bytes
 
memory
 data, 
string
 
memory
 errorMessage
) 
internal
 
returns
 (
bytes
 
memory
) 
{
        
return
 _functionCallWithValue(target, data, 
0
, errorMessage);
    }
    
/**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */

    
function
 
functionCallWithValue
(
address
 target, 
bytes
 
memory
 data, 
uint256
 value
) 
internal
 
returns
 (
bytes
 
memory
) 
{
        
return
 functionCallWithValue(target, data, value, 
"Address: low-level call with value failed"
);
    }
    
/**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */

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

        (
bool
 success, 
bytes
 
memory
 returndata) = target.
call
{ 
value:
 weiValue }(data);
        
if
 (success) {
            
return
 returndata;
        } 
else
 {
            
// Look for revert reason and bubble it up if present

            
if
 (returndata.
length
 > 
0
) {
                
// The easiest way to bubble the revert reason is using memory via assembly

                
// solhint-disable-next-line no-inline-assembly

                
assembly
 {
                    
let
 returndata_size := 
mload
(returndata)
                    
revert
(
add
(
32
, returndata), returndata_size)
                }
            } 
else
 {
                
revert
(errorMessage);
            }
        }
    }
}
contract
 
Ownable
 
is
 
Context
 
{
    
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
 
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;
    }
}
contract
 
MOONSTAY
 
is
 
Context
, 
IERC20
, 
Ownable
 
{
    
using
 
SafeMath
 
for
 
uint256
;
    
using
 
Address
 
for
 
address
;
    
mapping
 (
address
 => 
uint256
) 
private
 _rOwned;
    
mapping
 (
address
 => 
uint256
) 
private
 _tOwned;
    
mapping
 (
address
 => 
mapping
 (
address
 => 
uint256
)) 
private
 _allowances;
    
mapping
 (
address
 => 
bool
) 
private
 _isExcluded;
    
address
[] 
private
 _excluded;
    
uint256
 
private
 
constant
 MAX = ~
uint256
(
0
);
    
uint256
 
private
 
constant
 _tTotal = 
1000000000
 * 
10
**
6
 * 
10
**
9
;
    
uint256
 
private
 _rTotal = (MAX - (MAX % _tTotal));
    
uint256
 
private
 _tFeeTotal;
    
string
 
private
 _name = 
'MoonStay'
;
    
string
 
private
 _symbol = 
'MS'
;
    
uint8
 
private
 _decimals = 
9
;
    
constructor
 (
) 
{
        _rOwned[_msgSender()] = _rTotal;
        
emit
 Transfer(
address
(
0
), _msgSender(), _tTotal);
    }
    
function
 
name
(
) 
public
 
view
 
returns
 (
string
 
memory
) 
{
        
return
 _name;
    }
    
function
 
symbol
(
) 
public
 
view
 
returns
 (
string
 
memory
) 
{
        
return
 _symbol;
    }
    
function
 
decimals
(
) 
public
 
view
 
returns
 (
uint8
) 
{
        
return
 _decimals;
    }
    
function
 
totalSupply
(
) 
public
 
pure
 
override
 
returns
 (
uint256
) 
{
        
return
 _tTotal;
    }
    
function
 
balanceOf
(
address
 account
) 
public
 
view
 
override
 
returns
 (
uint256
) 
{
        
if
 (_isExcluded[account]) 
return
 _tOwned[account];
        
return
 tokenFromReflection(_rOwned[account]);
    }
    
function
 
transfer
(
address
 recipient, 
uint256
 amount
) 
public
 
override
 
returns
 (
bool
) 
{
        _transfer(_msgSender(), recipient, amount);
        
return
 
true
;
    }
    
function
 
allowance
(
address
 owner, 
address
 spender
) 
public
 
view
 
override
 
returns
 (
uint256
) 
{
        
return
 _allowances[owner][spender];
    }
    
function
 
approve
(
address
 spender, 
uint256
 amount
) 
public
 
override
 
returns
 (
bool
) 
{
        _approve(_msgSender(), spender, amount);
        
return
 
true
;
    }
    
function
 
transferFrom
(
address
 sender, 
address
 recipient, 
uint256
 amount
) 
public
 
override
 
returns
 (
bool
) 
{
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, 
"ERC20: transfer amount exceeds allowance"
));
        
return
 
true
;
    }
    
function
 
increaseAllowance
(
address
 spender, 
uint256
 addedValue
) 
public
 
virtual
 
returns
 (
bool
) 
{
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        
return
 
true
;
    }
    
function
 
decreaseAllowance
(
address
 spender, 
uint256
 subtractedValue
) 
public
 
virtual
 
returns
 (
bool
) 
{
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, 
"ERC20: decreased allowance below zero"
));
        
return
 
true
;
    }
    
function
 
isExcluded
(
address
 account
) 
public
 
view
 
returns
 (
bool
) 
{
        
return
 _isExcluded[account];
    }
    
function
 
totalFees
(
) 
public
 
view
 
returns
 (
uint256
) 
{
        
return
 _tFeeTotal;
    }
    
function
 
reflect
(
uint256
 tAmount
) 
public
 
{
        
address
 sender = _msgSender();
        
require
(!_isExcluded[sender], 
"Excluded addresses cannot call this function"
);
        (
uint256
 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }
    
function
 
reflectionFromToken
(
uint256
 tAmount, 
bool
 deductTransferFee
) 
public
 
view
 
returns
(
uint256
) 
{
        
require
(tAmount <= _tTotal, 
"Amount must be less than supply"
);
        
if
 (!deductTransferFee) {
            (
uint256
 rAmount,,,,) = _getValues(tAmount);
            
return
 rAmount;
        } 
else
 {
            (,
uint256
 rTransferAmount,,,) = _getValues(tAmount);
            
return
 rTransferAmount;
        }
    }
    
function
 
tokenFromReflection
(
uint256
 rAmount
) 
public
 
view
 
returns
(
uint256
) 
{
        
require
(rAmount <= _rTotal, 
"Amount must be less than total reflections"
);
        
uint256
 currentRate =  _getRate();
        
return
 rAmount.div(currentRate);
    }
    
function
 
excludeAccount
(
address
 account
) 
external
 
onlyOwner
(
) 
{
        
require
(!_isExcluded[account], 
"Account is already excluded"
);
        
if
(_rOwned[account] > 
0
) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = 
true
;
        _excluded.
push
(account);
    }
    
function
 
includeAccount
(
address
 account
) 
external
 
onlyOwner
(
) 
{
        
require
(_isExcluded[account], 
"Account is already excluded"
);
        
for
 (
uint256
 i = 
0
; i < _excluded.
length
; i++) {
            
if
 (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.
length
 - 
1
];
                _tOwned[account] = 
0
;
                _isExcluded[account] = 
false
;
                _excluded.
pop
();
                
break
;
            }
        }
    }
    
function
 
_approve
(
address
 owner, 
address
 spender, 
uint256
 amount
) 
private
 
{
        
require
(owner != 
address
(
0
), 
"ERC20: approve from the zero address"
);
        
require
(spender != 
address
(
0
), 
"ERC20: approve to the zero address"
);
        _allowances[owner][spender] = amount;
        
emit
 Approval(owner, spender, amount);
    }
    
function
 
_transfer
(
address
 sender, 
address
 recipient, 
uint256
 amount
) 
private
 
{
        
require
(sender != 
address
(
0
), 
"ERC20: transfer from the zero address"
);
        
require
(recipient != 
address
(
0
), 
"ERC20: transfer to the zero address"
);
        
require
(amount > 
0
, 
"Transfer amount must be greater than zero"
);
        
if
 (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } 
else
 
if
 (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } 
else
 
if
 (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } 
else
 
if
 (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } 
else
 {
            _transferStandard(sender, recipient, amount);
        }
    }
    
function
 
_transferStandard
(
address
 sender, 
address
 recipient, 
uint256
 tAmount
) 
private
 
{
        (
uint256
 rAmount, 
uint256
 rTransferAmount, 
uint256
 rFee, 
uint256
 tTransferAmount, 
uint256
 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       
        _reflectFee(rFee, tFee);
        
emit
 Transfer(sender, recipient, tTransferAmount);
    }
    
function
 
_transferToExcluded
(
address
 sender, 
address
 recipient, 
uint256
 tAmount
) 
private
 
{
        (
uint256
 rAmount, 
uint256
 rTransferAmount, 
uint256
 rFee, 
uint256
 tTransferAmount, 
uint256
 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _reflectFee(rFee, tFee);
        
emit
 Transfer(sender, recipient, tTransferAmount);
    }
    
function
 
_transferFromExcluded
(
address
 sender, 
address
 recipient, 
uint256
 tAmount
) 
private
 
{
        (
uint256
 rAmount, 
uint256
 rTransferAmount, 
uint256
 rFee, 
uint256
 tTransferAmount, 
uint256
 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _reflectFee(rFee, tFee);
        
emit
 Transfer(sender, recipient, tTransferAmount);
    }
    
function
 
_transferBothExcluded
(
address
 sender, 
address
 recipient, 
uint256
 tAmount
) 
private
 
{
        (
uint256
 rAmount, 
uint256
 rTransferAmount, 
uint256
 rFee, 
uint256
 tTransferAmount, 
uint256
 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _reflectFee(rFee, tFee);
        
emit
 Transfer(sender, recipient, tTransferAmount);
    }
    
function
 
_reflectFee
(
uint256
 rFee, 
uint256
 tFee
) 
private
 
{
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
    
function
 
_getValues
(
uint256
 tAmount
) 
private
 
view
 
returns
 (
uint256
, 
uint256
, 
uint256
, 
uint256
, 
uint256
) 
{
        (
uint256
 tTransferAmount, 
uint256
 tFee) = _getTValues(tAmount);
        
uint256
 currentRate =  _getRate();
        (
uint256
 rAmount, 
uint256
 rTransferAmount, 
uint256
 rFee) = _getRValues(tAmount, tFee, currentRate);
        
return
 (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }
    
function
 
_getTValues
(
uint256
 tAmount
) 
private
 
pure
 
returns
 (
uint256
, 
uint256
) 
{
        
uint256
 tFee = tAmount.div(
100
).mul(
5
);
        
uint256
 tTransferAmount = tAmount.sub(tFee);
        
return
 (tTransferAmount, tFee);
    }
    
function
 
_getRValues
(
uint256
 tAmount, 
uint256
 tFee, 
uint256
 currentRate
) 
private
 
pure
 
returns
 (
uint256
, 
uint256
, 
uint256
) 
{
        
uint256
 rAmount = tAmount.mul(currentRate);
        
uint256
 rFee = tFee.mul(currentRate);
        
uint256
 rTransferAmount = rAmount.sub(rFee);
        
return
 (rAmount, rTransferAmount, rFee);
    }
    
function
 
_getRate
(
) 
private
 
view
 
returns
(
uint256
) 
{
        (
uint256
 rSupply, 
uint256
 tSupply) = _getCurrentSupply();
        
return
 rSupply.div(tSupply);
    }
    
function
 
_getCurrentSupply
(
) 
private
 
view
 
returns
(
uint256
, 
uint256
) 
{
        
uint256
 rSupply = _rTotal;
        
uint256
 tSupply = _tTotal;      
        
for
 (
uint256
 i = 
0
; i < _excluded.
length
; i++) {
            
if
 (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) 
return
 (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        
if
 (rSupply < _rTotal.div(_tTotal)) 
return
 (_rTotal, _tTotal);
        
return
 (rSupply, tSupply);
    }
}

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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

608060405269d3c21bcecceda1000000600019816200001a57fe5b06600019036006556040518060400160405280600881526020017f4d6f6f6e53746179000000000000000000000000000000000000000000000000815250600890805190602001906200006f9291906200027a565b506040518060400160405280600281526020017f4d5300000000000000000000000000000000000000000000000000000000000081525060099080519060200190620000bd9291906200027a565b506009600a60006101000a81548160ff021916908360ff160217905550348015620000e757600080fd5b506000620000fa6200027260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001af6200027260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001fd6200027260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040518082815260200191505060405180910390a362000330565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002b25760008555620002fe565b82601f10620002cd57805160ff1916838001178555620002fe565b82800160010185558215620002fe579182015b82811115620002fd578251825591602001919060010190620002e0565b5b5090506200030d919062000311565b5090565b5b808211156200032c57600081600090555060010162000312565b5090565b61336980620003406000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb146105a3578063cba0e99614610607578063dd62ed3e14610661578063f2cc0c18146106d9578063f2fde38b1461071d578063f84354f11461076157610137565b806370a0823114610426578063715018a61461047e5780638da5cb5b1461048857806395d89b41146104bc578063a457c2d71461053f57610137565b806323b872dd116100ff57806323b872dd1461028d5780632d83811914610311578063313ce5671461035357806339509351146103745780634549b039146103d857610137565b8063053ab1821461013c57806306fdde031461016a578063095ea7b3146101ed57806313114a9d1461025157806318160ddd1461026f575b600080fd5b6101686004803603602081101561015257600080fd5b81019080803590602001909291905050506107a5565b005b610172610935565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b2578082015181840152602081019050610197565b50505050905090810190601f1680156101df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102396004803603604081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d7565b60405180821515815260200191505060405180910390f35b6102596109f5565b6040518082815260200191505060405180910390f35b6102776109ff565b6040518082815260200191505060405180910390f35b6102f9600480360360608110156102a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a11565b60405180821515815260200191505060405180910390f35b61033d6004803603602081101561032757600080fd5b8101908080359060200190929190505050610aea565b6040518082815260200191505060405180910390f35b61035b610b6e565b604051808260ff16815260200191505060405180910390f35b6103c06004803603604081101561038a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b85565b60405180821515815260200191505060405180910390f35b610410600480360360408110156103ee57600080fd5b8101908080359060200190929190803515159060200190929190505050610c38565b6040518082815260200191505060405180910390f35b6104686004803603602081101561043c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf5565b6040518082815260200191505060405180910390f35b610486610de0565b005b610490610f66565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104c4610f8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105045780820151818401526020810190506104e9565b50505050905090810190601f1680156105315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61058b6004803603604081101561055557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611031565b60405180821515815260200191505060405180910390f35b6105ef600480360360408110156105b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110fe565b60405180821515815260200191505060405180910390f35b6106496004803603602081101561061d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111c565b60405180821515815260200191505060405180910390f35b6106c36004803603604081101561067757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611172565b6040518082815260200191505060405180910390f35b61071b600480360360208110156106ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f9565b005b61075f6004803603602081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611513565b005b6107a36004803603602081101561077757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061171e565b005b60006107af611aa8565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806132e3602c913960400191505060405180910390fd5b600061085f83611ab0565b5050505090506108b781600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061090f81600654611b0890919063ffffffff16565b60068190555061092a83600754611b5290919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b5050505050905090565b60006109eb6109e4611aa8565b8484611bda565b6001905092915050565b6000600754905090565b600069d3c21bcecceda1000000905090565b6000610a1e848484611dd1565b610adf84610a2a611aa8565b610ada8560405180606001604052806028815260200161324960289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a90611aa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222a9092919063ffffffff16565b611bda565b600190509392505050565b6000600654821115610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806131b6602a913960400191505060405180910390fd5b6000610b516122ea565b9050610b66818461231590919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610c2e610b92611aa8565b84610c298560036000610ba3611aa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b611bda565b6001905092915050565b600069d3c21bcecceda1000000831115610cba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610cd9576000610cca84611ab0565b50505050905080915050610cef565b6000610ce484611ab0565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610d9057600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ddb565b610dd8600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610aea565b90505b919050565b610de8611aa8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110275780601f10610ffc57610100808354040283529160200191611027565b820191906000526020600020905b81548152906001019060200180831161100a57829003601f168201915b5050505050905090565b60006110f461103e611aa8565b846110ef8560405180606001604052806025815260200161330f6025913960036000611068611aa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222a9092919063ffffffff16565b611bda565b6001905092915050565b600061111261110b611aa8565b8484611dd1565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611201611aa8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561145557611411600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610aea565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61151b611aa8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131e06026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611726611aa8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611aa4578173ffffffffffffffffffffffffffffffffffffffff16600582815481106118d957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a975760056001600580549050038154811061193557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005828154811061196d57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611a5d57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611aa4565b80806001019150506118a8565b5050565b600033905090565b6000806000806000806000611ac48861235f565b915091506000611ad26122ea565b90506000806000611ae48c86866123b1565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611b4a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061222a565b905092915050565b600080828401905083811015611bd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132bf6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ce6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806132066022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061329a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611edd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806131936023913960400191505060405180910390fd5b60008111611f36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806132716029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fd95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fee57611fe983838361240f565b612225565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120915750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120a6576120a1838383612662565b612224565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561214a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561215f5761215a8383836128b5565b612223565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122015750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561221657612211838383612a73565b612222565b6122218383836128b5565b5b5b5b5b505050565b60008383111582906122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561229c578082015181840152602081019050612281565b50505050905090810190601f1680156122c95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006122f7612d5b565b9150915061230e818361231590919063ffffffff16565b9250505090565b600061235783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061300c565b905092915050565b600080600061238b600561237d60648761231590919063ffffffff16565b6130d290919063ffffffff16565b905060006123a28286611b0890919063ffffffff16565b90508082935093505050915091565b6000806000806123ca85886130d290919063ffffffff16565b905060006123e186886130d290919063ffffffff16565b905060006123f88284611b0890919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061242086611ab0565b9450945094509450945061247c86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061251185600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125a684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125f38382613158565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600080600061267386611ab0565b945094509450945094506126cf85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061276482600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127f984600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128468382613158565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006128c686611ab0565b9450945094509450945061292285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b784600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a048382613158565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612a8486611ab0565b94509450945094509450612ae086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b7585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c0a82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9f84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cec8382613158565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060006006549050600069d3c21bcecceda1000000905060005b600580549050811015612fbf57826001600060058481548110612d9657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612e7d5750816002600060058481548110612e1557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e9c5760065469d3c21bcecceda100000094509450505050613008565b612f256001600060058481548110612eb057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b0890919063ffffffff16565b9250612fb06002600060058481548110612f3b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b0890919063ffffffff16565b91508080600101915050612d77565b50612fdf69d3c21bcecceda100000060065461231590919063ffffffff16565b821015612fff5760065469d3c21bcecceda1000000935093505050613008565b81819350935050505b9091565b600080831182906130b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561307d578082015181840152602081019050613062565b50505050905090810190601f1680156130aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130c457fe5b049050809150509392505050565b6000808314156130e55760009050613152565b60008284029050828482816130f657fe5b041461314d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132286021913960400191505060405180910390fd5b809150505b92915050565b61316d82600654611b0890919063ffffffff16565b60068190555061318881600754611b5290919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ae43541a956630705433423d561c8ae742d2887dbe8a9489d27de7a9354e9f3164736f6c63430007060033

Deployed ByteCode Sourcemap

17455:11863:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21169:410;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18545:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19719:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21044:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18920:129;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19930:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;22095:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18799:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20301:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21587:500;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19057:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16811:190;;;:::i;:::-;;16105:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18670:121;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20569:315;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19309:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20892:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19526:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22402:380;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17160:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22790:554;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21169:410;21241:16;21260:12;:10;:12::i;:::-;21241:31;;21296:11;:19;21308:6;21296:19;;;;;;;;;;;;;;;;;;;;;;;;;21295:20;21285:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21382:17;21407:19;21418:7;21407:10;:19::i;:::-;21379:47;;;;;;21455:28;21475:7;21455;:15;21463:6;21455:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;21437:7;:15;21445:6;21437:15;;;;;;;;;;;;;;;:46;;;;21504:20;21516:7;21504;;:11;;:20;;;;:::i;:::-;21494:7;:30;;;;21548:23;21563:7;21548:10;;:14;;:23;;;;:::i;:::-;21535:10;:36;;;;21169:410;;;:::o;18545:117::-;18604:17;18649:5;18640:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18545:117;:::o;19719:203::-;19824:4;19845:39;19854:12;:10;:12::i;:::-;19868:7;19877:6;19845:8;:39::i;:::-;19908:4;19897:15;;19719:203;;;;:::o;21044:117::-;21108:7;21143:10;;21134:19;;21044:117;:::o;18920:129::-;18999:7;18091:42;19025:16;;18920:129;:::o;19930:363::-;20062:4;20083:36;20093:6;20101:9;20112:6;20083:9;:36::i;:::-;20130:125;20139:6;20147:12;:10;:12::i;:::-;20161:93;20199:6;20161:93;;;;;;;;;;;;;;;;;:11;:19;20173:6;20161:19;;;;;;;;;;;;;;;:33;20181:12;:10;:12::i;:::-;20161:33;;;;;;;;;;;;;;;;:37;;:93;;;;;:::i;:::-;20130:8;:125::i;:::-;20279:4;20268:15;;19930:363;;;;;:::o;22095:299::-;22187:7;22234;;22223;:18;;22213:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22305:21;22330:10;:8;:10::i;:::-;22305:35;;22362:24;22374:11;22362:7;:11;;:24;;;;:::i;:::-;22353:33;;;22095:299;;;:::o;18799:113::-;18862:5;18895:9;;;;;;;;;;;18886:18;;18799:113;:::o;20301:260::-;20419:4;20440:83;20449:12;:10;:12::i;:::-;20463:7;20472:50;20511:10;20472:11;:25;20484:12;:10;:12::i;:::-;20472:25;;;;;;;;;;;;;;;:34;20498:7;20472:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;20440:8;:83::i;:::-;20547:4;20536:15;;20301:260;;;;:::o;21587:500::-;21707:7;18091:42;21743:7;:18;;21733:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21821:17;21814:266;;21858:17;21883:19;21894:7;21883:10;:19::i;:::-;21855:47;;;;;;21928:7;21919:16;;;;;21814:266;21976:25;22008:19;22019:7;22008:10;:19::i;:::-;21972:55;;;;;;22053:15;22044:24;;;21587:500;;;;;:::o;19057:244::-;19153:7;19185:11;:20;19197:7;19185:20;;;;;;;;;;;;;;;;;;;;;;;;;19179:55;;;19218:7;:16;19226:7;19218:16;;;;;;;;;;;;;;;;19209:25;;;;19179:55;19256:37;19276:7;:16;19284:7;19276:16;;;;;;;;;;;;;;;;19256:19;:37::i;:::-;19247:46;;19057:244;;;;:::o;16811:190::-;16375:12;:10;:12::i;:::-;16365:22;;:6;;;;;;;;;;:22;;;16355:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16950:1:::1;16907:48;;16928:6;::::0;::::1;;;;;;;;16907:48;;;;;;;;;;;;16989:1;16966:6:::0;::::1;:27;;;;;;;;;;;;;;;;;;16811:190::o:0;16105:109::-;16165:7;16200:6;;;;;;;;;;;16191:15;;16105:109;:::o;18670:121::-;18731:17;18776:7;18767:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18670:121;:::o;20569:315::-;20692:4;20713:133;20722:12;:10;:12::i;:::-;20736:7;20745:100;20784:15;20745:100;;;;;;;;;;;;;;;;;:11;:25;20757:12;:10;:12::i;:::-;20745:25;;;;;;;;;;;;;;;:34;20771:7;20745:34;;;;;;;;;;;;;;;;:38;;:100;;;;;:::i;:::-;20713:8;:133::i;:::-;20870:4;20859:15;;20569:315;;;;:::o;19309:209::-;19417:4;19438:42;19448:12;:10;:12::i;:::-;19462:9;19473:6;19438:9;:42::i;:::-;19504:4;19493:15;;19309:209;;;;:::o;20892:144::-;20976:4;21008:11;:20;21020:7;21008:20;;;;;;;;;;;;;;;;;;;;;;;;;20999:29;;20892:144;;;:::o;19526:185::-;19641:7;19676:11;:18;19688:5;19676:18;;;;;;;;;;;;;;;:27;19695:7;19676:27;;;;;;;;;;;;;;;;19667:36;;19526:185;;;;:::o;22402:380::-;16375:12;:10;:12::i;:::-;16365:22;;:6;;;;;;;;;;:22;;;16355:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22512:11:::1;:20;22524:7;22512:20;;;;;;;;;;;;;;;;;;;;;;;;;22511:21;22501:67;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;22607:1;22586:7;:16;22594:7;22586:16;;;;;;;;;;;;;;;;:22;22581:114;;;22646:37;22666:7;:16;22674:7;22666:16;;;;;;;;;;;;;;;;22646:19;:37::i;:::-;22627:7;:16;22635:7;22627:16;;;;;;;;;;;;;;;:56;;;;22581:114;22730:4;22705:11;:20;22717:7;22705:20;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;22747:9;22766:7;22747:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22402:380:::0;:::o;17160:290::-;16375:12;:10;:12::i;:::-;16365:22;;:6;;;;;;;;;;:22;;;16355:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17305:1:::1;17279:30;;:8;:30;;;;17269:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17405:8;17376:38;;17397:6;::::0;::::1;;;;;;;;17376:38;;;;;;;;;;;;17434:8;17425:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;17160:290:::0;:::o;22790:554::-;16375:12;:10;:12::i;:::-;16365:22;;:6;;;;;;;;;;:22;;;16355:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22899:11:::1;:20;22911:7;22899:20;;;;;;;;;;;;;;;;;;;;;;;;;22889:66;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;22977:11;22968:369;23002:9;:18;;;;22998:1;:22;22968:369;;;23068:7;23052:23;;:9;23062:1;23052:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;23046:280;;;23111:9;23146:1;23121:9;:18;;;;:26;23111:39;;;;;;;;;;;;;;;;;;;;;;;;;23096:9;23106:1;23096:12;;;;;;;;;;;;;;;;:54;;;;;;;;;;;;;;;;;;23190:1;23169:7;:16;23177:7;23169:16;;;;;;;;;;;;;;;:22;;;;23237:5;23212:11;:20;23224:7;23212:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;23263:9;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23303:5;;23046:280;23024:3;;;;;;;22968:369;;;;22790:554:::0;:::o;341:152::-;420:19;469:14;458:25;;341:152;:::o;27282:485::-;27367:7;27380;27393;27406;27419;27446:25;27475:14;27493:20;27505:7;27493:11;:20::i;:::-;27443:70;;;;27526:21;27551:10;:8;:10::i;:::-;27526:35;;27575:17;27596:25;27625:14;27643:39;27655:7;27664:4;27670:11;27643;:39::i;:::-;27572:110;;;;;;27705:7;27714:15;27731:4;27737:15;27754:4;27695:64;;;;;;;;;;;;;;;;27282:485;;;;;;;:::o;4513:178::-;4601:7;4636:47;4640:1;4643;4636:47;;;;;;;;;;;;;;;;;:3;:47::i;:::-;4627:56;;4513:178;;;;:::o;3997:229::-;4085:7;4111:11;4129:1;4125;:5;4111:19;;4158:1;4153;:6;;4143:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:1;4208:10;;;3997:229;;;;:::o;23352:397::-;23498:1;23475:27;;:5;:27;;;;23465:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23595:1;23570:29;;:7;:29;;;;23560:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23683:6;23653:11;:18;23665:5;23653:18;;;;;;;;;;;;;;;:27;23672:7;23653:27;;;;;;;;;;;;;;;:36;;;;23725:7;23709:32;;23718:5;23709:32;;;23734:6;23709:32;;;;;;;;;;;;;;;;;;23352:397;;;:::o;23757:1033::-;23908:1;23884:28;;:6;:28;;;;23874:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24008:1;23981:31;;:9;:31;;;;23971:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24090:1;24079:6;:12;24069:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24162:11;:19;24174:6;24162:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;24186:11;:22;24198:9;24186:22;;;;;;;;;;;;;;;;;;;;;;;;;24185:23;24162:46;24156:627;;;24225:48;24247:6;24255:9;24266:6;24225:21;:48::i;:::-;24156:627;;;24304:11;:19;24316:6;24304:19;;;;;;;;;;;;;;;;;;;;;;;;;24303:20;:46;;;;;24327:11;:22;24339:9;24327:22;;;;;;;;;;;;;;;;;;;;;;;;;24303:46;24297:486;;;24366:46;24386:6;24394:9;24405:6;24366:19;:46::i;:::-;24297:486;;;24443:11;:19;24455:6;24443:19;;;;;;;;;;;;;;;;;;;;;;;;;24442:20;:47;;;;;24467:11;:22;24479:9;24467:22;;;;;;;;;;;;;;;;;;;;;;;;;24466:23;24442:47;24436:347;;;24506:44;24524:6;24532:9;24543:6;24506:17;:44::i;:::-;24436:347;;;24580:11;:19;24592:6;24580:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;24603:11;:22;24615:9;24603:22;;;;;;;;;;;;;;;;;;;;;;;;;24580:45;24574:209;;;24642:48;24664:6;24672:9;24683:6;24642:21;:48::i;:::-;24574:209;;;24727:44;24745:6;24753:9;24764:6;24727:17;:44::i;:::-;24574:209;24436:347;24297:486;24156:627;23757:1033;;;:::o;4998:244::-;5122:7;5163:1;5158;:6;;5166:12;5148:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5192:11;5210:1;5206;:5;5192:19;;5233:1;5224:10;;;4998:244;;;;;:::o;28471:201::-;28534:7;28561:17;28582;28603:19;:17;:19::i;:::-;28558:64;;;;28644:20;28656:7;28644;:11;;:20;;;;:::i;:::-;28635:29;;;;28471:201;:::o;6530:174::-;6618:7;6653:43;6657:1;6660;6653:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6644:52;;6530:174;;;;:::o;27775:284::-;27861:7;27874;27900:14;27917:31;27944:1;27917:20;27931:3;27917:7;:11;;:20;;;;:::i;:::-;:24;;:31;;;;:::i;:::-;27900:48;;27961:25;27989:17;28001:4;27989:7;:11;;:17;;;;:::i;:::-;27961:45;;28029:15;28046:4;28019:32;;;;;;27775:284;;;:::o;28067:396::-;28196:7;28209;28222;28248:17;28268:24;28280:11;28268:7;:11;;:24;;;;:::i;:::-;28248:44;;28305:14;28322:21;28331:11;28322:4;:8;;:21;;;;:::i;:::-;28305:38;;28356:25;28384:17;28396:4;28384:7;:11;;:17;;;;:::i;:::-;28356:45;;28424:7;28433:15;28450:4;28414:41;;;;;;;;;28067:396;;;;;;;:::o;25895:559::-;26026:17;26047:25;26076:14;26094:25;26123:14;26141:19;26152:7;26141:10;:19::i;:::-;26023:137;;;;;;;;;;26189:28;26209:7;26189;:15;26197:6;26189:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26171:7;:15;26179:6;26171:15;;;;;;;;;;;;;;;:46;;;;26246:28;26266:7;26246;:15;26254:6;26246:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26228:7;:15;26236:6;26228:15;;;;;;;;;;;;;;;:46;;;;26306:39;26329:15;26306:7;:18;26314:9;26306:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;26285:7;:18;26293:9;26285:18;;;;;;;;;;;;;;;:60;;;;26359:23;26371:4;26377;26359:11;:23::i;:::-;26419:9;26402:44;;26411:6;26402:44;;;26430:15;26402:44;;;;;;;;;;;;;;;;;;25895:559;;;;;;;;:::o;25308:579::-;25437:17;25458:25;25487:14;25505:25;25534:14;25552:19;25563:7;25552:10;:19::i;:::-;25434:137;;;;;;;;;;25600:28;25620:7;25600;:15;25608:6;25600:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25582:7;:15;25590:6;25582:15;;;;;;;;;;;;;;;:46;;;;25660:39;25683:15;25660:7;:18;25668:9;25660:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25639:7;:18;25647:9;25639:18;;;;;;;;;;;;;;;:60;;;;25731:39;25754:15;25731:7;:18;25739:9;25731:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25710:7;:18;25718:9;25710:18;;;;;;;;;;;;;;;:60;;;;25792:23;25804:4;25810;25792:11;:23::i;:::-;25852:9;25835:44;;25844:6;25835:44;;;25863:15;25835:44;;;;;;;;;;;;;;;;;;25308:579;;;;;;;;:::o;24798:502::-;24925:17;24946:25;24975:14;24993:25;25022:14;25040:19;25051:7;25040:10;:19::i;:::-;24922:137;;;;;;;;;;25088:28;25108:7;25088;:15;25096:6;25088:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25070:7;:15;25078:6;25070:15;;;;;;;;;;;;;;;:46;;;;25148:39;25171:15;25148:7;:18;25156:9;25148:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25127:7;:18;25135:9;25127:18;;;;;;;;;;;;;;;:60;;;;25205:23;25217:4;25223;25205:11;:23::i;:::-;25265:9;25248:44;;25257:6;25248:44;;;25276:15;25248:44;;;;;;;;;;;;;;;;;;24798:502;;;;;;;;:::o;26462:635::-;26593:17;26614:25;26643:14;26661:25;26690:14;26708:19;26719:7;26708:10;:19::i;:::-;26590:137;;;;;;;;;;26756:28;26776:7;26756;:15;26764:6;26756:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26738:7;:15;26746:6;26738:15;;;;;;;;;;;;;;;:46;;;;26813:28;26833:7;26813;:15;26821:6;26813:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26795:7;:15;26803:6;26795:15;;;;;;;;;;;;;;;:46;;;;26873:39;26896:15;26873:7;:18;26881:9;26873:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;26852:7;:18;26860:9;26852:18;;;;;;;;;;;;;;;:60;;;;26944:39;26967:15;26944:7;:18;26952:9;26944:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;26923:7;:18;26931:9;26923:18;;;;;;;;;;;;;;;:60;;;;27002:23;27014:4;27020;27002:11;:23::i;:::-;27062:9;27045:44;;27054:6;27045:44;;;27073:15;27045:44;;;;;;;;;;;;;;;;;;26462:635;;;;;;;;:::o;28680:::-;28752:7;28765;28791:17;28811:7;;28791:27;;28831:17;18091:42;28831:27;;28886:11;28877:311;28911:9;:18;;;;28907:1;:22;28877:311;;;28985:7;28961;:21;28969:9;28979:1;28969:12;;;;;;;;;;;;;;;;;;;;;;;;;28961:21;;;;;;;;;;;;;;;;:31;:66;;;;29020:7;28996;:21;29004:9;29014:1;29004:12;;;;;;;;;;;;;;;;;;;;;;;;;28996:21;;;;;;;;;;;;;;;;:31;28961:66;28955:103;;;29041:7;;18091:42;29031:27;;;;;;;;;28955:103;29083:34;29095:7;:21;29103:9;29113:1;29103:12;;;;;;;;;;;;;;;;;;;;;;;;;29095:21;;;;;;;;;;;;;;;;29083:7;:11;;:34;;;;:::i;:::-;29073:44;;29142:34;29154:7;:21;29162:9;29172:1;29162:12;;;;;;;;;;;;;;;;;;;;;;;;;29154:21;;;;;;;;;;;;;;;;29142:7;:11;;:34;;;;:::i;:::-;29132:44;;28933:3;;;;;;;28877:311;;;;29216:20;18091:42;29216:7;;:11;;:20;;;;:::i;:::-;29206:7;:30;29200:67;;;29250:7;;18091:42;29240:27;;;;;;;;29200:67;29290:7;29299;29280:27;;;;;;28680:635;;;:::o;7204:338::-;7328:7;7370:1;7364;:7;7375:12;7354:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7401:11;7419:1;7415;:5;;;;;;7401:19;;7533:1;7524:10;;;7204:338;;;;;:::o;5505:545::-;5593:7;5865:1;5858;:8;5852:61;;;5898:1;5887:12;;;;5852:61;5925:11;5943:1;5939;:5;5925:19;;5976:1;5971;5967;:5;;;;;;:10;5957:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6041:1;6032:10;;;5505:545;;;;;:::o;27105:169::-;27205:17;27217:4;27205:7;;:11;;:17;;;;:::i;:::-;27195:7;:27;;;;27246:20;27261:4;27246:10;;:14;;:20;;;;:::i;:::-;27233:10;:33;;;;27105:169;;:::o

Swarm Source

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