ETH Price: $2,782.63 (+1.65%)

Token

ProFIXone Token (FIX)
 

Overview

Max Total Supply

500,000,000 FIX

Holders

66

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
FIXToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-03-14
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.12;

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }


    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }


    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }


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


    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by 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;
    }


    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }


    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


library Address {

    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }


    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }


    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }


    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }


    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }


    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }


    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        // safeApprove should only be called when setting an initial allowance,
        // or when resetting it to zero. To increase and decrease it, use
        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
        // solhint-disable-next-line max-line-length
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }


    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
        // the target address contains contract code and also asserts for success in the low-level call.

        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}


interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    function decimals() external view returns (uint8);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}



contract Ownable {
    address private _owner;

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

    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }


    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }


    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


contract FIXToken is IERC20, Ownable {
    using SafeMath for uint256;
    using SafeERC20 for IERC20;
    using Address for address;

    mapping (address => uint256) private _balances;

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

    mapping (address => bool) private _isFirstSale;

    uint256 public constant SECONDS_PER_WEEK = 604800;

    uint256 private constant PERCENTAGE_MULTIPLICATOR = 1e4;

    uint8 private constant DEFAULT_DECIMALS = 6;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    uint256 private _firstUpdate;
    uint256 private _lastUpdate;

    uint256 private _growthRate;
    uint256 private _growthRate_after;

    uint256 private _price;

    uint256 private _presaleStart;
    uint256 private _presaleEnd;

    bool private _isStarted;

    uint256 [] _zeros;

    event TokensPurchased(address indexed purchaser, uint256 value, uint256 amount, uint256 price);
    event TokensSold(address indexed seller, uint256 amount, uint256 USDT, uint256 price);
    event PriceUpdated(uint price);


    constructor (uint256 _ownerSupply) public {
        _decimals = 18;
        _totalSupply = 500000000 * uint(10) ** _decimals;
        require (_ownerSupply < _totalSupply, "Owner supply must be lower than total supply");
        _name = "ProFIXone Token";
        _symbol = "FIX";
        _price = 1000000;
        _growthRate = 100;
        _balances[address(this)] = _totalSupply.sub(_ownerSupply);
        _balances[owner()] = _ownerSupply;
        emit Transfer(address(0), address(this), _totalSupply.sub(_ownerSupply));
        emit Transfer(address(0), owner(), _ownerSupply);
    }


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


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


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


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


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


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


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


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


    function transferFrom(address sender, address recipient, uint256 amount) public virtual 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 _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");
        if (msg.sender != owner()) {
            require(recipient == owner(), "Tokens can be sent only to owner address.");
        }
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }


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


    function calculatePrice() public view returns (uint256) {
        if (_isStarted == false || _firstUpdate > now) {
            return _price;
        }
        uint256 i;
        uint256 newPrice = _price;
        if (now > _lastUpdate) {
            i = uint256((_lastUpdate.sub(_firstUpdate)).div(SECONDS_PER_WEEK).add(uint256(1)).sub(_zeros.length));
            for (uint256 x = 0; x < i; x++) {
                newPrice = newPrice.mul(PERCENTAGE_MULTIPLICATOR.add(_growthRate)).div(PERCENTAGE_MULTIPLICATOR);
            }
            if (_growthRate_after > 0) {
                i = uint256((now.sub(_lastUpdate)).div(SECONDS_PER_WEEK));
                for (uint256 x = 0; x < i; x++) {
                    newPrice = newPrice.mul(PERCENTAGE_MULTIPLICATOR.add(_growthRate_after)).div(PERCENTAGE_MULTIPLICATOR);
                }
            }
        } else {
            i = uint256((now.sub(_firstUpdate)).div(SECONDS_PER_WEEK)).add(uint256(1));
            for (uint8 x = 0; x < _zeros.length; x++) {
                if (_zeros[x] >= _firstUpdate && _zeros[x] <= now) {
                    i = i.sub(uint256(1));
                }
            }
            for (uint256 x = 0; x < i; x++) {
                newPrice = newPrice.mul(PERCENTAGE_MULTIPLICATOR.add(_growthRate)).div(PERCENTAGE_MULTIPLICATOR);
            }

        }

        return newPrice;
    }


    function currentPrice() public view returns (uint256) {
        return calculatePrice();
    }

    function growthRate() public view returns (uint256) {
        return _growthRate_after;
    }


    function isStarted() public view returns (bool) {
        return _isStarted;
    }

    function presaleStart() public view returns (uint256) {
        return _presaleStart;
    }

    function presaleEnd() public view returns (uint256) {
        return _presaleEnd;
    }


    function startContract(uint256 firstUpdate, uint256 lastUpdate, uint256 [] memory zeros) external onlyOwner {
        require (_isStarted == false, "Contract is already started.");
        require (firstUpdate >= now, "First price update time must be later than today");
        require (lastUpdate >= now, "Last price update time must be later than today");
        require (lastUpdate > firstUpdate, "Last price update time must be later than first update");
        _firstUpdate = firstUpdate;
        _lastUpdate = lastUpdate;
        _isStarted = true;
        for (uint8 x = 0; x < zeros.length; x++) {
            _zeros.push(zeros[x]);
        }

    }

    function setPresaleStart(uint256 new_date) external onlyOwner {
        require (_isStarted == true, "Contract is not started.");
        require(new_date >= now, "Start time must be later, than now");
        require(new_date > _presaleStart, "New start time must be higher then previous.");
        _presaleStart = new_date;
    }

    function setPresaleEnd(uint256 new_date) external onlyOwner {
        require (_isStarted == true, "Contract is not started.");
        require(new_date >= now, "End time must be later, than now");
        require(new_date > _presaleEnd, "New end time must be higher then previous.");
        require(new_date > _presaleStart, "New end time must be higher then start date.");
        _presaleEnd = new_date;
    }


    function setGrowthRate(uint256 _newGrowthRate) external onlyOwner {
        require (_isStarted == true, "Contract is not started.");
        require(now > _lastUpdate, "Growth rate cannot be changed within 60 months");
        _growthRate_after =_newGrowthRate;
    }


    function calculateTokens(uint256 amount, uint8 coin_decimals, uint256 updatedPrice) public view returns(uint256) {
        uint256 result;
        if (coin_decimals >= DEFAULT_DECIMALS) {
            result = amount.mul(10 ** uint256(_decimals)).div(updatedPrice.mul(10 ** uint256(coin_decimals-DEFAULT_DECIMALS)));
        } else {
            result = amount.mul(10 ** uint256(_decimals)).div(updatedPrice.div(10 ** uint256(DEFAULT_DECIMALS-coin_decimals)));

        }
        if (now >= _presaleStart && now <= _presaleEnd) {
            if (amount >= uint256(1000).mul(10 ** uint256(coin_decimals))) {
                result.add(100 * uint(10) ** _decimals);
            }
        }

        return result;
    }


    function sendTokens(address recepient, uint256 amount, uint8 coinDecimals) external onlyOwner {
        require (_isStarted == true, "Contract is not started.");
        require (_presaleStart > 0, "Presale start not set");
        require (_presaleEnd > 0, "Presale end not set");
        require (coinDecimals > 0, "Stablecoin decimals must be grater than 0");
        require (amount > 0, "Stablecoin value cannot be zero.");
        require(recepient != address(0), "ERC20: transfer to the zero address");
        uint256 lastPrice = calculatePrice();
        uint FIXAmount = calculateTokens(amount.mul(99).div(100), coinDecimals, lastPrice);
        require(_balances[address(this)] >= FIXAmount, "Insufficinet FIX amount left on contract");
        _balances[address(this)] = _balances[address(this)].sub(FIXAmount, "ERC20: transfer amount exceeds balance");
        _balances[recepient] = _balances[recepient].add(FIXAmount);
        emit TokensPurchased(recepient, amount, FIXAmount, lastPrice);
        emit Transfer(address(this), recepient, FIXAmount);

    }

    function sellTokens(address stablecoin, uint256 amount) external {
        require (_isStarted == true, "Contract is not started.");
        require (_presaleStart > 0, "Presale start not set");
        require (_presaleEnd > 0, "Presale end not set");
        require (amount > 0, "FIX value cannot be zero.");
        require(msg.sender != address(0), "ERC20: transfer to the zero address");
        require(stablecoin != address(0), "Stablecoin must not be zero address");
        require(stablecoin.isContract(), "Not a valid stablecoin contract address");
        uint256 coin_amount;
        uint256 new_amount = amount;
        IERC20 coin = IERC20(stablecoin);
        uint8 coin_decimals = coin.decimals();
        uint256 lastPrice = calculatePrice();
        if (!_isFirstSale[msg.sender]) {
            new_amount = amount.mul(98).div(100);
            _isFirstSale[msg.sender] = true;
        }
        require (_balances[msg.sender] >= amount, "Insufficient FIX token amount");
        if (coin_decimals >= 12) {
            coin_amount = new_amount.div(lastPrice).mul(10 ** uint256(coin_decimals-12));
        } else {
            coin_amount = new_amount.div(lastPrice).div(10 ** uint256(12 - coin_decimals));
        }

        _balances[address(this)] = _balances[address(this)].add(amount);
        _balances[msg.sender] = _balances[msg.sender].sub(amount);
        emit Transfer(msg.sender, address(this), amount);
        emit TokensSold(msg.sender, amount, coin_amount, lastPrice);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_ownerSupply","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":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"PriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"purchaser","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"TokensPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"USDT","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"TokensSold","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":"SECONDS_PER_WEEK","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":[],"name":"calculatePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"coin_decimals","type":"uint8"},{"internalType":"uint256","name":"updatedPrice","type":"uint256"}],"name":"calculateTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"growthRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"isStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"presaleEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presaleStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stablecoin","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sellTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recepient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"coinDecimals","type":"uint8"}],"name":"sendTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newGrowthRate","type":"uint256"}],"name":"setGrowthRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_date","type":"uint256"}],"name":"setPresaleEnd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_date","type":"uint256"}],"name":"setPresaleStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"firstUpdate","type":"uint256"},{"internalType":"uint256","name":"lastUpdate","type":"uint256"},{"internalType":"uint256[]","name":"zeros","type":"uint256[]"}],"name":"startContract","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"}]

