ETH Price: $3,265.56 (-0.49%)
Gas: 3 Gwei

Token

Donald Trump 2024 (Trump2024)
 

Overview

Max Total Supply

1,000,000,000,000 Trump2024

Holders

215

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,774,548.484932964551693692 Trump2024

Value
$0.00
0xa56492000b79e940e76ab253d46ebdebe849adf6
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Panda

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-05
*/

pragma solidity ^0.6.0;

// SPDX-License-Identifier: MIT

/**
 * @dev Collection of functions related to the address type
 */
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);
    }

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


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



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



/**
 * @dev Interface of the BEP20 standard as defined in the EIP.
 */
interface IBEP20 {
    /**
     * @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:
     *
     * 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);
}



/**
 * @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.
 */
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 () internal {
        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;
    }
}


/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
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.
        
        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;
    }
}

contract Panda is Context, IBEP20, 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;
    
    string  private constant     _NAME = 'Donald Trump 2024';
    string  private constant   _SYMBOL = 'Trump2024';
    uint8   private constant _DECIMALS = 18;
   
    uint256 private constant _MAX = ~uint256(0);
    uint256 private constant _DECIMALFACTOR = 10 ** uint256(_DECIMALS);
    uint256 private constant _GRANULARITY = 100;
    
    uint256 private _tTotal = 1000000000000 * _DECIMALFACTOR;
    uint256 private _rTotal = (_MAX - (_MAX % _tTotal));
    
    uint256 private _tFeeTotal;
    uint256 private _tBurnTotal;
    
    uint256 private constant       _TAX_FEE = 200;   // 2%
    uint256 private constant   _Charity_FEE = 300;  // 3%
    uint256 private constant   _MAX_TX_SIZE = 1000000000000 * _DECIMALFACTOR;

    address private _CharityWallet;

    constructor (address CharityWallet) public {
        _rOwned[_msgSender()] = _rTotal;
        _CharityWallet = CharityWallet;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _NAME;
    }

    function symbol() public pure returns (string memory) {
        return _SYMBOL;
    }

    function decimals() public pure returns (uint8) {
        return _DECIMALS;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function getCharityWallet() public view returns (address) {
        return _CharityWallet;
    }

    function setCharityWallet(address CharityWallet) external onlyOwner()  {
        require(!_isExcluded[CharityWallet], "Can't be excluded address");
        _CharityWallet = CharityWallet;
    }

    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, "BEP20: 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, "BEP20: 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 totalCharityFee() public view returns (uint256) {
        return _tBurnTotal;
    }

    function deliver(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(account != _CharityWallet, "Charity wallet can't be excluded");
        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), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: 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), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if(sender != owner() && recipient != owner())
            require(amount <= _MAX_TX_SIZE, "Transfer amount exceeds the maxTxAmount.");
        
        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 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);

        _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, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private {
        _rTotal     = _rTotal.sub(rFee);
        _tFeeTotal  = _tFeeTotal.add(tFee);
        _tBurnTotal = _tBurnTotal.add(tBurn);
        _rOwned[_CharityWallet] = _rOwned[_CharityWallet].add(rBurn);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getTValues(tAmount, _TAX_FEE, _Charity_FEE);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tBurn, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tBurn);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 burnFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = ((tAmount.mul(taxFee)).div(_GRANULARITY)).div(100);
        uint256 tBurn = ((tAmount.mul(burnFee)).div(_GRANULARITY)).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tBurn);
        return (tTransferAmount, tFee, tBurn);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tBurn, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rBurn = tBurn.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurn);
        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);
    }
    
    function _getTaxFee() private pure returns(uint256) {
        return _TAX_FEE;
    }

    function _getMaxTxAmount() private pure returns(uint256) {
        return _MAX_TX_SIZE;
    }    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"CharityWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"pure","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":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCharityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"address","name":"CharityWallet","type":"address"}],"name":"setCharityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCharityFee","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":"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"}]

