ETH Price: $2,908.13 (-4.03%)
Gas: 1 Gwei

Token

Narco (NARCO)
 

Overview

Max Total Supply

342,069,000,000,000 NARCO

Holders

104

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,732,716,221,893.225786634317608945 NARCO

Value
$0.00
0xa05fe6b2a3b1f4df40cfa41313d53510a2488a0c
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:
narcoCoin

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// Sources flattened with hardhat v2.7.0 https://hardhat.org

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

// SPDX-License-Identifier: MIT
// 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 Automically 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 {}
}





pragma solidity ^0.8.0;


contract narcoCoin is Ownable, ERC20 {
    bool public limited;
    uint256 public maxHoldingAmount;
    uint256 public minHoldingAmount;
    address public uniswapV2Pair;
    mapping(address => bool) public blacklists;

    address public devWallet = 0x82599F126a00F6675A26176072785f2bA5ab7cCC;
    address public cexWallet = 0x5F5b0C7DA0A37b8c98E238aA3e9cDeB0AEabFD9E;
    address public airdropWallet = 0x1c3110Ed4B3799b733b950c7A7e653826Ed52ec4;

    uint256 public devSplit = 36650; // Expressed in PPM
    uint256 public cexSplit = 36650; 
    uint256 public airdropSplit = 36650; 
    

    constructor(uint256 _totalSupply) ERC20("Narco", "NARCO") {
        uint256 remainingSplit = 1000000 - devSplit - cexSplit - airdropSplit;

        _mint(msg.sender, (_totalSupply * remainingSplit) / 1000000);
        _mint(devWallet, (_totalSupply * devSplit) / 1000000);
        _mint(cexWallet, (_totalSupply * cexSplit) / 1000000);
        _mint(airdropWallet, (_totalSupply * airdropSplit) / 1000000);
    }

    function blacklist(address _address, bool _isBlacklisting) external onlyOwner {
        blacklists[_address] = _isBlacklisting;
    }

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

    function batchAirdrop(address[] memory _recipients, uint256[] memory _amounts) public virtual  {
        require(msg.sender == airdropWallet);
        require(_recipients.length == _amounts.length, "Invalid input");

        for (uint256 i = 0; i < _recipients.length; i++) {
            _transfer(msg.sender, _recipients[i], _amounts[i]);
        }
    }


    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        require(!blacklists[to] && !blacklists[from], "Blacklisted");

        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner() || to == devWallet || to == cexWallet || to == airdropWallet, "trading is not started");
            return;
        }

        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"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"airdropSplit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_recipients","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"batchAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cexSplit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cexWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"devSplit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"}]