60806040523480156200001157600080fd5b5060405162003e9d38038062003e9d833981810160405260208110156200003757600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36012600760006101000a81548160ff021916908360ff160217905550600760009054906101000a900460ff1660ff16600a0a631dcd65000260048190555060045481106200019d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062003e71602c913960400191505060405180910390fd5b6040518060400160405280600f81526020017f50726f4649586f6e6520546f6b656e000000000000000000000000000000000081525060059080519060200190620001ea92919062000539565b506040518060400160405280600381526020017f4649580000000000000000000000000000000000000000000000000000000000815250600690805190602001906200023892919062000539565b50620f4240600c819055506064600a819055506200026781600454620003fa60201b62002bef1790919060201c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060016000620002bf6200044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200036984600454620003fa60201b62002bef1790919060201c565b6040518082815260200191505060405180910390a36200038e6200044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350620005df565b60006200044483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200047560201b60201c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600083831115829062000526576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620004ea578082015181840152602081019050620004cd565b50505050905090810190601f168015620005185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200057c57805160ff1916838001178555620005ad565b82800160010185558215620005ad579182015b82811115620005ac5782518255916020019190600101906200058f565b5b509050620005bc9190620005c0565b5090565b5b80821115620005db576000816000905550600101620005c1565b5090565b61388280620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806384ae2a74116100f9578063ad4ae8c311610097578063dd62ed3e11610071578063dd62ed3e14610873578063de8801e5146108eb578063f082e0e114610909578063f2fde38b14610937576101a9565b8063ad4ae8c3146107e9578063c464fe6514610807578063d348b40914610855576101a9565b806395d89b41116100d357806395d89b41146106805780639d1b464a14610703578063a457c2d714610721578063a9059cbb14610785576101a9565b806384ae2a74146105625780638da5cb5b1461058057806395c7f716146105b4576101a9565b8063313ce567116101665780636a831e22116101405780636a831e221461045357806370a08231146104ae57806378152bbe146105065780637e851e7c14610534576101a9565b8063313ce567146103ae57806339509351146103cf578063544736e614610433576101a9565b806306fdde03146101ae578063095ea7b31461023157806318160ddd1461029557806319236f8d146102b3578063229f3e291461030c57806323b872dd1461032a575b600080fd5b6101b661097b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a1d565b60405180821515815260200191505060405180910390f35b61029d610a34565b6040518082815260200191505060405180910390f35b6102f6600480360360608110156102c957600080fd5b8101908080359060200190929190803560ff16906020019092919080359060200190929190505050610a3e565b6040518082815260200191505060405180910390f35b610314610b76565b6040518082815260200191505060405180910390f35b6103966004803603606081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b80565b60405180821515815260200191505060405180910390f35b6103b6610c4b565b604051808260ff16815260200191505060405180910390f35b61041b600480360360408110156103e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c62565b60405180821515815260200191505060405180910390f35b61043b610d07565b60405180821515815260200191505060405180910390f35b6104ac6004803603606081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560ff169060200190929190505050610d1e565b005b6104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611397565b6040518082815260200191505060405180910390f35b6105326004803603602081101561051c57600080fd5b81019080803590602001909291905050506113e0565b005b6105606004803603602081101561054a57600080fd5b81019080803590602001909291905050506115e7565b005b61056a611795565b6040518082815260200191505060405180910390f35b61058861179c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61067e600480360360608110156105ca57600080fd5b810190808035906020019092919080359060200190929190803590602001906401000000008111156105fb57600080fd5b82018360208201111561060d57600080fd5b8035906020019184602083028401116401000000008311171561062f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506117c5565b005b610688611aa3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106c85780820151818401526020810190506106ad565b50505050905090810190601f1680156106f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61070b611b45565b6040518082815260200191505060405180910390f35b61076d6004803603604081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b54565b60405180821515815260200191505060405180910390f35b6107d16004803603604081101561079b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c13565b60405180821515815260200191505060405180910390f35b6107f1611c2a565b6040518082815260200191505060405180910390f35b6108536004803603604081101561081d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c34565b005b61085d61242e565b6040518082815260200191505060405180910390f35b6108d56004803603604081101561088957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126dc565b6040518082815260200191505060405180910390f35b6108f3612763565b6040518082815260200191505060405180910390f35b6109356004803603602081101561091f57600080fd5b810190808035906020019092919050505061276d565b005b6109796004803603602081101561094d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129eb565b005b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a135780601f106109e857610100808354040283529160200191610a13565b820191906000526020600020905b8154815290600101906020018083116109f657829003601f168201915b5050505050905090565b6000610a2a338484612c39565b6001905092915050565b6000600454905090565b600080600660ff168460ff1610610aab57610aa4610a6e6006860360ff16600a0a85612e3090919063ffffffff16565b610a96600760009054906101000a900460ff1660ff16600a0a88612e3090919063ffffffff16565b612eb690919063ffffffff16565b9050610b03565b610b00610aca8560060360ff16600a0a85612eb690919063ffffffff16565b610af2600760009054906101000a900460ff1660ff16600a0a88612e3090919063ffffffff16565b612eb690919063ffffffff16565b90505b600d544210158015610b175750600e544211155b15610b6b57610b378460ff16600a0a6103e8612e3090919063ffffffff16565b8510610b6a57610b68600760009054906101000a900460ff1660ff16600a0a60640282612f0090919063ffffffff16565b505b5b809150509392505050565b6000600e54905090565b6000610b8d848484612f88565b610c408433610c3b8560405180606001604052806028815260200161367d60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b612c39565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000610cfd3384610cf885600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b612c39565b6001905092915050565b6000600f60009054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff16151514610e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b6000600d5411610ee0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f50726573616c65207374617274206e6f7420736574000000000000000000000081525060200191505060405180910390fd5b6000600e5411610f58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f50726573616c6520656e64206e6f74207365740000000000000000000000000081525060200191505060405180910390fd5b60008160ff1611610fb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806136546029913960400191505060405180910390fd5b6000821161102a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f537461626c65636f696e2076616c75652063616e6e6f74206265207a65726f2e81525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135026023913960400191505060405180910390fd5b60006110ba61242e565b905060006110ef6110e860646110da606388612e3090919063ffffffff16565b612eb690919063ffffffff16565b8484610a3e565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611189576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806134da6028913960400191505060405180910390fd5b6111f5816040518060600160405280602681526020016135ea60269139600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061128a81600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167f0d1a0d5e3d583a0e92588799dd06e50fd78c07daf05f0cc06d7b848b1ca445f185838560405180848152602001838152602001828152602001935050505060405180910390a28473ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff1615151461152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b42811015611583576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806137246022913960400191505060405180910390fd5b600d5481116115dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806135be602c913960400191505060405180910390fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff16151514611731576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b600954421161178b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061376f602e913960400191505060405180910390fd5b80600b8190555050565b62093a8081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611886576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60001515600f60009054906101000a900460ff1615151461190f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f436f6e747261637420697320616c726561647920737461727465642e0000000081525060200191505060405180910390fd5b42831015611968576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806137ee6030913960400191505060405180910390fd5b428210156119c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061381e602f913960400191505060405180910390fd5b828211611a19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806136ca6036913960400191505060405180910390fd5b82600881905550816009819055506001600f60006101000a81548160ff02191690831515021790555060005b81518160ff161015611a9d576010828260ff1681518110611a6257fe5b602002602001015190806001815401808255809150506001900390600052602060002001600090919091909150558080600101915050611a45565b50505050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b3b5780601f10611b1057610100808354040283529160200191611b3b565b820191906000526020600020905b815481529060010190602001808311611b1e57829003601f168201915b5050505050905090565b6000611b4f61242e565b905090565b6000611c093384611c04856040518060600160405280602581526020016137c960259139600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b612c39565b6001905092915050565b6000611c20338484612f88565b6001905092915050565b6000600b54905090565b60011515600f60009054906101000a900460ff16151514611cbd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b6000600d5411611d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f50726573616c65207374617274206e6f7420736574000000000000000000000081525060200191505060405180910390fd5b6000600e5411611dad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f50726573616c6520656e64206e6f74207365740000000000000000000000000081525060200191505060405180910390fd5b60008111611e23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4649582076616c75652063616e6e6f74206265207a65726f2e0000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ea9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135026023913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806136106023913960400191505060405180910390fd5b611f4e8273ffffffffffffffffffffffffffffffffffffffff166133c8565b611fa3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806135256027913960400191505060405180910390fd5b600080829050600084905060008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff657600080fd5b505afa15801561200a573d6000803e3d6000fd5b505050506040513d602081101561202057600080fd5b81019080805190602001909291905050509050600061203d61242e565b9050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612112576120b760646120a9606289612e3090919063ffffffff16565b612eb690919063ffffffff16565b93506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e742046495820746f6b656e20616d6f756e7400000081525060200191505060405180910390fd5b600c8260ff161061220757612200600c830360ff16600a0a6121f28387612eb690919063ffffffff16565b612e3090919063ffffffff16565b9450612238565b61223582600c0360ff16600a0a6122278387612eb690919063ffffffff16565b612eb690919063ffffffff16565b94505b61228a86600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061231f86600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bef90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f6db63bebf1e6540277744df32846ebdb98385b1a73f2d5de49b28348add63f5087878460405180848152602001838152602001828152602001935050505060405180910390a250505050505050565b6000801515600f60009054906101000a900460ff1615151480612452575042600854115b1561246157600c5490506126d9565b600080600c5490506009544211156125b8576124c96010805490506124bb60016124ad62093a8061249f600854600954612bef90919063ffffffff16565b612eb690919063ffffffff16565b612f0090919063ffffffff16565b612bef90919063ffffffff16565b915060005b82811015612522576125136127106125056124f6600a54612710612f0090919063ffffffff16565b85612e3090919063ffffffff16565b612eb690919063ffffffff16565b915080806001019150506124ce565b506000600b5411156125b35761255862093a8061254a60095442612bef90919063ffffffff16565b612eb690919063ffffffff16565b915060005b828110156125b1576125a2612710612594612585600b54612710612f0090919063ffffffff16565b85612e3090919063ffffffff16565b612eb690919063ffffffff16565b9150808060010191505061255d565b505b6126d3565b6125f560016125e762093a806125d960085442612bef90919063ffffffff16565b612eb690919063ffffffff16565b612f0090919063ffffffff16565b915060005b6010805490508160ff1610156126795760085460108260ff168154811061261d57fe5b90600052602060002001541015801561265057504260108260ff168154811061264257fe5b906000526020600020015411155b1561266c57612669600184612bef90919063ffffffff16565b92505b80806001019150506125fa565b5060005b828110156126d1576126c26127106126b46126a5600a54612710612f0090919063ffffffff16565b85612e3090919063ffffffff16565b612eb690919063ffffffff16565b9150808060010191505061267d565b505b80925050505b90565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600d54905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461282e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff161515146128b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b4281101561292d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f456e642074696d65206d757374206265206c617465722c207468616e206e6f7781525060200191505060405180910390fd5b600e548111612987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613594602a913960400191505060405180910390fd5b600d5481116129e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061379d602c913960400191505060405180910390fd5b80600e8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612aac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061354c6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612c3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613308565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612cbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806137006024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135726022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080831415612e435760009050612eb0565b6000828402905082848281612e5457fe5b0414612eab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136336021913960400191505060405180910390fd5b809150505b92915050565b6000612ef883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613413565b905092915050565b600080828401905083811015612f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561300e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136a56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613094576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135026023913960400191505060405180910390fd5b61309c61179c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461315a576130d661179c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613159576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806137466029913960400191505060405180910390fd5b5b6131c6816040518060600160405280602681526020016135ea60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061325b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906133b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561337a57808201518184015260208101905061335f565b50505050905090810190601f1680156133a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561340a57506000801b8214155b92505050919050565b600080831182906134bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613484578082015181840152602081019050613469565b50505050905090810190601f1680156134b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816134cb57fe5b04905080915050939250505056fe496e737566666963696e65742046495820616d6f756e74206c656674206f6e20636f6e747261637445524332303a207472616e7366657220746f20746865207a65726f20616464726573734e6f7420612076616c696420737461626c65636f696e20636f6e747261637420616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734e657720656e642074696d65206d75737420626520686967686572207468656e2070726576696f75732e4e65772073746172742074696d65206d75737420626520686967686572207468656e2070726576696f75732e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365537461626c65636f696e206d757374206e6f74206265207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77537461626c65636f696e20646563696d616c73206d75737420626520677261746572207468616e203045524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734c617374207072696365207570646174652074696d65206d757374206265206c61746572207468616e2066697273742075706461746545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737353746172742074696d65206d757374206265206c617465722c207468616e206e6f77546f6b656e732063616e2062652073656e74206f6e6c7920746f206f776e657220616464726573732e47726f77746820726174652063616e6e6f74206265206368616e6765642077697468696e203630206d6f6e7468734e657720656e642074696d65206d75737420626520686967686572207468656e20737461727420646174652e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4669727374207072696365207570646174652074696d65206d757374206265206c61746572207468616e20746f6461794c617374207072696365207570646174652074696d65206d757374206265206c61746572207468616e20746f646179a2646970667358221220d2b87e38a7541399b7ae43c9e74f70b688733da3955d46d44e2f23398c09372964736f6c634300060c00334f776e657220737570706c79206d757374206265206c6f776572207468616e20746f74616c20737570706c79000000000000000000000000000000000000000000084595161401484a000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806384ae2a74116100f9578063ad4ae8c311610097578063dd62ed3e11610071578063dd62ed3e14610873578063de8801e5146108eb578063f082e0e114610909578063f2fde38b14610937576101a9565b8063ad4ae8c3146107e9578063c464fe6514610807578063d348b40914610855576101a9565b806395d89b41116100d357806395d89b41146106805780639d1b464a14610703578063a457c2d714610721578063a9059cbb14610785576101a9565b806384ae2a74146105625780638da5cb5b1461058057806395c7f716146105b4576101a9565b8063313ce567116101665780636a831e22116101405780636a831e221461045357806370a08231146104ae57806378152bbe146105065780637e851e7c14610534576101a9565b8063313ce567146103ae57806339509351146103cf578063544736e614610433576101a9565b806306fdde03146101ae578063095ea7b31461023157806318160ddd1461029557806319236f8d146102b3578063229f3e291461030c57806323b872dd1461032a575b600080fd5b6101b661097b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a1d565b60405180821515815260200191505060405180910390f35b61029d610a34565b6040518082815260200191505060405180910390f35b6102f6600480360360608110156102c957600080fd5b8101908080359060200190929190803560ff16906020019092919080359060200190929190505050610a3e565b6040518082815260200191505060405180910390f35b610314610b76565b6040518082815260200191505060405180910390f35b6103966004803603606081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b80565b60405180821515815260200191505060405180910390f35b6103b6610c4b565b604051808260ff16815260200191505060405180910390f35b61041b600480360360408110156103e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c62565b60405180821515815260200191505060405180910390f35b61043b610d07565b60405180821515815260200191505060405180910390f35b6104ac6004803603606081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560ff169060200190929190505050610d1e565b005b6104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611397565b6040518082815260200191505060405180910390f35b6105326004803603602081101561051c57600080fd5b81019080803590602001909291905050506113e0565b005b6105606004803603602081101561054a57600080fd5b81019080803590602001909291905050506115e7565b005b61056a611795565b6040518082815260200191505060405180910390f35b61058861179c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61067e600480360360608110156105ca57600080fd5b810190808035906020019092919080359060200190929190803590602001906401000000008111156105fb57600080fd5b82018360208201111561060d57600080fd5b8035906020019184602083028401116401000000008311171561062f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506117c5565b005b610688611aa3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106c85780820151818401526020810190506106ad565b50505050905090810190601f1680156106f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61070b611b45565b6040518082815260200191505060405180910390f35b61076d6004803603604081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b54565b60405180821515815260200191505060405180910390f35b6107d16004803603604081101561079b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c13565b60405180821515815260200191505060405180910390f35b6107f1611c2a565b6040518082815260200191505060405180910390f35b6108536004803603604081101561081d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c34565b005b61085d61242e565b6040518082815260200191505060405180910390f35b6108d56004803603604081101561088957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126dc565b6040518082815260200191505060405180910390f35b6108f3612763565b6040518082815260200191505060405180910390f35b6109356004803603602081101561091f57600080fd5b810190808035906020019092919050505061276d565b005b6109796004803603602081101561094d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129eb565b005b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a135780601f106109e857610100808354040283529160200191610a13565b820191906000526020600020905b8154815290600101906020018083116109f657829003601f168201915b5050505050905090565b6000610a2a338484612c39565b6001905092915050565b6000600454905090565b600080600660ff168460ff1610610aab57610aa4610a6e6006860360ff16600a0a85612e3090919063ffffffff16565b610a96600760009054906101000a900460ff1660ff16600a0a88612e3090919063ffffffff16565b612eb690919063ffffffff16565b9050610b03565b610b00610aca8560060360ff16600a0a85612eb690919063ffffffff16565b610af2600760009054906101000a900460ff1660ff16600a0a88612e3090919063ffffffff16565b612eb690919063ffffffff16565b90505b600d544210158015610b175750600e544211155b15610b6b57610b378460ff16600a0a6103e8612e3090919063ffffffff16565b8510610b6a57610b68600760009054906101000a900460ff1660ff16600a0a60640282612f0090919063ffffffff16565b505b5b809150509392505050565b6000600e54905090565b6000610b8d848484612f88565b610c408433610c3b8560405180606001604052806028815260200161367d60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b612c39565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000610cfd3384610cf885600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b612c39565b6001905092915050565b6000600f60009054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff16151514610e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b6000600d5411610ee0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f50726573616c65207374617274206e6f7420736574000000000000000000000081525060200191505060405180910390fd5b6000600e5411610f58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f50726573616c6520656e64206e6f74207365740000000000000000000000000081525060200191505060405180910390fd5b60008160ff1611610fb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806136546029913960400191505060405180910390fd5b6000821161102a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f537461626c65636f696e2076616c75652063616e6e6f74206265207a65726f2e81525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135026023913960400191505060405180910390fd5b60006110ba61242e565b905060006110ef6110e860646110da606388612e3090919063ffffffff16565b612eb690919063ffffffff16565b8484610a3e565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611189576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806134da6028913960400191505060405180910390fd5b6111f5816040518060600160405280602681526020016135ea60269139600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061128a81600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167f0d1a0d5e3d583a0e92588799dd06e50fd78c07daf05f0cc06d7b848b1ca445f185838560405180848152602001838152602001828152602001935050505060405180910390a28473ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff1615151461152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b42811015611583576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806137246022913960400191505060405180910390fd5b600d5481116115dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806135be602c913960400191505060405180910390fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff16151514611731576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b600954421161178b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061376f602e913960400191505060405180910390fd5b80600b8190555050565b62093a8081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611886576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60001515600f60009054906101000a900460ff1615151461190f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f436f6e747261637420697320616c726561647920737461727465642e0000000081525060200191505060405180910390fd5b42831015611968576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806137ee6030913960400191505060405180910390fd5b428210156119c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061381e602f913960400191505060405180910390fd5b828211611a19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806136ca6036913960400191505060405180910390fd5b82600881905550816009819055506001600f60006101000a81548160ff02191690831515021790555060005b81518160ff161015611a9d576010828260ff1681518110611a6257fe5b602002602001015190806001815401808255809150506001900390600052602060002001600090919091909150558080600101915050611a45565b50505050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b3b5780601f10611b1057610100808354040283529160200191611b3b565b820191906000526020600020905b815481529060010190602001808311611b1e57829003601f168201915b5050505050905090565b6000611b4f61242e565b905090565b6000611c093384611c04856040518060600160405280602581526020016137c960259139600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b612c39565b6001905092915050565b6000611c20338484612f88565b6001905092915050565b6000600b54905090565b60011515600f60009054906101000a900460ff16151514611cbd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b6000600d5411611d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f50726573616c65207374617274206e6f7420736574000000000000000000000081525060200191505060405180910390fd5b6000600e5411611dad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f50726573616c6520656e64206e6f74207365740000000000000000000000000081525060200191505060405180910390fd5b60008111611e23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4649582076616c75652063616e6e6f74206265207a65726f2e0000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ea9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135026023913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806136106023913960400191505060405180910390fd5b611f4e8273ffffffffffffffffffffffffffffffffffffffff166133c8565b611fa3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806135256027913960400191505060405180910390fd5b600080829050600084905060008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff657600080fd5b505afa15801561200a573d6000803e3d6000fd5b505050506040513d602081101561202057600080fd5b81019080805190602001909291905050509050600061203d61242e565b9050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612112576120b760646120a9606289612e3090919063ffffffff16565b612eb690919063ffffffff16565b93506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e742046495820746f6b656e20616d6f756e7400000081525060200191505060405180910390fd5b600c8260ff161061220757612200600c830360ff16600a0a6121f28387612eb690919063ffffffff16565b612e3090919063ffffffff16565b9450612238565b61223582600c0360ff16600a0a6122278387612eb690919063ffffffff16565b612eb690919063ffffffff16565b94505b61228a86600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061231f86600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bef90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f6db63bebf1e6540277744df32846ebdb98385b1a73f2d5de49b28348add63f5087878460405180848152602001838152602001828152602001935050505060405180910390a250505050505050565b6000801515600f60009054906101000a900460ff1615151480612452575042600854115b1561246157600c5490506126d9565b600080600c5490506009544211156125b8576124c96010805490506124bb60016124ad62093a8061249f600854600954612bef90919063ffffffff16565b612eb690919063ffffffff16565b612f0090919063ffffffff16565b612bef90919063ffffffff16565b915060005b82811015612522576125136127106125056124f6600a54612710612f0090919063ffffffff16565b85612e3090919063ffffffff16565b612eb690919063ffffffff16565b915080806001019150506124ce565b506000600b5411156125b35761255862093a8061254a60095442612bef90919063ffffffff16565b612eb690919063ffffffff16565b915060005b828110156125b1576125a2612710612594612585600b54612710612f0090919063ffffffff16565b85612e3090919063ffffffff16565b612eb690919063ffffffff16565b9150808060010191505061255d565b505b6126d3565b6125f560016125e762093a806125d960085442612bef90919063ffffffff16565b612eb690919063ffffffff16565b612f0090919063ffffffff16565b915060005b6010805490508160ff1610156126795760085460108260ff168154811061261d57fe5b90600052602060002001541015801561265057504260108260ff168154811061264257fe5b906000526020600020015411155b1561266c57612669600184612bef90919063ffffffff16565b92505b80806001019150506125fa565b5060005b828110156126d1576126c26127106126b46126a5600a54612710612f0090919063ffffffff16565b85612e3090919063ffffffff16565b612eb690919063ffffffff16565b9150808060010191505061267d565b505b80925050505b90565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600d54905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461282e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600f60009054906101000a900460ff161515146128b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e7472616374206973206e6f7420737461727465642e000000000000000081525060200191505060405180910390fd5b4281101561292d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f456e642074696d65206d757374206265206c617465722c207468616e206e6f7781525060200191505060405180910390fd5b600e548111612987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613594602a913960400191505060405180910390fd5b600d5481116129e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061379d602c913960400191505060405180910390fd5b80600e8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612aac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061354c6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612c3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613308565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612cbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806137006024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135726022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080831415612e435760009050612eb0565b6000828402905082848281612e5457fe5b0414612eab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136336021913960400191505060405180910390fd5b809150505b92915050565b6000612ef883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613413565b905092915050565b600080828401905083811015612f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561300e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136a56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613094576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135026023913960400191505060405180910390fd5b61309c61179c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461315a576130d661179c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613159576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806137466029913960400191505060405180910390fd5b5b6131c6816040518060600160405280602681526020016135ea60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133089092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061325b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906133b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561337a57808201518184015260208101905061335f565b50505050905090810190601f1680156133a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561340a57506000801b8214155b92505050919050565b600080831182906134bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613484578082015181840152602081019050613469565b50505050905090810190601f1680156134b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816134cb57fe5b04905080915050939250505056fe496e737566666963696e65742046495820616d6f756e74206c656674206f6e20636f6e747261637445524332303a207472616e7366657220746f20746865207a65726f20616464726573734e6f7420612076616c696420737461626c65636f696e20636f6e747261637420616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734e657720656e642074696d65206d75737420626520686967686572207468656e2070726576696f75732e4e65772073746172742074696d65206d75737420626520686967686572207468656e2070726576696f75732e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365537461626c65636f696e206d757374206e6f74206265207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77537461626c65636f696e20646563696d616c73206d75737420626520677261746572207468616e203045524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734c617374207072696365207570646174652074696d65206d757374206265206c61746572207468616e2066697273742075706461746545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737353746172742074696d65206d757374206265206c617465722c207468616e206e6f77546f6b656e732063616e2062652073656e74206f6e6c7920746f206f776e657220616464726573732e47726f77746820726174652063616e6e6f74206265206368616e6765642077697468696e203630206d6f6e7468734e657720656e642074696d65206d75737420626520686967686572207468656e20737461727420646174652e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4669727374207072696365207570646174652074696d65206d757374206265206c61746572207468616e20746f6461794c617374207072696365207570646174652074696d65206d757374206265206c61746572207468616e20746f646179a2646970667358221220d2b87e38a7541399b7ae43c9e74f70b688733da3955d46d44e2f23398c09372964736f6c634300060c0033

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

