ETH Price: $3,391.31 (-1.55%)
Gas: 4 Gwei

Token

PEEPER (PEEPER)
 

Overview

Max Total Supply

690,000,000,000 PEEPER

Holders

173

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
degeneva.eth
Balance
120,000,000.000000001611167382 PEEPER

Value
$0.00
0xdaac0bb7ffb7d9fc06ff2cd4fb813f46157b7481
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:
PEEPER

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.4;


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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


// File @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.4;

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(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");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.4;

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

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

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


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.4;



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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

        _afterTokenTransfer(address(0), account, amount);
    }

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

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

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

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

        _afterTokenTransfer(account, address(0), amount);
    }

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

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

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

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

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

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

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

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

// File contracts/PEEPER.sol

pragma solidity ^0.8.4;


contract PEEPER is Ownable, ERC20 {
    uint256 public maxHoldingAmount;
    address public uniswapV2Pair;
    IUniswapV2Router02 immutable router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);



    address payable private marketingWallet;
    uint256 public launchedAt;
    uint256 SUPPLY = 690000000000 * 10**18;
    uint256 fee = 25;
    uint256 public initialTaxBlocks = 2;
    bool private tradingOpen;    
    bool private inSwap = false;

    constructor(
        address payable _marketingWallet
    ) ERC20("PEEPER", "PEEPER") payable {
        _mint(msg.sender, SUPPLY * 5 / 100);
        _mint(address(this), SUPPLY * 95 / 100);
        maxHoldingAmount = SUPPLY * 125 / 10000;

        // Set the marketing wallet address
        marketingWallet = _marketingWallet;
    }

    receive() external payable {}

    function setFee(uint256 _fee) external onlyOwner {
        require(_fee >= 0 && _fee <= 25, 'fee should be in 0 - 25');
        fee = _fee;
    }
    
    function removeFee() external onlyOwner {
        fee = 0;
    }

    function removeMaxHoldingAmount() external onlyOwner {
        maxHoldingAmount = SUPPLY;
    }
    function enableTrading(bool _tradingOpen) external onlyOwner {
        tradingOpen = _tradingOpen;
    } 
    function setLimits() external onlyOwner {
        address pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
        _approve(address(this), address(router), balanceOf(address(this)));
        router.addLiquidityETH{
            value: address(this).balance
        } (
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        uniswapV2Pair = pair;
        launchedAt = block.number;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        if(uniswapV2Pair == address(0)) {
            require(from == address(this) || from == address(0) || from == owner() || to == owner(), "Not started");
            super._transfer(from, to, amount);
            return;
        }

        if(from == uniswapV2Pair && to != address(this) && to != owner() && to != address(router)) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount, "max wallet reached");
        }

        uint256 swapAmount = balanceOf(address(this));

        if(swapAmount > SUPPLY / 1000) {
            swapAmount = SUPPLY / 1000;
        }

        if (swapAmount >= SUPPLY / 2000 &&
            !inSwap &&
            from != uniswapV2Pair) {

            inSwap = true;

            swapTokensForEth(swapAmount);

            uint256 balance = address(this).balance;

            if(balance > 0) {
                withdraw(balance);
            }

            inSwap = false;
        }

        uint256 currentFee;
        if (block.number <= launchedAt + initialTaxBlocks) {
            if (from == uniswapV2Pair) {
                currentFee = amount * 20 / 100; 
            } else if (to == uniswapV2Pair) {
                currentFee = amount * 80 / 100; 
            }
        } else {
            currentFee = amount * fee / 100;
        }

        if (currentFee > 0 &&
            from != address(this) &&
            from != owner() &&
            from != address(router)) {
            amount -= currentFee;
            super._transfer(from, address(this), currentFee);
        }

        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);

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

    function withdraw(uint256 amount) private {
        (bool success,) = marketingWallet.call{value: amount}("");
        success;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_marketingWallet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"enableTrading","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":[],"name":"initialTaxBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMaxHoldingAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506c08b5829f66bff9a42950000000600a556019600b556002600c556000600d60016101000a81548160ff021916908315150217905550604051620037d5380380620037d58339818101604052810190620000a991906200054e565b6040518060400160405280600681526020017f50454550455200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f504545504552000000000000000000000000000000000000000000000000000081525062000135620001296200023760201b60201c565b6200023f60201b60201c565b81600490805190602001906200014d92919062000487565b5080600590805190602001906200016692919062000487565b505050620001993360646005600a5462000181919062000697565b6200018d91906200065f565b6200030360201b60201c565b620001c9306064605f600a54620001b1919062000697565b620001bd91906200065f565b6200030360201b60201c565b612710607d600a54620001dd919062000697565b620001e991906200065f565b60068190555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200083c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000376576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200036d90620005b2565b60405180910390fd5b6200038a600083836200047d60201b60201c565b80600360008282546200039e919062000602565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620003f6919062000602565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200045d9190620005d4565b60405180910390a362000479600083836200048260201b60201c565b5050565b505050565b505050565b828054620004959062000736565b90600052602060002090601f016020900481019282620004b9576000855562000505565b82601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b5b808211156200053357600081600090555060010162000519565b5090565b600081519050620005488162000822565b92915050565b6000602082840312156200056157600080fd5b6000620005718482850162000537565b91505092915050565b600062000589601f83620005f1565b91506200059682620007f9565b602082019050919050565b620005ac816200072c565b82525050565b60006020820190508181036000830152620005cd816200057a565b9050919050565b6000602082019050620005eb6000830184620005a1565b92915050565b600082825260208201905092915050565b60006200060f826200072c565b91506200061c836200072c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200065457620006536200076c565b5b828201905092915050565b60006200066c826200072c565b915062000679836200072c565b9250826200068c576200068b6200079b565b5b828204905092915050565b6000620006a4826200072c565b9150620006b1836200072c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006ed57620006ec6200076c565b5b828202905092915050565b600062000705826200070c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200074f57607f821691505b60208210811415620007665762000765620007ca565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200082d81620006f8565b81146200083957600080fd5b50565b60805160601c612f42620008936000396000818161068f015281816107490152818161085c0152818161088b0152818161163d015281816119ac01528181611e6001528181611f760152611f9d0152612f426000f3fe6080604052600436106101445760003560e01c806389f9a1d3116100b6578063bda225851161006f578063bda2258514610459578063bf56b37114610484578063dd62ed3e146104af578063efa4af4c146104ec578063f275f64b14610503578063f2fde38b1461052c5761014b565b806389f9a1d3146103475780638da5cb5b14610372578063909278811461039d57806395d89b41146103b4578063a457c2d7146103df578063a9059cbb1461041c5761014b565b8063313ce56711610108578063313ce56714610237578063395093511461026257806349bd5a5e1461029f57806369fe0e2d146102ca57806370a08231146102f3578063715018a6146103305761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631e8457a8146101e357806323b872dd146101fa5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610555565b6040516101729190612697565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612215565b6105e7565b6040516101af919061267c565b60405180910390f35b3480156101c457600080fd5b506101cd610605565b6040516101da9190612839565b60405180910390f35b3480156101ef57600080fd5b506101f861060f565b005b34801561020657600080fd5b50610221600480360381019061021c91906121c6565b61099d565b60405161022e919061267c565b60405180910390f35b34801561024357600080fd5b5061024c610a95565b60405161025991906128ae565b60405180910390f35b34801561026e57600080fd5b5061028960048036038101906102849190612215565b610a9e565b604051610296919061267c565b60405180910390f35b3480156102ab57600080fd5b506102b4610b4a565b6040516102c191906125d7565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec919061227a565b610b70565b005b3480156102ff57600080fd5b5061031a60048036038101906103159190612138565b610c47565b6040516103279190612839565b60405180910390f35b34801561033c57600080fd5b50610345610c90565b005b34801561035357600080fd5b5061035c610d18565b6040516103699190612839565b60405180910390f35b34801561037e57600080fd5b50610387610d1e565b60405161039491906125d7565b60405180910390f35b3480156103a957600080fd5b506103b2610d47565b005b3480156103c057600080fd5b506103c9610dce565b6040516103d69190612697565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190612215565b610e60565b604051610413919061267c565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190612215565b610f4b565b604051610450919061267c565b60405180910390f35b34801561046557600080fd5b5061046e610f69565b60405161047b9190612839565b60405180910390f35b34801561049057600080fd5b50610499610f6f565b6040516104a69190612839565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d1919061218a565b610f75565b6040516104e39190612839565b60405180910390f35b3480156104f857600080fd5b50610501610ffc565b005b34801561050f57600080fd5b5061052a60048036038101906105259190612251565b611082565b005b34801561053857600080fd5b50610553600480360381019061054e9190612138565b61111b565b005b60606004805461056490612ad8565b80601f016020809104026020016040519081016040528092919081815260200182805461059090612ad8565b80156105dd5780601f106105b2576101008083540402835291602001916105dd565b820191906000526020600020905b8154815290600101906020018083116105c057829003601f168201915b5050505050905090565b60006105fb6105f4611213565b848461121b565b6001905092915050565b6000600354905090565b610617611213565b73ffffffffffffffffffffffffffffffffffffffff16610635610d1e565b73ffffffffffffffffffffffffffffffffffffffff161461068b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610682906127b9565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f357600080fd5b505afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b9190612161565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ad57600080fd5b505afa1580156107c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e59190612161565b6040518363ffffffff1660e01b81526004016108029291906125f2565b602060405180830381600087803b15801561081c57600080fd5b505af1158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190612161565b9050610889307f000000000000000000000000000000000000000000000000000000000000000061088430610c47565b61121b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71947306108d030610c47565b6000806108db610d1e565b426040518863ffffffff1660e01b81526004016108fd9695949392919061261b565b6060604051808303818588803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094f91906122a3565b50505080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504360098190555050565b60006109aa8484846113e6565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f5611213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612799565b60405180910390fd5b610a8985610a81611213565b85840361121b565b60019150509392505050565b60006012905090565b6000610b40610aab611213565b848460026000610ab9611213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3b9190612929565b61121b565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b78611213565b73ffffffffffffffffffffffffffffffffffffffff16610b96610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be3906127b9565b60405180910390fd5b60008110158015610bfe575060198111155b610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490612739565b60405180910390fd5b80600b8190555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c98611213565b73ffffffffffffffffffffffffffffffffffffffff16610cb6610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d03906127b9565b60405180910390fd5b610d166000611a2d565b565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f611213565b73ffffffffffffffffffffffffffffffffffffffff16610d6d610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba906127b9565b60405180910390fd5b600a54600681905550565b606060058054610ddd90612ad8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0990612ad8565b8015610e565780601f10610e2b57610100808354040283529160200191610e56565b820191906000526020600020905b815481529060010190602001808311610e3957829003601f168201915b5050505050905090565b60008060026000610e6f611213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612819565b60405180910390fd5b610f40610f37611213565b8585840361121b565b600191505092915050565b6000610f5f610f58611213565b84846113e6565b6001905092915050565b600c5481565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611004611213565b73ffffffffffffffffffffffffffffffffffffffff16611022610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f906127b9565b60405180910390fd5b6000600b81905550565b61108a611213565b73ffffffffffffffffffffffffffffffffffffffff166110a8610d1e565b73ffffffffffffffffffffffffffffffffffffffff16146110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f5906127b9565b60405180910390fd5b80600d60006101000a81548160ff02191690831515021790555050565b611123611213565b73ffffffffffffffffffffffffffffffffffffffff16611141610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e906127b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe906126f9565b60405180910390fd5b61121081611a2d565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561128b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611282906127f9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f290612719565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d99190612839565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561156c573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806114a35750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806114e057506114b1610d1e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061151d57506114ee610d1e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61155c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611553906126d9565b60405180910390fd5b611567838383611af1565b611a28565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116345750611604610d1e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561168c57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156116ea576006548161169e84610c47565b6116a89190612929565b11156116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090612779565b60405180910390fd5b5b60006116f530610c47565b90506103e8600a54611707919061297f565b811115611721576103e8600a5461171e919061297f565b90505b6107d0600a54611731919061297f565b811015801561174d5750600d60019054906101000a900460ff16155b80156117a75750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611805576001600d60016101000a81548160ff0219169083151502179055506117d081611d75565b600047905060008111156117e8576117e781612033565b5b6000600d60016101000a81548160ff021916908315150217905550505b6000600c546009546118179190612929565b431161190b57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561189357606460148461188291906129b0565b61188c919061297f565b9050611906565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119055760646050846118f891906129b0565b611902919061297f565b90505b5b611928565b6064600b548461191b91906129b0565b611925919061297f565b90505b60008111801561196457503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119a35750611973610d1e565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119fb57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a1a578083611a0c9190612a0a565b9250611a19853083611af1565b5b611a25858585611af1565b50505b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b58906127d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc8906126b9565b60405180910390fd5b611bdc8383836120c5565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5a90612759565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cf89190612929565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d5c9190612839565b60405180910390a3611d6f8484846120ca565b50505050565b6000600267ffffffffffffffff811115611db8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611de65781602001602082028036833780820191505090505b5090503081600081518110611e24577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ec457600080fd5b505afa158015611ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efc9190612161565b81600181518110611f36577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f9b307f00000000000000000000000000000000000000000000000000000000000000008461121b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ffd959493929190612854565b600060405180830381600087803b15801561201757600080fd5b505af115801561202b573d6000803e3d6000fd5b505050505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161207b906125c2565b60006040518083038185875af1925050503d80600081146120b8576040519150601f19603f3d011682016040523d82523d6000602084013e6120bd565b606091505b505090505050565b505050565b505050565b6000813590506120de81612ec7565b92915050565b6000815190506120f381612ec7565b92915050565b60008135905061210881612ede565b92915050565b60008135905061211d81612ef5565b92915050565b60008151905061213281612ef5565b92915050565b60006020828403121561214a57600080fd5b6000612158848285016120cf565b91505092915050565b60006020828403121561217357600080fd5b6000612181848285016120e4565b91505092915050565b6000806040838503121561219d57600080fd5b60006121ab858286016120cf565b92505060206121bc858286016120cf565b9150509250929050565b6000806000606084860312156121db57600080fd5b60006121e9868287016120cf565b93505060206121fa868287016120cf565b925050604061220b8682870161210e565b9150509250925092565b6000806040838503121561222857600080fd5b6000612236858286016120cf565b92505060206122478582860161210e565b9150509250929050565b60006020828403121561226357600080fd5b6000612271848285016120f9565b91505092915050565b60006020828403121561228c57600080fd5b600061229a8482850161210e565b91505092915050565b6000806000606084860312156122b857600080fd5b60006122c686828701612123565b93505060206122d786828701612123565b92505060406122e886828701612123565b9150509250925092565b60006122fe838361230a565b60208301905092915050565b61231381612a3e565b82525050565b61232281612a3e565b82525050565b6000612333826128d9565b61233d81856128fc565b9350612348836128c9565b8060005b8381101561237957815161236088826122f2565b975061236b836128ef565b92505060018101905061234c565b5085935050505092915050565b61238f81612a50565b82525050565b61239e81612a93565b82525050565b60006123af826128e4565b6123b98185612918565b93506123c9818560208601612aa5565b6123d281612b97565b840191505092915050565b60006123ea602383612918565b91506123f582612ba8565b604082019050919050565b600061240d600b83612918565b915061241882612bf7565b602082019050919050565b6000612430602683612918565b915061243b82612c20565b604082019050919050565b6000612453602283612918565b915061245e82612c6f565b604082019050919050565b6000612476601783612918565b915061248182612cbe565b602082019050919050565b6000612499602683612918565b91506124a482612ce7565b604082019050919050565b60006124bc601283612918565b91506124c782612d36565b602082019050919050565b60006124df602883612918565b91506124ea82612d5f565b604082019050919050565b6000612502602083612918565b915061250d82612dae565b602082019050919050565b6000612525602583612918565b915061253082612dd7565b604082019050919050565b600061254860008361290d565b915061255382612e26565b600082019050919050565b600061256b602483612918565b915061257682612e29565b604082019050919050565b600061258e602583612918565b915061259982612e78565b604082019050919050565b6125ad81612a7c565b82525050565b6125bc81612a86565b82525050565b60006125cd8261253b565b9150819050919050565b60006020820190506125ec6000830184612319565b92915050565b60006040820190506126076000830185612319565b6126146020830184612319565b9392505050565b600060c0820190506126306000830189612319565b61263d60208301886125a4565b61264a6040830187612395565b6126576060830186612395565b6126646080830185612319565b61267160a08301846125a4565b979650505050505050565b60006020820190506126916000830184612386565b92915050565b600060208201905081810360008301526126b181846123a4565b905092915050565b600060208201905081810360008301526126d2816123dd565b9050919050565b600060208201905081810360008301526126f281612400565b9050919050565b6000602082019050818103600083015261271281612423565b9050919050565b6000602082019050818103600083015261273281612446565b9050919050565b6000602082019050818103600083015261275281612469565b9050919050565b600060208201905081810360008301526127728161248c565b9050919050565b60006020820190508181036000830152612792816124af565b9050919050565b600060208201905081810360008301526127b2816124d2565b9050919050565b600060208201905081810360008301526127d2816124f5565b9050919050565b600060208201905081810360008301526127f281612518565b9050919050565b600060208201905081810360008301526128128161255e565b9050919050565b6000602082019050818103600083015261283281612581565b9050919050565b600060208201905061284e60008301846125a4565b92915050565b600060a08201905061286960008301886125a4565b6128766020830187612395565b81810360408301526128888186612328565b90506128976060830185612319565b6128a460808301846125a4565b9695505050505050565b60006020820190506128c360008301846125b3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061293482612a7c565b915061293f83612a7c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561297457612973612b0a565b5b828201905092915050565b600061298a82612a7c565b915061299583612a7c565b9250826129a5576129a4612b39565b5b828204905092915050565b60006129bb82612a7c565b91506129c683612a7c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129ff576129fe612b0a565b5b828202905092915050565b6000612a1582612a7c565b9150612a2083612a7c565b925082821015612a3357612a32612b0a565b5b828203905092915050565b6000612a4982612a5c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612a9e82612a7c565b9050919050565b60005b83811015612ac3578082015181840152602081019050612aa8565b83811115612ad2576000848401525b50505050565b60006002820490506001821680612af057607f821691505b60208210811415612b0457612b03612b68565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f742073746172746564000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f6665652073686f756c6420626520696e2030202d203235000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f6d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612ed081612a3e565b8114612edb57600080fd5b50565b612ee781612a50565b8114612ef257600080fd5b50565b612efe81612a7c565b8114612f0957600080fd5b5056fea2646970667358221220f9fcefd86e07d7d56c01d092bb0f4d8cea3c665c69de201950a6e541990cc07f64736f6c63430008040033000000000000000000000000c52afb64c9e935e772a2679747b7e880655e579d

Deployed Bytecode

0x6080604052600436106101445760003560e01c806389f9a1d3116100b6578063bda225851161006f578063bda2258514610459578063bf56b37114610484578063dd62ed3e146104af578063efa4af4c146104ec578063f275f64b14610503578063f2fde38b1461052c5761014b565b806389f9a1d3146103475780638da5cb5b14610372578063909278811461039d57806395d89b41146103b4578063a457c2d7146103df578063a9059cbb1461041c5761014b565b8063313ce56711610108578063313ce56714610237578063395093511461026257806349bd5a5e1461029f57806369fe0e2d146102ca57806370a08231146102f3578063715018a6146103305761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631e8457a8146101e357806323b872dd146101fa5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610555565b6040516101729190612697565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612215565b6105e7565b6040516101af919061267c565b60405180910390f35b3480156101c457600080fd5b506101cd610605565b6040516101da9190612839565b60405180910390f35b3480156101ef57600080fd5b506101f861060f565b005b34801561020657600080fd5b50610221600480360381019061021c91906121c6565b61099d565b60405161022e919061267c565b60405180910390f35b34801561024357600080fd5b5061024c610a95565b60405161025991906128ae565b60405180910390f35b34801561026e57600080fd5b5061028960048036038101906102849190612215565b610a9e565b604051610296919061267c565b60405180910390f35b3480156102ab57600080fd5b506102b4610b4a565b6040516102c191906125d7565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec919061227a565b610b70565b005b3480156102ff57600080fd5b5061031a60048036038101906103159190612138565b610c47565b6040516103279190612839565b60405180910390f35b34801561033c57600080fd5b50610345610c90565b005b34801561035357600080fd5b5061035c610d18565b6040516103699190612839565b60405180910390f35b34801561037e57600080fd5b50610387610d1e565b60405161039491906125d7565b60405180910390f35b3480156103a957600080fd5b506103b2610d47565b005b3480156103c057600080fd5b506103c9610dce565b6040516103d69190612697565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190612215565b610e60565b604051610413919061267c565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190612215565b610f4b565b604051610450919061267c565b60405180910390f35b34801561046557600080fd5b5061046e610f69565b60405161047b9190612839565b60405180910390f35b34801561049057600080fd5b50610499610f6f565b6040516104a69190612839565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d1919061218a565b610f75565b6040516104e39190612839565b60405180910390f35b3480156104f857600080fd5b50610501610ffc565b005b34801561050f57600080fd5b5061052a60048036038101906105259190612251565b611082565b005b34801561053857600080fd5b50610553600480360381019061054e9190612138565b61111b565b005b60606004805461056490612ad8565b80601f016020809104026020016040519081016040528092919081815260200182805461059090612ad8565b80156105dd5780601f106105b2576101008083540402835291602001916105dd565b820191906000526020600020905b8154815290600101906020018083116105c057829003601f168201915b5050505050905090565b60006105fb6105f4611213565b848461121b565b6001905092915050565b6000600354905090565b610617611213565b73ffffffffffffffffffffffffffffffffffffffff16610635610d1e565b73ffffffffffffffffffffffffffffffffffffffff161461068b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610682906127b9565b60405180910390fd5b60007f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f357600080fd5b505afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b9190612161565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ad57600080fd5b505afa1580156107c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e59190612161565b6040518363ffffffff1660e01b81526004016108029291906125f2565b602060405180830381600087803b15801561081c57600080fd5b505af1158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190612161565b9050610889307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d61088430610c47565b61121b565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947306108d030610c47565b6000806108db610d1e565b426040518863ffffffff1660e01b81526004016108fd9695949392919061261b565b6060604051808303818588803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094f91906122a3565b50505080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504360098190555050565b60006109aa8484846113e6565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f5611213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612799565b60405180910390fd5b610a8985610a81611213565b85840361121b565b60019150509392505050565b60006012905090565b6000610b40610aab611213565b848460026000610ab9611213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3b9190612929565b61121b565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b78611213565b73ffffffffffffffffffffffffffffffffffffffff16610b96610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be3906127b9565b60405180910390fd5b60008110158015610bfe575060198111155b610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490612739565b60405180910390fd5b80600b8190555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c98611213565b73ffffffffffffffffffffffffffffffffffffffff16610cb6610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d03906127b9565b60405180910390fd5b610d166000611a2d565b565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f611213565b73ffffffffffffffffffffffffffffffffffffffff16610d6d610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba906127b9565b60405180910390fd5b600a54600681905550565b606060058054610ddd90612ad8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0990612ad8565b8015610e565780601f10610e2b57610100808354040283529160200191610e56565b820191906000526020600020905b815481529060010190602001808311610e3957829003601f168201915b5050505050905090565b60008060026000610e6f611213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612819565b60405180910390fd5b610f40610f37611213565b8585840361121b565b600191505092915050565b6000610f5f610f58611213565b84846113e6565b6001905092915050565b600c5481565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611004611213565b73ffffffffffffffffffffffffffffffffffffffff16611022610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f906127b9565b60405180910390fd5b6000600b81905550565b61108a611213565b73ffffffffffffffffffffffffffffffffffffffff166110a8610d1e565b73ffffffffffffffffffffffffffffffffffffffff16146110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f5906127b9565b60405180910390fd5b80600d60006101000a81548160ff02191690831515021790555050565b611123611213565b73ffffffffffffffffffffffffffffffffffffffff16611141610d1e565b73ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e906127b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe906126f9565b60405180910390fd5b61121081611a2d565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561128b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611282906127f9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f290612719565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d99190612839565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561156c573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806114a35750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806114e057506114b1610d1e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061151d57506114ee610d1e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61155c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611553906126d9565b60405180910390fd5b611567838383611af1565b611a28565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116345750611604610d1e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561168c57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156116ea576006548161169e84610c47565b6116a89190612929565b11156116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090612779565b60405180910390fd5b5b60006116f530610c47565b90506103e8600a54611707919061297f565b811115611721576103e8600a5461171e919061297f565b90505b6107d0600a54611731919061297f565b811015801561174d5750600d60019054906101000a900460ff16155b80156117a75750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611805576001600d60016101000a81548160ff0219169083151502179055506117d081611d75565b600047905060008111156117e8576117e781612033565b5b6000600d60016101000a81548160ff021916908315150217905550505b6000600c546009546118179190612929565b431161190b57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561189357606460148461188291906129b0565b61188c919061297f565b9050611906565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119055760646050846118f891906129b0565b611902919061297f565b90505b5b611928565b6064600b548461191b91906129b0565b611925919061297f565b90505b60008111801561196457503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119a35750611973610d1e565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119fb57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a1a578083611a0c9190612a0a565b9250611a19853083611af1565b5b611a25858585611af1565b50505b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b58906127d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc8906126b9565b60405180910390fd5b611bdc8383836120c5565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5a90612759565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cf89190612929565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d5c9190612839565b60405180910390a3611d6f8484846120ca565b50505050565b6000600267ffffffffffffffff811115611db8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611de65781602001602082028036833780820191505090505b5090503081600081518110611e24577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ec457600080fd5b505afa158015611ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efc9190612161565b81600181518110611f36577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f9b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461121b565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ffd959493929190612854565b600060405180830381600087803b15801561201757600080fd5b505af115801561202b573d6000803e3d6000fd5b505050505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161207b906125c2565b60006040518083038185875af1925050503d80600081146120b8576040519150601f19603f3d011682016040523d82523d6000602084013e6120bd565b606091505b505090505050565b505050565b505050565b6000813590506120de81612ec7565b92915050565b6000815190506120f381612ec7565b92915050565b60008135905061210881612ede565b92915050565b60008135905061211d81612ef5565b92915050565b60008151905061213281612ef5565b92915050565b60006020828403121561214a57600080fd5b6000612158848285016120cf565b91505092915050565b60006020828403121561217357600080fd5b6000612181848285016120e4565b91505092915050565b6000806040838503121561219d57600080fd5b60006121ab858286016120cf565b92505060206121bc858286016120cf565b9150509250929050565b6000806000606084860312156121db57600080fd5b60006121e9868287016120cf565b93505060206121fa868287016120cf565b925050604061220b8682870161210e565b9150509250925092565b6000806040838503121561222857600080fd5b6000612236858286016120cf565b92505060206122478582860161210e565b9150509250929050565b60006020828403121561226357600080fd5b6000612271848285016120f9565b91505092915050565b60006020828403121561228c57600080fd5b600061229a8482850161210e565b91505092915050565b6000806000606084860312156122b857600080fd5b60006122c686828701612123565b93505060206122d786828701612123565b92505060406122e886828701612123565b9150509250925092565b60006122fe838361230a565b60208301905092915050565b61231381612a3e565b82525050565b61232281612a3e565b82525050565b6000612333826128d9565b61233d81856128fc565b9350612348836128c9565b8060005b8381101561237957815161236088826122f2565b975061236b836128ef565b92505060018101905061234c565b5085935050505092915050565b61238f81612a50565b82525050565b61239e81612a93565b82525050565b60006123af826128e4565b6123b98185612918565b93506123c9818560208601612aa5565b6123d281612b97565b840191505092915050565b60006123ea602383612918565b91506123f582612ba8565b604082019050919050565b600061240d600b83612918565b915061241882612bf7565b602082019050919050565b6000612430602683612918565b915061243b82612c20565b604082019050919050565b6000612453602283612918565b915061245e82612c6f565b604082019050919050565b6000612476601783612918565b915061248182612cbe565b602082019050919050565b6000612499602683612918565b91506124a482612ce7565b604082019050919050565b60006124bc601283612918565b91506124c782612d36565b602082019050919050565b60006124df602883612918565b91506124ea82612d5f565b604082019050919050565b6000612502602083612918565b915061250d82612dae565b602082019050919050565b6000612525602583612918565b915061253082612dd7565b604082019050919050565b600061254860008361290d565b915061255382612e26565b600082019050919050565b600061256b602483612918565b915061257682612e29565b604082019050919050565b600061258e602583612918565b915061259982612e78565b604082019050919050565b6125ad81612a7c565b82525050565b6125bc81612a86565b82525050565b60006125cd8261253b565b9150819050919050565b60006020820190506125ec6000830184612319565b92915050565b60006040820190506126076000830185612319565b6126146020830184612319565b9392505050565b600060c0820190506126306000830189612319565b61263d60208301886125a4565b61264a6040830187612395565b6126576060830186612395565b6126646080830185612319565b61267160a08301846125a4565b979650505050505050565b60006020820190506126916000830184612386565b92915050565b600060208201905081810360008301526126b181846123a4565b905092915050565b600060208201905081810360008301526126d2816123dd565b9050919050565b600060208201905081810360008301526126f281612400565b9050919050565b6000602082019050818103600083015261271281612423565b9050919050565b6000602082019050818103600083015261273281612446565b9050919050565b6000602082019050818103600083015261275281612469565b9050919050565b600060208201905081810360008301526127728161248c565b9050919050565b60006020820190508181036000830152612792816124af565b9050919050565b600060208201905081810360008301526127b2816124d2565b9050919050565b600060208201905081810360008301526127d2816124f5565b9050919050565b600060208201905081810360008301526127f281612518565b9050919050565b600060208201905081810360008301526128128161255e565b9050919050565b6000602082019050818103600083015261283281612581565b9050919050565b600060208201905061284e60008301846125a4565b92915050565b600060a08201905061286960008301886125a4565b6128766020830187612395565b81810360408301526128888186612328565b90506128976060830185612319565b6128a460808301846125a4565b9695505050505050565b60006020820190506128c360008301846125b3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061293482612a7c565b915061293f83612a7c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561297457612973612b0a565b5b828201905092915050565b600061298a82612a7c565b915061299583612a7c565b9250826129a5576129a4612b39565b5b828204905092915050565b60006129bb82612a7c565b91506129c683612a7c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129ff576129fe612b0a565b5b828202905092915050565b6000612a1582612a7c565b9150612a2083612a7c565b925082821015612a3357612a32612b0a565b5b828203905092915050565b6000612a4982612a5c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612a9e82612a7c565b9050919050565b60005b83811015612ac3578082015181840152602081019050612aa8565b83811115612ad2576000848401525b50505050565b60006002820490506001821680612af057607f821691505b60208210811415612b0457612b03612b68565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f742073746172746564000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f6665652073686f756c6420626520696e2030202d203235000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f6d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612ed081612a3e565b8114612edb57600080fd5b50565b612ee781612a50565b8114612ef257600080fd5b50565b612efe81612a7c565b8114612f0957600080fd5b5056fea2646970667358221220f9fcefd86e07d7d56c01d092bb0f4d8cea3c665c69de201950a6e541990cc07f64736f6c63430008040033

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

000000000000000000000000c52afb64c9e935e772a2679747b7e880655e579d

-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0xC52aFb64c9E935e772A2679747b7E880655E579D

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


Deployed Bytecode Sourcemap

19978:4202:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9190:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11357:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10310:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21301:544;;;;;;;;;;;;;:::i;:::-;;12008:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10152:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12909:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20057:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20851:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10481:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2591:103;;;;;;;;;;;;;:::i;:::-;;20019:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1940:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21085:97;;;;;;;;;;;;;:::i;:::-;;9409:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13627:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10821:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20351:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20251:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11059:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21011:66;;;;;;;;;;;;;:::i;:::-;;21188:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2849:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9190:100;9244:13;9277:5;9270:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9190:100;:::o;11357:169::-;11440:4;11457:39;11466:12;:10;:12::i;:::-;11480:7;11489:6;11457:8;:39::i;:::-;11514:4;11507:11;;11357:169;;;;:::o;10310:108::-;10371:7;10398:12;;10391:19;;10310:108;:::o;21301:544::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21352:12:::1;21385:6;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21367:46;;;21422:4;21429:6;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21367:76;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21352:91;;21454:66;21471:4;21486:6;21495:24;21513:4;21495:9;:24::i;:::-;21454:8;:66::i;:::-;21531:6;:22;;;21575:21;21631:4;21651:24;21669:4;21651:9;:24::i;:::-;21690:1;21706::::0;21722:7:::1;:5;:7::i;:::-;21744:15;21531:239;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21797:4;21781:13;;:20;;;;;;;;;;;;;;;;;;21825:12;21812:10;:25;;;;2231:1;21301:544::o:0;12008:492::-;12148:4;12165:36;12175:6;12183:9;12194:6;12165:9;:36::i;:::-;12214:24;12241:11;:19;12253:6;12241:19;;;;;;;;;;;;;;;:33;12261:12;:10;:12::i;:::-;12241:33;;;;;;;;;;;;;;;;12214:60;;12313:6;12293:16;:26;;12285:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12400:57;12409:6;12417:12;:10;:12::i;:::-;12450:6;12431:16;:25;12400:8;:57::i;:::-;12488:4;12481:11;;;12008:492;;;;;:::o;10152:93::-;10210:5;10235:2;10228:9;;10152:93;:::o;12909:215::-;12997:4;13014:80;13023:12;:10;:12::i;:::-;13037:7;13083:10;13046:11;:25;13058:12;:10;:12::i;:::-;13046:25;;;;;;;;;;;;;;;:34;13072:7;13046:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13014:8;:80::i;:::-;13112:4;13105:11;;12909:215;;;;:::o;20057:28::-;;;;;;;;;;;;;:::o;20851:148::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20927:1:::1;20919:4;:9;;:23;;;;;20940:2;20932:4;:10;;20919:23;20911:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;20987:4;20981:3;:10;;;;20851:148:::0;:::o;10481:127::-;10555:7;10582:9;:18;10592:7;10582:18;;;;;;;;;;;;;;;;10575:25;;10481:127;;;:::o;2591:103::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2656:30:::1;2683:1;2656:18;:30::i;:::-;2591:103::o:0;20019:31::-;;;;:::o;1940:87::-;1986:7;2013:6;;;;;;;;;;;2006:13;;1940:87;:::o;21085:97::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21168:6:::1;;21149:16;:25;;;;21085:97::o:0;9409:104::-;9465:13;9498:7;9491:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9409:104;:::o;13627:413::-;13720:4;13737:24;13764:11;:25;13776:12;:10;:12::i;:::-;13764:25;;;;;;;;;;;;;;;:34;13790:7;13764:34;;;;;;;;;;;;;;;;13737:61;;13837:15;13817:16;:35;;13809:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13930:67;13939:12;:10;:12::i;:::-;13953:7;13981:15;13962:16;:34;13930:8;:67::i;:::-;14028:4;14021:11;;;13627:413;;;;:::o;10821:175::-;10907:4;10924:42;10934:12;:10;:12::i;:::-;10948:9;10959:6;10924:9;:42::i;:::-;10984:4;10977:11;;10821:175;;;;:::o;20351:35::-;;;;:::o;20251:25::-;;;;:::o;11059:151::-;11148:7;11175:11;:18;11187:5;11175:18;;;;;;;;;;;;;;;:27;11194:7;11175:27;;;;;;;;;;;;;;;;11168:34;;11059:151;;;;:::o;21011:66::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21068:1:::1;21062:3;:7;;;;21011:66::o:0;21188:106::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21274:12:::1;21260:11;;:26;;;;;;;;;;;;;;;;;;21188:106:::0;:::o;2849:201::-;2171:12;:10;:12::i;:::-;2160:23;;:7;:5;:7::i;:::-;:23;;;2152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2958:1:::1;2938:22;;:8;:22;;;;2930:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3014:28;3033:8;3014:18;:28::i;:::-;2849:201:::0;:::o;658:98::-;711:7;738:10;731:17;;658:98;:::o;17311:380::-;17464:1;17447:19;;:5;:19;;;;17439:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17545:1;17526:21;;:7;:21;;;;17518:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17629:6;17599:11;:18;17611:5;17599:18;;;;;;;;;;;;;;;:27;17618:7;17599:27;;;;;;;;;;;;;;;:36;;;;17667:7;17651:32;;17660:5;17651:32;;;17676:6;17651:32;;;;;;:::i;:::-;;;;;;;;17311:380;;;:::o;21853:1726::-;21971:1;21946:27;;:13;;;;;;;;;;;:27;;;21943:231;;;22014:4;21998:21;;:4;:21;;;:43;;;;22039:1;22023:18;;:4;:18;;;21998:43;:62;;;;22053:7;:5;:7::i;:::-;22045:15;;:4;:15;;;21998:62;:79;;;;22070:7;:5;:7::i;:::-;22064:13;;:2;:13;;;21998:79;21990:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;22108:33;22124:4;22130:2;22134:6;22108:15;:33::i;:::-;22156:7;;21943:231;22197:13;;;;;;;;;;;22189:21;;:4;:21;;;:44;;;;;22228:4;22214:19;;:2;:19;;;;22189:44;:61;;;;;22243:7;:5;:7::i;:::-;22237:13;;:2;:13;;;;22189:61;:86;;;;;22268:6;22254:21;;:2;:21;;;;22189:86;22186:197;;;22332:16;;22322:6;22300:19;22316:2;22300:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;22292:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;22186:197;22395:18;22416:24;22434:4;22416:9;:24::i;:::-;22395:45;;22478:4;22469:6;;:13;;;;:::i;:::-;22456:10;:26;22453:84;;;22521:4;22512:6;;:13;;;;:::i;:::-;22499:26;;22453:84;22576:4;22567:6;;:13;;;;:::i;:::-;22553:10;:27;;:51;;;;;22598:6;;;;;;;;;;;22597:7;22553:51;:89;;;;;22629:13;;;;;;;;;;;22621:21;;:4;:21;;;;22553:89;22549:353;;;22670:4;22661:6;;:13;;;;;;;;;;;;;;;;;;22691:28;22708:10;22691:16;:28::i;:::-;22736:15;22754:21;22736:39;;22805:1;22795:7;:11;22792:68;;;22827:17;22836:7;22827:8;:17::i;:::-;22792:68;22885:5;22876:6;;:14;;;;;;;;;;;;;;;;;;22549:353;;22914:18;22976:16;;22963:10;;:29;;;;:::i;:::-;22947:12;:45;22943:331;;23021:13;;;;;;;;;;;23013:21;;:4;:21;;;23009:190;;;23082:3;23077:2;23068:6;:11;;;;:::i;:::-;:17;;;;:::i;:::-;23055:30;;23009:190;;;23118:13;;;;;;;;;;;23112:19;;:2;:19;;;23108:91;;;23179:3;23174:2;23165:6;:11;;;;:::i;:::-;:17;;;;:::i;:::-;23152:30;;23108:91;23009:190;22943:331;;;23259:3;23253;;23244:6;:12;;;;:::i;:::-;:18;;;;:::i;:::-;23231:31;;22943:331;23303:1;23290:10;:14;:52;;;;;23337:4;23321:21;;:4;:21;;;;23290:52;:84;;;;;23367:7;:5;:7::i;:::-;23359:15;;:4;:15;;;;23290:84;:124;;;;;23407:6;23391:23;;:4;:23;;;;23290:124;23286:240;;;23441:10;23431:20;;;;;:::i;:::-;;;23466:48;23482:4;23496;23503:10;23466:15;:48::i;:::-;23286:240;23538:33;23554:4;23560:2;23564:6;23538:15;:33::i;:::-;21853:1726;;;;;;:::o;3210:191::-;3284:16;3303:6;;;;;;;;;;;3284:25;;3329:8;3320:6;;:17;;;;;;;;;;;;;;;;;;3384:8;3353:40;;3374:8;3353:40;;;;;;;;;;;;3210:191;;:::o;14530:733::-;14688:1;14670:20;;:6;:20;;;;14662:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14772:1;14751:23;;:9;:23;;;;14743:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14827:47;14848:6;14856:9;14867:6;14827:20;:47::i;:::-;14887:21;14911:9;:17;14921:6;14911:17;;;;;;;;;;;;;;;;14887:41;;14964:6;14947:13;:23;;14939:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15085:6;15069:13;:22;15049:9;:17;15059:6;15049:17;;;;;;;;;;;;;;;:42;;;;15137:6;15113:9;:20;15123:9;15113:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15178:9;15161:35;;15170:6;15161:35;;;15189:6;15161:35;;;;;;:::i;:::-;;;;;;;;15209:46;15229:6;15237:9;15248:6;15209:19;:46::i;:::-;14530:733;;;;:::o;23587:446::-;23653:21;23691:1;23677:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23653:40;;23722:4;23704;23709:1;23704:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;23748:6;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23738:4;23743:1;23738:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;23772:53;23789:4;23804:6;23813:11;23772:8;:53::i;:::-;23838:6;:57;;;23910:11;23936:1;23952:4;23979;23999:15;23838:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23587:446;;:::o;24041:136::-;24095:12;24112:15;;;;;;;;;;;:20;;24140:6;24112:39;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24094:57;;;24041:136;;:::o;18291:125::-;;;;:::o;19020:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;492:87;;;;:::o;585:143::-;642:5;673:6;667:13;658:22;;689:33;716:5;689:33;:::i;:::-;648:80;;;;:::o;734:262::-;793:6;842:2;830:9;821:7;817:23;813:32;810:2;;;858:1;855;848:12;810:2;901:1;926:53;971:7;962:6;951:9;947:22;926:53;:::i;:::-;916:63;;872:117;800:196;;;;:::o;1002:284::-;1072:6;1121:2;1109:9;1100:7;1096:23;1092:32;1089:2;;;1137:1;1134;1127:12;1089:2;1180:1;1205:64;1261:7;1252:6;1241:9;1237:22;1205:64;:::i;:::-;1195:74;;1151:128;1079:207;;;;:::o;1292:407::-;1360:6;1368;1417:2;1405:9;1396:7;1392:23;1388:32;1385:2;;;1433:1;1430;1423:12;1385:2;1476:1;1501:53;1546:7;1537:6;1526:9;1522:22;1501:53;:::i;:::-;1491:63;;1447:117;1603:2;1629:53;1674:7;1665:6;1654:9;1650:22;1629:53;:::i;:::-;1619:63;;1574:118;1375:324;;;;;:::o;1705:552::-;1782:6;1790;1798;1847:2;1835:9;1826:7;1822:23;1818:32;1815:2;;;1863:1;1860;1853:12;1815:2;1906:1;1931:53;1976:7;1967:6;1956:9;1952:22;1931:53;:::i;:::-;1921:63;;1877:117;2033:2;2059:53;2104:7;2095:6;2084:9;2080:22;2059:53;:::i;:::-;2049:63;;2004:118;2161:2;2187:53;2232:7;2223:6;2212:9;2208:22;2187:53;:::i;:::-;2177:63;;2132:118;1805:452;;;;;:::o;2263:407::-;2331:6;2339;2388:2;2376:9;2367:7;2363:23;2359:32;2356:2;;;2404:1;2401;2394:12;2356:2;2447:1;2472:53;2517:7;2508:6;2497:9;2493:22;2472:53;:::i;:::-;2462:63;;2418:117;2574:2;2600:53;2645:7;2636:6;2625:9;2621:22;2600:53;:::i;:::-;2590:63;;2545:118;2346:324;;;;;:::o;2676:256::-;2732:6;2781:2;2769:9;2760:7;2756:23;2752:32;2749:2;;;2797:1;2794;2787:12;2749:2;2840:1;2865:50;2907:7;2898:6;2887:9;2883:22;2865:50;:::i;:::-;2855:60;;2811:114;2739:193;;;;:::o;2938:262::-;2997:6;3046:2;3034:9;3025:7;3021:23;3017:32;3014:2;;;3062:1;3059;3052:12;3014:2;3105:1;3130:53;3175:7;3166:6;3155:9;3151:22;3130:53;:::i;:::-;3120:63;;3076:117;3004:196;;;;:::o;3206:596::-;3294:6;3302;3310;3359:2;3347:9;3338:7;3334:23;3330:32;3327:2;;;3375:1;3372;3365:12;3327:2;3418:1;3443:64;3499:7;3490:6;3479:9;3475:22;3443:64;:::i;:::-;3433:74;;3389:128;3556:2;3582:64;3638:7;3629:6;3618:9;3614:22;3582:64;:::i;:::-;3572:74;;3527:129;3695:2;3721:64;3777:7;3768:6;3757:9;3753:22;3721:64;:::i;:::-;3711:74;;3666:129;3317:485;;;;;:::o;3808:179::-;3877:10;3898:46;3940:3;3932:6;3898:46;:::i;:::-;3976:4;3971:3;3967:14;3953:28;;3888:99;;;;:::o;3993:108::-;4070:24;4088:5;4070:24;:::i;:::-;4065:3;4058:37;4048:53;;:::o;4107:118::-;4194:24;4212:5;4194:24;:::i;:::-;4189:3;4182:37;4172:53;;:::o;4261:732::-;4380:3;4409:54;4457:5;4409:54;:::i;:::-;4479:86;4558:6;4553:3;4479:86;:::i;:::-;4472:93;;4589:56;4639:5;4589:56;:::i;:::-;4668:7;4699:1;4684:284;4709:6;4706:1;4703:13;4684:284;;;4785:6;4779:13;4812:63;4871:3;4856:13;4812:63;:::i;:::-;4805:70;;4898:60;4951:6;4898:60;:::i;:::-;4888:70;;4744:224;4731:1;4728;4724:9;4719:14;;4684:284;;;4688:14;4984:3;4977:10;;4385:608;;;;;;;:::o;4999:109::-;5080:21;5095:5;5080:21;:::i;:::-;5075:3;5068:34;5058:50;;:::o;5114:147::-;5209:45;5248:5;5209:45;:::i;:::-;5204:3;5197:58;5187:74;;:::o;5267:364::-;5355:3;5383:39;5416:5;5383:39;:::i;:::-;5438:71;5502:6;5497:3;5438:71;:::i;:::-;5431:78;;5518:52;5563:6;5558:3;5551:4;5544:5;5540:16;5518:52;:::i;:::-;5595:29;5617:6;5595:29;:::i;:::-;5590:3;5586:39;5579:46;;5359:272;;;;;:::o;5637:366::-;5779:3;5800:67;5864:2;5859:3;5800:67;:::i;:::-;5793:74;;5876:93;5965:3;5876:93;:::i;:::-;5994:2;5989:3;5985:12;5978:19;;5783:220;;;:::o;6009:366::-;6151:3;6172:67;6236:2;6231:3;6172:67;:::i;:::-;6165:74;;6248:93;6337:3;6248:93;:::i;:::-;6366:2;6361:3;6357:12;6350:19;;6155:220;;;:::o;6381:366::-;6523:3;6544:67;6608:2;6603:3;6544:67;:::i;:::-;6537:74;;6620:93;6709:3;6620:93;:::i;:::-;6738:2;6733:3;6729:12;6722:19;;6527:220;;;:::o;6753:366::-;6895:3;6916:67;6980:2;6975:3;6916:67;:::i;:::-;6909:74;;6992:93;7081:3;6992:93;:::i;:::-;7110:2;7105:3;7101:12;7094:19;;6899:220;;;:::o;7125:366::-;7267:3;7288:67;7352:2;7347:3;7288:67;:::i;:::-;7281:74;;7364:93;7453:3;7364:93;:::i;:::-;7482:2;7477:3;7473:12;7466:19;;7271:220;;;:::o;7497:366::-;7639:3;7660:67;7724:2;7719:3;7660:67;:::i;:::-;7653:74;;7736:93;7825:3;7736:93;:::i;:::-;7854:2;7849:3;7845:12;7838:19;;7643:220;;;:::o;7869:366::-;8011:3;8032:67;8096:2;8091:3;8032:67;:::i;:::-;8025:74;;8108:93;8197:3;8108:93;:::i;:::-;8226:2;8221:3;8217:12;8210:19;;8015:220;;;:::o;8241:366::-;8383:3;8404:67;8468:2;8463:3;8404:67;:::i;:::-;8397:74;;8480:93;8569:3;8480:93;:::i;:::-;8598:2;8593:3;8589:12;8582:19;;8387:220;;;:::o;8613:366::-;8755:3;8776:67;8840:2;8835:3;8776:67;:::i;:::-;8769:74;;8852:93;8941:3;8852:93;:::i;:::-;8970:2;8965:3;8961:12;8954:19;;8759:220;;;:::o;8985:366::-;9127:3;9148:67;9212:2;9207:3;9148:67;:::i;:::-;9141:74;;9224:93;9313:3;9224:93;:::i;:::-;9342:2;9337:3;9333:12;9326:19;;9131:220;;;:::o;9357:398::-;9516:3;9537:83;9618:1;9613:3;9537:83;:::i;:::-;9530:90;;9629:93;9718:3;9629:93;:::i;:::-;9747:1;9742:3;9738:11;9731:18;;9520:235;;;:::o;9761:366::-;9903:3;9924:67;9988:2;9983:3;9924:67;:::i;:::-;9917:74;;10000:93;10089:3;10000:93;:::i;:::-;10118:2;10113:3;10109:12;10102:19;;9907:220;;;:::o;10133:366::-;10275:3;10296:67;10360:2;10355:3;10296:67;:::i;:::-;10289:74;;10372:93;10461:3;10372:93;:::i;:::-;10490:2;10485:3;10481:12;10474:19;;10279:220;;;:::o;10505:118::-;10592:24;10610:5;10592:24;:::i;:::-;10587:3;10580:37;10570:53;;:::o;10629:112::-;10712:22;10728:5;10712:22;:::i;:::-;10707:3;10700:35;10690:51;;:::o;10747:379::-;10931:3;10953:147;11096:3;10953:147;:::i;:::-;10946:154;;11117:3;11110:10;;10935:191;;;:::o;11132:222::-;11225:4;11263:2;11252:9;11248:18;11240:26;;11276:71;11344:1;11333:9;11329:17;11320:6;11276:71;:::i;:::-;11230:124;;;;:::o;11360:332::-;11481:4;11519:2;11508:9;11504:18;11496:26;;11532:71;11600:1;11589:9;11585:17;11576:6;11532:71;:::i;:::-;11613:72;11681:2;11670:9;11666:18;11657:6;11613:72;:::i;:::-;11486:206;;;;;:::o;11698:807::-;11947:4;11985:3;11974:9;11970:19;11962:27;;11999:71;12067:1;12056:9;12052:17;12043:6;11999:71;:::i;:::-;12080:72;12148:2;12137:9;12133:18;12124:6;12080:72;:::i;:::-;12162:80;12238:2;12227:9;12223:18;12214:6;12162:80;:::i;:::-;12252;12328:2;12317:9;12313:18;12304:6;12252:80;:::i;:::-;12342:73;12410:3;12399:9;12395:19;12386:6;12342:73;:::i;:::-;12425;12493:3;12482:9;12478:19;12469:6;12425:73;:::i;:::-;11952:553;;;;;;;;;:::o;12511:210::-;12598:4;12636:2;12625:9;12621:18;12613:26;;12649:65;12711:1;12700:9;12696:17;12687:6;12649:65;:::i;:::-;12603:118;;;;:::o;12727:313::-;12840:4;12878:2;12867:9;12863:18;12855:26;;12927:9;12921:4;12917:20;12913:1;12902:9;12898:17;12891:47;12955:78;13028:4;13019:6;12955:78;:::i;:::-;12947:86;;12845:195;;;;:::o;13046:419::-;13212:4;13250:2;13239:9;13235:18;13227:26;;13299:9;13293:4;13289:20;13285:1;13274:9;13270:17;13263:47;13327:131;13453:4;13327:131;:::i;:::-;13319:139;;13217:248;;;:::o;13471:419::-;13637:4;13675:2;13664:9;13660:18;13652:26;;13724:9;13718:4;13714:20;13710:1;13699:9;13695:17;13688:47;13752:131;13878:4;13752:131;:::i;:::-;13744:139;;13642:248;;;:::o;13896:419::-;14062:4;14100:2;14089:9;14085:18;14077:26;;14149:9;14143:4;14139:20;14135:1;14124:9;14120:17;14113:47;14177:131;14303:4;14177:131;:::i;:::-;14169:139;;14067:248;;;:::o;14321:419::-;14487:4;14525:2;14514:9;14510:18;14502:26;;14574:9;14568:4;14564:20;14560:1;14549:9;14545:17;14538:47;14602:131;14728:4;14602:131;:::i;:::-;14594:139;;14492:248;;;:::o;14746:419::-;14912:4;14950:2;14939:9;14935:18;14927:26;;14999:9;14993:4;14989:20;14985:1;14974:9;14970:17;14963:47;15027:131;15153:4;15027:131;:::i;:::-;15019:139;;14917:248;;;:::o;15171:419::-;15337:4;15375:2;15364:9;15360:18;15352:26;;15424:9;15418:4;15414:20;15410:1;15399:9;15395:17;15388:47;15452:131;15578:4;15452:131;:::i;:::-;15444:139;;15342:248;;;:::o;15596:419::-;15762:4;15800:2;15789:9;15785:18;15777:26;;15849:9;15843:4;15839:20;15835:1;15824:9;15820:17;15813:47;15877:131;16003:4;15877:131;:::i;:::-;15869:139;;15767:248;;;:::o;16021:419::-;16187:4;16225:2;16214:9;16210:18;16202:26;;16274:9;16268:4;16264:20;16260:1;16249:9;16245:17;16238:47;16302:131;16428:4;16302:131;:::i;:::-;16294:139;;16192:248;;;:::o;16446:419::-;16612:4;16650:2;16639:9;16635:18;16627:26;;16699:9;16693:4;16689:20;16685:1;16674:9;16670:17;16663:47;16727:131;16853:4;16727:131;:::i;:::-;16719:139;;16617:248;;;:::o;16871:419::-;17037:4;17075:2;17064:9;17060:18;17052:26;;17124:9;17118:4;17114:20;17110:1;17099:9;17095:17;17088:47;17152:131;17278:4;17152:131;:::i;:::-;17144:139;;17042:248;;;:::o;17296:419::-;17462:4;17500:2;17489:9;17485:18;17477:26;;17549:9;17543:4;17539:20;17535:1;17524:9;17520:17;17513:47;17577:131;17703:4;17577:131;:::i;:::-;17569:139;;17467:248;;;:::o;17721:419::-;17887:4;17925:2;17914:9;17910:18;17902:26;;17974:9;17968:4;17964:20;17960:1;17949:9;17945:17;17938:47;18002:131;18128:4;18002:131;:::i;:::-;17994:139;;17892:248;;;:::o;18146:222::-;18239:4;18277:2;18266:9;18262:18;18254:26;;18290:71;18358:1;18347:9;18343:17;18334:6;18290:71;:::i;:::-;18244:124;;;;:::o;18374:831::-;18637:4;18675:3;18664:9;18660:19;18652:27;;18689:71;18757:1;18746:9;18742:17;18733:6;18689:71;:::i;:::-;18770:80;18846:2;18835:9;18831:18;18822:6;18770:80;:::i;:::-;18897:9;18891:4;18887:20;18882:2;18871:9;18867:18;18860:48;18925:108;19028:4;19019:6;18925:108;:::i;:::-;18917:116;;19043:72;19111:2;19100:9;19096:18;19087:6;19043:72;:::i;:::-;19125:73;19193:3;19182:9;19178:19;19169:6;19125:73;:::i;:::-;18642:563;;;;;;;;:::o;19211:214::-;19300:4;19338:2;19327:9;19323:18;19315:26;;19351:67;19415:1;19404:9;19400:17;19391:6;19351:67;:::i;:::-;19305:120;;;;:::o;19431:132::-;19498:4;19521:3;19513:11;;19551:4;19546:3;19542:14;19534:22;;19503:60;;;:::o;19569:114::-;19636:6;19670:5;19664:12;19654:22;;19643:40;;;:::o;19689:99::-;19741:6;19775:5;19769:12;19759:22;;19748:40;;;:::o;19794:113::-;19864:4;19896;19891:3;19887:14;19879:22;;19869:38;;;:::o;19913:184::-;20012:11;20046:6;20041:3;20034:19;20086:4;20081:3;20077:14;20062:29;;20024:73;;;;:::o;20103:147::-;20204:11;20241:3;20226:18;;20216:34;;;;:::o;20256:169::-;20340:11;20374:6;20369:3;20362:19;20414:4;20409:3;20405:14;20390:29;;20352:73;;;;:::o;20431:305::-;20471:3;20490:20;20508:1;20490:20;:::i;:::-;20485:25;;20524:20;20542:1;20524:20;:::i;:::-;20519:25;;20678:1;20610:66;20606:74;20603:1;20600:81;20597:2;;;20684:18;;:::i;:::-;20597:2;20728:1;20725;20721:9;20714:16;;20475:261;;;;:::o;20742:185::-;20782:1;20799:20;20817:1;20799:20;:::i;:::-;20794:25;;20833:20;20851:1;20833:20;:::i;:::-;20828:25;;20872:1;20862:2;;20877:18;;:::i;:::-;20862:2;20919:1;20916;20912:9;20907:14;;20784:143;;;;:::o;20933:348::-;20973:7;20996:20;21014:1;20996:20;:::i;:::-;20991:25;;21030:20;21048:1;21030:20;:::i;:::-;21025:25;;21218:1;21150:66;21146:74;21143:1;21140:81;21135:1;21128:9;21121:17;21117:105;21114:2;;;21225:18;;:::i;:::-;21114:2;21273:1;21270;21266:9;21255:20;;20981:300;;;;:::o;21287:191::-;21327:4;21347:20;21365:1;21347:20;:::i;:::-;21342:25;;21381:20;21399:1;21381:20;:::i;:::-;21376:25;;21420:1;21417;21414:8;21411:2;;;21425:18;;:::i;:::-;21411:2;21470:1;21467;21463:9;21455:17;;21332:146;;;;:::o;21484:96::-;21521:7;21550:24;21568:5;21550:24;:::i;:::-;21539:35;;21529:51;;;:::o;21586:90::-;21620:7;21663:5;21656:13;21649:21;21638:32;;21628:48;;;:::o;21682:126::-;21719:7;21759:42;21752:5;21748:54;21737:65;;21727:81;;;:::o;21814:77::-;21851:7;21880:5;21869:16;;21859:32;;;:::o;21897:86::-;21932:7;21972:4;21965:5;21961:16;21950:27;;21940:43;;;:::o;21989:121::-;22047:9;22080:24;22098:5;22080:24;:::i;:::-;22067:37;;22057:53;;;:::o;22116:307::-;22184:1;22194:113;22208:6;22205:1;22202:13;22194:113;;;22293:1;22288:3;22284:11;22278:18;22274:1;22269:3;22265:11;22258:39;22230:2;22227:1;22223:10;22218:15;;22194:113;;;22325:6;22322:1;22319:13;22316:2;;;22405:1;22396:6;22391:3;22387:16;22380:27;22316:2;22165:258;;;;:::o;22429:320::-;22473:6;22510:1;22504:4;22500:12;22490:22;;22557:1;22551:4;22547:12;22578:18;22568:2;;22634:4;22626:6;22622:17;22612:27;;22568:2;22696;22688:6;22685:14;22665:18;22662:38;22659:2;;;22715:18;;:::i;:::-;22659:2;22480:269;;;;:::o;22755:180::-;22803:77;22800:1;22793:88;22900:4;22897:1;22890:15;22924:4;22921:1;22914:15;22941:180;22989:77;22986:1;22979:88;23086:4;23083:1;23076:15;23110:4;23107:1;23100:15;23127:180;23175:77;23172:1;23165:88;23272:4;23269:1;23262:15;23296:4;23293:1;23286:15;23313:102;23354:6;23405:2;23401:7;23396:2;23389:5;23385:14;23381:28;23371:38;;23361:54;;;:::o;23421:222::-;23561:34;23557:1;23549:6;23545:14;23538:58;23630:5;23625:2;23617:6;23613:15;23606:30;23527:116;:::o;23649:161::-;23789:13;23785:1;23777:6;23773:14;23766:37;23755:55;:::o;23816:225::-;23956:34;23952:1;23944:6;23940:14;23933:58;24025:8;24020:2;24012:6;24008:15;24001:33;23922:119;:::o;24047:221::-;24187:34;24183:1;24175:6;24171:14;24164:58;24256:4;24251:2;24243:6;24239:15;24232:29;24153:115;:::o;24274:173::-;24414:25;24410:1;24402:6;24398:14;24391:49;24380:67;:::o;24453:225::-;24593:34;24589:1;24581:6;24577:14;24570:58;24662:8;24657:2;24649:6;24645:15;24638:33;24559:119;:::o;24684:168::-;24824:20;24820:1;24812:6;24808:14;24801:44;24790:62;:::o;24858:227::-;24998:34;24994:1;24986:6;24982:14;24975:58;25067:10;25062:2;25054:6;25050:15;25043:35;24964:121;:::o;25091:182::-;25231:34;25227:1;25219:6;25215:14;25208:58;25197:76;:::o;25279:224::-;25419:34;25415:1;25407:6;25403:14;25396:58;25488:7;25483:2;25475:6;25471:15;25464:32;25385:118;:::o;25509:114::-;25615:8;:::o;25629:223::-;25769:34;25765:1;25757:6;25753:14;25746:58;25838:6;25833:2;25825:6;25821:15;25814:31;25735:117;:::o;25858:224::-;25998:34;25994:1;25986:6;25982:14;25975:58;26067:7;26062:2;26054:6;26050:15;26043:32;25964:118;:::o;26088:122::-;26161:24;26179:5;26161:24;:::i;:::-;26154:5;26151:35;26141:2;;26200:1;26197;26190:12;26141:2;26131:79;:::o;26216:116::-;26286:21;26301:5;26286:21;:::i;:::-;26279:5;26276:32;26266:2;;26322:1;26319;26312:12;26266:2;26256:76;:::o;26338:122::-;26411:24;26429:5;26411:24;:::i;:::-;26404:5;26401:35;26391:2;;26450:1;26447;26440:12;26391:2;26381:79;:::o

Swarm Source

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