60806040527382599f126a00f6675a26176072785f2ba5ab7ccc600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735f5b0c7da0a37b8c98e238aa3e9cdeb0aeabfd9e600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731c3110ed4b3799b733b950c7a7e653826ed52ec4600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550618f2a600e55618f2a600f55618f2a6010553480156200011e575f80fd5b5060405162003af638038062003af6833981810160405281019062000144919062000a4e565b6040518060400160405280600581526020017f4e6172636f0000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4e4152434f000000000000000000000000000000000000000000000000000000815250620001d0620001c46200035760201b60201c565b6200035e60201b60201c565b8160049081620001e1919062000cd9565b508060059081620001f3919062000cd9565b5050505f601054600f54600e54620f424062000210919062000dea565b6200021c919062000dea565b62000228919062000dea565b90506200025933620f4240838562000241919062000e24565b6200024d919062000e9b565b6200041f60201b60201c565b620002ab600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f4240600e548562000293919062000e24565b6200029f919062000e9b565b6200041f60201b60201c565b620002fd600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f4240600f5485620002e5919062000e24565b620002f1919062000e9b565b6200041f60201b60201c565b6200034f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406010548562000337919062000e24565b62000343919062000e9b565b6200041f60201b60201c565b505062001100565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000490576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004879062000f30565b60405180910390fd5b620004a35f83836200059060201b60201c565b8060035f828254620004b6919062000f50565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546200050b919062000f50565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000571919062000f9b565b60405180910390a36200058c5f8383620009a060201b60201c565b5050565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156200062f5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b62000671576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006689062001004565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200089a57620006d6620009a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806200074a57506200071b620009a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80620007a25750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80620007fa5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80620008525750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000894576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088b9062001072565b60405180910390fd5b6200099b565b60065f9054906101000a900460ff16801562000902575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156200099a57600754816200091d84620009cc60201b60201c565b62000929919062000f50565b11158015620009575750600854816200094884620009cc60201b60201c565b62000954919062000f50565b10155b62000999576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200099090620010e0565b60405180910390fd5b5b5b505050565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f80fd5b5f819050919050565b62000a2a8162000a16565b811462000a35575f80fd5b50565b5f8151905062000a488162000a1f565b92915050565b5f6020828403121562000a665762000a6562000a12565b5b5f62000a758482850162000a38565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000afa57607f821691505b60208210810362000b105762000b0f62000ab5565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000b747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b37565b62000b80868362000b37565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000bc162000bbb62000bb58462000a16565b62000b98565b62000a16565b9050919050565b5f819050919050565b62000bdc8362000ba1565b62000bf462000beb8262000bc8565b84845462000b43565b825550505050565b5f90565b62000c0a62000bfc565b62000c1781848462000bd1565b505050565b5b8181101562000c3e5762000c325f8262000c00565b60018101905062000c1d565b5050565b601f82111562000c8d5762000c578162000b16565b62000c628462000b28565b8101602085101562000c72578190505b62000c8a62000c818562000b28565b83018262000c1c565b50505b505050565b5f82821c905092915050565b5f62000caf5f198460080262000c92565b1980831691505092915050565b5f62000cc9838362000c9e565b9150826002028217905092915050565b62000ce48262000a7e565b67ffffffffffffffff81111562000d005762000cff62000a88565b5b62000d0c825462000ae2565b62000d1982828562000c42565b5f60209050601f83116001811462000d4f575f841562000d3a578287015190505b62000d46858262000cbc565b86555062000db5565b601f19841662000d5f8662000b16565b5f5b8281101562000d885784890151825560018201915060208501945060208101905062000d61565b8683101562000da8578489015162000da4601f89168262000c9e565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000df68262000a16565b915062000e038362000a16565b925082820390508181111562000e1e5762000e1d62000dbd565b5b92915050565b5f62000e308262000a16565b915062000e3d8362000a16565b925082820262000e4d8162000a16565b9150828204841483151762000e675762000e6662000dbd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000ea78262000a16565b915062000eb48362000a16565b92508262000ec75762000ec662000e6e565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000f18601f8362000ed2565b915062000f258262000ee2565b602082019050919050565b5f6020820190508181035f83015262000f498162000f0a565b9050919050565b5f62000f5c8262000a16565b915062000f698362000a16565b925082820190508082111562000f845762000f8362000dbd565b5b92915050565b62000f958162000a16565b82525050565b5f60208201905062000fb05f83018462000f8a565b92915050565b7f426c61636b6c69737465640000000000000000000000000000000000000000005f82015250565b5f62000fec600b8362000ed2565b915062000ff98262000fb6565b602082019050919050565b5f6020820190508181035f8301526200101d8162000fde565b9050919050565b7f74726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6200105a60168362000ed2565b9150620010678262001024565b602082019050919050565b5f6020820190508181035f8301526200108b816200104c565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f620010c860068362000ed2565b9150620010d58262001092565b602082019050919050565b5f6020820190508181035f830152620010f981620010ba565b9050919050565b6129e8806200110e5f395ff3fe608060405234801561000f575f80fd5b50600436106101cd575f3560e01c8063715018a61161010257806395d89b41116100a0578063b10759431161006f578063b107594314610523578063b816d08714610541578063dd62ed3e1461055d578063f2fde38b1461058d576101cd565b806395d89b4114610487578063a14779c9146104a5578063a457c2d7146104c3578063a9059cbb146104f3576101cd565b8063860a32ec116100dc578063860a32ec1461040f57806389f9a1d31461042d5780638da5cb5b1461044b5780638ea5220f14610469576101cd565b8063715018a6146103c957806373722473146103d3578063781f2025146103f1576101cd565b8063395093511161016f578063404e512911610149578063404e51291461034357806342966c681461035f57806349bd5a5e1461037b57806370a0823114610399576101cd565b806339509351146102d95780633aa633aa146103095780633d90784014610325576101cd565b806318160ddd116101ab57806318160ddd1461024f5780631ab99e121461026d57806323b872dd1461028b578063313ce567146102bb576101cd565b806306fdde03146101d1578063095ea7b3146101ef57806316c021291461021f575b5f80fd5b6101d96105a9565b6040516101e69190611ae1565b60405180910390f35b61020960048036038101906102049190611b9f565b610639565b6040516102169190611bf7565b60405180910390f35b61023960048036038101906102349190611c10565b610656565b6040516102469190611bf7565b60405180910390f35b610257610673565b6040516102649190611c4a565b60405180910390f35b61027561067c565b6040516102829190611c4a565b60405180910390f35b6102a560048036038101906102a09190611c63565b610682565b6040516102b29190611bf7565b60405180910390f35b6102c3610774565b6040516102d09190611cce565b60405180910390f35b6102f360048036038101906102ee9190611b9f565b61077c565b6040516103009190611bf7565b60405180910390f35b610323600480360381019061031e9190611d11565b610823565b005b61032d61090c565b60405161033a9190611c4a565b60405180910390f35b61035d60048036038101906103589190611d75565b610912565b005b61037960048036038101906103749190611db3565b6109e6565b005b6103836109f3565b6040516103909190611ded565b60405180910390f35b6103b360048036038101906103ae9190611c10565b610a18565b6040516103c09190611c4a565b60405180910390f35b6103d1610a5e565b005b6103db610ae5565b6040516103e89190611c4a565b60405180910390f35b6103f9610aeb565b6040516104069190611c4a565b60405180910390f35b610417610af1565b6040516104249190611bf7565b60405180910390f35b610435610b03565b6040516104429190611c4a565b60405180910390f35b610453610b09565b6040516104609190611ded565b60405180910390f35b610471610b30565b60405161047e9190611ded565b60405180910390f35b61048f610b55565b60405161049c9190611ae1565b60405180910390f35b6104ad610be5565b6040516104ba9190611ded565b60405180910390f35b6104dd60048036038101906104d89190611b9f565b610c0a565b6040516104ea9190611bf7565b60405180910390f35b61050d60048036038101906105089190611b9f565b610cf0565b60405161051a9190611bf7565b60405180910390f35b61052b610d0d565b6040516105389190611ded565b60405180910390f35b61055b60048036038101906105569190612006565b610d32565b005b6105776004803603810190610572919061207c565b610e30565b6040516105849190611c4a565b60405180910390f35b6105a760048036038101906105a29190611c10565b610eb2565b005b6060600480546105b8906120e7565b80601f01602080910402602001604051908101604052809291908181526020018280546105e4906120e7565b801561062f5780601f106106065761010080835404028352916020019161062f565b820191905f5260205f20905b81548152906001019060200180831161061257829003601f168201915b5050505050905090565b5f61064c610645610fa8565b8484610faf565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f600354905090565b60085481565b5f61068e848484611172565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d5610fa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074b90612187565b60405180910390fd5b61076885610760610fa8565b858403610faf565b60019150509392505050565b5f6012905090565b5f610819610788610fa8565b848460025f610795610fa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461081491906121d2565b610faf565b6001905092915050565b61082b610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610849610b09565b73ffffffffffffffffffffffffffffffffffffffff161461089f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108969061224f565b60405180910390fd5b8360065f6101000a81548160ff0219169083151502179055508260095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b600e5481565b61091a610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610938610b09565b73ffffffffffffffffffffffffffffffffffffffff161461098e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109859061224f565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6109f033826113ea565b50565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a66610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610a84610b09565b73ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad19061224f565b60405180910390fd5b610ae35f6115b8565b565b60105481565b600f5481565b60065f9054906101000a900460ff1681565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060058054610b64906120e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b90906120e7565b8015610bdb5780601f10610bb257610100808354040283529160200191610bdb565b820191905f5260205f20905b815481529060010190602001808311610bbe57829003601f168201915b5050505050905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8060025f610c17610fa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc8906122dd565b60405180910390fd5b610ce5610cdc610fa8565b85858403610faf565b600191505092915050565b5f610d03610cfc610fa8565b8484611172565b6001905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d8a575f80fd5b8051825114610dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc590612345565b60405180910390fd5b5f5b8251811015610e2b57610e1833848381518110610df057610def612363565b5b6020026020010151848481518110610e0b57610e0a612363565b5b6020026020010151611172565b8080610e2390612390565b915050610dd0565b505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610eba610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610ed8610b09565b73ffffffffffffffffffffffffffffffffffffffff1614610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f259061224f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9390612447565b60405180910390fd5b610fa5816115b8565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611014906124d5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612563565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111659190611c4a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906125f1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361124e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112459061267f565b60405180910390fd5b611259838383611679565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156112dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d49061270d565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461136d91906121d2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113d19190611c4a565b60405180910390a36113e4848484611a52565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f9061279b565b60405180910390fd5b611463825f83611679565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de90612829565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f82825461153c9190612847565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115a09190611c4a565b60405180910390a36115b3835f84611a52565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156117175750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d906128c4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611966576117b2610b09565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061181d57506117ee610b09565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806118745750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806118cb5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806119225750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611961576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119589061292c565b60405180910390fd5b611a4d565b60065f9054906101000a900460ff1680156119cd575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611a4c57600754816119df84610a18565b6119e991906121d2565b11158015611a0c5750600854816119ff84610a18565b611a0991906121d2565b10155b611a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4290612994565b60405180910390fd5b5b5b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a8e578082015181840152602081019050611a73565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611ab382611a57565b611abd8185611a61565b9350611acd818560208601611a71565b611ad681611a99565b840191505092915050565b5f6020820190508181035f830152611af98184611aa9565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611b3b82611b12565b9050919050565b611b4b81611b31565b8114611b55575f80fd5b50565b5f81359050611b6681611b42565b92915050565b5f819050919050565b611b7e81611b6c565b8114611b88575f80fd5b50565b5f81359050611b9981611b75565b92915050565b5f8060408385031215611bb557611bb4611b0a565b5b5f611bc285828601611b58565b9250506020611bd385828601611b8b565b9150509250929050565b5f8115159050919050565b611bf181611bdd565b82525050565b5f602082019050611c0a5f830184611be8565b92915050565b5f60208284031215611c2557611c24611b0a565b5b5f611c3284828501611b58565b91505092915050565b611c4481611b6c565b82525050565b5f602082019050611c5d5f830184611c3b565b92915050565b5f805f60608486031215611c7a57611c79611b0a565b5b5f611c8786828701611b58565b9350506020611c9886828701611b58565b9250506040611ca986828701611b8b565b9150509250925092565b5f60ff82169050919050565b611cc881611cb3565b82525050565b5f602082019050611ce15f830184611cbf565b92915050565b611cf081611bdd565b8114611cfa575f80fd5b50565b5f81359050611d0b81611ce7565b92915050565b5f805f8060808587031215611d2957611d28611b0a565b5b5f611d3687828801611cfd565b9450506020611d4787828801611b58565b9350506040611d5887828801611b8b565b9250506060611d6987828801611b8b565b91505092959194509250565b5f8060408385031215611d8b57611d8a611b0a565b5b5f611d9885828601611b58565b9250506020611da985828601611cfd565b9150509250929050565b5f60208284031215611dc857611dc7611b0a565b5b5f611dd584828501611b8b565b91505092915050565b611de781611b31565b82525050565b5f602082019050611e005f830184611dde565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611e4082611a99565b810181811067ffffffffffffffff82111715611e5f57611e5e611e0a565b5b80604052505050565b5f611e71611b01565b9050611e7d8282611e37565b919050565b5f67ffffffffffffffff821115611e9c57611e9b611e0a565b5b602082029050602081019050919050565b5f80fd5b5f611ec3611ebe84611e82565b611e68565b90508083825260208201905060208402830185811115611ee657611ee5611ead565b5b835b81811015611f0f5780611efb8882611b58565b845260208401935050602081019050611ee8565b5050509392505050565b5f82601f830112611f2d57611f2c611e06565b5b8135611f3d848260208601611eb1565b91505092915050565b5f67ffffffffffffffff821115611f6057611f5f611e0a565b5b602082029050602081019050919050565b5f611f83611f7e84611f46565b611e68565b90508083825260208201905060208402830185811115611fa657611fa5611ead565b5b835b81811015611fcf5780611fbb8882611b8b565b845260208401935050602081019050611fa8565b5050509392505050565b5f82601f830112611fed57611fec611e06565b5b8135611ffd848260208601611f71565b91505092915050565b5f806040838503121561201c5761201b611b0a565b5b5f83013567ffffffffffffffff81111561203957612038611b0e565b5b61204585828601611f19565b925050602083013567ffffffffffffffff81111561206657612065611b0e565b5b61207285828601611fd9565b9150509250929050565b5f806040838503121561209257612091611b0a565b5b5f61209f85828601611b58565b92505060206120b085828601611b58565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806120fe57607f821691505b602082108103612111576121106120ba565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612171602883611a61565b915061217c82612117565b604082019050919050565b5f6020820190508181035f83015261219e81612165565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121dc82611b6c565b91506121e783611b6c565b92508282019050808211156121ff576121fe6121a5565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612239602083611a61565b915061224482612205565b602082019050919050565b5f6020820190508181035f8301526122668161222d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6122c7602583611a61565b91506122d28261226d565b604082019050919050565b5f6020820190508181035f8301526122f4816122bb565b9050919050565b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61232f600d83611a61565b915061233a826122fb565b602082019050919050565b5f6020820190508181035f83015261235c81612323565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61239a82611b6c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123cc576123cb6121a5565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612431602683611a61565b915061243c826123d7565b604082019050919050565b5f6020820190508181035f83015261245e81612425565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6124bf602483611a61565b91506124ca82612465565b604082019050919050565b5f6020820190508181035f8301526124ec816124b3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61254d602283611a61565b9150612558826124f3565b604082019050919050565b5f6020820190508181035f83015261257a81612541565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6125db602583611a61565b91506125e682612581565b604082019050919050565b5f6020820190508181035f830152612608816125cf565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612669602383611a61565b91506126748261260f565b604082019050919050565b5f6020820190508181035f8301526126968161265d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6126f7602683611a61565b91506127028261269d565b604082019050919050565b5f6020820190508181035f830152612724816126eb565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612785602183611a61565b91506127908261272b565b604082019050919050565b5f6020820190508181035f8301526127b281612779565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612813602283611a61565b915061281e826127b9565b604082019050919050565b5f6020820190508181035f83015261284081612807565b9050919050565b5f61285182611b6c565b915061285c83611b6c565b9250828203905081811115612874576128736121a5565b5b92915050565b7f426c61636b6c69737465640000000000000000000000000000000000000000005f82015250565b5f6128ae600b83611a61565b91506128b98261287a565b602082019050919050565b5f6020820190508181035f8301526128db816128a2565b9050919050565b7f74726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612916601683611a61565b9150612921826128e2565b602082019050919050565b5f6020820190508181035f8301526129438161290a565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f61297e600683611a61565b91506129898261294a565b602082019050919050565b5f6020820190508181035f8301526129ab81612972565b905091905056fea2646970667358221220ef79f9ea870a4cac7b7519ba3e926648335e5f94276d28bd5f22db41c980fc3964736f6c6343000814003300000000000000000000000000000000000014b60424bc0aab08e4bb88000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106101cd575f3560e01c8063715018a61161010257806395d89b41116100a0578063b10759431161006f578063b107594314610523578063b816d08714610541578063dd62ed3e1461055d578063f2fde38b1461058d576101cd565b806395d89b4114610487578063a14779c9146104a5578063a457c2d7146104c3578063a9059cbb146104f3576101cd565b8063860a32ec116100dc578063860a32ec1461040f57806389f9a1d31461042d5780638da5cb5b1461044b5780638ea5220f14610469576101cd565b8063715018a6146103c957806373722473146103d3578063781f2025146103f1576101cd565b8063395093511161016f578063404e512911610149578063404e51291461034357806342966c681461035f57806349bd5a5e1461037b57806370a0823114610399576101cd565b806339509351146102d95780633aa633aa146103095780633d90784014610325576101cd565b806318160ddd116101ab57806318160ddd1461024f5780631ab99e121461026d57806323b872dd1461028b578063313ce567146102bb576101cd565b806306fdde03146101d1578063095ea7b3146101ef57806316c021291461021f575b5f80fd5b6101d96105a9565b6040516101e69190611ae1565b60405180910390f35b61020960048036038101906102049190611b9f565b610639565b6040516102169190611bf7565b60405180910390f35b61023960048036038101906102349190611c10565b610656565b6040516102469190611bf7565b60405180910390f35b610257610673565b6040516102649190611c4a565b60405180910390f35b61027561067c565b6040516102829190611c4a565b60405180910390f35b6102a560048036038101906102a09190611c63565b610682565b6040516102b29190611bf7565b60405180910390f35b6102c3610774565b6040516102d09190611cce565b60405180910390f35b6102f360048036038101906102ee9190611b9f565b61077c565b6040516103009190611bf7565b60405180910390f35b610323600480360381019061031e9190611d11565b610823565b005b61032d61090c565b60405161033a9190611c4a565b60405180910390f35b61035d60048036038101906103589190611d75565b610912565b005b61037960048036038101906103749190611db3565b6109e6565b005b6103836109f3565b6040516103909190611ded565b60405180910390f35b6103b360048036038101906103ae9190611c10565b610a18565b6040516103c09190611c4a565b60405180910390f35b6103d1610a5e565b005b6103db610ae5565b6040516103e89190611c4a565b60405180910390f35b6103f9610aeb565b6040516104069190611c4a565b60405180910390f35b610417610af1565b6040516104249190611bf7565b60405180910390f35b610435610b03565b6040516104429190611c4a565b60405180910390f35b610453610b09565b6040516104609190611ded565b60405180910390f35b610471610b30565b60405161047e9190611ded565b60405180910390f35b61048f610b55565b60405161049c9190611ae1565b60405180910390f35b6104ad610be5565b6040516104ba9190611ded565b60405180910390f35b6104dd60048036038101906104d89190611b9f565b610c0a565b6040516104ea9190611bf7565b60405180910390f35b61050d60048036038101906105089190611b9f565b610cf0565b60405161051a9190611bf7565b60405180910390f35b61052b610d0d565b6040516105389190611ded565b60405180910390f35b61055b60048036038101906105569190612006565b610d32565b005b6105776004803603810190610572919061207c565b610e30565b6040516105849190611c4a565b60405180910390f35b6105a760048036038101906105a29190611c10565b610eb2565b005b6060600480546105b8906120e7565b80601f01602080910402602001604051908101604052809291908181526020018280546105e4906120e7565b801561062f5780601f106106065761010080835404028352916020019161062f565b820191905f5260205f20905b81548152906001019060200180831161061257829003601f168201915b5050505050905090565b5f61064c610645610fa8565b8484610faf565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f600354905090565b60085481565b5f61068e848484611172565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d5610fa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074b90612187565b60405180910390fd5b61076885610760610fa8565b858403610faf565b60019150509392505050565b5f6012905090565b5f610819610788610fa8565b848460025f610795610fa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461081491906121d2565b610faf565b6001905092915050565b61082b610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610849610b09565b73ffffffffffffffffffffffffffffffffffffffff161461089f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108969061224f565b60405180910390fd5b8360065f6101000a81548160ff0219169083151502179055508260095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b600e5481565b61091a610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610938610b09565b73ffffffffffffffffffffffffffffffffffffffff161461098e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109859061224f565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6109f033826113ea565b50565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a66610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610a84610b09565b73ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad19061224f565b60405180910390fd5b610ae35f6115b8565b565b60105481565b600f5481565b60065f9054906101000a900460ff1681565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060058054610b64906120e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b90906120e7565b8015610bdb5780601f10610bb257610100808354040283529160200191610bdb565b820191905f5260205f20905b815481529060010190602001808311610bbe57829003601f168201915b5050505050905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8060025f610c17610fa8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc8906122dd565b60405180910390fd5b610ce5610cdc610fa8565b85858403610faf565b600191505092915050565b5f610d03610cfc610fa8565b8484611172565b6001905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d8a575f80fd5b8051825114610dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc590612345565b60405180910390fd5b5f5b8251811015610e2b57610e1833848381518110610df057610def612363565b5b6020026020010151848481518110610e0b57610e0a612363565b5b6020026020010151611172565b8080610e2390612390565b915050610dd0565b505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610eba610fa8565b73ffffffffffffffffffffffffffffffffffffffff16610ed8610b09565b73ffffffffffffffffffffffffffffffffffffffff1614610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f259061224f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9390612447565b60405180910390fd5b610fa5816115b8565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611014906124d5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612563565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111659190611c4a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906125f1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361124e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112459061267f565b60405180910390fd5b611259838383611679565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156112dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d49061270d565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461136d91906121d2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113d19190611c4a565b60405180910390a36113e4848484611a52565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f9061279b565b60405180910390fd5b611463825f83611679565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de90612829565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f82825461153c9190612847565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115a09190611c4a565b60405180910390a36115b3835f84611a52565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156117175750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d906128c4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611966576117b2610b09565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061181d57506117ee610b09565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806118745750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806118cb5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806119225750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611961576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119589061292c565b60405180910390fd5b611a4d565b60065f9054906101000a900460ff1680156119cd575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611a4c57600754816119df84610a18565b6119e991906121d2565b11158015611a0c5750600854816119ff84610a18565b611a0991906121d2565b10155b611a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4290612994565b60405180910390fd5b5b5b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a8e578082015181840152602081019050611a73565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611ab382611a57565b611abd8185611a61565b9350611acd818560208601611a71565b611ad681611a99565b840191505092915050565b5f6020820190508181035f830152611af98184611aa9565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611b3b82611b12565b9050919050565b611b4b81611b31565b8114611b55575f80fd5b50565b5f81359050611b6681611b42565b92915050565b5f819050919050565b611b7e81611b6c565b8114611b88575f80fd5b50565b5f81359050611b9981611b75565b92915050565b5f8060408385031215611bb557611bb4611b0a565b5b5f611bc285828601611b58565b9250506020611bd385828601611b8b565b9150509250929050565b5f8115159050919050565b611bf181611bdd565b82525050565b5f602082019050611c0a5f830184611be8565b92915050565b5f60208284031215611c2557611c24611b0a565b5b5f611c3284828501611b58565b91505092915050565b611c4481611b6c565b82525050565b5f602082019050611c5d5f830184611c3b565b92915050565b5f805f60608486031215611c7a57611c79611b0a565b5b5f611c8786828701611b58565b9350506020611c9886828701611b58565b9250506040611ca986828701611b8b565b9150509250925092565b5f60ff82169050919050565b611cc881611cb3565b82525050565b5f602082019050611ce15f830184611cbf565b92915050565b611cf081611bdd565b8114611cfa575f80fd5b50565b5f81359050611d0b81611ce7565b92915050565b5f805f8060808587031215611d2957611d28611b0a565b5b5f611d3687828801611cfd565b9450506020611d4787828801611b58565b9350506040611d5887828801611b8b565b9250506060611d6987828801611b8b565b91505092959194509250565b5f8060408385031215611d8b57611d8a611b0a565b5b5f611d9885828601611b58565b9250506020611da985828601611cfd565b9150509250929050565b5f60208284031215611dc857611dc7611b0a565b5b5f611dd584828501611b8b565b91505092915050565b611de781611b31565b82525050565b5f602082019050611e005f830184611dde565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611e4082611a99565b810181811067ffffffffffffffff82111715611e5f57611e5e611e0a565b5b80604052505050565b5f611e71611b01565b9050611e7d8282611e37565b919050565b5f67ffffffffffffffff821115611e9c57611e9b611e0a565b5b602082029050602081019050919050565b5f80fd5b5f611ec3611ebe84611e82565b611e68565b90508083825260208201905060208402830185811115611ee657611ee5611ead565b5b835b81811015611f0f5780611efb8882611b58565b845260208401935050602081019050611ee8565b5050509392505050565b5f82601f830112611f2d57611f2c611e06565b5b8135611f3d848260208601611eb1565b91505092915050565b5f67ffffffffffffffff821115611f6057611f5f611e0a565b5b602082029050602081019050919050565b5f611f83611f7e84611f46565b611e68565b90508083825260208201905060208402830185811115611fa657611fa5611ead565b5b835b81811015611fcf5780611fbb8882611b8b565b845260208401935050602081019050611fa8565b5050509392505050565b5f82601f830112611fed57611fec611e06565b5b8135611ffd848260208601611f71565b91505092915050565b5f806040838503121561201c5761201b611b0a565b5b5f83013567ffffffffffffffff81111561203957612038611b0e565b5b61204585828601611f19565b925050602083013567ffffffffffffffff81111561206657612065611b0e565b5b61207285828601611fd9565b9150509250929050565b5f806040838503121561209257612091611b0a565b5b5f61209f85828601611b58565b92505060206120b085828601611b58565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806120fe57607f821691505b602082108103612111576121106120ba565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612171602883611a61565b915061217c82612117565b604082019050919050565b5f6020820190508181035f83015261219e81612165565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121dc82611b6c565b91506121e783611b6c565b92508282019050808211156121ff576121fe6121a5565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612239602083611a61565b915061224482612205565b602082019050919050565b5f6020820190508181035f8301526122668161222d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6122c7602583611a61565b91506122d28261226d565b604082019050919050565b5f6020820190508181035f8301526122f4816122bb565b9050919050565b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61232f600d83611a61565b915061233a826122fb565b602082019050919050565b5f6020820190508181035f83015261235c81612323565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61239a82611b6c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123cc576123cb6121a5565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612431602683611a61565b915061243c826123d7565b604082019050919050565b5f6020820190508181035f83015261245e81612425565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6124bf602483611a61565b91506124ca82612465565b604082019050919050565b5f6020820190508181035f8301526124ec816124b3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61254d602283611a61565b9150612558826124f3565b604082019050919050565b5f6020820190508181035f83015261257a81612541565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6125db602583611a61565b91506125e682612581565b604082019050919050565b5f6020820190508181035f830152612608816125cf565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612669602383611a61565b91506126748261260f565b604082019050919050565b5f6020820190508181035f8301526126968161265d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6126f7602683611a61565b91506127028261269d565b604082019050919050565b5f6020820190508181035f830152612724816126eb565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612785602183611a61565b91506127908261272b565b604082019050919050565b5f6020820190508181035f8301526127b281612779565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612813602283611a61565b915061281e826127b9565b604082019050919050565b5f6020820190508181035f83015261284081612807565b9050919050565b5f61285182611b6c565b915061285c83611b6c565b9250828203905081811115612874576128736121a5565b5b92915050565b7f426c61636b6c69737465640000000000000000000000000000000000000000005f82015250565b5f6128ae600b83611a61565b91506128b98261287a565b602082019050919050565b5f6020820190508181035f8301526128db816128a2565b9050919050565b7f74726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612916601683611a61565b9150612921826128e2565b602082019050919050565b5f6020820190508181035f8301526129438161290a565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f61297e600683611a61565b91506129898261294a565b602082019050919050565b5f6020820190508181035f8301526129ab81612972565b905091905056fea2646970667358221220ef79f9ea870a4cac7b7519ba3e926648335e5f94276d28bd5f22db41c980fc3964736f6c63430008140033

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