000000000000000000000000000000000000000000084595161401484a000000

-----Decoded View---------------
Arg [0] : _ownerSupply (uint256): 10000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000084595161401484a000000


Deployed Bytecode Sourcemap

8627:11670:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10411:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11286:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10703:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16919:732;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15084:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11463:317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10601:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11790:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14891:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17661:1086;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10813:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15863:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16637:272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8959:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8158:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15183:672;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10504:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14682:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12014:265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10942:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14786:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18755:1537;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13270:1402;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11125:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14983:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16208:419;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8374:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10411:83;10448:13;10481:5;10474:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10411:83;:::o;11286:167::-;11369:4;11386:37;11395:10;11407:7;11416:6;11386:8;:37::i;:::-;11441:4;11434:11;;11286:167;;;;:::o;10703:100::-;10756:7;10783:12;;10776:19;;10703:100;:::o;16919:732::-;17023:7;17043:14;9123:1;17072:33;;:13;:33;;;17068:329;;17131:105;17172:63;9123:1;17203:13;:30;17195:39;;17189:2;:45;17172:12;:16;;:63;;;;:::i;:::-;17131:36;17156:9;;;;;;;;;;;17148:18;;17142:2;:24;17131:6;:10;;:36;;;;:::i;:::-;:40;;:105;;;;:::i;:::-;17122:114;;17068:329;;;17278:105;17319:63;17367:13;9123:1;17350:30;17342:39;;17336:2;:45;17319:12;:16;;:63;;;;:::i;:::-;17278:36;17303:9;;;;;;;;;;;17295:18;;17289:2;:24;17278:6;:10;;:36;;;;:::i;:::-;:40;;:105;;;;:::i;:::-;17269:114;;17068:329;17418:13;;17411:3;:20;;:42;;;;;17442:11;;17435:3;:18;;17411:42;17407:211;;;17484:47;17516:13;17508:22;;17502:2;:28;17492:4;17484:17;;:47;;;;:::i;:::-;17474:6;:57;17470:137;;17552:39;17581:9;;;;;;;;;;;17569:21;;17574:2;17569:21;17563:3;:27;17552:6;:10;;:39;;;;:::i;:::-;;17470:137;17407:211;17637:6;17630:13;;;16919:732;;;;;:::o;15084:89::-;15127:7;15154:11;;15147:18;;15084:89;:::o;11463:317::-;11569:4;11586:36;11596:6;11604:9;11615:6;11586:9;:36::i;:::-;11633:117;11642:6;11650:10;11662:87;11698:6;11662:87;;;;;;;;;;;;;;;;;:11;:19;11674:6;11662:19;;;;;;;;;;;;;;;:31;11682:10;11662:31;;;;;;;;;;;;;;;;:35;;:87;;;;;:::i;:::-;11633:8;:117::i;:::-;11768:4;11761:11;;11463:317;;;;;:::o;10601:92::-;10651:5;10676:9;;;;;;;;;;;10669:16;;10601:92;:::o;11790:214::-;11878:4;11895:79;11904:10;11916:7;11925:48;11962:10;11925:11;:23;11937:10;11925:23;;;;;;;;;;;;;;;:32;11949:7;11925:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;11895:8;:79::i;:::-;11992:4;11985:11;;11790:214;;;;:::o;14891:84::-;14933:4;14957:10;;;;;;;;;;;14950:17;;14891:84;:::o;17661:1086::-;8297:10;8287:20;;:6;;;;;;;;;;:20;;;8279:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17789:4:::1;17775:18;;:10;;;;;;;;;;;:18;;;17766:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17858:1;17842:13;;:17;17833:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17919:1;17905:11;;:15;17896:48;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17979:1;17964:12;:16;;;17955:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18055:1;18046:6;:10;18037:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18133:1;18112:23;;:9;:23;;;;18104:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18186:17;18206:16;:14;:16::i;:::-;18186:36;;18233:14;18250:65;18266:23;18285:3;18266:14;18277:2;18266:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;18291:12;18305:9;18250:15;:65::i;:::-;18233:82;;18362:9;18334;:24;18352:4;18334:24;;;;;;;;;;;;;;;;:37;;18326:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18454:81;18483:9;18454:81;;;;;;;;;;;;;;;;;:9;:24;18472:4;18454:24;;;;;;;;;;;;;;;;:28;;:81;;;;;:::i;:::-;18427:9;:24;18445:4;18427:24;;;;;;;;;;;;;;;:108;;;;18569:35;18594:9;18569;:20;18579:9;18569:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;18546:9;:20;18556:9;18546:20;;;;;;;;;;;;;;;:58;;;;18636:9;18620:56;;;18647:6;18655:9;18666;18620:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18716:9;18692:45;;18709:4;18692:45;;;18727:9;18692:45;;;;;;;;;;;;;;;;;;8355:1;;17661:1086:::0;;;:::o;10813:119::-;10879:7;10906:9;:18;10916:7;10906:18;;;;;;;;;;;;;;;;10899:25;;10813:119;;;:::o;15863:337::-;8297:10;8287:20;;:6;;;;;;;;;;:20;;;8279:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15959:4:::1;15945:18;;:10;;;;;;;;;;;:18;;;15936:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16023:3;16011:8;:15;;16003:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16095:13;;16084:8;:24;16076:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16184:8;16168:13;:24;;;;15863:337:::0;:::o;16637:272::-;8297:10;8287:20;;:6;;;;;;;;;;:20;;;8279:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16737:4:::1;16723:18;;:10;;;;;;;;;;;:18;;;16714:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16795:11;;16789:3;:17;16781:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16887:14;16868:17;:33;;;;16637:272:::0;:::o;8959:49::-;9002:6;8959:49;:::o;8158:79::-;8196:7;8223:6;;;;;;;;;;;8216:13;;8158:79;:::o;15183:672::-;8297:10;8287:20;;:6;;;;;;;;;;:20;;;8279:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15325:5:::1;15311:19;;:10;;;;;;;;;;;:19;;;15302:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15398:3;15383:11;:18;;15374:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15488:3;15474:10;:17;;15465:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15576:11;15563:10;:24;15554:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15672:11;15657:12;:26;;;;15708:10;15694:11;:24;;;;15742:4;15729:10;;:17;;;;;;;;;;;;;;;;;;15762:7;15757:89;15779:5;:12;15775:1;:16;;;15757:89;;;15813:6;15825:5;15831:1;15825:8;;;;;;;;;;;;;;;;15813:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15793:3;;;;;;;15757:89;;;;15183:672:::0;;;:::o;10504:87::-;10543:13;10576:7;10569:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10504:87;:::o;14682:96::-;14727:7;14754:16;:14;:16::i;:::-;14747:23;;14682:96;:::o;12014:265::-;12107:4;12124:125;12133:10;12145:7;12154:94;12191:15;12154:94;;;;;;;;;;;;;;;;;:11;:23;12166:10;12154:23;;;;;;;;;;;;;;;:32;12178:7;12154:32;;;;;;;;;;;;;;;;:36;;:94;;;;;:::i;:::-;12124:8;:125::i;:::-;12267:4;12260:11;;12014:265;;;;:::o;10942:173::-;11028:4;11045:40;11055:10;11067:9;11078:6;11045:9;:40::i;:::-;11103:4;11096:11;;10942:173;;;;:::o;14786:95::-;14829:7;14856:17;;14849:24;;14786:95;:::o;18755:1537::-;18854:4;18840:18;;:10;;;;;;;;;;;:18;;;18831:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18923:1;18907:13;;:17;18898:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18984:1;18970:11;;:15;18961:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19038:1;19029:6;:10;19020:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19110:1;19088:24;;:10;:24;;;;19080:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19193:1;19171:24;;:10;:24;;;;19163:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19254:23;:10;:21;;;:23::i;:::-;19246:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19332:19;19362:18;19383:6;19362:27;;19400:11;19421:10;19400:32;;19443:19;19465:4;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19443:37;;19491:17;19511:16;:14;:16::i;:::-;19491:36;;19543:12;:24;19556:10;19543:24;;;;;;;;;;;;;;;;;;;;;;;;;19538:140;;19597:23;19616:3;19597:14;19608:2;19597:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;19584:36;;19662:4;19635:12;:24;19648:10;19635:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;19538:140;19722:6;19697:9;:21;19707:10;19697:21;;;;;;;;;;;;;;;;:31;;19688:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19794:2;19777:13;:19;;;19773:239;;19827:62;19885:2;19871:13;:16;19863:25;;19857:2;:31;19827:25;19842:9;19827:10;:14;;:25;;;;:::i;:::-;:29;;:62;;;;:::i;:::-;19813:76;;19773:239;;;19936:64;19985:13;19980:2;:18;19972:27;;19966:2;:33;19936:25;19951:9;19936:10;:14;;:25;;;;:::i;:::-;:29;;:64;;;;:::i;:::-;19922:78;;19773:239;20051:36;20080:6;20051:9;:24;20069:4;20051:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;20024:9;:24;20042:4;20024:24;;;;;;;;;;;;;;;:63;;;;20122:33;20148:6;20122:9;:21;20132:10;20122:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;20098:9;:21;20108:10;20098:21;;;;;;;;;;;;;;;:57;;;;20200:4;20171:43;;20180:10;20171:43;;;20207:6;20171:43;;;;;;;;;;;;;;;;;;20241:10;20230:54;;;20253:6;20261:11;20274:9;20230:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18755:1537;;;;;;;:::o;13270:1402::-;13317:7;13355:5;13341:19;;:10;;;;;;;;;;;:19;;;:41;;;;13379:3;13364:12;;:18;13341:41;13337:87;;;13406:6;;13399:13;;;;13337:87;13434:9;13454:16;13473:6;;13454:25;;13500:11;;13494:3;:17;13490:1147;;;13540:88;13614:6;:13;;;;13540:69;13606:1;13540:53;9002:6;13541:29;13557:12;;13541:11;;:15;;:29;;;;:::i;:::-;13540:35;;:53;;;;:::i;:::-;:57;;:69;;;;:::i;:::-;:73;;:88;;;;:::i;:::-;13528:101;;13649:9;13644:163;13668:1;13664;:5;13644:163;;;13706:85;9069:3;13706:55;13719:41;13748:11;;9069:3;13719:28;;:41;;;;:::i;:::-;13706:8;:12;;:55;;;;:::i;:::-;:59;;:85;;;;:::i;:::-;13695:96;;13671:3;;;;;;;13644:163;;;;13845:1;13825:17;;:21;13821:314;;;13879:44;9002:6;13880:20;13888:11;;13880:3;:7;;:20;;;;:::i;:::-;13879:26;;:44;;;;:::i;:::-;13867:57;;13948:9;13943:177;13967:1;13963;:5;13943:177;;;14009:91;9069:3;14009:61;14022:47;14051:17;;9069:3;14022:28;;:47;;;;:::i;:::-;14009:8;:12;;:61;;;;:::i;:::-;:65;;:91;;;;:::i;:::-;13998:102;;13970:3;;;;;;;13943:177;;;;13821:314;13490:1147;;;14171:70;14238:1;14179:45;9002:6;14180:21;14188:12;;14180:3;:7;;:21;;;;:::i;:::-;14179:27;;:45;;;;:::i;:::-;14171:58;;:70;;;;:::i;:::-;14167:74;;14261:7;14256:191;14278:6;:13;;;;14274:1;:17;;;14256:191;;;14334:12;;14321:6;14328:1;14321:9;;;;;;;;;;;;;;;;;;:25;;:45;;;;;14363:3;14350:6;14357:1;14350:9;;;;;;;;;;;;;;;;;;:16;;14321:45;14317:115;;;14395:17;14409:1;14395;:5;;:17;;;;:::i;:::-;14391:21;;14317:115;14293:3;;;;;;;14256:191;;;;14466:9;14461:163;14485:1;14481;:5;14461:163;;;14523:85;9069:3;14523:55;14536:41;14565:11;;9069:3;14536:28;;:41;;;;:::i;:::-;14523:8;:12;;:55;;;;:::i;:::-;:59;;:85;;;;:::i;:::-;14512:96;;14488:3;;;;;;;14461:163;;;;13490:1147;14656:8;14649:15;;;;13270:1402;;:::o;11125:151::-;11214:7;11241:11;:18;11253:5;11241:18;;;;;;;;;;;;;;;:27;11260:7;11241:27;;;;;;;;;;;;;;;;11234:34;;11125:151;;;;:::o;14983:93::-;15028:7;15055:13;;15048:20;;14983:93;:::o;16208:419::-;8297:10;8287:20;;:6;;;;;;;;;;:20;;;8279:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16302:4:::1;16288:18;;:10;;;;;;;;;;;:18;;;16279:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16366:3;16354:8;:15;;16346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16436:11;;16425:8;:22;16417:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16524:13;;16513:8;:24;16505:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16611:8;16597:11;:22;;;;16208:419:::0;:::o;8374:244::-;8297:10;8287:20;;:6;;;;;;;;;;:20;;;8279:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8483:1:::1;8463:22;;:8;:22;;;;8455:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8573:8;8544:38;;8565:6;::::0;::::1;;;;;;;;8544:38;;;;;;;;;;;;8602:8;8593:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;8374:244:::0;:::o;278:136::-;336:7;363:43;367:1;370;363:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;356:50;;278:136;;;;:::o;12914:346::-;13033:1;13016:19;;:5;:19;;;;13008:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13114:1;13095:21;;:7;:21;;;;13087:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13198:6;13168:11;:18;13180:5;13168:18;;;;;;;;;;;;;;;:27;13187:7;13168:27;;;;;;;;;;;;;;;:36;;;;13236:7;13220:32;;13229:5;13220:32;;;13245:6;13220:32;;;;;;;;;;;;;;;;;;12914:346;;;:::o;626:471::-;684:7;934:1;929;:6;925:47;;;959:1;952:8;;;;925:47;984:9;1000:1;996;:5;984:17;;1029:1;1024;1020;:5;;;;;;:10;1012:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1088:1;1081:8;;;626:471;;;;;:::o;1107:132::-;1165:7;1192:39;1196:1;1199;1192:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1185:46;;1107:132;;;;:::o;87:181::-;145:7;165:9;181:1;177;:5;165:17;;206:1;201;:6;;193:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;259:1;252:8;;;87:181;;;;:::o;12289:615::-;12413:1;12395:20;;:6;:20;;;;12387:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12497:1;12476:23;;:9;:23;;;;12468:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12568:7;:5;:7::i;:::-;12554:21;;:10;:21;;;12550:128;;12613:7;:5;:7::i;:::-;12600:20;;:9;:20;;;12592:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12550:128;12708:71;12730:6;12708:71;;;;;;;;;;;;;;;;;:9;:17;12718:6;12708:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;12688:9;:17;12698:6;12688:17;;;;;;;;;;;;;;;:91;;;;12813:32;12838:6;12813:9;:20;12823:9;12813:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12790:9;:20;12800:9;12790:20;;;;;;;;;;;;;;;:55;;;;12878:9;12861:35;;12870:6;12861:35;;;12889:6;12861:35;;;;;;;;;;;;;;;;;;12289:615;;;:::o;424:192::-;510:7;543:1;538;:6;;546:12;530:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:9;586:1;582;:5;570:17;;607:1;600:8;;;424:192;;;;;:::o;1877:374::-;1937:4;1954:16;1981:19;2003:66;1981:88;;;;2172:7;2160:20;2148:32;;2212:11;2200:8;:23;;:42;;;;;2239:3;2227:15;;:8;:15;;2200:42;2192:51;;;;1877:374;;;:::o;1249:278::-;1335:7;1367:1;1363;:5;1370:12;1355:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1394:9;1410:1;1406;:5;;;;;;1394:17;;1518:1;1511:8;;;1249:278;;;;;:::o

Swarm Source

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