6080604052601260ff16600a0a64e8d4a5100002600655600654600019816200002457fe5b06600019036007553480156200003957600080fd5b5060405162003b7c38038062003b7c833981810160405260208110156200005f57600080fd5b81019080805190602001909291905050506000620000826200023460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460016000620001376200023460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001c66200023460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a3506200023c565b600033905090565b613930806200024c6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063a9059cbb1161007c578063a9059cbb1461065a578063cba0e996146106be578063dd62ed3e14610718578063f2cc0c1814610790578063f2fde38b146107d4578063f84354f11461081857610158565b8063715018a6146104e35780637f2b9f90146104ed5780638da5cb5b1461050b57806395d89b411461053f57806396dacde7146105c2578063a457c2d7146105f657610158565b806330563bd71161011557806330563bd714610346578063313ce5671461038a57806339509351146103ab5780633bd5d1731461040f5780634549b0391461043d57806370a082311461048b57610158565b806306fdde031461015d578063095ea7b3146101e057806313114a9d1461024457806318160ddd1461026257806323b872dd146102805780632d83811914610304575b600080fd5b61016561085c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610899565b60405180821515815260200191505060405180910390f35b61024c6108b7565b6040518082815260200191505060405180910390f35b61026a6108c1565b6040518082815260200191505060405180910390f35b6102ec6004803603606081101561029657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cb565b60405180821515815260200191505060405180910390f35b6103306004803603602081101561031a57600080fd5b81019080803590602001909291905050506109a4565b6040518082815260200191505060405180910390f35b6103886004803603602081101561035c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a28565b005b610392610bf4565b604051808260ff16815260200191505060405180910390f35b6103f7600480360360408110156103c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfd565b60405180821515815260200191505060405180910390f35b61043b6004803603602081101561042557600080fd5b8101908080359060200190929190505050610cb0565b005b6104756004803603604081101561045357600080fd5b8101908080359060200190929190803515159060200190929190505050610e41565b6040518082815260200191505060405180910390f35b6104cd600480360360208110156104a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef8565b6040518082815260200191505060405180910390f35b6104eb610fe3565b005b6104f5611169565b6040518082815260200191505060405180910390f35b610513611173565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61054761119c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058757808201518184015260208101905061056c565b50505050905090810190601f1680156105b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105ca6111d9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106426004803603604081101561060c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611203565b60405180821515815260200191505060405180910390f35b6106a66004803603604081101561067057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112d0565b60405180821515815260200191505060405180910390f35b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ee565b60405180821515815260200191505060405180910390f35b61077a6004803603604081101561072e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611344565b6040518082815260200191505060405180910390f35b6107d2600480360360208110156107a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113cb565b005b610816600480360360208110156107ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a9565b005b61085a6004803603602081101561082e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119b4565b005b60606040518060400160405280601181526020017f446f6e616c64205472756d702032303234000000000000000000000000000000815250905090565b60006108ad6108a6611d3e565b8484611d46565b6001905092915050565b6000600854905090565b6000600654905090565b60006108d8848484611f3d565b610999846108e4611d3e565b610994856040518060600160405280602881526020016137cb60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061094a611d3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124799092919063ffffffff16565b611d46565b600190509392505050565b6000600754821115610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061377b602a913960400191505060405180910390fd5b6000610a0b612539565b9050610a20818461256490919063ffffffff16565b915050919050565b610a30611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43616e2774206265206578636c7564656420616464726573730000000000000081525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006012905090565b6000610ca6610c0a611d3e565b84610ca18560036000610c1b611d3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b611d46565b6001905092915050565b6000610cba611d3e565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806138ad602c913960400191505060405180910390fd5b6000610d6a83612636565b50505050509050610dc381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1b8160075461269d90919063ffffffff16565b600781905550610e36836008546125ae90919063ffffffff16565b600881905550505050565b6000600654831115610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610edb576000610ecb84612636565b5050505050905080915050610ef2565b6000610ee684612636565b50505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f9357600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610fde565b610fdb600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a4565b90505b919050565b610feb611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600954905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f5472756d70323032340000000000000000000000000000000000000000000000815250905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006112c6611210611d3e565b846112c185604051806060016040528060258152602001613888602591396003600061123a611d3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124799092919063ffffffff16565b611d46565b6001905092915050565b60006112e46112dd611d3e565b8484611f3d565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113d3611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611493576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436861726974792077616c6c65742063616e2774206265206578636c7564656481525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156116eb576116a7600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a4565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117b1611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611871576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806137a56026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119bc611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a7c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611d3a578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611b6f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d2d57600560016005805490500381548110611bcb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611c0357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611cf357fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611d3a565b8080600101915050611b3e565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dcc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806137576024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138d96022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fc3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137326025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138656023913960400191505060405180910390fd5b600081116120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061383c6029913960400191505060405180910390fd5b6120aa611173565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561211857506120e8611173565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561218557601260ff16600a0a64e8d4a5100002811115612184576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806137f36028913960400191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122285750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561223d576122388383836126e7565b612474565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122e05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f5576122f0838383612965565b612473565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123995750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123ae576123a9838383612be3565b612472565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156124505750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561246557612460838383612dcc565b612471565b612470838383612be3565b5b5b5b5b505050565b6000838311158290612526576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124eb5780820151818401526020810190506124d0565b50505050905090810190601f1680156125185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006125466130df565b9150915061255d818361256490919063ffffffff16565b9250505090565b60006125a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613370565b905092915050565b60008082840190508381101561262c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008060008060008060006126528a60c861012c613436565b9250925092506000612662612539565b905060008060006126758e8787876134f2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126df83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612479565b905092915050565b60006126f1612539565b905060008060008060008061270588612636565b9550955095509550955095506000612726888361357b90919063ffffffff16565b905061277a89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061280f87600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128a486600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128f385828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b600061296f612539565b905060008060008060008061298388612636565b95509550955095509550955060006129a4888361357b90919063ffffffff16565b90506129f887600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a8d84600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b2286600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b7185828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000612bed612539565b9050600080600080600080612c0188612636565b9550955095509550955095506000612c22888361357b90919063ffffffff16565b9050612c7687600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d0b86600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5a85828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000612dd6612539565b9050600080600080600080612dea88612636565b9550955095509550955095506000612e0b888361357b90919063ffffffff16565b9050612e5f89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ef487600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f8984600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061301e86600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061306d85828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b600080600060075490506000600654905060005b6005805490508110156133335782600160006005848154811061311257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806131f9575081600260006005848154811061319157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613210576007546006549450945050505061336c565b613299600160006005848154811061322457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461269d90919063ffffffff16565b925061332460026000600584815481106132af57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361269d90919063ffffffff16565b915080806001019150506130f3565b5061334b60065460075461256490919063ffffffff16565b8210156133635760075460065493509350505061336c565b81819350935050505b9091565b6000808311829061341c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133e15780820151818401526020810190506133c6565b50505050905090810190601f16801561340e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161342857fe5b049050809150509392505050565b600080600080613475606461346760646134598a8c61357b90919063ffffffff16565b61256490919063ffffffff16565b61256490919063ffffffff16565b905060006134b260646134a460646134968a8d61357b90919063ffffffff16565b61256490919063ffffffff16565b61256490919063ffffffff16565b905060006134db826134cd858c61269d90919063ffffffff16565b61269d90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061350b858961357b90919063ffffffff16565b90506000613522868961357b90919063ffffffff16565b90506000613539878961357b90919063ffffffff16565b9050600061356282613554858761269d90919063ffffffff16565b61269d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561358e57600090506135fb565b600082840290508284828161359f57fe5b04146135f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061381b6021913960400191505060405180910390fd5b809150505b92915050565b6136168460075461269d90919063ffffffff16565b600781905550613631826008546125ae90919063ffffffff16565b60088190555061364c816009546125ae90919063ffffffff16565b6009819055506136c68360016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505056fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f42455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e42455032303a20617070726f766520746f20746865207a65726f2061646472657373a26469706673582212201888cc5726cda7c2d9b0c02ba5f630098ccfd6aadaf2216e5210ef8f4e85562664736f6c634300060c0033000000000000000000000000cce493e5224c0e22422c6fcddab7ae6fd84b7963

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063a9059cbb1161007c578063a9059cbb1461065a578063cba0e996146106be578063dd62ed3e14610718578063f2cc0c1814610790578063f2fde38b146107d4578063f84354f11461081857610158565b8063715018a6146104e35780637f2b9f90146104ed5780638da5cb5b1461050b57806395d89b411461053f57806396dacde7146105c2578063a457c2d7146105f657610158565b806330563bd71161011557806330563bd714610346578063313ce5671461038a57806339509351146103ab5780633bd5d1731461040f5780634549b0391461043d57806370a082311461048b57610158565b806306fdde031461015d578063095ea7b3146101e057806313114a9d1461024457806318160ddd1461026257806323b872dd146102805780632d83811914610304575b600080fd5b61016561085c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610899565b60405180821515815260200191505060405180910390f35b61024c6108b7565b6040518082815260200191505060405180910390f35b61026a6108c1565b6040518082815260200191505060405180910390f35b6102ec6004803603606081101561029657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cb565b60405180821515815260200191505060405180910390f35b6103306004803603602081101561031a57600080fd5b81019080803590602001909291905050506109a4565b6040518082815260200191505060405180910390f35b6103886004803603602081101561035c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a28565b005b610392610bf4565b604051808260ff16815260200191505060405180910390f35b6103f7600480360360408110156103c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfd565b60405180821515815260200191505060405180910390f35b61043b6004803603602081101561042557600080fd5b8101908080359060200190929190505050610cb0565b005b6104756004803603604081101561045357600080fd5b8101908080359060200190929190803515159060200190929190505050610e41565b6040518082815260200191505060405180910390f35b6104cd600480360360208110156104a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef8565b6040518082815260200191505060405180910390f35b6104eb610fe3565b005b6104f5611169565b6040518082815260200191505060405180910390f35b610513611173565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61054761119c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058757808201518184015260208101905061056c565b50505050905090810190601f1680156105b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105ca6111d9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106426004803603604081101561060c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611203565b60405180821515815260200191505060405180910390f35b6106a66004803603604081101561067057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112d0565b60405180821515815260200191505060405180910390f35b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ee565b60405180821515815260200191505060405180910390f35b61077a6004803603604081101561072e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611344565b6040518082815260200191505060405180910390f35b6107d2600480360360208110156107a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113cb565b005b610816600480360360208110156107ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a9565b005b61085a6004803603602081101561082e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119b4565b005b60606040518060400160405280601181526020017f446f6e616c64205472756d702032303234000000000000000000000000000000815250905090565b60006108ad6108a6611d3e565b8484611d46565b6001905092915050565b6000600854905090565b6000600654905090565b60006108d8848484611f3d565b610999846108e4611d3e565b610994856040518060600160405280602881526020016137cb60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061094a611d3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124799092919063ffffffff16565b611d46565b600190509392505050565b6000600754821115610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061377b602a913960400191505060405180910390fd5b6000610a0b612539565b9050610a20818461256490919063ffffffff16565b915050919050565b610a30611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43616e2774206265206578636c7564656420616464726573730000000000000081525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006012905090565b6000610ca6610c0a611d3e565b84610ca18560036000610c1b611d3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b611d46565b6001905092915050565b6000610cba611d3e565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806138ad602c913960400191505060405180910390fd5b6000610d6a83612636565b50505050509050610dc381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1b8160075461269d90919063ffffffff16565b600781905550610e36836008546125ae90919063ffffffff16565b600881905550505050565b6000600654831115610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610edb576000610ecb84612636565b5050505050905080915050610ef2565b6000610ee684612636565b50505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f9357600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610fde565b610fdb600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a4565b90505b919050565b610feb611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600954905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f5472756d70323032340000000000000000000000000000000000000000000000815250905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006112c6611210611d3e565b846112c185604051806060016040528060258152602001613888602591396003600061123a611d3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124799092919063ffffffff16565b611d46565b6001905092915050565b60006112e46112dd611d3e565b8484611f3d565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113d3611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611493576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436861726974792077616c6c65742063616e2774206265206578636c7564656481525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156116eb576116a7600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a4565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117b1611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611871576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806137a56026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119bc611d3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a7c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611d3a578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611b6f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d2d57600560016005805490500381548110611bcb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611c0357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611cf357fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611d3a565b8080600101915050611b3e565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dcc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806137576024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138d96022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fc3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137326025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138656023913960400191505060405180910390fd5b600081116120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061383c6029913960400191505060405180910390fd5b6120aa611173565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561211857506120e8611173565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561218557601260ff16600a0a64e8d4a5100002811115612184576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806137f36028913960400191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122285750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561223d576122388383836126e7565b612474565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122e05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f5576122f0838383612965565b612473565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123995750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123ae576123a9838383612be3565b612472565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156124505750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561246557612460838383612dcc565b612471565b612470838383612be3565b5b5b5b5b505050565b6000838311158290612526576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124eb5780820151818401526020810190506124d0565b50505050905090810190601f1680156125185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006125466130df565b9150915061255d818361256490919063ffffffff16565b9250505090565b60006125a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613370565b905092915050565b60008082840190508381101561262c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008060008060008060006126528a60c861012c613436565b9250925092506000612662612539565b905060008060006126758e8787876134f2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126df83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612479565b905092915050565b60006126f1612539565b905060008060008060008061270588612636565b9550955095509550955095506000612726888361357b90919063ffffffff16565b905061277a89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061280f87600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128a486600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128f385828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b600061296f612539565b905060008060008060008061298388612636565b95509550955095509550955060006129a4888361357b90919063ffffffff16565b90506129f887600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a8d84600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b2286600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b7185828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000612bed612539565b9050600080600080600080612c0188612636565b9550955095509550955095506000612c22888361357b90919063ffffffff16565b9050612c7687600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d0b86600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5a85828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000612dd6612539565b9050600080600080600080612dea88612636565b9550955095509550955095506000612e0b888361357b90919063ffffffff16565b9050612e5f89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ef487600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269d90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f8984600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061301e86600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061306d85828585613601565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b600080600060075490506000600654905060005b6005805490508110156133335782600160006005848154811061311257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806131f9575081600260006005848154811061319157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613210576007546006549450945050505061336c565b613299600160006005848154811061322457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461269d90919063ffffffff16565b925061332460026000600584815481106132af57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361269d90919063ffffffff16565b915080806001019150506130f3565b5061334b60065460075461256490919063ffffffff16565b8210156133635760075460065493509350505061336c565b81819350935050505b9091565b6000808311829061341c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133e15780820151818401526020810190506133c6565b50505050905090810190601f16801561340e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161342857fe5b049050809150509392505050565b600080600080613475606461346760646134598a8c61357b90919063ffffffff16565b61256490919063ffffffff16565b61256490919063ffffffff16565b905060006134b260646134a460646134968a8d61357b90919063ffffffff16565b61256490919063ffffffff16565b61256490919063ffffffff16565b905060006134db826134cd858c61269d90919063ffffffff16565b61269d90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061350b858961357b90919063ffffffff16565b90506000613522868961357b90919063ffffffff16565b90506000613539878961357b90919063ffffffff16565b9050600061356282613554858761269d90919063ffffffff16565b61269d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561358e57600090506135fb565b600082840290508284828161359f57fe5b04146135f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061381b6021913960400191505060405180910390fd5b809150505b92915050565b6136168460075461269d90919063ffffffff16565b600781905550613631826008546125ae90919063ffffffff16565b60088190555061364c816009546125ae90919063ffffffff16565b6009819055506136c68360016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505056fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f42455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e42455032303a20617070726f766520746f20746865207a65726f2061646472657373a26469706673582212201888cc5726cda7c2d9b0c02ba5f630098ccfd6aadaf2216e5210ef8f4e85562664736f6c634300060c0033

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

