ETH Price: $3,483.86 (+2.82%)
Gas: 2 Gwei

Token

Pepe (PEPE)
 

Overview

Max Total Supply

420,690,000,000,000 PEPE

Holders

75

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,504,156,930,317.802410793870596248 PEPE

Value
$0.00
0xf6edffd55c1a99fe0ab68b29b960faa15ee0e833
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:
PepeToken

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

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


// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

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

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


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


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

pragma solidity ^0.8.0;

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _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.0;

/**
 * @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.0;

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

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

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


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


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

pragma solidity ^0.8.0;



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin 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 {}
}


// File contracts/PepeToken.sol



pragma solidity ^0.8.0;


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

contract PepeToken is Ownable, ERC20 {
    bool public limited;
    uint256 public maxHoldingAmount;
    uint256 public minHoldingAmount;
    address public uniswapV2Pair;

    constructor(
        uint256 _totalSupply,
        uint256 _maxHoldingAmount,
        uint256 _minHoldingAmount,
        address _tokenOwnerAddress
    ) ERC20("Pepe", "PEPE") {
        _mint(_tokenOwnerAddress, _totalSupply);

        limited = true;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    }

    function setRule(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
        limited = _limited;
        uniswapV2Pair = _uniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        if (limited && from == uniswapV2Pair) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid");
        }
    }

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"},{"internalType":"address","name":"_tokenOwnerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setRule","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"}]

60806040523480156200001157600080fd5b506040516200298d3803806200298d8339818101604052810190620000379190620007da565b6040518060400160405280600481526020017f50657065000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5045504500000000000000000000000000000000000000000000000000000000815250620000c3620000b76200032b60201b60201c565b6200033360201b60201c565b8160049080519060200190620000db929190620006d0565b508060059080519060200190620000f4929190620006d0565b505050620001098185620003f760201b60201c565b6001600660006101000a81548160ff02191690831515021790555082600781905550816008819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019257600080fd5b505afa158015620001a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cd9190620007ae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023057600080fd5b505afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b9190620007ae565b6040518363ffffffff1660e01b81526004016200028a929190620008ec565b602060405180830381600087803b158015620002a557600080fd5b505af1158015620002ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e09190620007ae565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000aee565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000461906200093b565b60405180910390fd5b6200047e600083836200057160201b60201c565b80600360008282546200049291906200098b565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620004ea91906200098b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200055191906200095d565b60405180910390a36200056d600083836200068260201b60201c565b5050565b600660009054906101000a900460ff168015620005db5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156200067d5760075481620005fb846200068760201b620007781760201c565b6200060791906200098b565b111580156200063a5750600854816200062b846200068760201b620007781760201c565b6200063791906200098b565b10155b6200067c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006739062000919565b60405180910390fd5b5b505050565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b828054620006de9062000a26565b90600052602060002090601f0160209004810192826200070257600085556200074e565b82601f106200071d57805160ff19168380011785556200074e565b828001600101855582156200074e579182015b828111156200074d57825182559160200191906001019062000730565b5b5090506200075d919062000761565b5090565b5b808211156200077c57600081600090555060010162000762565b5090565b600081519050620007918162000aba565b92915050565b600081519050620007a88162000ad4565b92915050565b600060208284031215620007c157600080fd5b6000620007d18482850162000780565b91505092915050565b60008060008060808587031215620007f157600080fd5b6000620008018782880162000797565b9450506020620008148782880162000797565b9350506040620008278782880162000797565b92505060606200083a8782880162000780565b91505092959194509250565b6200085181620009e8565b82525050565b6000620008666006836200097a565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000620008a8601f836200097a565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620008e68162000a1c565b82525050565b600060408201905062000903600083018562000846565b62000912602083018462000846565b9392505050565b60006020820190508181036000830152620009348162000857565b9050919050565b60006020820190508181036000830152620009568162000899565b9050919050565b6000602082019050620009746000830184620008db565b92915050565b600082825260208201905092915050565b6000620009988262000a1c565b9150620009a58362000a1c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620009dd57620009dc62000a5c565b5b828201905092915050565b6000620009f582620009fc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000600282049050600182168062000a3f57607f821691505b6020821081141562000a565762000a5562000a8b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b62000ac581620009e8565b811462000ad157600080fd5b50565b62000adf8162000a1c565b811462000aeb57600080fd5b50565b611e8f8062000afe6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b4114610323578063a457c2d714610341578063a9059cbb14610371578063dd62ed3e146103a1578063f2fde38b146103d15761012c565b806370a082311461028f578063715018a6146102bf578063860a32ec146102c957806389f9a1d3146102e75780638da5cb5b146103055761012c565b8063313ce567116100f4578063313ce567146101eb57806339509351146102095780633aa633aa1461023957806342966c681461025557806349bd5a5e146102715761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f5780631ab99e121461019d57806323b872dd146101bb575b600080fd5b6101396103ed565b6040516101469190611a6d565b60405180910390f35b6101696004803603810190610164919061147e565b61047f565b6040516101769190611a52565b60405180910390f35b61018761049d565b6040516101949190611c0f565b60405180910390f35b6101a56104a7565b6040516101b29190611c0f565b60405180910390f35b6101d560048036038101906101d0919061142f565b6104ad565b6040516101e29190611a52565b60405180910390f35b6101f36105a5565b6040516102009190611c2a565b60405180910390f35b610223600480360381019061021e919061147e565b6105ae565b6040516102309190611a52565b60405180910390f35b610253600480360381019061024e91906114ba565b61065a565b005b61026f600480360381019061026a919061151d565b610745565b005b610279610752565b6040516102869190611a37565b60405180910390f35b6102a960048036038101906102a491906113ca565b610778565b6040516102b69190611c0f565b60405180910390f35b6102c76107c1565b005b6102d1610849565b6040516102de9190611a52565b60405180910390f35b6102ef61085c565b6040516102fc9190611c0f565b60405180910390f35b61030d610862565b60405161031a9190611a37565b60405180910390f35b61032b61088b565b6040516103389190611a6d565b60405180910390f35b61035b6004803603810190610356919061147e565b61091d565b6040516103689190611a52565b60405180910390f35b61038b6004803603810190610386919061147e565b610a08565b6040516103989190611a52565b60405180910390f35b6103bb60048036038101906103b691906113f3565b610a26565b6040516103c89190611c0f565b60405180910390f35b6103eb60048036038101906103e691906113ca565b610aad565b005b6060600480546103fc90611d73565b80601f016020809104026020016040519081016040528092919081815260200182805461042890611d73565b80156104755780601f1061044a57610100808354040283529160200191610475565b820191906000526020600020905b81548152906001019060200180831161045857829003601f168201915b5050505050905090565b600061049361048c610ba5565b8484610bad565b6001905092915050565b6000600354905090565b60085481565b60006104ba848484610d78565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610505610ba5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057c90611b4f565b60405180910390fd5b61059985610591610ba5565b858403610bad565b60019150509392505050565b60006012905090565b60006106506105bb610ba5565b8484600260006105c9610ba5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461064b9190611c61565b610bad565b6001905092915050565b610662610ba5565b73ffffffffffffffffffffffffffffffffffffffff16610680610862565b73ffffffffffffffffffffffffffffffffffffffff16146106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd90611b6f565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b61074f3382610ffc565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107c9610ba5565b73ffffffffffffffffffffffffffffffffffffffff166107e7610862565b73ffffffffffffffffffffffffffffffffffffffff161461083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083490611b6f565b60405180910390fd5b61084760006111d5565b565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461089a90611d73565b80601f01602080910402602001604051908101604052809291908181526020018280546108c690611d73565b80156109135780601f106108e857610100808354040283529160200191610913565b820191906000526020600020905b8154815290600101906020018083116108f657829003601f168201915b5050505050905090565b6000806002600061092c610ba5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e090611bef565b60405180910390fd5b6109fd6109f4610ba5565b85858403610bad565b600191505092915050565b6000610a1c610a15610ba5565b8484610d78565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ab5610ba5565b73ffffffffffffffffffffffffffffffffffffffff16610ad3610862565b73ffffffffffffffffffffffffffffffffffffffff1614610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2090611b6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090611acf565b60405180910390fd5b610ba2816111d5565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490611bcf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8490611aef565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d6b9190611c0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddf90611baf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4f90611a8f565b60405180910390fd5b610e63838383611299565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611b0f565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f7f9190611c61565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fe39190611c0f565b60405180910390a3610ff6848484611386565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390611b8f565b60405180910390fd5b61107882600083611299565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f690611aaf565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546111579190611cb7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111bc9190611c0f565b60405180910390a36111d083600084611386565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600660009054906101000a900460ff1680156113025750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611381576007548161131484610778565b61131e9190611c61565b1115801561134157506008548161133484610778565b61133e9190611c61565b10155b611380576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137790611b2f565b60405180910390fd5b5b505050565b505050565b60008135905061139a81611e14565b92915050565b6000813590506113af81611e2b565b92915050565b6000813590506113c481611e42565b92915050565b6000602082840312156113dc57600080fd5b60006113ea8482850161138b565b91505092915050565b6000806040838503121561140657600080fd5b60006114148582860161138b565b92505060206114258582860161138b565b9150509250929050565b60008060006060848603121561144457600080fd5b60006114528682870161138b565b93505060206114638682870161138b565b9250506040611474868287016113b5565b9150509250925092565b6000806040838503121561149157600080fd5b600061149f8582860161138b565b92505060206114b0858286016113b5565b9150509250929050565b600080600080608085870312156114d057600080fd5b60006114de878288016113a0565b94505060206114ef8782880161138b565b9350506040611500878288016113b5565b9250506060611511878288016113b5565b91505092959194509250565b60006020828403121561152f57600080fd5b600061153d848285016113b5565b91505092915050565b61154f81611ceb565b82525050565b61155e81611cfd565b82525050565b600061156f82611c45565b6115798185611c50565b9350611589818560208601611d40565b61159281611e03565b840191505092915050565b60006115aa602383611c50565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611610602283611c50565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611676602683611c50565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116dc602283611c50565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611742602683611c50565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117a8600683611c50565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006117e8602883611c50565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061184e602083611c50565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061188e602183611c50565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118f4602583611c50565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061195a602483611c50565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119c0602583611c50565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611a2281611d29565b82525050565b611a3181611d33565b82525050565b6000602082019050611a4c6000830184611546565b92915050565b6000602082019050611a676000830184611555565b92915050565b60006020820190508181036000830152611a878184611564565b905092915050565b60006020820190508181036000830152611aa88161159d565b9050919050565b60006020820190508181036000830152611ac881611603565b9050919050565b60006020820190508181036000830152611ae881611669565b9050919050565b60006020820190508181036000830152611b08816116cf565b9050919050565b60006020820190508181036000830152611b2881611735565b9050919050565b60006020820190508181036000830152611b488161179b565b9050919050565b60006020820190508181036000830152611b68816117db565b9050919050565b60006020820190508181036000830152611b8881611841565b9050919050565b60006020820190508181036000830152611ba881611881565b9050919050565b60006020820190508181036000830152611bc8816118e7565b9050919050565b60006020820190508181036000830152611be88161194d565b9050919050565b60006020820190508181036000830152611c08816119b3565b9050919050565b6000602082019050611c246000830184611a19565b92915050565b6000602082019050611c3f6000830184611a28565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c6c82611d29565b9150611c7783611d29565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611cac57611cab611da5565b5b828201905092915050565b6000611cc282611d29565b9150611ccd83611d29565b925082821015611ce057611cdf611da5565b5b828203905092915050565b6000611cf682611d09565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611d5e578082015181840152602081019050611d43565b83811115611d6d576000848401525b50505050565b60006002820490506001821680611d8b57607f821691505b60208210811415611d9f57611d9e611dd4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611e1d81611ceb565b8114611e2857600080fd5b50565b611e3481611cfd565b8114611e3f57600080fd5b50565b611e4b81611d29565b8114611e5657600080fd5b5056fea2646970667358221220ee708fa59a310d35c05b3b4de02c537d7648bdd2d001f6f120208c28382c9ce664736f6c6343000800003300000000000000000000000000000000000014bddab3e51a57cff87a50000000000000000000000000000000000000000000001fdbefabdee0c86a736c000000000000000000000000000000000000000000000a9ea5394a4aed78d1240000000000000000000000000000008f7410253ea40b7d9910b7c23b9113b283d489c2

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b4114610323578063a457c2d714610341578063a9059cbb14610371578063dd62ed3e146103a1578063f2fde38b146103d15761012c565b806370a082311461028f578063715018a6146102bf578063860a32ec146102c957806389f9a1d3146102e75780638da5cb5b146103055761012c565b8063313ce567116100f4578063313ce567146101eb57806339509351146102095780633aa633aa1461023957806342966c681461025557806349bd5a5e146102715761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f5780631ab99e121461019d57806323b872dd146101bb575b600080fd5b6101396103ed565b6040516101469190611a6d565b60405180910390f35b6101696004803603810190610164919061147e565b61047f565b6040516101769190611a52565b60405180910390f35b61018761049d565b6040516101949190611c0f565b60405180910390f35b6101a56104a7565b6040516101b29190611c0f565b60405180910390f35b6101d560048036038101906101d0919061142f565b6104ad565b6040516101e29190611a52565b60405180910390f35b6101f36105a5565b6040516102009190611c2a565b60405180910390f35b610223600480360381019061021e919061147e565b6105ae565b6040516102309190611a52565b60405180910390f35b610253600480360381019061024e91906114ba565b61065a565b005b61026f600480360381019061026a919061151d565b610745565b005b610279610752565b6040516102869190611a37565b60405180910390f35b6102a960048036038101906102a491906113ca565b610778565b6040516102b69190611c0f565b60405180910390f35b6102c76107c1565b005b6102d1610849565b6040516102de9190611a52565b60405180910390f35b6102ef61085c565b6040516102fc9190611c0f565b60405180910390f35b61030d610862565b60405161031a9190611a37565b60405180910390f35b61032b61088b565b6040516103389190611a6d565b60405180910390f35b61035b6004803603810190610356919061147e565b61091d565b6040516103689190611a52565b60405180910390f35b61038b6004803603810190610386919061147e565b610a08565b6040516103989190611a52565b60405180910390f35b6103bb60048036038101906103b691906113f3565b610a26565b6040516103c89190611c0f565b60405180910390f35b6103eb60048036038101906103e691906113ca565b610aad565b005b6060600480546103fc90611d73565b80601f016020809104026020016040519081016040528092919081815260200182805461042890611d73565b80156104755780601f1061044a57610100808354040283529160200191610475565b820191906000526020600020905b81548152906001019060200180831161045857829003601f168201915b5050505050905090565b600061049361048c610ba5565b8484610bad565b6001905092915050565b6000600354905090565b60085481565b60006104ba848484610d78565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610505610ba5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057c90611b4f565b60405180910390fd5b61059985610591610ba5565b858403610bad565b60019150509392505050565b60006012905090565b60006106506105bb610ba5565b8484600260006105c9610ba5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461064b9190611c61565b610bad565b6001905092915050565b610662610ba5565b73ffffffffffffffffffffffffffffffffffffffff16610680610862565b73ffffffffffffffffffffffffffffffffffffffff16146106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd90611b6f565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b61074f3382610ffc565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107c9610ba5565b73ffffffffffffffffffffffffffffffffffffffff166107e7610862565b73ffffffffffffffffffffffffffffffffffffffff161461083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083490611b6f565b60405180910390fd5b61084760006111d5565b565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461089a90611d73565b80601f01602080910402602001604051908101604052809291908181526020018280546108c690611d73565b80156109135780601f106108e857610100808354040283529160200191610913565b820191906000526020600020905b8154815290600101906020018083116108f657829003601f168201915b5050505050905090565b6000806002600061092c610ba5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e090611bef565b60405180910390fd5b6109fd6109f4610ba5565b85858403610bad565b600191505092915050565b6000610a1c610a15610ba5565b8484610d78565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ab5610ba5565b73ffffffffffffffffffffffffffffffffffffffff16610ad3610862565b73ffffffffffffffffffffffffffffffffffffffff1614610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2090611b6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090611acf565b60405180910390fd5b610ba2816111d5565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490611bcf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8490611aef565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d6b9190611c0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddf90611baf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4f90611a8f565b60405180910390fd5b610e63838383611299565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611b0f565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f7f9190611c61565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fe39190611c0f565b60405180910390a3610ff6848484611386565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390611b8f565b60405180910390fd5b61107882600083611299565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f690611aaf565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546111579190611cb7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111bc9190611c0f565b60405180910390a36111d083600084611386565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600660009054906101000a900460ff1680156113025750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611381576007548161131484610778565b61131e9190611c61565b1115801561134157506008548161133484610778565b61133e9190611c61565b10155b611380576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137790611b2f565b60405180910390fd5b5b505050565b505050565b60008135905061139a81611e14565b92915050565b6000813590506113af81611e2b565b92915050565b6000813590506113c481611e42565b92915050565b6000602082840312156113dc57600080fd5b60006113ea8482850161138b565b91505092915050565b6000806040838503121561140657600080fd5b60006114148582860161138b565b92505060206114258582860161138b565b9150509250929050565b60008060006060848603121561144457600080fd5b60006114528682870161138b565b93505060206114638682870161138b565b9250506040611474868287016113b5565b9150509250925092565b6000806040838503121561149157600080fd5b600061149f8582860161138b565b92505060206114b0858286016113b5565b9150509250929050565b600080600080608085870312156114d057600080fd5b60006114de878288016113a0565b94505060206114ef8782880161138b565b9350506040611500878288016113b5565b9250506060611511878288016113b5565b91505092959194509250565b60006020828403121561152f57600080fd5b600061153d848285016113b5565b91505092915050565b61154f81611ceb565b82525050565b61155e81611cfd565b82525050565b600061156f82611c45565b6115798185611c50565b9350611589818560208601611d40565b61159281611e03565b840191505092915050565b60006115aa602383611c50565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611610602283611c50565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611676602683611c50565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116dc602283611c50565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611742602683611c50565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117a8600683611c50565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006117e8602883611c50565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061184e602083611c50565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061188e602183611c50565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118f4602583611c50565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061195a602483611c50565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119c0602583611c50565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611a2281611d29565b82525050565b611a3181611d33565b82525050565b6000602082019050611a4c6000830184611546565b92915050565b6000602082019050611a676000830184611555565b92915050565b60006020820190508181036000830152611a878184611564565b905092915050565b60006020820190508181036000830152611aa88161159d565b9050919050565b60006020820190508181036000830152611ac881611603565b9050919050565b60006020820190508181036000830152611ae881611669565b9050919050565b60006020820190508181036000830152611b08816116cf565b9050919050565b60006020820190508181036000830152611b2881611735565b9050919050565b60006020820190508181036000830152611b488161179b565b9050919050565b60006020820190508181036000830152611b68816117db565b9050919050565b60006020820190508181036000830152611b8881611841565b9050919050565b60006020820190508181036000830152611ba881611881565b9050919050565b60006020820190508181036000830152611bc8816118e7565b9050919050565b60006020820190508181036000830152611be88161194d565b9050919050565b60006020820190508181036000830152611c08816119b3565b9050919050565b6000602082019050611c246000830184611a19565b92915050565b6000602082019050611c3f6000830184611a28565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c6c82611d29565b9150611c7783611d29565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611cac57611cab611da5565b5b828201905092915050565b6000611cc282611d29565b9150611ccd83611d29565b925082821015611ce057611cdf611da5565b5b828203905092915050565b6000611cf682611d09565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611d5e578082015181840152602081019050611d43565b83811115611d6d576000848401525b50505050565b60006002820490506001821680611d8b57607f821691505b60208210811415611d9f57611d9e611dd4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611e1d81611ceb565b8114611e2857600080fd5b50565b611e3481611cfd565b8114611e3f57600080fd5b50565b611e4b81611d29565b8114611e5657600080fd5b5056fea2646970667358221220ee708fa59a310d35c05b3b4de02c537d7648bdd2d001f6f120208c28382c9ce664736f6c63430008000033

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

00000000000000000000000000000000000014bddab3e51a57cff87a50000000000000000000000000000000000000000000001fdbefabdee0c86a736c000000000000000000000000000000000000000000000a9ea5394a4aed78d1240000000000000000000000000000008f7410253ea40b7d9910b7c23b9113b283d489c2

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 420690000000000000000000000000000
Arg [1] : _maxHoldingAmount (uint256): 2524140000000000000000000000000
Arg [2] : _minHoldingAmount (uint256): 841380000000000000000000000000
Arg [3] : _tokenOwnerAddress (address): 0x8F7410253EA40b7D9910b7C23b9113B283d489C2

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000014bddab3e51a57cff87a50000000
Arg [1] : 000000000000000000000000000000000000001fdbefabdee0c86a736c000000
Arg [2] : 000000000000000000000000000000000000000a9ea5394a4aed78d124000000
Arg [3] : 0000000000000000000000008f7410253ea40b7d9910b7c23b9113b283d489c2


Deployed Bytecode Sourcemap

24796:1522:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9252:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11419:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10372:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24904:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12070:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10214:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12971:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25583:301;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26234:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24942:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10543:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2653:103;;;:::i;:::-;;24840:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24866:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2002:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9471:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13689:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10883:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11121:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2911:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9252:100;9306:13;9339:5;9332:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9252:100;:::o;11419:169::-;11502:4;11519:39;11528:12;:10;:12::i;:::-;11542:7;11551:6;11519:8;:39::i;:::-;11576:4;11569:11;;11419:169;;;;:::o;10372:108::-;10433:7;10460:12;;10453:19;;10372:108;:::o;24904:31::-;;;;:::o;12070:492::-;12210:4;12227:36;12237:6;12245:9;12256:6;12227:9;:36::i;:::-;12276:24;12303:11;:19;12315:6;12303:19;;;;;;;;;;;;;;;:33;12323:12;:10;:12::i;:::-;12303:33;;;;;;;;;;;;;;;;12276:60;;12375:6;12355:16;:26;;12347:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12462:57;12471:6;12479:12;:10;:12::i;:::-;12512:6;12493:16;:25;12462:8;:57::i;:::-;12550:4;12543:11;;;12070:492;;;;;:::o;10214:93::-;10272:5;10297:2;10290:9;;10214:93;:::o;12971:215::-;13059:4;13076:80;13085:12;:10;:12::i;:::-;13099:7;13145:10;13108:11;:25;13120:12;:10;:12::i;:::-;13108:25;;;;;;;;;;;;;;;:34;13134:7;13108:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13076:8;:80::i;:::-;13174:4;13167:11;;12971:215;;;;:::o;25583:301::-;2233:12;:10;:12::i;:::-;2222:23;;:7;:5;:7::i;:::-;:23;;;2214:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25733:8:::1;25723:7;;:18;;;;;;;;;;;;;;;;;;25768:14;25752:13;;:30;;;;;;;;;;;;;;;;;;25812:17;25793:16;:36;;;;25859:17;25840:16;:36;;;;25583:301:::0;;;;:::o;26234:81::-;26283:24;26289:10;26301:5;26283;:24::i;:::-;26234:81;:::o;24942:28::-;;;;;;;;;;;;;:::o;10543:127::-;10617:7;10644:9;:18;10654:7;10644:18;;;;;;;;;;;;;;;;10637:25;;10543:127;;;:::o;2653:103::-;2233:12;:10;:12::i;:::-;2222:23;;:7;:5;:7::i;:::-;:23;;;2214:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2718:30:::1;2745:1;2718:18;:30::i;:::-;2653:103::o:0;24840:19::-;;;;;;;;;;;;;:::o;24866:31::-;;;;:::o;2002:87::-;2048:7;2075:6;;;;;;;;;;;2068:13;;2002:87;:::o;9471:104::-;9527:13;9560:7;9553:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9471:104;:::o;13689:413::-;13782:4;13799:24;13826:11;:25;13838:12;:10;:12::i;:::-;13826:25;;;;;;;;;;;;;;;:34;13852:7;13826:34;;;;;;;;;;;;;;;;13799:61;;13899:15;13879:16;:35;;13871:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13992:67;14001:12;:10;:12::i;:::-;14015:7;14043:15;14024:16;:34;13992:8;:67::i;:::-;14090:4;14083:11;;;13689:413;;;;:::o;10883:175::-;10969:4;10986:42;10996:12;:10;:12::i;:::-;11010:9;11021:6;10986:9;:42::i;:::-;11046:4;11039:11;;10883:175;;;;:::o;11121:151::-;11210:7;11237:11;:18;11249:5;11237:18;;;;;;;;;;;;;;;:27;11256:7;11237:27;;;;;;;;;;;;;;;;11230:34;;11121:151;;;;:::o;2911:201::-;2233:12;:10;:12::i;:::-;2222:23;;:7;:5;:7::i;:::-;:23;;;2214:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3020:1:::1;3000:22;;:8;:22;;;;2992:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3076:28;3095:8;3076:18;:28::i;:::-;2911:201:::0;:::o;720:98::-;773:7;800:10;793:17;;720:98;:::o;17373:380::-;17526:1;17509:19;;:5;:19;;;;17501:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17607:1;17588:21;;:7;:21;;;;17580:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17691:6;17661:11;:18;17673:5;17661:18;;;;;;;;;;;;;;;:27;17680:7;17661:27;;;;;;;;;;;;;;;:36;;;;17729:7;17713:32;;17722:5;17713:32;;;17738:6;17713:32;;;;;;:::i;:::-;;;;;;;;17373:380;;;:::o;14592:733::-;14750:1;14732:20;;:6;:20;;;;14724:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14834:1;14813:23;;:9;:23;;;;14805:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14889:47;14910:6;14918:9;14929:6;14889:20;:47::i;:::-;14949:21;14973:9;:17;14983:6;14973:17;;;;;;;;;;;;;;;;14949:41;;15026:6;15009:13;:23;;15001:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15147:6;15131:13;:22;15111:9;:17;15121:6;15111:17;;;;;;;;;;;;;;;:42;;;;15199:6;15175:9;:20;15185:9;15175:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15240:9;15223:35;;15232:6;15223:35;;;15251:6;15223:35;;;;;;:::i;:::-;;;;;;;;15271:46;15291:6;15299:9;15310:6;15271:19;:46::i;:::-;14592:733;;;;:::o;16344:591::-;16447:1;16428:21;;:7;:21;;;;16420:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16500:49;16521:7;16538:1;16542:6;16500:20;:49::i;:::-;16562:22;16587:9;:18;16597:7;16587:18;;;;;;;;;;;;;;;;16562:43;;16642:6;16624:14;:24;;16616:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16761:6;16744:14;:23;16723:9;:18;16733:7;16723:18;;;;;;;;;;;;;;;:44;;;;16805:6;16789:12;;:22;;;;;;;:::i;:::-;;;;;;;;16855:1;16829:37;;16838:7;16829:37;;;16859:6;16829:37;;;;;;:::i;:::-;;;;;;;;16879:48;16899:7;16916:1;16920:6;16879:19;:48::i;:::-;16344:591;;;:::o;3272:191::-;3346:16;3365:6;;;;;;;;;;;3346:25;;3391:8;3382:6;;:17;;;;;;;;;;;;;;;;;;3446:8;3415:40;;3436:8;3415:40;;;;;;;;;;;;3272:191;;:::o;25892:334::-;26039:7;;;;;;;;;;;:32;;;;;26058:13;;;;;;;;;;;26050:21;;:4;:21;;;26039:32;26035:184;;;26128:16;;26118:6;26096:19;26112:2;26096:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;26180:16;;26170:6;26148:19;26164:2;26148:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;26096:100;26088:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;26035:184;25892:334;;;:::o;19082:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;;;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;;;;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;;;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:692::-;;;;;2244:3;2232:9;2223:7;2219:23;2215:33;2212:2;;;2261:1;2258;2251:12;2212:2;2304:1;2329:50;2371:7;2362:6;2351:9;2347:22;2329:50;:::i;:::-;2319:60;;2275:114;2428:2;2454:53;2499:7;2490:6;2479:9;2475:22;2454:53;:::i;:::-;2444:63;;2399:118;2556:2;2582:53;2627:7;2618:6;2607:9;2603:22;2582:53;:::i;:::-;2572:63;;2527:118;2684:2;2710:53;2755:7;2746:6;2735:9;2731:22;2710:53;:::i;:::-;2700:63;;2655:118;2202:578;;;;;;;:::o;2786:262::-;;2894:2;2882:9;2873:7;2869:23;2865:32;2862:2;;;2910:1;2907;2900:12;2862:2;2953:1;2978:53;3023:7;3014:6;3003:9;2999:22;2978:53;:::i;:::-;2968:63;;2924:117;2852:196;;;;:::o;3054:118::-;3141:24;3159:5;3141:24;:::i;:::-;3136:3;3129:37;3119:53;;:::o;3178:109::-;3259:21;3274:5;3259:21;:::i;:::-;3254:3;3247:34;3237:50;;:::o;3293:364::-;;3409:39;3442:5;3409:39;:::i;:::-;3464:71;3528:6;3523:3;3464:71;:::i;:::-;3457:78;;3544:52;3589:6;3584:3;3577:4;3570:5;3566:16;3544:52;:::i;:::-;3621:29;3643:6;3621:29;:::i;:::-;3616:3;3612:39;3605:46;;3385:272;;;;;:::o;3663:367::-;;3826:67;3890:2;3885:3;3826:67;:::i;:::-;3819:74;;3923:34;3919:1;3914:3;3910:11;3903:55;3989:5;3984:2;3979:3;3975:12;3968:27;4021:2;4016:3;4012:12;4005:19;;3809:221;;;:::o;4036:366::-;;4199:67;4263:2;4258:3;4199:67;:::i;:::-;4192:74;;4296:34;4292:1;4287:3;4283:11;4276:55;4362:4;4357:2;4352:3;4348:12;4341:26;4393:2;4388:3;4384:12;4377:19;;4182:220;;;:::o;4408:370::-;;4571:67;4635:2;4630:3;4571:67;:::i;:::-;4564:74;;4668:34;4664:1;4659:3;4655:11;4648:55;4734:8;4729:2;4724:3;4720:12;4713:30;4769:2;4764:3;4760:12;4753:19;;4554:224;;;:::o;4784:366::-;;4947:67;5011:2;5006:3;4947:67;:::i;:::-;4940:74;;5044:34;5040:1;5035:3;5031:11;5024:55;5110:4;5105:2;5100:3;5096:12;5089:26;5141:2;5136:3;5132:12;5125:19;;4930:220;;;:::o;5156:370::-;;5319:67;5383:2;5378:3;5319:67;:::i;:::-;5312:74;;5416:34;5412:1;5407:3;5403:11;5396:55;5482:8;5477:2;5472:3;5468:12;5461:30;5517:2;5512:3;5508:12;5501:19;;5302:224;;;:::o;5532:303::-;;5695:66;5759:1;5754:3;5695:66;:::i;:::-;5688:73;;5791:8;5787:1;5782:3;5778:11;5771:29;5826:2;5821:3;5817:12;5810:19;;5678:157;;;:::o;5841:372::-;;6004:67;6068:2;6063:3;6004:67;:::i;:::-;5997:74;;6101:34;6097:1;6092:3;6088:11;6081:55;6167:10;6162:2;6157:3;6153:12;6146:32;6204:2;6199:3;6195:12;6188:19;;5987:226;;;:::o;6219:330::-;;6382:67;6446:2;6441:3;6382:67;:::i;:::-;6375:74;;6479:34;6475:1;6470:3;6466:11;6459:55;6540:2;6535:3;6531:12;6524:19;;6365:184;;;:::o;6555:365::-;;6718:67;6782:2;6777:3;6718:67;:::i;:::-;6711:74;;6815:34;6811:1;6806:3;6802:11;6795:55;6881:3;6876:2;6871:3;6867:12;6860:25;6911:2;6906:3;6902:12;6895:19;;6701:219;;;:::o;6926:369::-;;7089:67;7153:2;7148:3;7089:67;:::i;:::-;7082:74;;7186:34;7182:1;7177:3;7173:11;7166:55;7252:7;7247:2;7242:3;7238:12;7231:29;7286:2;7281:3;7277:12;7270:19;;7072:223;;;:::o;7301:368::-;;7464:67;7528:2;7523:3;7464:67;:::i;:::-;7457:74;;7561:34;7557:1;7552:3;7548:11;7541:55;7627:6;7622:2;7617:3;7613:12;7606:28;7660:2;7655:3;7651:12;7644:19;;7447:222;;;:::o;7675:369::-;;7838:67;7902:2;7897:3;7838:67;:::i;:::-;7831:74;;7935:34;7931:1;7926:3;7922:11;7915:55;8001:7;7996:2;7991:3;7987:12;7980:29;8035:2;8030:3;8026:12;8019:19;;7821:223;;;:::o;8050:118::-;8137:24;8155:5;8137:24;:::i;:::-;8132:3;8125:37;8115:53;;:::o;8174:112::-;8257:22;8273:5;8257:22;:::i;:::-;8252:3;8245:35;8235:51;;:::o;8292:222::-;;8423:2;8412:9;8408:18;8400:26;;8436:71;8504:1;8493:9;8489:17;8480:6;8436:71;:::i;:::-;8390:124;;;;:::o;8520:210::-;;8645:2;8634:9;8630:18;8622:26;;8658:65;8720:1;8709:9;8705:17;8696:6;8658:65;:::i;:::-;8612:118;;;;:::o;8736:313::-;;8887:2;8876:9;8872:18;8864:26;;8936:9;8930:4;8926:20;8922:1;8911:9;8907:17;8900:47;8964:78;9037:4;9028:6;8964:78;:::i;:::-;8956:86;;8854:195;;;;:::o;9055:419::-;;9259:2;9248:9;9244:18;9236:26;;9308:9;9302:4;9298:20;9294:1;9283:9;9279:17;9272:47;9336:131;9462:4;9336:131;:::i;:::-;9328:139;;9226:248;;;:::o;9480:419::-;;9684:2;9673:9;9669:18;9661:26;;9733:9;9727:4;9723:20;9719:1;9708:9;9704:17;9697:47;9761:131;9887:4;9761:131;:::i;:::-;9753:139;;9651:248;;;:::o;9905:419::-;;10109:2;10098:9;10094:18;10086:26;;10158:9;10152:4;10148:20;10144:1;10133:9;10129:17;10122:47;10186:131;10312:4;10186:131;:::i;:::-;10178:139;;10076:248;;;:::o;10330:419::-;;10534:2;10523:9;10519:18;10511:26;;10583:9;10577:4;10573:20;10569:1;10558:9;10554:17;10547:47;10611:131;10737:4;10611:131;:::i;:::-;10603:139;;10501:248;;;:::o;10755:419::-;;10959:2;10948:9;10944:18;10936:26;;11008:9;11002:4;10998:20;10994:1;10983:9;10979:17;10972:47;11036:131;11162:4;11036:131;:::i;:::-;11028:139;;10926:248;;;:::o;11180:419::-;;11384:2;11373:9;11369:18;11361:26;;11433:9;11427:4;11423:20;11419:1;11408:9;11404:17;11397:47;11461:131;11587:4;11461:131;:::i;:::-;11453:139;;11351:248;;;:::o;11605:419::-;;11809:2;11798:9;11794:18;11786:26;;11858:9;11852:4;11848:20;11844:1;11833:9;11829:17;11822:47;11886:131;12012:4;11886:131;:::i;:::-;11878:139;;11776:248;;;:::o;12030:419::-;;12234:2;12223:9;12219:18;12211:26;;12283:9;12277:4;12273:20;12269:1;12258:9;12254:17;12247:47;12311:131;12437:4;12311:131;:::i;:::-;12303:139;;12201:248;;;:::o;12455:419::-;;12659:2;12648:9;12644:18;12636:26;;12708:9;12702:4;12698:20;12694:1;12683:9;12679:17;12672:47;12736:131;12862:4;12736:131;:::i;:::-;12728:139;;12626:248;;;:::o;12880:419::-;;13084:2;13073:9;13069:18;13061:26;;13133:9;13127:4;13123:20;13119:1;13108:9;13104:17;13097:47;13161:131;13287:4;13161:131;:::i;:::-;13153:139;;13051:248;;;:::o;13305:419::-;;13509:2;13498:9;13494:18;13486:26;;13558:9;13552:4;13548:20;13544:1;13533:9;13529:17;13522:47;13586:131;13712:4;13586:131;:::i;:::-;13578:139;;13476:248;;;:::o;13730:419::-;;13934:2;13923:9;13919:18;13911:26;;13983:9;13977:4;13973:20;13969:1;13958:9;13954:17;13947:47;14011:131;14137:4;14011:131;:::i;:::-;14003:139;;13901:248;;;:::o;14155:222::-;;14286:2;14275:9;14271:18;14263:26;;14299:71;14367:1;14356:9;14352:17;14343:6;14299:71;:::i;:::-;14253:124;;;;:::o;14383:214::-;;14510:2;14499:9;14495:18;14487:26;;14523:67;14587:1;14576:9;14572:17;14563:6;14523:67;:::i;:::-;14477:120;;;;:::o;14603:99::-;;14689:5;14683:12;14673:22;;14662:40;;;:::o;14708:169::-;;14826:6;14821:3;14814:19;14866:4;14861:3;14857:14;14842:29;;14804:73;;;;:::o;14883:305::-;;14942:20;14960:1;14942:20;:::i;:::-;14937:25;;14976:20;14994:1;14976:20;:::i;:::-;14971:25;;15130:1;15062:66;15058:74;15055:1;15052:81;15049:2;;;15136:18;;:::i;:::-;15049:2;15180:1;15177;15173:9;15166:16;;14927:261;;;;:::o;15194:191::-;;15254:20;15272:1;15254:20;:::i;:::-;15249:25;;15288:20;15306:1;15288:20;:::i;:::-;15283:25;;15327:1;15324;15321:8;15318:2;;;15332:18;;:::i;:::-;15318:2;15377:1;15374;15370:9;15362:17;;15239:146;;;;:::o;15391:96::-;;15457:24;15475:5;15457:24;:::i;:::-;15446:35;;15436:51;;;:::o;15493:90::-;;15570:5;15563:13;15556:21;15545:32;;15535:48;;;:::o;15589:126::-;;15666:42;15659:5;15655:54;15644:65;;15634:81;;;:::o;15721:77::-;;15787:5;15776:16;;15766:32;;;:::o;15804:86::-;;15879:4;15872:5;15868:16;15857:27;;15847:43;;;:::o;15896:307::-;15964:1;15974:113;15988:6;15985:1;15982:13;15974:113;;;16073:1;16068:3;16064:11;16058:18;16054:1;16049:3;16045:11;16038:39;16010:2;16007:1;16003:10;15998:15;;15974:113;;;16105:6;16102:1;16099:13;16096:2;;;16185:1;16176:6;16171:3;16167:16;16160:27;16096:2;15945:258;;;;:::o;16209:320::-;;16290:1;16284:4;16280:12;16270:22;;16337:1;16331:4;16327:12;16358:18;16348:2;;16414:4;16406:6;16402:17;16392:27;;16348:2;16476;16468:6;16465:14;16445:18;16442:38;16439:2;;;16495:18;;:::i;:::-;16439:2;16260:269;;;;:::o;16535:180::-;16583:77;16580:1;16573:88;16680:4;16677:1;16670:15;16704:4;16701:1;16694:15;16721:180;16769:77;16766:1;16759:88;16866:4;16863:1;16856:15;16890:4;16887:1;16880:15;16907:102;;16999:2;16995:7;16990:2;16983:5;16979:14;16975:28;16965:38;;16955:54;;;:::o;17015:122::-;17088:24;17106:5;17088:24;:::i;:::-;17081:5;17078:35;17068:2;;17127:1;17124;17117:12;17068:2;17058:79;:::o;17143:116::-;17213:21;17228:5;17213:21;:::i;:::-;17206:5;17203:32;17193:2;;17249:1;17246;17239:12;17193:2;17183:76;:::o;17265:122::-;17338:24;17356:5;17338:24;:::i;:::-;17331:5;17328:35;17318:2;;17377:1;17374;17367:12;17318:2;17308:79;:::o

Swarm Source

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