ETH Price: $2,528.56 (+3.93%)

Token

Bocker Inu (BOCKER)
 

Overview

Max Total Supply

1,000,000,000,000,000 BOCKER

Holders

483 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
56,109,629,061.057618001 BOCKER

Value
$0.00
0x721c9e33b70601e691ee6ea5fbdc07f047b5547c
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

BOCKER Swap works as a DEX Aggregator for different ecosystem chains such as Ethereum, Binance Smart Chain, and Tron.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BOCKER

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-06-30
*/

pragma solidity ^0.6.12;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

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

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

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

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

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

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    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");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    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");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    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);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


contract BOCKER is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

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

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**6 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name = 'Bocker Inu';
    string private _symbol = 'BOCKER';
    uint8 private _decimals = 9;
    uint8 public transfertimeout = 20;
    uint256 public _maxTxAmount = 10000000 * 10**6 * 10**9;

    address public uniswapPair;
    mapping (address => uint256) public lastBuy; 

    constructor () public {
        _rOwned[_msgSender()] = _rTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

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

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(
            10**2
        );
    }

    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

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

    function excludeAccount(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

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

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

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(sender != owner() && recipient != owner())
          require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        
        //save last buy
        if (sender == uniswapPair){
            lastBuy[recipient] = block.timestamp; 
        }

        //check if sell
        if (recipient == uniswapPair){
            require(block.timestamp >= lastBuy[sender] + transfertimeout, "lock 20 seconds after purchase");
        }        

        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

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

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = tAmount.div(100).mul(2);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        return (rAmount, rTransferAmount, rFee);
    }

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

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setUniswapPair(address pair) external onlyOwner() {
        uniswapPair = pair;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transfertimeout","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405269d3c21bcecceda1000000600019816200001a57fe5b06600019036006556040518060400160405280600a81526020017f426f636b657220496e7500000000000000000000000000000000000000000000815250600890805190602001906200006f929190620002a4565b506040518060400160405280600681526020017f424f434b4552000000000000000000000000000000000000000000000000000081525060099080519060200190620000bd929190620002a4565b506009600a60006101000a81548160ff021916908360ff1602179055506014600a60016101000a81548160ff021916908360ff16021790555069021e19e0c9bab2400000600b553480156200011157600080fd5b506000620001246200029c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001d96200029c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002276200029c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040518082815260200191505060405180910390a36200034a565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e757805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000317578251825591602001919060010190620002fa565b5b5090506200032791906200032b565b5090565b5b80821115620003465760008160009055506001016200032c565b5090565b613a36806200035a6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80637d1db4a5116100f9578063cba0e99611610097578063dd62ed3e11610071578063dd62ed3e14610810578063f2cc0c1814610888578063f2fde38b146108cc578063f84354f114610910576101a9565b8063cba0e99614610744578063d543dbeb1461079e578063d5aed6bf146107cc576101a9565b8063a457c2d7116100d3578063a457c2d7146105f0578063a9059cbb14610654578063c1adf7bc146106b8578063c816841b14610710576101a9565b80637d1db4a51461051b5780638da5cb5b1461053957806395d89b411461056d576101a9565b80632d838119116101665780634549b039116101405780634549b0391461044a57806370a0823114610498578063715018a6146104f05780637cada5bd146104fa576101a9565b80632d83811914610383578063313ce567146103c557806339509351146103e6576101a9565b8063053ab182146101ae57806306fdde03146101dc578063095ea7b31461025f57806313114a9d146102c357806318160ddd146102e157806323b872dd146102ff575b600080fd5b6101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610954565b005b6101e4610ae4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610224578082015181840152602081019050610209565b50505050905090810190601f1680156102515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b86565b60405180821515815260200191505060405180910390f35b6102cb610ba4565b6040518082815260200191505060405180910390f35b6102e9610bae565b6040518082815260200191505060405180910390f35b61036b6004803603606081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b60405180821515815260200191505060405180910390f35b6103af6004803603602081101561039957600080fd5b8101908080359060200190929190505050610c99565b6040518082815260200191505060405180910390f35b6103cd610d1d565b604051808260ff16815260200191505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d34565b60405180821515815260200191505060405180910390f35b6104826004803603604081101561046057600080fd5b8101908080359060200190929190803515159060200190929190505050610de7565b6040518082815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea4565b6040518082815260200191505060405180910390f35b6104f8610f8f565b005b610502611115565b604051808260ff16815260200191505060405180910390f35b610523611128565b6040518082815260200191505060405180910390f35b61054161112e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610575611157565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f9565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c6565b60405180821515815260200191505060405180910390f35b6106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e4565b6040518082815260200191505060405180910390f35b6107186112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107866004803603602081101561075a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611322565b60405180821515815260200191505060405180910390f35b6107ca600480360360208110156107b457600080fd5b8101908080359060200190929190505050611378565b005b61080e600480360360208110156107e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611479565b005b6108726004803603604081101561082657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611585565b6040518082815260200191505060405180910390f35b6108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160c565b005b61090e600480360360208110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611926565b005b6109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b31565b005b600061095e611ebb565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806139b0602c913960400191505060405180910390fd5b6000610a0e83611ec3565b505050509050610a6681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610abe81600654611f1b90919063ffffffff16565b600681905550610ad983600754611f6590919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b5050505050905090565b6000610b9a610b93611ebb565b8484611fed565b6001905092915050565b6000600754905090565b600069d3c21bcecceda1000000905090565b6000610bcd8484846121e4565b610c8e84610bd9611ebb565b610c898560405180606001604052806028815260200161391660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3f611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b600190509392505050565b6000600654821115610cf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061385b602a913960400191505060405180910390fd5b6000610d0061298f565b9050610d1581846129ba90919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610ddd610d41611ebb565b84610dd88560036000610d52611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b611fed565b6001905092915050565b600069d3c21bcecceda1000000831115610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e88576000610e7984611ec3565b50505050905080915050610e9e565b6000610e9384611ec3565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f3f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610f8a565b610f87600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b90505b919050565b610f97611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a60019054906101000a900460ff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ef5780601f106111c4576101008083540402835291602001916111ef565b820191906000526020600020905b8154815290600101906020018083116111d257829003601f168201915b5050505050905090565b60006112bc611206611ebb565b846112b7856040518060600160405280602581526020016139dc6025913960036000611230611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b6001905092915050565b60006112da6112d3611ebb565b84846121e4565b6001905092915050565b600d6020528060005260406000206000915090505481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611380611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61147060646114628369d3c21bcecceda1000000612a0490919063ffffffff16565b6129ba90919063ffffffff16565b600b8190555050565b611481611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611614611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561186857611824600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61192e611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138856026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b39611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611eb7578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611cec57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eaa57600560016005805490500381548110611d4857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611d8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611e7057fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611eb7565b8080600101915050611cbb565b5050565b600033905090565b6000806000806000806000611ed788612a8a565b915091506000611ee561298f565b90506000806000611ef78c8686612adc565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128cf565b905092915050565b600080828401905083811015611fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061398c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138ab6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138386023913960400191505060405180910390fd5b60008111612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061393e6029913960400191505060405180910390fd5b61235161112e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123bf575061238f61112e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561242057600b5481111561241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138cd6028913960400191505060405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124bb5742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125db57600a60019054906101000a900460ff1660ff16600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054014210156125da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6c6f636b203230207365636f6e6473206166746572207075726368617365000081525060200191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561267e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126935761268e838383612b3a565b6128ca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127365750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561274b57612746838383612d8d565b6128c9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ef5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612804576127ff838383612fe0565b6128c8565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128a65750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128bb576128b683838361319e565b6128c7565b6128c6838383612fe0565b5b5b5b5b505050565b600083831115829061297c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600061299c613486565b915091506129b381836129ba90919063ffffffff16565b9250505090565b60006129fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613737565b905092915050565b600080831415612a175760009050612a84565b6000828402905082848281612a2857fe5b0414612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138f56021913960400191505060405180910390fd5b809150505b92915050565b6000806000612ab66002612aa86064876129ba90919063ffffffff16565b612a0490919063ffffffff16565b90506000612acd8286611f1b90919063ffffffff16565b90508082935093505050915091565b600080600080612af58588612a0490919063ffffffff16565b90506000612b0c8688612a0490919063ffffffff16565b90506000612b238284611f1b90919063ffffffff16565b905082818395509550955050505093509350939050565b6000806000806000612b4b86611ec3565b94509450945094509450612ba786600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3c85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cd184600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1e83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612d9e86611ec3565b94509450945094509450612dfa85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7183826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ff186611ec3565b9450945094509450945061304d85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e284600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312f83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006131af86611ec3565b9450945094509450945061320b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132a085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333582600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ca84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341783826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060006006549050600069d3c21bcecceda1000000905060005b6005805490508110156136ea578260016000600584815481106134c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806135a8575081600260006005848154811061354057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156135c75760065469d3c21bcecceda100000094509450505050613733565b61365060016000600584815481106135db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611f1b90919063ffffffff16565b92506136db600260006005848154811061366657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611f1b90919063ffffffff16565b915080806001019150506134a2565b5061370a69d3c21bcecceda10000006006546129ba90919063ffffffff16565b82101561372a5760065469d3c21bcecceda1000000935093505050613733565b81819350935050505b9091565b600080831182906137e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137a857808201518184015260208101905061378d565b50505050905090810190601f1680156137d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137ef57fe5b049050809150509392505050565b61381282600654611f1b90919063ffffffff16565b60068190555061382d81600754611f6590919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220282b5d48628b765e2e45023172e215a2d0036fe007d371eed58125428658fd3564736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80637d1db4a5116100f9578063cba0e99611610097578063dd62ed3e11610071578063dd62ed3e14610810578063f2cc0c1814610888578063f2fde38b146108cc578063f84354f114610910576101a9565b8063cba0e99614610744578063d543dbeb1461079e578063d5aed6bf146107cc576101a9565b8063a457c2d7116100d3578063a457c2d7146105f0578063a9059cbb14610654578063c1adf7bc146106b8578063c816841b14610710576101a9565b80637d1db4a51461051b5780638da5cb5b1461053957806395d89b411461056d576101a9565b80632d838119116101665780634549b039116101405780634549b0391461044a57806370a0823114610498578063715018a6146104f05780637cada5bd146104fa576101a9565b80632d83811914610383578063313ce567146103c557806339509351146103e6576101a9565b8063053ab182146101ae57806306fdde03146101dc578063095ea7b31461025f57806313114a9d146102c357806318160ddd146102e157806323b872dd146102ff575b600080fd5b6101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610954565b005b6101e4610ae4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610224578082015181840152602081019050610209565b50505050905090810190601f1680156102515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b86565b60405180821515815260200191505060405180910390f35b6102cb610ba4565b6040518082815260200191505060405180910390f35b6102e9610bae565b6040518082815260200191505060405180910390f35b61036b6004803603606081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b60405180821515815260200191505060405180910390f35b6103af6004803603602081101561039957600080fd5b8101908080359060200190929190505050610c99565b6040518082815260200191505060405180910390f35b6103cd610d1d565b604051808260ff16815260200191505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d34565b60405180821515815260200191505060405180910390f35b6104826004803603604081101561046057600080fd5b8101908080359060200190929190803515159060200190929190505050610de7565b6040518082815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea4565b6040518082815260200191505060405180910390f35b6104f8610f8f565b005b610502611115565b604051808260ff16815260200191505060405180910390f35b610523611128565b6040518082815260200191505060405180910390f35b61054161112e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610575611157565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f9565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c6565b60405180821515815260200191505060405180910390f35b6106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e4565b6040518082815260200191505060405180910390f35b6107186112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107866004803603602081101561075a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611322565b60405180821515815260200191505060405180910390f35b6107ca600480360360208110156107b457600080fd5b8101908080359060200190929190505050611378565b005b61080e600480360360208110156107e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611479565b005b6108726004803603604081101561082657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611585565b6040518082815260200191505060405180910390f35b6108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160c565b005b61090e600480360360208110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611926565b005b6109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b31565b005b600061095e611ebb565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806139b0602c913960400191505060405180910390fd5b6000610a0e83611ec3565b505050509050610a6681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610abe81600654611f1b90919063ffffffff16565b600681905550610ad983600754611f6590919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b5050505050905090565b6000610b9a610b93611ebb565b8484611fed565b6001905092915050565b6000600754905090565b600069d3c21bcecceda1000000905090565b6000610bcd8484846121e4565b610c8e84610bd9611ebb565b610c898560405180606001604052806028815260200161391660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3f611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b600190509392505050565b6000600654821115610cf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061385b602a913960400191505060405180910390fd5b6000610d0061298f565b9050610d1581846129ba90919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610ddd610d41611ebb565b84610dd88560036000610d52611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b611fed565b6001905092915050565b600069d3c21bcecceda1000000831115610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e88576000610e7984611ec3565b50505050905080915050610e9e565b6000610e9384611ec3565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f3f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610f8a565b610f87600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b90505b919050565b610f97611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a60019054906101000a900460ff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ef5780601f106111c4576101008083540402835291602001916111ef565b820191906000526020600020905b8154815290600101906020018083116111d257829003601f168201915b5050505050905090565b60006112bc611206611ebb565b846112b7856040518060600160405280602581526020016139dc6025913960036000611230611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b6001905092915050565b60006112da6112d3611ebb565b84846121e4565b6001905092915050565b600d6020528060005260406000206000915090505481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611380611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61147060646114628369d3c21bcecceda1000000612a0490919063ffffffff16565b6129ba90919063ffffffff16565b600b8190555050565b611481611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611614611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561186857611824600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61192e611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138856026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b39611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611eb7578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611cec57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eaa57600560016005805490500381548110611d4857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611d8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611e7057fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611eb7565b8080600101915050611cbb565b5050565b600033905090565b6000806000806000806000611ed788612a8a565b915091506000611ee561298f565b90506000806000611ef78c8686612adc565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128cf565b905092915050565b600080828401905083811015611fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061398c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138ab6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138386023913960400191505060405180910390fd5b60008111612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061393e6029913960400191505060405180910390fd5b61235161112e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123bf575061238f61112e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561242057600b5481111561241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138cd6028913960400191505060405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124bb5742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125db57600a60019054906101000a900460ff1660ff16600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054014210156125da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6c6f636b203230207365636f6e6473206166746572207075726368617365000081525060200191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561267e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126935761268e838383612b3a565b6128ca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127365750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561274b57612746838383612d8d565b6128c9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ef5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612804576127ff838383612fe0565b6128c8565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128a65750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128bb576128b683838361319e565b6128c7565b6128c6838383612fe0565b5b5b5b5b505050565b600083831115829061297c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600061299c613486565b915091506129b381836129ba90919063ffffffff16565b9250505090565b60006129fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613737565b905092915050565b600080831415612a175760009050612a84565b6000828402905082848281612a2857fe5b0414612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138f56021913960400191505060405180910390fd5b809150505b92915050565b6000806000612ab66002612aa86064876129ba90919063ffffffff16565b612a0490919063ffffffff16565b90506000612acd8286611f1b90919063ffffffff16565b90508082935093505050915091565b600080600080612af58588612a0490919063ffffffff16565b90506000612b0c8688612a0490919063ffffffff16565b90506000612b238284611f1b90919063ffffffff16565b905082818395509550955050505093509350939050565b6000806000806000612b4b86611ec3565b94509450945094509450612ba786600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3c85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cd184600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1e83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612d9e86611ec3565b94509450945094509450612dfa85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7183826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ff186611ec3565b9450945094509450945061304d85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e284600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312f83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006131af86611ec3565b9450945094509450945061320b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132a085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333582600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ca84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341783826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060006006549050600069d3c21bcecceda1000000905060005b6005805490508110156136ea578260016000600584815481106134c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806135a8575081600260006005848154811061354057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156135c75760065469d3c21bcecceda100000094509450505050613733565b61365060016000600584815481106135db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611f1b90919063ffffffff16565b92506136db600260006005848154811061366657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611f1b90919063ffffffff16565b915080806001019150506134a2565b5061370a69d3c21bcecceda10000006006546129ba90919063ffffffff16565b82101561372a5760065469d3c21bcecceda1000000935093505050613733565b81819350935050505b9091565b600080831182906137e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137a857808201518184015260208101905061378d565b50505050905090810190601f1680156137d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137ef57fe5b049050809150509392505050565b61381282600654611f1b90919063ffffffff16565b60068190555061382d81600754611f6590919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220282b5d48628b765e2e45023172e215a2d0036fe007d371eed58125428658fd3564736f6c634300060c0033

Deployed Bytecode Sourcemap

12556:11112:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15895:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13597:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14509:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15620:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13874:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14678:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16721:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13783:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14999:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16279:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13977:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12000:148;;;:::i;:::-;;13269:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13309:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11358:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13688:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15225:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14183:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13405:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13372:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15502:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15725:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23569:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14358:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16982:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12303:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17322:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15895:376;15947:14;15964:12;:10;:12::i;:::-;15947:29;;15996:11;:19;16008:6;15996:19;;;;;;;;;;;;;;;;;;;;;;;;;15995:20;15987:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16076:15;16099:19;16110:7;16099:10;:19::i;:::-;16075:43;;;;;;16147:28;16167:7;16147;:15;16155:6;16147:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16129:7;:15;16137:6;16129:15;;;;;;;;;;;;;;;:46;;;;16196:20;16208:7;16196;;:11;;:20;;;;:::i;:::-;16186:7;:30;;;;16240:23;16255:7;16240:10;;:14;;:23;;;;:::i;:::-;16227:10;:36;;;;15895:376;;;:::o;13597:83::-;13634:13;13667:5;13660:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13597:83;:::o;14509:161::-;14584:4;14601:39;14610:12;:10;:12::i;:::-;14624:7;14633:6;14601:8;:39::i;:::-;14658:4;14651:11;;14509:161;;;;:::o;15620:87::-;15662:7;15689:10;;15682:17;;15620:87;:::o;13874:95::-;13927:7;13029:26;13947:14;;13874:95;:::o;14678:313::-;14776:4;14793:36;14803:6;14811:9;14822:6;14793:9;:36::i;:::-;14840:121;14849:6;14857:12;:10;:12::i;:::-;14871:89;14909:6;14871:89;;;;;;;;;;;;;;;;;:11;:19;14883:6;14871:19;;;;;;;;;;;;;;;:33;14891:12;:10;:12::i;:::-;14871:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14840:8;:121::i;:::-;14979:4;14972:11;;14678:313;;;;;:::o;16721:253::-;16787:7;16826;;16815;:18;;16807:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16891:19;16914:10;:8;:10::i;:::-;16891:33;;16942:24;16954:11;16942:7;:11;;:24;;;;:::i;:::-;16935:31;;;16721:253;;;:::o;13783:83::-;13824:5;13849:9;;;;;;;;;;;13842:16;;13783:83;:::o;14999:218::-;15087:4;15104:83;15113:12;:10;:12::i;:::-;15127:7;15136:50;15175:10;15136:11;:25;15148:12;:10;:12::i;:::-;15136:25;;;;;;;;;;;;;;;:34;15162:7;15136:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15104:8;:83::i;:::-;15205:4;15198:11;;14999:218;;;;:::o;16279:434::-;16369:7;13029:26;16397:7;:18;;16389:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16467:17;16462:244;;16502:15;16525:19;16536:7;16525:10;:19::i;:::-;16501:43;;;;;;16566:7;16559:14;;;;;16462:244;16608:23;16638:19;16649:7;16638:10;:19::i;:::-;16606:51;;;;;;16679:15;16672:22;;;16279:434;;;;;:::o;13977:198::-;14043:7;14067:11;:20;14079:7;14067:20;;;;;;;;;;;;;;;;;;;;;;;;;14063:49;;;14096:7;:16;14104:7;14096:16;;;;;;;;;;;;;;;;14089:23;;;;14063:49;14130:37;14150:7;:16;14158:7;14150:16;;;;;;;;;;;;;;;;14130:19;:37::i;:::-;14123:44;;13977:198;;;;:::o;12000:148::-;11580:12;:10;:12::i;:::-;11570:22;;:6;;;;;;;;;;:22;;;11562:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12107:1:::1;12070:40;;12091:6;::::0;::::1;;;;;;;;12070:40;;;;;;;;;;;;12138:1;12121:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;12000:148::o:0;13269:33::-;;;;;;;;;;;;;:::o;13309:54::-;;;;:::o;11358:79::-;11396:7;11423:6;;;;;;;;;;;11416:13;;11358:79;:::o;13688:87::-;13727:13;13760:7;13753:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13688:87;:::o;15225:269::-;15318:4;15335:129;15344:12;:10;:12::i;:::-;15358:7;15367:96;15406:15;15367:96;;;;;;;;;;;;;;;;;:11;:25;15379:12;:10;:12::i;:::-;15367:25;;;;;;;;;;;;;;;:34;15393:7;15367:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15335:8;:129::i;:::-;15482:4;15475:11;;15225:269;;;;:::o;14183:167::-;14261:4;14278:42;14288:12;:10;:12::i;:::-;14302:9;14313:6;14278:9;:42::i;:::-;14338:4;14331:11;;14183:167;;;;:::o;13405:43::-;;;;;;;;;;;;;;;;;:::o;13372:26::-;;;;;;;;;;;;;:::o;15502:110::-;15560:4;15584:11;:20;15596:7;15584:20;;;;;;;;;;;;;;;;;;;;;;;;;15577:27;;15502:110;;;:::o;15725:162::-;11580:12;:10;:12::i;:::-;11570:22;;:6;;;;;;;;;;:22;;;11562:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15819:60:::1;15863:5;15819:25;15831:12;13029:26;15819:11;;:25;;;;:::i;:::-;:29;;:60;;;;:::i;:::-;15804:12;:75;;;;15725:162:::0;:::o;23569:96::-;11580:12;:10;:12::i;:::-;11570:22;;:6;;;;;;;;;;:22;;;11562:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23653:4:::1;23639:11;;:18;;;;;;;;;;;;;;;;;;23569:96:::0;:::o;14358:143::-;14439:7;14466:11;:18;14478:5;14466:18;;;;;;;;;;;;;;;:27;14485:7;14466:27;;;;;;;;;;;;;;;;14459:34;;14358:143;;;;:::o;16982:332::-;11580:12;:10;:12::i;:::-;11570:22;;:6;;;;;;;;;;:22;;;11562:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17064:11:::1;:20;17076:7;17064:20;;;;;;;;;;;;;;;;;;;;;;;;;17063:21;17055:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17149:1;17130:7;:16;17138:7;17130:16;;;;;;;;;;;;;;;;:20;17127:108;;;17186:37;17206:7;:16;17214:7;17206:16;;;;;;;;;;;;;;;;17186:19;:37::i;:::-;17167:7;:16;17175:7;17167:16;;;;;;;;;;;;;;;:56;;;;17127:108;17268:4;17245:11;:20;17257:7;17245:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;17283:9;17298:7;17283:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16982:332:::0;:::o;12303:244::-;11580:12;:10;:12::i;:::-;11570:22;;:6;;;;;;;;;;:22;;;11562:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12412:1:::1;12392:22;;:8;:22;;;;12384:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12502:8;12473:38;;12494:6;::::0;::::1;;;;;;;;12473:38;;;;;;;;;;;;12531:8;12522:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;12303:244:::0;:::o;17322:478::-;11580:12;:10;:12::i;:::-;11570:22;;:6;;;;;;;;;;:22;;;11562:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17403:11:::1;:20;17415:7;17403:20;;;;;;;;;;;;;;;;;;;;;;;;;17395:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17471:9;17466:327;17490:9;:16;;;;17486:1;:20;17466:327;;;17548:7;17532:23;;:9;17542:1;17532:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;17528:254;;;17591:9;17620:1;17601:9;:16;;;;:20;17591:31;;;;;;;;;;;;;;;;;;;;;;;;;17576:9;17586:1;17576:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;17660:1;17641:7;:16;17649:7;17641:16;;;;;;;;;;;;;;;:20;;;;17703:5;17680:11;:20;17692:7;17680:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;17727:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17761:5;;17528:254;17508:3;;;;;;;17466:327;;;;17322:478:::0;:::o;61:106::-;114:15;149:10;142:17;;61:106;:::o;21830:411::-;21889:7;21898;21907;21916;21925;21946:23;21971:12;21987:20;21999:7;21987:11;:20::i;:::-;21945:62;;;;22018:19;22041:10;:8;:10::i;:::-;22018:33;;22063:15;22080:23;22105:12;22121:39;22133:7;22142:4;22148:11;22121;:39::i;:::-;22062:98;;;;;;22179:7;22188:15;22205:4;22211:15;22228:4;22171:62;;;;;;;;;;;;;;;;21830:411;;;;;;;:::o;1319:136::-;1377:7;1404:43;1408:1;1411;1404:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1397:50;;1319:136;;;;:::o;1130:181::-;1188:7;1208:9;1224:1;1220;:5;1208:17;;1249:1;1244;:6;;1236:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1302:1;1295:8;;;1130:181;;;;:::o;17808:337::-;17918:1;17901:19;;:5;:19;;;;17893:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17999:1;17980:21;;:7;:21;;;;17972:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18083:6;18053:11;:18;18065:5;18053:18;;;;;;;;;;;;;;;:27;18072:7;18053:27;;;;;;;;;;;;;;;:36;;;;18121:7;18105:32;;18114:5;18105:32;;;18130:6;18105:32;;;;;;;;;;;;;;;;;;17808:337;;;:::o;18153:1407::-;18268:1;18250:20;;:6;:20;;;;18242:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18352:1;18331:23;;:9;:23;;;;18323:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18422:1;18413:6;:10;18405:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18493:7;:5;:7::i;:::-;18483:17;;:6;:17;;;;:41;;;;;18517:7;:5;:7::i;:::-;18504:20;;:9;:20;;;;18483:41;18480:132;;;18555:12;;18545:6;:22;;18537:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18480:132;18672:11;;;;;;;;;;;18662:21;;:6;:21;;;18658:90;;;18720:15;18699:7;:18;18707:9;18699:18;;;;;;;;;;;;;;;:36;;;;18658:90;18802:11;;;;;;;;;;;18789:24;;:9;:24;;;18785:151;;;18874:15;;;;;;;;;;;18856:33;;:7;:15;18864:6;18856:15;;;;;;;;;;;;;;;;:33;18837:15;:52;;18829:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18785:151;18960:11;:19;18972:6;18960:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;18984:11;:22;18996:9;18984:22;;;;;;;;;;;;;;;;;;;;;;;;;18983:23;18960:46;18956:597;;;19023:48;19045:6;19053:9;19064:6;19023:21;:48::i;:::-;18956:597;;;19094:11;:19;19106:6;19094:19;;;;;;;;;;;;;;;;;;;;;;;;;19093:20;:46;;;;;19117:11;:22;19129:9;19117:22;;;;;;;;;;;;;;;;;;;;;;;;;19093:46;19089:464;;;19156:46;19176:6;19184:9;19195:6;19156:19;:46::i;:::-;19089:464;;;19225:11;:19;19237:6;19225:19;;;;;;;;;;;;;;;;;;;;;;;;;19224:20;:47;;;;;19249:11;:22;19261:9;19249:22;;;;;;;;;;;;;;;;;;;;;;;;;19248:23;19224:47;19220:333;;;19288:44;19306:6;19314:9;19325:6;19288:17;:44::i;:::-;19220:333;;;19354:11;:19;19366:6;19354:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;19377:11;:22;19389:9;19377:22;;;;;;;;;;;;;;;;;;;;;;;;;19354:45;19350:203;;;19416:48;19438:6;19446:9;19457:6;19416:21;:48::i;:::-;19350:203;;;19497:44;19515:6;19523:9;19534:6;19497:17;:44::i;:::-;19350:203;19220:333;19089:464;18956:597;18153:1407;;;:::o;1463:192::-;1549:7;1582:1;1577;:6;;1585:12;1569:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1609:9;1625:1;1621;:5;1609:17;;1646:1;1639:8;;;1463:192;;;;;:::o;22829:163::-;22870:7;22891:15;22908;22927:19;:17;:19::i;:::-;22890:56;;;;22964:20;22976:7;22964;:11;;:20;;;;:::i;:::-;22957:27;;;;22829:163;:::o;2610:132::-;2668:7;2695:39;2699:1;2702;2695:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2688:46;;2610:132;;;;:::o;1663:471::-;1721:7;1971:1;1966;:6;1962:47;;;1996:1;1989:8;;;;1962:47;2021:9;2037:1;2033;:5;2021:17;;2066:1;2061;2057;:5;;;;;;:10;2049:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2125:1;2118:8;;;1663:471;;;;;:::o;22249:230::-;22309:7;22318;22338:12;22353:23;22374:1;22353:16;22365:3;22353:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;22338:38;;22387:23;22413:17;22425:4;22413:7;:11;;:17;;;;:::i;:::-;22387:43;;22449:15;22466:4;22441:30;;;;;;22249:230;;;:::o;22487:334::-;22582:7;22591;22600;22620:15;22638:24;22650:11;22638:7;:11;;:24;;;;:::i;:::-;22620:42;;22673:12;22688:21;22697:11;22688:4;:8;;:21;;;;:::i;:::-;22673:36;;22720:23;22746:17;22758:4;22746:7;:11;;:17;;;;:::i;:::-;22720:43;;22782:7;22791:15;22808:4;22774:39;;;;;;;;;22487:334;;;;;;;:::o;20565:509::-;20668:15;20685:23;20710:12;20724:23;20749:12;20765:19;20776:7;20765:10;:19::i;:::-;20667:117;;;;;;;;;;20813:28;20833:7;20813;:15;20821:6;20813:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20795:7;:15;20803:6;20795:15;;;;;;;;;;;;;;;:46;;;;20870:28;20890:7;20870;:15;20878:6;20870:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20852:7;:15;20860:6;20852:15;;;;;;;;;;;;;;;:46;;;;20930:39;20953:15;20930:7;:18;20938:9;20930:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;20909:7;:18;20917:9;20909:18;;;;;;;;;;;;;;;:60;;;;20983:23;20995:4;21001;20983:11;:23::i;:::-;21039:9;21022:44;;21031:6;21022:44;;;21050:15;21022:44;;;;;;;;;;;;;;;;;;20565:509;;;;;;;;:::o;20028:529::-;20129:15;20146:23;20171:12;20185:23;20210:12;20226:19;20237:7;20226:10;:19::i;:::-;20128:117;;;;;;;;;;20274:28;20294:7;20274;:15;20282:6;20274:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20256:7;:15;20264:6;20256:15;;;;;;;;;;;;;;;:46;;;;20334:39;20357:15;20334:7;:18;20342:9;20334:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;20313:7;:18;20321:9;20313:18;;;;;;;;;;;;;;;:60;;;;20405:39;20428:15;20405:7;:18;20413:9;20405:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;20384:7;:18;20392:9;20384:18;;;;;;;;;;;;;;;:60;;;;20466:23;20478:4;20484;20466:11;:23::i;:::-;20522:9;20505:44;;20514:6;20505:44;;;20533:15;20505:44;;;;;;;;;;;;;;;;;;20028:529;;;;;;;;:::o;19568:452::-;19667:15;19684:23;19709:12;19723:23;19748:12;19764:19;19775:7;19764:10;:19::i;:::-;19666:117;;;;;;;;;;19812:28;19832:7;19812;:15;19820:6;19812:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19794:7;:15;19802:6;19794:15;;;;;;;;;;;;;;;:46;;;;19872:39;19895:15;19872:7;:18;19880:9;19872:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;19851:7;:18;19859:9;19851:18;;;;;;;;;;;;;;;:60;;;;19929:23;19941:4;19947;19929:11;:23::i;:::-;19985:9;19968:44;;19977:6;19968:44;;;19996:15;19968:44;;;;;;;;;;;;;;;;;;19568:452;;;;;;;;:::o;21082:585::-;21185:15;21202:23;21227:12;21241:23;21266:12;21282:19;21293:7;21282:10;:19::i;:::-;21184:117;;;;;;;;;;21330:28;21350:7;21330;:15;21338:6;21330:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;21312:7;:15;21320:6;21312:15;;;;;;;;;;;;;;;:46;;;;21387:28;21407:7;21387;:15;21395:6;21387:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;21369:7;:15;21377:6;21369:15;;;;;;;;;;;;;;;:46;;;;21447:39;21470:15;21447:7;:18;21455:9;21447:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;21426:7;:18;21434:9;21426:18;;;;;;;;;;;;;;;:60;;;;21518:39;21541:15;21518:7;:18;21526:9;21518:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;21497:7;:18;21505:9;21497:18;;;;;;;;;;;;;;;:60;;;;21576:23;21588:4;21594;21576:11;:23::i;:::-;21632:9;21615:44;;21624:6;21615:44;;;21643:15;21615:44;;;;;;;;;;;;;;;;;;21082:585;;;;;;;;:::o;23000:561::-;23050:7;23059;23079:15;23097:7;;23079:25;;23115:15;13029:26;23115:25;;23162:9;23157:289;23181:9;:16;;;;23177:1;:20;23157:289;;;23247:7;23223;:21;23231:9;23241:1;23231:12;;;;;;;;;;;;;;;;;;;;;;;;;23223:21;;;;;;;;;;;;;;;;:31;:66;;;;23282:7;23258;:21;23266:9;23276:1;23266:12;;;;;;;;;;;;;;;;;;;;;;;;;23258:21;;;;;;;;;;;;;;;;:31;23223:66;23219:97;;;23299:7;;13029:26;23291:25;;;;;;;;;23219:97;23341:34;23353:7;:21;23361:9;23371:1;23361:12;;;;;;;;;;;;;;;;;;;;;;;;;23353:21;;;;;;;;;;;;;;;;23341:7;:11;;:34;;;;:::i;:::-;23331:44;;23400:34;23412:7;:21;23420:9;23430:1;23420:12;;;;;;;;;;;;;;;;;;;;;;;;;23412:21;;;;;;;;;;;;;;;;23400:7;:11;;:34;;;;:::i;:::-;23390:44;;23199:3;;;;;;;23157:289;;;;23470:20;13029:26;23470:7;;:11;;:20;;;;:::i;:::-;23460:7;:30;23456:61;;;23500:7;;13029:26;23492:25;;;;;;;;23456:61;23536:7;23545;23528:25;;;;;;23000:561;;;:::o;3238:278::-;3324:7;3356:1;3352;:5;3359:12;3344:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3383:9;3399:1;3395;:5;;;;;;3383:17;;3507:1;3500:8;;;3238:278;;;;;:::o;21675:147::-;21753:17;21765:4;21753:7;;:11;;:17;;;;:::i;:::-;21743:7;:27;;;;21794:20;21809:4;21794:10;;:14;;:20;;;;:::i;:::-;21781:10;:33;;;;21675:147;;:::o

Swarm Source

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