000000000000000000000000cce493e5224c0e22422c6fcddab7ae6fd84b7963

-----Decoded View---------------
Arg [0] : CharityWallet (address): 0xcCE493e5224c0E22422C6fCdDaB7Ae6fD84B7963

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cce493e5224c0e22422c6fcddab7ae6fd84b7963


Deployed Bytecode Sourcemap

15016:12492:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16393:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17615:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18726:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16670:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17784:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19756:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16879:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16579:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18105:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18927:377;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19312:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17083:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9231:148;;;:::i;:::-;;18825:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8589:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16484:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16773:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18331:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17289:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18608:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17464:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20017:413;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9534:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20438:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16393:83;16430:13;16463:5;;;;;;;;;;;;;;;;;16456:12;;16393:83;:::o;17615:161::-;17690:4;17707:39;17716:12;:10;:12::i;:::-;17730:7;17739:6;17707:8;:39::i;:::-;17764:4;17757:11;;17615:161;;;;:::o;18726:87::-;18768:7;18795:10;;18788:17;;18726:87;:::o;16670:95::-;16723:7;16750;;16743:14;;16670:95;:::o;17784:313::-;17882:4;17899:36;17909:6;17917:9;17928:6;17899:9;:36::i;:::-;17946:121;17955:6;17963:12;:10;:12::i;:::-;17977:89;18015:6;17977:89;;;;;;;;;;;;;;;;;:11;:19;17989:6;17977:19;;;;;;;;;;;;;;;:33;17997:12;:10;:12::i;:::-;17977:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17946:8;:121::i;:::-;18085:4;18078:11;;17784:313;;;;;:::o;19756:253::-;19822:7;19861;;19850;:18;;19842:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19926:19;19949:10;:8;:10::i;:::-;19926:33;;19977:24;19989:11;19977:7;:11;;:24;;;;:::i;:::-;19970:31;;;19756:253;;;:::o;16879:196::-;8811:12;:10;:12::i;:::-;8801:22;;:6;;;;;;;;;;:22;;;8793:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16970:11:::1;:26;16982:13;16970:26;;;;;;;;;;;;;;;;;;;;;;;;;16969:27;16961:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17054:13;17037:14;;:30;;;;;;;;;;;;;;;;;;16879:196:::0;:::o;16579:83::-;16620:5;15560:2;16638:16;;16579:83;:::o;18105:218::-;18193:4;18210:83;18219:12;:10;:12::i;:::-;18233:7;18242:50;18281:10;18242:11;:25;18254:12;:10;:12::i;:::-;18242:25;;;;;;;;;;;;;;;:34;18268:7;18242:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18210:8;:83::i;:::-;18311:4;18304:11;;18105:218;;;;:::o;18927:377::-;18979:14;18996:12;:10;:12::i;:::-;18979:29;;19028:11;:19;19040:6;19028:19;;;;;;;;;;;;;;;;;;;;;;;;;19027:20;19019:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19108:15;19132:19;19143:7;19132:10;:19::i;:::-;19107:44;;;;;;;19180:28;19200:7;19180;:15;19188:6;19180:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19162:7;:15;19170:6;19162:15;;;;;;;;;;;;;;;:46;;;;19229:20;19241:7;19229;;:11;;:20;;;;:::i;:::-;19219:7;:30;;;;19273:23;19288:7;19273:10;;:14;;:23;;;;:::i;:::-;19260:10;:36;;;;18927:377;;;:::o;19312:436::-;19402:7;19441;;19430;:18;;19422:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19500:17;19495:246;;19535:15;19559:19;19570:7;19559:10;:19::i;:::-;19534:44;;;;;;;19600:7;19593:14;;;;;19495:246;19642:23;19673:19;19684:7;19673:10;:19::i;:::-;19640:52;;;;;;;19714:15;19707:22;;;19312:436;;;;;:::o;17083:198::-;17149:7;17173:11;:20;17185:7;17173:20;;;;;;;;;;;;;;;;;;;;;;;;;17169:49;;;17202:7;:16;17210:7;17202:16;;;;;;;;;;;;;;;;17195:23;;;;17169:49;17236:37;17256:7;:16;17264:7;17256:16;;;;;;;;;;;;;;;;17236:19;:37::i;:::-;17229:44;;17083:198;;;;:::o;9231:148::-;8811:12;:10;:12::i;:::-;8801:22;;:6;;;;;;;;;;:22;;;8793:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9338:1:::1;9301:40;;9322:6;::::0;::::1;;;;;;;;9301:40;;;;;;;;;;;;9369:1;9352:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;9231:148::o:0;18825:94::-;18873:7;18900:11;;18893:18;;18825:94;:::o;8589:79::-;8627:7;8654:6;;;;;;;;;;;8647:13;;8589:79;:::o;16484:87::-;16523:13;16556:7;;;;;;;;;;;;;;;;;16549:14;;16484:87;:::o;16773:98::-;16822:7;16849:14;;;;;;;;;;;16842:21;;16773:98;:::o;18331:269::-;18424:4;18441:129;18450:12;:10;:12::i;:::-;18464:7;18473:96;18512:15;18473:96;;;;;;;;;;;;;;;;;:11;:25;18485:12;:10;:12::i;:::-;18473:25;;;;;;;;;;;;;;;:34;18499:7;18473:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18441:8;:129::i;:::-;18588:4;18581:11;;18331:269;;;;:::o;17289:167::-;17367:4;17384:42;17394:12;:10;:12::i;:::-;17408:9;17419:6;17384:9;:42::i;:::-;17444:4;17437:11;;17289:167;;;;:::o;18608:110::-;18666:4;18690:11;:20;18702:7;18690:20;;;;;;;;;;;;;;;;;;;;;;;;;18683:27;;18608:110;;;:::o;17464:143::-;17545:7;17572:11;:18;17584:5;17572:18;;;;;;;;;;;;;;;:27;17591:7;17572:27;;;;;;;;;;;;;;;;17565:34;;17464:143;;;;:::o;20017:413::-;8811:12;:10;:12::i;:::-;8801:22;;:6;;;;;;;;;;:22;;;8793:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20109:14:::1;;;;;;;;;;;20098:25;;:7;:25;;;;20090:70;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20180:11;:20;20192:7;20180:20;;;;;;;;;;;;;;;;;;;;;;;;;20179:21;20171:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20265:1;20246:7;:16;20254:7;20246:16;;;;;;;;;;;;;;;;:20;20243:108;;;20302:37;20322:7;:16;20330:7;20322:16;;;;;;;;;;;;;;;;20302:19;:37::i;:::-;20283:7;:16;20291:7;20283:16;;;;;;;;;;;;;;;:56;;;;20243:108;20384:4;20361:11;:20;20373:7;20361:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20399:9;20414:7;20399:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20017:413:::0;:::o;9534:244::-;8811:12;:10;:12::i;:::-;8801:22;;:6;;;;;;;;;;:22;;;8793:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9643:1:::1;9623:22;;:8;:22;;;;9615:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9733:8;9704:38;;9725:6;::::0;::::1;;;;;;;;9704:38;;;;;;;;;;;;9762:8;9753:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;9534:244:::0;:::o;20438:478::-;8811:12;:10;:12::i;:::-;8801:22;;:6;;;;;;;;;;:22;;;8793:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20519:11:::1;:20;20531:7;20519:20;;;;;;;;;;;;;;;;;;;;;;;;;20511:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20587:9;20582:327;20606:9;:16;;;;20602:1;:20;20582:327;;;20664:7;20648:23;;:9;20658:1;20648:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;20644:254;;;20707:9;20736:1;20717:9;:16;;;;:20;20707:31;;;;;;;;;;;;;;;;;;;;;;;;;20692:9;20702:1;20692:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20776:1;20757:7;:16;20765:7;20757:16;;;;;;;;;;;;;;;:20;;;;20819:5;20796:11;:20;20808:7;20796:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;20843:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20877:5;;20644:254;20624:3;;;;;;;20582:327;;;;20438:478:::0;:::o;4580:106::-;4633:15;4668:10;4661:17;;4580:106;:::o;20924:337::-;21034:1;21017:19;;:5;:19;;;;21009:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21115:1;21096:21;;:7;:21;;;;21088:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21199:6;21169:11;:18;21181:5;21169:18;;;;;;;;;;;;;;;:27;21188:7;21169:27;;;;;;;;;;;;;;;:36;;;;21237:7;21221:32;;21230:5;21221:32;;;21246:6;21221:32;;;;;;;;;;;;;;;;;;20924:337;;;:::o;21269:1096::-;21384:1;21366:20;;:6;:20;;;;21358:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21468:1;21447:23;;:9;:23;;;;21439:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21538:1;21529:6;:10;21521:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21619:7;:5;:7::i;:::-;21609:17;;:6;:17;;;;:41;;;;;21643:7;:5;:7::i;:::-;21630:20;;:9;:20;;;;21609:41;21606:134;;;15560:2;15672:18;;15666:2;:24;16114:13;:30;21673:6;:22;;21665:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21606:134;21765:11;:19;21777:6;21765:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;21789:11;:22;21801:9;21789:22;;;;;;;;;;;;;;;;;;;;;;;;;21788:23;21765:46;21761:597;;;21828:48;21850:6;21858:9;21869:6;21828:21;:48::i;:::-;21761:597;;;21899:11;:19;21911:6;21899:19;;;;;;;;;;;;;;;;;;;;;;;;;21898:20;:46;;;;;21922:11;:22;21934:9;21922:22;;;;;;;;;;;;;;;;;;;;;;;;;21898:46;21894:464;;;21961:46;21981:6;21989:9;22000:6;21961:19;:46::i;:::-;21894:464;;;22030:11;:19;22042:6;22030:19;;;;;;;;;;;;;;;;;;;;;;;;;22029:20;:47;;;;;22054:11;:22;22066:9;22054:22;;;;;;;;;;;;;;;;;;;;;;;;;22053:23;22029:47;22025:333;;;22093:44;22111:6;22119:9;22130:6;22093:17;:44::i;:::-;22025:333;;;22159:11;:19;22171:6;22159:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;22182:11;:22;22194:9;22182:22;;;;;;;;;;;;;;;;;;;;;;;;;22159:45;22155:203;;;22221:48;22243:6;22251:9;22262:6;22221:21;:48::i;:::-;22155:203;;;22302:44;22320:6;22328:9;22339:6;22302:17;:44::i;:::-;22155:203;22025:333;21894:464;21761:597;21269:1096;;;:::o;11530:192::-;11616:7;11649:1;11644;:6;;11652:12;11636:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11676:9;11692:1;11688;:5;11676:17;;11713:1;11706:8;;;11530:192;;;;;:::o;26568:163::-;26609:7;26630:15;26647;26666:19;:17;:19::i;:::-;26629:56;;;;26703:20;26715:7;26703;:11;;:20;;;;:::i;:::-;26696:27;;;;26568:163;:::o;12857:132::-;12915:7;12942:39;12946:1;12949;12942:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;12935:46;;12857:132;;;;:::o;10627:181::-;10685:7;10705:9;10721:1;10717;:5;10705:17;;10746:1;10741;:6;;10733:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10799:1;10792:8;;;10627:181;;;;:::o;25267:473::-;25326:7;25335;25344;25353;25362;25371;25392:23;25417:12;25431:13;25448:44;25460:7;15995:3;16055;25448:11;:44::i;:::-;25391:101;;;;;;25503:19;25526:10;:8;:10::i;:::-;25503:33;;25548:15;25565:23;25590:12;25606:46;25618:7;25627:4;25633:5;25640:11;25606;:46::i;:::-;25547:105;;;;;;25671:7;25680:15;25697:4;25703:15;25720:4;25726:5;25663:69;;;;;;;;;;;;;;;;;;;25267:473;;;;;;;:::o;11091:136::-;11149:7;11176:43;11180:1;11183;11176:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;11169:50;;11091:136;;;;:::o;23606:633::-;23708:19;23731:10;:8;:10::i;:::-;23708:33;;23753:15;23770:23;23795:12;23809:23;23834:12;23848:13;23865:19;23876:7;23865:10;:19::i;:::-;23752:132;;;;;;;;;;;;23895:13;23912:22;23922:11;23912:5;:9;;:22;;;;:::i;:::-;23895:39;;23965:28;23985:7;23965;:15;23973:6;23965:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23947:7;:15;23955:6;23947:15;;;;;;;;;;;;;;;:46;;;;24022:28;24042:7;24022;:15;24030:6;24022:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24004:7;:15;24012:6;24004:15;;;;;;;;;;;;;;;:46;;;;24082:39;24105:15;24082:7;:18;24090:9;24082:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24061:7;:18;24069:9;24061:18;;;;;;;;;;;;;;;:60;;;;24134:37;24146:4;24152:5;24159:4;24165:5;24134:11;:37::i;:::-;24204:9;24187:44;;24196:6;24187:44;;;24215:15;24187:44;;;;;;;;;;;;;;;;;;23606:633;;;;;;;;;;;:::o;22953:645::-;23053:19;23076:10;:8;:10::i;:::-;23053:33;;23098:15;23115:23;23140:12;23154:23;23179:12;23193:13;23210:19;23221:7;23210:10;:19::i;:::-;23097:132;;;;;;;;;;;;23240:13;23257:22;23267:11;23257:5;:9;;:22;;;;:::i;:::-;23240:39;;23310:28;23330:7;23310;:15;23318:6;23310:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23292:7;:15;23300:6;23292:15;;;;;;;;;;;;;;;:46;;;;23370:39;23393:15;23370:7;:18;23378:9;23370:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23349:7;:18;23357:9;23349:18;;;;;;;;;;;;;;;:60;;;;23441:39;23464:15;23441:7;:18;23449:9;23441:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23420:7;:18;23428:9;23420:18;;;;;;;;;;;;;;;:60;;;;23493:37;23505:4;23511:5;23518:4;23524:5;23493:11;:37::i;:::-;23563:9;23546:44;;23555:6;23546:44;;;23574:15;23546:44;;;;;;;;;;;;;;;;;;22953:645;;;;;;;;;;;:::o;22373:572::-;22471:19;22494:10;:8;:10::i;:::-;22471:33;;22516:15;22533:23;22558:12;22572:23;22597:12;22611:13;22628:19;22639:7;22628:10;:19::i;:::-;22515:132;;;;;;;;;;;;22658:13;22675:22;22685:11;22675:5;:9;;:22;;;;:::i;:::-;22658:39;;22728:28;22748:7;22728;:15;22736:6;22728:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22710:7;:15;22718:6;22710:15;;;;;;;;;;;;;;;:46;;;;22788:39;22811:15;22788:7;:18;22796:9;22788:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22767:7;:18;22775:9;22767:18;;;;;;;;;;;;;;;:60;;;;22840:37;22852:4;22858:5;22865:4;22871:5;22840:11;:37::i;:::-;22910:9;22893:44;;22902:6;22893:44;;;22921:15;22893:44;;;;;;;;;;;;;;;;;;22373:572;;;;;;;;;;;:::o;24247:704::-;24349:19;24372:10;:8;:10::i;:::-;24349:33;;24394:15;24411:23;24436:12;24450:23;24475:12;24489:13;24506:19;24517:7;24506:10;:19::i;:::-;24393:132;;;;;;;;;;;;24536:13;24553:22;24563:11;24553:5;:9;;:22;;;;:::i;:::-;24536:39;;24606:28;24626:7;24606;:15;24614:6;24606:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24588:7;:15;24596:6;24588:15;;;;;;;;;;;;;;;:46;;;;24663:28;24683:7;24663;:15;24671:6;24663:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24645:7;:15;24653:6;24645:15;;;;;;;;;;;;;;;:46;;;;24723:39;24746:15;24723:7;:18;24731:9;24723:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24702:7;:18;24710:9;24702:18;;;;;;;;;;;;;;;:60;;;;24794:39;24817:15;24794:7;:18;24802:9;24794:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24773:7;:18;24781:9;24773:18;;;;;;;;;;;;;;;:60;;;;24846:37;24858:4;24864:5;24871:4;24877:5;24846:11;:37::i;:::-;24916:9;24899:44;;24908:6;24899:44;;;24927:15;24899:44;;;;;;;;;;;;;;;;;;24247:704;;;;;;;;;;;:::o;26739:561::-;26789:7;26798;26818:15;26836:7;;26818:25;;26854:15;26872:7;;26854:25;;26901:9;26896:289;26920:9;:16;;;;26916:1;:20;26896:289;;;26986:7;26962;:21;26970:9;26980:1;26970:12;;;;;;;;;;;;;;;;;;;;;;;;;26962:21;;;;;;;;;;;;;;;;:31;:66;;;;27021:7;26997;:21;27005:9;27015:1;27005:12;;;;;;;;;;;;;;;;;;;;;;;;;26997:21;;;;;;;;;;;;;;;;:31;26962:66;26958:97;;;27038:7;;27047;;27030:25;;;;;;;;;26958:97;27080:34;27092:7;:21;27100:9;27110:1;27100:12;;;;;;;;;;;;;;;;;;;;;;;;;27092:21;;;;;;;;;;;;;;;;27080:7;:11;;:34;;;;:::i;:::-;27070:44;;27139:34;27151:7;:21;27159:9;27169:1;27159:12;;;;;;;;;;;;;;;;;;;;;;;;;27151:21;;;;;;;;;;;;;;;;27139:7;:11;;:34;;;;:::i;:::-;27129:44;;26938:3;;;;;;;26896:289;;;;27209:20;27221:7;;27209;;:11;;:20;;;;:::i;:::-;27199:7;:30;27195:61;;;27239:7;;27248;;27231:25;;;;;;;;27195:61;27275:7;27284;27267:25;;;;;;26739:561;;;:::o;13485:278::-;13571:7;13603:1;13599;:5;13606:12;13591:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13630:9;13646:1;13642;:5;;;;;;13630:17;;13754:1;13747:8;;;13485:278;;;;;:::o;25748:395::-;25841:7;25850;25859;25879:12;25894:50;25940:3;25895:39;15737:3;25896:19;25908:6;25896:7;:11;;:19;;;;:::i;:::-;25895:25;;:39;;;;:::i;:::-;25894:45;;:50;;;;:::i;:::-;25879:65;;25955:13;25971:51;26018:3;25972:40;15737:3;25973:20;25985:7;25973;:11;;:20;;;;:::i;:::-;25972:26;;:40;;;;:::i;:::-;25971:46;;:51;;;;:::i;:::-;25955:67;;26033:23;26059:28;26081:5;26059:17;26071:4;26059:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;26033:54;;26106:15;26123:4;26129:5;26098:37;;;;;;;;;25748:395;;;;;;;:::o;26151:409::-;26261:7;26270;26279;26299:15;26317:24;26329:11;26317:7;:11;;:24;;;;:::i;:::-;26299:42;;26352:12;26367:21;26376:11;26367:4;:8;;:21;;;;:::i;:::-;26352:36;;26399:13;26415:22;26425:11;26415:5;:9;;:22;;;;:::i;:::-;26399:38;;26448:23;26474:28;26496:5;26474:17;26486:4;26474:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;26448:54;;26521:7;26530:15;26547:4;26513:39;;;;;;;;;;26151:409;;;;;;;;:::o;11981:400::-;12039:7;12218:1;12213;:6;12209:47;;;12243:1;12236:8;;;;12209:47;12268:9;12284:1;12280;:5;12268:17;;12313:1;12308;12304;:5;;;;;;:10;12296:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12372:1;12365:8;;;11981:400;;;;;:::o;24959:300::-;25071:17;25083:4;25071:7;;:11;;:17;;;;:::i;:::-;25057:7;:31;;;;25113:20;25128:4;25113:10;;:14;;:20;;;;:::i;:::-;25099:10;:34;;;;25158:22;25174:5;25158:11;;:15;;:22;;;;:::i;:::-;25144:11;:36;;;;25217:34;25245:5;25217:7;:23;25225:14;;;;;;;;;;;25217:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;25191:7;:23;25199:14;;;;;;;;;;;25191:23;;;;;;;;;;;;;;;:60;;;;24959:300;;;;:::o

Swarm Source

ipfs://1888cc5726cda7c2d9b0c02ba5f630098ccfd6aadaf2216e5210ef8f4e855626
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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