00000000000000000000000000000000000014b60424bc0aab08e4bb88000000

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 420069000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000014b60424bc0aab08e4bb88000000


Deployed Bytecode Sourcemap

19311:2585:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11479:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19492:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10432:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19419:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12130:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10274:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13032:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20495:301;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19777:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20352:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21812:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19457:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10603:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2713:103;;;:::i;:::-;;19874:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19835:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19355:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19381:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2062:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19543:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9531:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19695:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13750:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10943:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19619:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20804:362;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11181:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2971:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9312:100;9366:13;9399:5;9392:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:100;:::o;11479:169::-;11562:4;11579:39;11588:12;:10;:12::i;:::-;11602:7;11611:6;11579:8;:39::i;:::-;11636:4;11629:11;;11479:169;;;;:::o;19492:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;10432:108::-;10493:7;10520:12;;10513:19;;10432:108;:::o;19419:31::-;;;;:::o;12130:492::-;12270:4;12287:36;12297:6;12305:9;12316:6;12287:9;:36::i;:::-;12336:24;12363:11;:19;12375:6;12363:19;;;;;;;;;;;;;;;:33;12383:12;:10;:12::i;:::-;12363:33;;;;;;;;;;;;;;;;12336:60;;12435:6;12415:16;:26;;12407:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12522:57;12531:6;12539:12;:10;:12::i;:::-;12572:6;12553:16;:25;12522:8;:57::i;:::-;12610:4;12603:11;;;12130:492;;;;;:::o;10274:93::-;10332:5;10357:2;10350:9;;10274:93;:::o;13032:215::-;13120:4;13137:80;13146:12;:10;:12::i;:::-;13160:7;13206:10;13169:11;:25;13181:12;:10;:12::i;:::-;13169:25;;;;;;;;;;;;;;;:34;13195:7;13169:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13137:8;:80::i;:::-;13235:4;13228:11;;13032:215;;;;:::o;20495:301::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20645:8:::1;20635:7;;:18;;;;;;;;;;;;;;;;;;20680:14;20664:13;;:30;;;;;;;;;;;;;;;;;;20724:17;20705:16;:36;;;;20771:17;20752:16;:36;;;;20495:301:::0;;;;:::o;19777:31::-;;;;:::o;20352:135::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20464:15:::1;20441:10;:20;20452:8;20441:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;20352:135:::0;;:::o;21812:81::-;21861:24;21867:10;21879:5;21861;:24::i;:::-;21812:81;:::o;19457:28::-;;;;;;;;;;;;;:::o;10603:127::-;10677:7;10704:9;:18;10714:7;10704:18;;;;;;;;;;;;;;;;10697:25;;10603:127;;;:::o;2713:103::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2778:30:::1;2805:1;2778:18;:30::i;:::-;2713:103::o:0;19874:35::-;;;;:::o;19835:31::-;;;;:::o;19355:19::-;;;;;;;;;;;;;:::o;19381:31::-;;;;:::o;2062:87::-;2108:7;2135:6;;;;;;;;;;;2128:13;;2062:87;:::o;19543:69::-;;;;;;;;;;;;;:::o;9531:104::-;9587:13;9620:7;9613:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9531:104;:::o;19695:73::-;;;;;;;;;;;;;:::o;13750:413::-;13843:4;13860:24;13887:11;:25;13899:12;:10;:12::i;:::-;13887:25;;;;;;;;;;;;;;;:34;13913:7;13887:34;;;;;;;;;;;;;;;;13860:61;;13960:15;13940:16;:35;;13932:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14053:67;14062:12;:10;:12::i;:::-;14076:7;14104:15;14085:16;:34;14053:8;:67::i;:::-;14151:4;14144:11;;;13750:413;;;;:::o;10943:175::-;11029:4;11046:42;11056:12;:10;:12::i;:::-;11070:9;11081:6;11046:9;:42::i;:::-;11106:4;11099:11;;10943:175;;;;:::o;19619:69::-;;;;;;;;;;;;;:::o;20804:362::-;20932:13;;;;;;;;;;;20918:27;;:10;:27;;;20910:36;;;;;;20987:8;:15;20965:11;:18;:37;20957:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;21038:9;21033:126;21057:11;:18;21053:1;:22;21033:126;;;21097:50;21107:10;21119:11;21131:1;21119:14;;;;;;;;:::i;:::-;;;;;;;;21135:8;21144:1;21135:11;;;;;;;;:::i;:::-;;;;;;;;21097:9;:50::i;:::-;21077:3;;;;;:::i;:::-;;;;21033:126;;;;20804:362;;:::o;11181:151::-;11270:7;11297:11;:18;11309:5;11297:18;;;;;;;;;;;;;;;:27;11316:7;11297:27;;;;;;;;;;;;;;;;11290:34;;11181:151;;;;:::o;2971:201::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3080:1:::1;3060:22;;:8;:22;;::::0;3052:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3136:28;3155:8;3136:18;:28::i;:::-;2971:201:::0;:::o;780:98::-;833:7;860:10;853:17;;780:98;:::o;17434:380::-;17587:1;17570:19;;:5;:19;;;17562:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17668:1;17649:21;;:7;:21;;;17641:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17752:6;17722:11;:18;17734:5;17722:18;;;;;;;;;;;;;;;:27;17741:7;17722:27;;;;;;;;;;;;;;;:36;;;;17790:7;17774:32;;17783:5;17774:32;;;17799:6;17774:32;;;;;;:::i;:::-;;;;;;;;17434:380;;;:::o;14653:733::-;14811:1;14793:20;;:6;:20;;;14785:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14895:1;14874:23;;:9;:23;;;14866:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14950:47;14971:6;14979:9;14990:6;14950:20;:47::i;:::-;15010:21;15034:9;:17;15044:6;15034:17;;;;;;;;;;;;;;;;15010:41;;15087:6;15070:13;:23;;15062:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15208:6;15192:13;:22;15172:9;:17;15182:6;15172:17;;;;;;;;;;;;;;;:42;;;;15260:6;15236:9;:20;15246:9;15236:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15301:9;15284:35;;15293:6;15284:35;;;15312:6;15284:35;;;;;;:::i;:::-;;;;;;;;15332:46;15352:6;15360:9;15371:6;15332:19;:46::i;:::-;14774:612;14653:733;;;:::o;16405:591::-;16508:1;16489:21;;:7;:21;;;16481:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16561:49;16582:7;16599:1;16603:6;16561:20;:49::i;:::-;16623:22;16648:9;:18;16658:7;16648:18;;;;;;;;;;;;;;;;16623:43;;16703:6;16685:14;:24;;16677:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16822:6;16805:14;:23;16784:9;:18;16794:7;16784:18;;;;;;;;;;;;;;;:44;;;;16866:6;16850:12;;:22;;;;;;;:::i;:::-;;;;;;;;16916:1;16890:37;;16899:7;16890:37;;;16920:6;16890:37;;;;;;:::i;:::-;;;;;;;;16940:48;16960:7;16977:1;16981:6;16940:19;:48::i;:::-;16470:526;16405:591;;:::o;3332:191::-;3406:16;3425:6;;;;;;;;;;;3406:25;;3451:8;3442:6;;:17;;;;;;;;;;;;;;;;;;3506:8;3475:40;;3496:8;3475:40;;;;;;;;;;;;3395:128;3332:191;:::o;21176:628::-;21328:10;:14;21339:2;21328:14;;;;;;;;;;;;;;;;;;;;;;;;;21327:15;:36;;;;;21347:10;:16;21358:4;21347:16;;;;;;;;;;;;;;;;;;;;;;;;;21346:17;21327:36;21319:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;21421:1;21396:27;;:13;;;;;;;;;;;:27;;;21392:209;;21456:7;:5;:7::i;:::-;21448:15;;:4;:15;;;:32;;;;21473:7;:5;:7::i;:::-;21467:13;;:2;:13;;;21448:32;:51;;;;21490:9;;;;;;;;;;;21484:15;;:2;:15;;;21448:51;:70;;;;21509:9;;;;;;;;;;;21503:15;;:2;:15;;;21448:70;:93;;;;21528:13;;;;;;;;;;;21522:19;;:2;:19;;;21448:93;21440:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;21583:7;;21392:209;21617:7;;;;;;;;;;;:32;;;;;21636:13;;;;;;;;;;;21628:21;;:4;:21;;;21617:32;21613:184;;;21706:16;;21696:6;21674:19;21690:2;21674:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;21758:16;;21748:6;21726:19;21742:2;21726:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;21674:100;21666:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;21613:184;21176:628;;;;:::o;19143:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:759::-;5532:6;5540;5548;5556;5605:3;5593:9;5584:7;5580:23;5576:33;5573:120;;;5612:79;;:::i;:::-;5573:120;5732:1;5757:50;5799:7;5790:6;5779:9;5775:22;5757:50;:::i;:::-;5747:60;;5703:114;5856:2;5882:53;5927:7;5918:6;5907:9;5903:22;5882:53;:::i;:::-;5872:63;;5827:118;5984:2;6010:53;6055:7;6046:6;6035:9;6031:22;6010:53;:::i;:::-;6000:63;;5955:118;6112:2;6138:53;6183:7;6174:6;6163:9;6159:22;6138:53;:::i;:::-;6128:63;;6083:118;5449:759;;;;;;;:::o;6214:468::-;6279:6;6287;6336:2;6324:9;6315:7;6311:23;6307:32;6304:119;;;6342:79;;:::i;:::-;6304:119;6462:1;6487:53;6532:7;6523:6;6512:9;6508:22;6487:53;:::i;:::-;6477:63;;6433:117;6589:2;6615:50;6657:7;6648:6;6637:9;6633:22;6615:50;:::i;:::-;6605:60;;6560:115;6214:468;;;;;:::o;6688:329::-;6747:6;6796:2;6784:9;6775:7;6771:23;6767:32;6764:119;;;6802:79;;:::i;:::-;6764:119;6922:1;6947:53;6992:7;6983:6;6972:9;6968:22;6947:53;:::i;:::-;6937:63;;6893:117;6688:329;;;;:::o;7023:118::-;7110:24;7128:5;7110:24;:::i;:::-;7105:3;7098:37;7023:118;;:::o;7147:222::-;7240:4;7278:2;7267:9;7263:18;7255:26;;7291:71;7359:1;7348:9;7344:17;7335:6;7291:71;:::i;:::-;7147:222;;;;:::o;7375:117::-;7484:1;7481;7474:12;7498:180;7546:77;7543:1;7536:88;7643:4;7640:1;7633:15;7667:4;7664:1;7657:15;7684:281;7767:27;7789:4;7767:27;:::i;:::-;7759:6;7755:40;7897:6;7885:10;7882:22;7861:18;7849:10;7846:34;7843:62;7840:88;;;7908:18;;:::i;:::-;7840:88;7948:10;7944:2;7937:22;7727:238;7684:281;;:::o;7971:129::-;8005:6;8032:20;;:::i;:::-;8022:30;;8061:33;8089:4;8081:6;8061:33;:::i;:::-;7971:129;;;:::o;8106:311::-;8183:4;8273:18;8265:6;8262:30;8259:56;;;8295:18;;:::i;:::-;8259:56;8345:4;8337:6;8333:17;8325:25;;8405:4;8399;8395:15;8387:23;;8106:311;;;:::o;8423:117::-;8532:1;8529;8522:12;8563:710;8659:5;8684:81;8700:64;8757:6;8700:64;:::i;:::-;8684:81;:::i;:::-;8675:90;;8785:5;8814:6;8807:5;8800:21;8848:4;8841:5;8837:16;8830:23;;8901:4;8893:6;8889:17;8881:6;8877:30;8930:3;8922:6;8919:15;8916:122;;;8949:79;;:::i;:::-;8916:122;9064:6;9047:220;9081:6;9076:3;9073:15;9047:220;;;9156:3;9185:37;9218:3;9206:10;9185:37;:::i;:::-;9180:3;9173:50;9252:4;9247:3;9243:14;9236:21;;9123:144;9107:4;9102:3;9098:14;9091:21;;9047:220;;;9051:21;8665:608;;8563:710;;;;;:::o;9296:370::-;9367:5;9416:3;9409:4;9401:6;9397:17;9393:27;9383:122;;9424:79;;:::i;:::-;9383:122;9541:6;9528:20;9566:94;9656:3;9648:6;9641:4;9633:6;9629:17;9566:94;:::i;:::-;9557:103;;9373:293;9296:370;;;;:::o;9672:311::-;9749:4;9839:18;9831:6;9828:30;9825:56;;;9861:18;;:::i;:::-;9825:56;9911:4;9903:6;9899:17;9891:25;;9971:4;9965;9961:15;9953:23;;9672:311;;;:::o;10006:710::-;10102:5;10127:81;10143:64;10200:6;10143:64;:::i;:::-;10127:81;:::i;:::-;10118:90;;10228:5;10257:6;10250:5;10243:21;10291:4;10284:5;10280:16;10273:23;;10344:4;10336:6;10332:17;10324:6;10320:30;10373:3;10365:6;10362:15;10359:122;;;10392:79;;:::i;:::-;10359:122;10507:6;10490:220;10524:6;10519:3;10516:15;10490:220;;;10599:3;10628:37;10661:3;10649:10;10628:37;:::i;:::-;10623:3;10616:50;10695:4;10690:3;10686:14;10679:21;;10566:144;10550:4;10545:3;10541:14;10534:21;;10490:220;;;10494:21;10108:608;;10006:710;;;;;:::o;10739:370::-;10810:5;10859:3;10852:4;10844:6;10840:17;10836:27;10826:122;;10867:79;;:::i;:::-;10826:122;10984:6;10971:20;11009:94;11099:3;11091:6;11084:4;11076:6;11072:17;11009:94;:::i;:::-;11000:103;;10816:293;10739:370;;;;:::o;11115:894::-;11233:6;11241;11290:2;11278:9;11269:7;11265:23;11261:32;11258:119;;;11296:79;;:::i;:::-;11258:119;11444:1;11433:9;11429:17;11416:31;11474:18;11466:6;11463:30;11460:117;;;11496:79;;:::i;:::-;11460:117;11601:78;11671:7;11662:6;11651:9;11647:22;11601:78;:::i;:::-;11591:88;;11387:302;11756:2;11745:9;11741:18;11728:32;11787:18;11779:6;11776:30;11773:117;;;11809:79;;:::i;:::-;11773:117;11914:78;11984:7;11975:6;11964:9;11960:22;11914:78;:::i;:::-;11904:88;;11699:303;11115:894;;;;;:::o;12015:474::-;12083:6;12091;12140:2;12128:9;12119:7;12115:23;12111:32;12108:119;;;12146:79;;:::i;:::-;12108:119;12266:1;12291:53;12336:7;12327:6;12316:9;12312:22;12291:53;:::i;:::-;12281:63;;12237:117;12393:2;12419:53;12464:7;12455:6;12444:9;12440:22;12419:53;:::i;:::-;12409:63;;12364:118;12015:474;;;;;:::o;12495:180::-;12543:77;12540:1;12533:88;12640:4;12637:1;12630:15;12664:4;12661:1;12654:15;12681:320;12725:6;12762:1;12756:4;12752:12;12742:22;;12809:1;12803:4;12799:12;12830:18;12820:81;;12886:4;12878:6;12874:17;12864:27;;12820:81;12948:2;12940:6;12937:14;12917:18;12914:38;12911:84;;12967:18;;:::i;:::-;12911:84;12732:269;12681:320;;;:::o;13007:227::-;13147:34;13143:1;13135:6;13131:14;13124:58;13216:10;13211:2;13203:6;13199:15;13192:35;13007:227;:::o;13240:366::-;13382:3;13403:67;13467:2;13462:3;13403:67;:::i;:::-;13396:74;;13479:93;13568:3;13479:93;:::i;:::-;13597:2;13592:3;13588:12;13581:19;;13240:366;;;:::o;13612:419::-;13778:4;13816:2;13805:9;13801:18;13793:26;;13865:9;13859:4;13855:20;13851:1;13840:9;13836:17;13829:47;13893:131;14019:4;13893:131;:::i;:::-;13885:139;;13612:419;;;:::o;14037:180::-;14085:77;14082:1;14075:88;14182:4;14179:1;14172:15;14206:4;14203:1;14196:15;14223:191;14263:3;14282:20;14300:1;14282:20;:::i;:::-;14277:25;;14316:20;14334:1;14316:20;:::i;:::-;14311:25;;14359:1;14356;14352:9;14345:16;;14380:3;14377:1;14374:10;14371:36;;;14387:18;;:::i;:::-;14371:36;14223:191;;;;:::o;14420:182::-;14560:34;14556:1;14548:6;14544:14;14537:58;14420:182;:::o;14608:366::-;14750:3;14771:67;14835:2;14830:3;14771:67;:::i;:::-;14764:74;;14847:93;14936:3;14847:93;:::i;:::-;14965:2;14960:3;14956:12;14949:19;;14608:366;;;:::o;14980:419::-;15146:4;15184:2;15173:9;15169:18;15161:26;;15233:9;15227:4;15223:20;15219:1;15208:9;15204:17;15197:47;15261:131;15387:4;15261:131;:::i;:::-;15253:139;;14980:419;;;:::o;15405:224::-;15545:34;15541:1;15533:6;15529:14;15522:58;15614:7;15609:2;15601:6;15597:15;15590:32;15405:224;:::o;15635:366::-;15777:3;15798:67;15862:2;15857:3;15798:67;:::i;:::-;15791:74;;15874:93;15963:3;15874:93;:::i;:::-;15992:2;15987:3;15983:12;15976:19;;15635:366;;;:::o;16007:419::-;16173:4;16211:2;16200:9;16196:18;16188:26;;16260:9;16254:4;16250:20;16246:1;16235:9;16231:17;16224:47;16288:131;16414:4;16288:131;:::i;:::-;16280:139;;16007:419;;;:::o;16432:163::-;16572:15;16568:1;16560:6;16556:14;16549:39;16432:163;:::o;16601:366::-;16743:3;16764:67;16828:2;16823:3;16764:67;:::i;:::-;16757:74;;16840:93;16929:3;16840:93;:::i;:::-;16958:2;16953:3;16949:12;16942:19;;16601:366;;;:::o;16973:419::-;17139:4;17177:2;17166:9;17162:18;17154:26;;17226:9;17220:4;17216:20;17212:1;17201:9;17197:17;17190:47;17254:131;17380:4;17254:131;:::i;:::-;17246:139;;16973:419;;;:::o;17398:180::-;17446:77;17443:1;17436:88;17543:4;17540:1;17533:15;17567:4;17564:1;17557:15;17584:233;17623:3;17646:24;17664:5;17646:24;:::i;:::-;17637:33;;17692:66;17685:5;17682:77;17679:103;;17762:18;;:::i;:::-;17679:103;17809:1;17802:5;17798:13;17791:20;;17584:233;;;:::o;17823:225::-;17963:34;17959:1;17951:6;17947:14;17940:58;18032:8;18027:2;18019:6;18015:15;18008:33;17823:225;:::o;18054:366::-;18196:3;18217:67;18281:2;18276:3;18217:67;:::i;:::-;18210:74;;18293:93;18382:3;18293:93;:::i;:::-;18411:2;18406:3;18402:12;18395:19;;18054:366;;;:::o;18426:419::-;18592:4;18630:2;18619:9;18615:18;18607:26;;18679:9;18673:4;18669:20;18665:1;18654:9;18650:17;18643:47;18707:131;18833:4;18707:131;:::i;:::-;18699:139;;18426:419;;;:::o;18851:223::-;18991:34;18987:1;18979:6;18975:14;18968:58;19060:6;19055:2;19047:6;19043:15;19036:31;18851:223;:::o;19080:366::-;19222:3;19243:67;19307:2;19302:3;19243:67;:::i;:::-;19236:74;;19319:93;19408:3;19319:93;:::i;:::-;19437:2;19432:3;19428:12;19421:19;;19080:366;;;:::o;19452:419::-;19618:4;19656:2;19645:9;19641:18;19633:26;;19705:9;19699:4;19695:20;19691:1;19680:9;19676:17;19669:47;19733:131;19859:4;19733:131;:::i;:::-;19725:139;;19452:419;;;:::o;19877:221::-;20017:34;20013:1;20005:6;20001:14;19994:58;20086:4;20081:2;20073:6;20069:15;20062:29;19877:221;:::o;20104:366::-;20246:3;20267:67;20331:2;20326:3;20267:67;:::i;:::-;20260:74;;20343:93;20432:3;20343:93;:::i;:::-;20461:2;20456:3;20452:12;20445:19;;20104:366;;;:::o;20476:419::-;20642:4;20680:2;20669:9;20665:18;20657:26;;20729:9;20723:4;20719:20;20715:1;20704:9;20700:17;20693:47;20757:131;20883:4;20757:131;:::i;:::-;20749:139;;20476:419;;;:::o;20901:224::-;21041:34;21037:1;21029:6;21025:14;21018:58;21110:7;21105:2;21097:6;21093:15;21086:32;20901:224;:::o;21131:366::-;21273:3;21294:67;21358:2;21353:3;21294:67;:::i;:::-;21287:74;;21370:93;21459:3;21370:93;:::i;:::-;21488:2;21483:3;21479:12;21472:19;;21131:366;;;:::o;21503:419::-;21669:4;21707:2;21696:9;21692:18;21684:26;;21756:9;21750:4;21746:20;21742:1;21731:9;21727:17;21720:47;21784:131;21910:4;21784:131;:::i;:::-;21776:139;;21503:419;;;:::o;21928:222::-;22068:34;22064:1;22056:6;22052:14;22045:58;22137:5;22132:2;22124:6;22120:15;22113:30;21928:222;:::o;22156:366::-;22298:3;22319:67;22383:2;22378:3;22319:67;:::i;:::-;22312:74;;22395:93;22484:3;22395:93;:::i;:::-;22513:2;22508:3;22504:12;22497:19;;22156:366;;;:::o;22528:419::-;22694:4;22732:2;22721:9;22717:18;22709:26;;22781:9;22775:4;22771:20;22767:1;22756:9;22752:17;22745:47;22809:131;22935:4;22809:131;:::i;:::-;22801:139;;22528:419;;;:::o;22953:225::-;23093:34;23089:1;23081:6;23077:14;23070:58;23162:8;23157:2;23149:6;23145:15;23138:33;22953:225;:::o;23184:366::-;23326:3;23347:67;23411:2;23406:3;23347:67;:::i;:::-;23340:74;;23423:93;23512:3;23423:93;:::i;:::-;23541:2;23536:3;23532:12;23525:19;;23184:366;;;:::o;23556:419::-;23722:4;23760:2;23749:9;23745:18;23737:26;;23809:9;23803:4;23799:20;23795:1;23784:9;23780:17;23773:47;23837:131;23963:4;23837:131;:::i;:::-;23829:139;;23556:419;;;:::o;23981:220::-;24121:34;24117:1;24109:6;24105:14;24098:58;24190:3;24185:2;24177:6;24173:15;24166:28;23981:220;:::o;24207:366::-;24349:3;24370:67;24434:2;24429:3;24370:67;:::i;:::-;24363:74;;24446:93;24535:3;24446:93;:::i;:::-;24564:2;24559:3;24555:12;24548:19;;24207:366;;;:::o;24579:419::-;24745:4;24783:2;24772:9;24768:18;24760:26;;24832:9;24826:4;24822:20;24818:1;24807:9;24803:17;24796:47;24860:131;24986:4;24860:131;:::i;:::-;24852:139;;24579:419;;;:::o;25004:221::-;25144:34;25140:1;25132:6;25128:14;25121:58;25213:4;25208:2;25200:6;25196:15;25189:29;25004:221;:::o;25231:366::-;25373:3;25394:67;25458:2;25453:3;25394:67;:::i;:::-;25387:74;;25470:93;25559:3;25470:93;:::i;:::-;25588:2;25583:3;25579:12;25572:19;;25231:366;;;:::o;25603:419::-;25769:4;25807:2;25796:9;25792:18;25784:26;;25856:9;25850:4;25846:20;25842:1;25831:9;25827:17;25820:47;25884:131;26010:4;25884:131;:::i;:::-;25876:139;;25603:419;;;:::o;26028:194::-;26068:4;26088:20;26106:1;26088:20;:::i;:::-;26083:25;;26122:20;26140:1;26122:20;:::i;:::-;26117:25;;26166:1;26163;26159:9;26151:17;;26190:1;26184:4;26181:11;26178:37;;;26195:18;;:::i;:::-;26178:37;26028:194;;;;:::o;26228:161::-;26368:13;26364:1;26356:6;26352:14;26345:37;26228:161;:::o;26395:366::-;26537:3;26558:67;26622:2;26617:3;26558:67;:::i;:::-;26551:74;;26634:93;26723:3;26634:93;:::i;:::-;26752:2;26747:3;26743:12;26736:19;;26395:366;;;:::o;26767:419::-;26933:4;26971:2;26960:9;26956:18;26948:26;;27020:9;27014:4;27010:20;27006:1;26995:9;26991:17;26984:47;27048:131;27174:4;27048:131;:::i;:::-;27040:139;;26767:419;;;:::o;27192:172::-;27332:24;27328:1;27320:6;27316:14;27309:48;27192:172;:::o;27370:366::-;27512:3;27533:67;27597:2;27592:3;27533:67;:::i;:::-;27526:74;;27609:93;27698:3;27609:93;:::i;:::-;27727:2;27722:3;27718:12;27711:19;;27370:366;;;:::o;27742:419::-;27908:4;27946:2;27935:9;27931:18;27923:26;;27995:9;27989:4;27985:20;27981:1;27970:9;27966:17;27959:47;28023:131;28149:4;28023:131;:::i;:::-;28015:139;;27742:419;;;:::o;28167:156::-;28307:8;28303:1;28295:6;28291:14;28284:32;28167:156;:::o;28329:365::-;28471:3;28492:66;28556:1;28551:3;28492:66;:::i;:::-;28485:73;;28567:93;28656:3;28567:93;:::i;:::-;28685:2;28680:3;28676:12;28669:19;;28329:365;;;:::o;28700:419::-;28866:4;28904:2;28893:9;28889:18;28881:26;;28953:9;28947:4;28943:20;28939:1;28928:9;28924:17;28917:47;28981:131;29107:4;28981:131;:::i;:::-;28973:139;;28700:419;;;:::o

Swarm Source

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