ETH Price: $2,527.57 (+0.65%)

Token

ZUS (ZUS)
 

Overview

Max Total Supply

42,000,000,000,000 ZUS

Holders

1,067

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 12 Decimals)

Balance
0.000000000001 ZUS

Value
$0.00
0x6419bd66b7ca3ddc06affdf64678ac2aac2a12bc
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ZusToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 5 of 5: ZusToken.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.6.0;

import "./SafeMath.sol";
import "./TransferHelper.sol";
import "./Ownable.sol";
import "./IERC20.sol";

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

contract AutoBuyPool 
{
    address _router=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address _weth=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address _token;
    address _owner;
    address _feeowner=0x1e80051014CbeE4A30a01d77F54b75a2CDc59E44;
    constructor(address token,address owner)
    {
        _token=token;
        _owner=owner;
        IERC20(_token).approve(_router, 1e40);
        IERC20(_weth).approve(_router, 1e40);
    }

    modifier onlyOwnerA 
    {
        require(msg.sender==_owner || msg.sender==_token,"req");
        _;
    }

    function setFeeowner(address owner) public onlyOwnerA
    {
        _feeowner= owner;
    }

    function AutoSellAll() public onlyOwnerA
    {
        uint256 balance = IERC20(_token).balanceOf(address(this));
        if(balance >1)
          AutoSell(balance);
    }

    function AutoSell(uint256 amount) private
    {
         uint256 balance = IERC20(_token).balanceOf(address(this));
         if(amount > balance)
            amount=balance;
       
        address[] memory path = new address[](2);
        path[0]= _token;
        path[1]= _weth;
        if(amount > 0)
          IRouter(_router).swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, path, _owner, 1e40); 
    }

    function AutoSellB(uint256 amount) public onlyOwnerA
    {
        if(amount > 1)
            AutoSell(amount);
    }
 
    function AutoBuyAtFirst() public onlyOwnerA
    {
        address[] memory path = new address[](2);
        path[0]= _weth;
        path[1]= _token;
        uint256 balance = address(this).balance;
        address to=0xfa88b122Dd442cEBA0c54362151d61caBc11fE82;
        IRouter(_router).swapExactETHForTokensSupportingFeeOnTransferTokens{value : balance}(0, path,to , 1e40) ;
    }

    function TakeOutEth(address payable target,uint256 amount) public onlyOwnerA 
    {
        target.transfer(amount);
    }

    function charge() payable public
    {

    }

}


 contract ZusToken is Ownable
{
    using SafeMath for uint256;
 
    string  _name="ZUS";
    string  _symbol="ZUS";
    uint8  _decimals=12;
    uint256 _totalsupply;
 
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping(address=>uint256) _balances;
    mapping(address=>bool) _ex;
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    bool allowTrade=false;
    bool FirstbuyExecuted=false;
    uint256 startblock;
    address _ammpool;
    uint256 _feepct=10;
    uint256 _buyfee=10;
    uint256 _sellfee=10;
    address _feeowner;
    AutoBuyPool _autopool;
    mapping(uint256=>address) public _autopools;
    uint256 public createdautopool;

    bool raiseopen=false;
    bool decreseopen=false;

    uint256 randseed;
 
  
    constructor( )
    {
        _feeowner=0x63F237A09D1928Bd2bA157F6212F07aef83a0ba0;
        _ex[msg.sender]=true;
        _ex[0xfa88b122Dd442cEBA0c54362151d61caBc11fE82]=true;
        _ex[0x2E592D76f04305032E46adDC3F6d080B52fd5bb0]=true;
        _balances[msg.sender] = 42e24;
        _totalsupply=42e24;
        emit Transfer(address(0), msg.sender, 42e24);
    }

    function openRaise(bool ok) public onlyOwner 
    {
        raiseopen=ok;
    }

    function openDecrease(bool ok) public onlyOwner 
    {
        decreseopen=ok;
    }

    function CreateAutoPool() public onlyOwner 
    {
        if(address(_autopool)== address(0))
        {
             _autopool = new AutoBuyPool(address(this),msg.sender);
            _ex[address(_autopool)]=true;
        }
           
        else{
                
                AutoBuyPool apool =  new AutoBuyPool(address(this),msg.sender);
                _autopools[createdautopool] =  address(apool);
                _ex[address(apool)]=true;
                createdautopool ++;

                _balances[msg.sender] = _balances[msg.sender].sub(14e22);
                _balances[address(apool)] = _balances[address(apool)].add(14e22);
                emit Transfer(msg.sender, address(apool), 14e22);
            }
    }
    function getAutoPool() public view returns(address)
    {
        return address(_autopool);
    }
    function setEx(address user,bool ok) public onlyOwner 
    {
        _ex[user]=ok;
    }

    function setAmmpool(address ammpool) public onlyOwner 
    {
        _ammpool = ammpool;
    }

    function setFee(uint256 buyfee,uint256 sellfee,uint256 transferfee) public onlyOwner 
    {
        _buyfee=buyfee;
        _sellfee=sellfee;
        _feepct=transferfee;
    }

    function startTrade() public onlyOwner 
    {
        _autopool.AutoBuyAtFirst();
        allowTrade=true;
    }
 
    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  returns (uint256) {
        return _totalsupply;
    }

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

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

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

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

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

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

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

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

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

    function burn(uint256 amount) public  returns (bool)
    {
        _burn(msg.sender,amount);
        return true;
    }
 
    function _burn(address sender,uint256 tAmount) private
    {
         require(sender != address(0), "BEP20: transfer from the zero address");
        _balances[sender] = _balances[sender].sub(tAmount);
        _balances[address(0)] = _balances[address(0)].add(tAmount);
         emit Transfer(sender, address(0), tAmount);
    }

    function rand(uint256 _length,address sender ) private returns(uint256) {
        randseed++;
        uint256 random1 = uint256(keccak256(abi.encodePacked(sender,block.coinbase, randseed)));
        return  random1 % _length;
    }

    function randAddress(address sender) private  returns(address)
    {
        randseed++;
        uint160 rr=uint160(uint256(keccak256(abi.encodePacked(sender, randseed,block.timestamp))));
        address random1 = address(rr);
        return random1;
    }

    function getRandPool() public returns(address)
    {
        uint256 cc= rand(createdautopool,msg.sender);
        return _autopools[cc];
    }


    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount >= 3,"minamount");
        if(amount== _balances[sender])
            amount=amount.sub(1);

        _balances[sender]= _balances[sender].sub(amount);
        uint256 toamount=amount;
        if(!_ex[sender] && !_ex[recipient])
        {
            require(allowTrade,"not start");
            address pool = address(_autopool);
            if(sender==_ammpool)
            {
                uint256 fee= amount.mul(_buyfee).div(1000);
                toamount= toamount.sub(fee);
                _balances[pool]= _balances[pool].add(fee);
                emit Transfer(sender, pool, fee);
            }
            else if(recipient==_ammpool)
            {
                if(decreseopen)
                {
                    address poolE = getRandPool();
                    AutoBuyPool(poolE).AutoSellB(toamount.mul(60).div(100));
                }
                uint256 fee= amount.mul(_sellfee).div(1000);
                toamount= toamount.sub(fee);
                _balances[pool]= _balances[pool].add(fee);
                emit Transfer(sender, pool, fee);
                toamount=toamount.sub(2);

                address air1= randAddress(sender);
                _balances[air1]= _balances[air1].add(1);
                emit Transfer(sender, air1, 1);

                address air2= randAddress(sender);
                _balances[air2]= _balances[air2].add(1);
                emit Transfer(sender, air2, 1);
                _autopool.AutoSellAll();
            }
            else
            {
                uint256 fee= amount.mul(_feepct).div(1000);
                toamount= toamount.sub(fee);
                _balances[_feeowner]= _balances[_feeowner].add(fee);
                emit Transfer(sender, _feeowner, fee);
                _autopool.AutoSellAll();
                toamount=toamount.sub(2);
                address air1= randAddress(sender);
                _balances[air1]= _balances[air1].add(1);
                emit Transfer(sender, air1, 1);

                address air2= randAddress(sender);
                _balances[air2]= _balances[air2].add(1);
                emit Transfer(sender, air2, 1);
            }
        } 
        _balances[recipient] = _balances[recipient].add(toamount); 
        emit Transfer(sender, recipient, toamount);
    }
}

File 1 of 5: IERC20.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.4.0;

interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address _owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    function burnFrom(address account, uint256 amount) external returns (bool);

    function burn(uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 2 of 5: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/**
 * @dev The contract has an owner address, and provides basic authorization control whitch
 * simplifies the implementation of user permissions. This contract is based on the source code at:
 * https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/ownership/Ownable.sol
 */
contract Ownable
{

  /**
   * @dev Error constants.
   */
  string public constant NOT_CURRENT_OWNER = "018001";
  string public constant CANNOT_TRANSFER_TO_ZERO_ADDRESS = "018002";

  /**
   * @dev Current owner address.
   */
  address public owner;

  /**
   * @dev An event which is triggered when the owner is changed.
   * @param previousOwner The address of the previous owner.
   * @param newOwner The address of the new owner.
   */
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );

  /**
   * @dev The constructor sets the original `owner` of the contract to the sender account.
   */
  constructor()
  {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner()
  {
    require(msg.sender == owner, NOT_CURRENT_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 Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(
    address _newOwner
  )
    public
    onlyOwner
  {
    require(_newOwner != address(0), CANNOT_TRANSFER_TO_ZERO_ADDRESS);
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }

}

File 3 of 5: SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, 'SafeMath: addition overflow');

        return c;
    }

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

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint256 y) internal pure returns (uint256 z) {
        if (y > 3) {
            z = y;
            uint256 x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

File 4 of 5: TransferHelper.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.5.0;

// helper methods for interacting with BEP20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
    function safeApprove(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED');
    }

    function safeTransfer(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED');
    }

    function safeTransferFrom(
        address token,
        address from,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED');
    }

    function safeTransferBNB(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(success, 'TransferHelper: BNB_TRANSFER_FAILED');
    }
}

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":"CANNOT_TRANSFER_TO_ZERO_ADDRESS","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CreateAutoPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"NOT_CURRENT_OWNER","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_autopools","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createdautopool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAutoPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRandPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"ok","type":"bool"}],"name":"openDecrease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"ok","type":"bool"}],"name":"openRaise","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ammpool","type":"address"}],"name":"setAmmpool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"ok","type":"bool"}],"name":"setEx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyfee","type":"uint256"},{"internalType":"uint256","name":"sellfee","type":"uint256"},{"internalType":"uint256","name":"transferfee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405260036080908152625a555360e81b60a05260019062000024908262000238565b506040805180820190915260038152625a555360e81b60208201526002906200004e908262000238565b506003805460ff1916600c9081179091556008805461ffff19908116909155600a600b81905591829055600d919091556012805490911690553480156200009457600080fd5b50600080546001600160a01b0319908116339081178355600e80549092167363f237a09d1928bd2ba157f6212f07aef83a0ba017909155808252600760209081526040808420805460ff1990811660019081179092557f963911b5509d9568d128affed33715f9c5d7611ed03d4963a26ec94ea8fc605780548216831790557f524a279b1f4fd957a19b5207f00e5706d15995e4a5e89ecbe7bbad3f068e91c280549091169091179055600682528084206a22bdd88fed9efc6a00000090819055600481905590519081529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000304565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001be57607f821691505b602082108103620001df57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200023357600081815260208120601f850160051c810160208610156200020e5750805b601f850160051c820191505b818110156200022f578281556001016200021a565b5050505b505050565b81516001600160401b0381111562000254576200025462000193565b6200026c81620002658454620001a9565b84620001e5565b602080601f831160018114620002a457600084156200028b5750858301515b600019600386901b1c1916600185901b1785556200022f565b600085815260208120601f198616915b82811015620002d557888601518255948401946001909101908401620002b4565b5085821015620002f45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61287780620003146000396000f3fe60806040523480156200001157600080fd5b5060043610620001f55760003560e01c806379cc67901162000119578063a9059cbb11620000af578063e0db0e12116200007a578063e0db0e121462000485578063f2fde38b146200048f578063f3fe3bc314620004a6578063fba19c6814620004cc57600080fd5b8063a9059cbb1462000404578063bf9f6961146200041b578063d630f2631462000432578063dd62ed3e146200044957600080fd5b80639453c0dd11620000f05780639453c0dd14620003c257806395d89b4114620003cc578063a2d6bfdf14620003d6578063a457c2d714620003ed57600080fd5b806379cc67901462000371578063860d248a14620003885780638da5cb5b14620003ae57600080fd5b806342966c68116200018f5780636c58080111620001665780636c58080114620002ec57806370a0823114620002f6578063715018a6146200032257806379325891146200032c57600080fd5b806342966c6814620002a55780634457591214620002bc5780635b65b9ab14620002d557600080fd5b80631c1f2c9c11620001d05780631c1f2c9c146200025757806323b872dd1462000261578063313ce567146200027857806339509351146200028e57600080fd5b806306fdde0314620001fa578063095ea7b3146200021c57806318160ddd1462000244575b600080fd5b62000204620004de565b60405162000213919062001af7565b60405180910390f35b620002336200022d36600462001b64565b62000578565b604051901515815260200162000213565b6004545b60405190815260200162000213565b6200024860115481565b620002336200027236600462001b91565b62000591565b60035460405160ff909116815260200162000213565b620002336200029f36600462001b64565b62000601565b62000233620002b636600462001bd2565b6200063a565b620002d3620002cd36600462001bec565b62000650565b005b620002d3620002e636600462001c0a565b620006c8565b620002d362000723565b620002486200030736600462001bec565b6001600160a01b031660009081526006602052604090205490565b620002d3620007e9565b620003586200033d36600462001bd2565b6010602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200162000213565b620002336200038236600462001b64565b62000880565b620002046040518060400160405280600681526020016518189c18181960d11b81525081565b60005462000358906001600160a01b031681565b62000358620008df565b620002046200090e565b620002d3620003e736600462001c48565b6200091f565b62000233620003fe36600462001b64565b6200097f565b620002336200041536600462001b64565b620009d2565b620002d36200042c36600462001c66565b620009e1565b620002d36200044336600462001c48565b62000a59565b620002486200045a36600462001c9e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b620002d362000ac0565b620002d3620004a036600462001bec565b62000cf2565b620002046040518060400160405280600681526020016530313830303160d01b81525081565b600f546001600160a01b031662000358565b606060018054620004ef9062001ccd565b80601f01602080910402602001604051908101604052809291908181526020018280546200051d9062001ccd565b80156200056e5780601f1062000542576101008083540402835291602001916200056e565b820191906000526020600020905b8154815290600101906020018083116200055057829003601f168201915b5050505050905090565b60006200058733848462000de2565b5060015b92915050565b6000620005ea8433620005e485604051806060016040528060288152602001620027d5602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919062000f0a565b62000de2565b620005f784848462000f49565b5060019392505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909162000587918590620005e4908662001751565b6000620006483383620017bb565b506001919050565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620006a55760405162461bcd60e51b81526004016200069c919062001af7565b60405180910390fd5b50600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620007145760405162461bcd60e51b81526004016200069c919062001af7565b50600c92909255600d55600b55565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146200076f5760405162461bcd60e51b81526004016200069c919062001af7565b50600f60009054906101000a90046001600160a01b03166001600160a01b0316634bad02086040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620007c157600080fd5b505af1158015620007d6573d6000803e3d6000fd5b50506008805460ff191660011790555050565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620008355760405162461bcd60e51b81526004016200069c919062001af7565b50600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000620008d38333620005e485604051806060016040528060288152602001620027d5602891396001600160a01b0389166000908152600560209081526040808320338452909152902054919062000f0a565b620005878383620017bb565b600080620008f060115433620018bd565b6000908152601060205260409020546001600160a01b031692915050565b606060028054620004ef9062001ccd565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146200096b5760405162461bcd60e51b81526004016200069c919062001af7565b506012805460ff1916911515919091179055565b6000620005873384620005e4856040518060600160405280602581526020016200281d602591393360009081526005602090815260408083206001600160a01b038d168452909152902054919062000f0a565b60006200058733848462000f49565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000a2d5760405162461bcd60e51b81526004016200069c919062001af7565b506001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000aa55760405162461bcd60e51b81526004016200069c919062001af7565b50601280549115156101000261ff0019909216919091179055565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000b0c5760405162461bcd60e51b81526004016200069c919062001af7565b50600f546001600160a01b031662000b9d57303360405162000b2e9062001ae9565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562000b62573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b039290921691821790556000908152600760205260409020805460ff19166001179055565b6000303360405162000baf9062001ae9565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562000be3573d6000803e3d6000fd5b5060118054600090815260106020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260079091528120805460ff19166001179055815492935062000c398362001d1f565b90915550503360009081526006602052604090205462000c6490691da56a4b0835bf8000006200193a565b33600090815260066020526040808220929092556001600160a01b0383168152205462000c9c90691da56a4b0835bf80000062001751565b6001600160a01b038216600081815260066020526040908190209290925590513390600080516020620027fd8339815191529062000ce790691da56a4b0835bf800000815260200190565b60405180910390a350565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000d3e5760405162461bcd60e51b81526004016200069c919062001af7565b5060408051808201909152600681526518189c18181960d11b60208201526001600160a01b03821662000d865760405162461bcd60e51b81526004016200069c919062001af7565b50600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831662000e465760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016200069c565b6001600160a01b03821662000ea95760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200069c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000818484111562000f315760405162461bcd60e51b81526004016200069c919062001af7565b50600062000f40848662001d3b565b95945050505050565b6001600160a01b03831662000f725760405162461bcd60e51b81526004016200069c9062001d51565b6001600160a01b03821662000fd65760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016200069c565b6003811015620010155760405162461bcd60e51b81526020600482015260096024820152681b5a5b985b5bdd5b9d60ba1b60448201526064016200069c565b6001600160a01b03831660009081526006602052604090205481036200104557620010428160016200193a565b90505b6001600160a01b0383166000908152600660205260409020546200106a90826200193a565b6001600160a01b038416600090815260066020908152604080832093909355600790522054819060ff16158015620010bb57506001600160a01b03831660009081526007602052604090205460ff16155b15620016da5760085460ff16620011015760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b60448201526064016200069c565b600f54600a546001600160a01b039182169190811690861603620011cf576000620011466103e86200113f600c54876200197e90919063ffffffff16565b9062001a08565b90506200115483826200193a565b6001600160a01b0383166000908152600660205260409020549093506200117c908262001751565b6001600160a01b038084166000818152600660205260409081902093909355915190881690600080516020620027fd83398151915290620011c09085815260200190565b60405180910390a350620016d8565b600a546001600160a01b0390811690851603620014a657601254610100900460ff16156200127c57600062001203620008df565b90506001600160a01b03811663e49467926200122760646200113f87603c6200197e565b6040518263ffffffff1660e01b81526004016200124691815260200190565b600060405180830381600087803b1580156200126157600080fd5b505af115801562001276573d6000803e3d6000fd5b50505050505b60006200129c6103e86200113f600d54876200197e90919063ffffffff16565b9050620012aa83826200193a565b6001600160a01b038316600090815260066020526040902054909350620012d2908262001751565b6001600160a01b038084166000818152600660205260409081902093909355915190881690600080516020620027fd83398151915290620013169085815260200190565b60405180910390a36200132b8360026200193a565b925060006200133a8762001a4c565b6001600160a01b0381166000908152600660205260409020549091506200136390600162001751565b6001600160a01b038083166000818152600660205260409081902093909355915190891690600080516020620027fd83398151915290620013a8906001815260200190565b60405180910390a36000620013bd8862001a4c565b6001600160a01b038116600090815260066020526040902054909150620013e690600162001751565b6001600160a01b0380831660008181526006602052604090819020939093559151908a1690600080516020620027fd833981519152906200142b906001815260200190565b60405180910390a3600f60009054906101000a90046001600160a01b03166001600160a01b031663374cc0796040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200148457600080fd5b505af115801562001499573d6000803e3d6000fd5b50505050505050620016d8565b6000620014c66103e86200113f600b54876200197e90919063ffffffff16565b9050620014d483826200193a565b600e546001600160a01b0316600090815260066020526040902054909350620014fe908262001751565b600e80546001600160a01b0390811660009081526006602090815260409182902094909455915491518481529181169290891691600080516020620027fd833981519152910160405180910390a3600f60009054906101000a90046001600160a01b03166001600160a01b031663374cc0796040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200159d57600080fd5b505af1158015620015b2573d6000803e3d6000fd5b50505050620015cc6002846200193a90919063ffffffff16565b92506000620015db8762001a4c565b6001600160a01b0381166000908152600660205260409020549091506200160490600162001751565b6001600160a01b038083166000818152600660205260409081902093909355915190891690600080516020620027fd8339815191529062001649906001815260200190565b60405180910390a360006200165e8862001a4c565b6001600160a01b0381166000908152600660205260409020549091506200168790600162001751565b6001600160a01b0380831660008181526006602052604090819020939093559151908a1690600080516020620027fd83398151915290620016cc906001815260200190565b60405180910390a35050505b505b6001600160a01b038316600090815260066020526040902054620016ff908262001751565b6001600160a01b038085166000818152600660205260409081902093909355915190861690600080516020620027fd83398151915290620017439085815260200190565b60405180910390a350505050565b60008062001760838562001d96565b905083811015620017b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200069c565b9392505050565b6001600160a01b038216620017e45760405162461bcd60e51b81526004016200069c9062001d51565b6001600160a01b0382166000908152600660205260409020546200180990826200193a565b6001600160a01b03831660009081526006602052604081209190915580527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85462001855908262001751565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8919091556040516001600160a01b03841690600080516020620027fd83398151915290620018b19085815260200190565b60405180910390a35050565b6013805460009182620018d08362001d1f565b90915550506013546040516bffffffffffffffffffffffff19606085811b8216602084015241901b166034820152604881019190915260009060680160408051601f198184030181529190528051602090910120905062001932848262001dc2565b949350505050565b6000620017b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000f0a565b60008260000362001992575060006200058b565b6000620019a0838562001dd9565b905082620019af858362001df3565b14620017b45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016200069c565b6000620017b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062001ab6565b601380546000918262001a5f8362001d1f565b90915550506013546040516bffffffffffffffffffffffff19606085901b166020820152603481019190915242605482015260009060740160408051601f1981840301815291905280516020909101209392505050565b6000818362001ada5760405162461bcd60e51b81526004016200069c919062001af7565b50600062000f40848662001df3565b6109ca8062001e0b83390190565b600060208083528351808285015260005b8181101562001b265785810183015185820160400152820162001b08565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811462001b5f57600080fd5b919050565b6000806040838503121562001b7857600080fd5b62001b838362001b47565b946020939093013593505050565b60008060006060848603121562001ba757600080fd5b62001bb28462001b47565b925062001bc26020850162001b47565b9150604084013590509250925092565b60006020828403121562001be557600080fd5b5035919050565b60006020828403121562001bff57600080fd5b620017b48262001b47565b60008060006060848603121562001c2057600080fd5b505081359360208301359350604090920135919050565b8035801515811462001b5f57600080fd5b60006020828403121562001c5b57600080fd5b620017b48262001c37565b6000806040838503121562001c7a57600080fd5b62001c858362001b47565b915062001c956020840162001c37565b90509250929050565b6000806040838503121562001cb257600080fd5b62001cbd8362001b47565b915062001c956020840162001b47565b600181811c9082168062001ce257607f821691505b60208210810362001d0357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60006001820162001d345762001d3462001d09565b5060010190565b818103818111156200058b576200058b62001d09565b60208082526025908201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b808201808211156200058b576200058b62001d09565b634e487b7160e01b600052601260045260246000fd5b60008262001dd45762001dd462001dac565b500690565b80820281158282048414176200058b576200058b62001d09565b60008262001e055762001e0562001dac565b50049056fe6080604052600080546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d1790915560018054821673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc217905560048054909116731e80051014cbee4a30a01d77f54b75a2cdc59e4417905534801561007657600080fd5b506040516109ca3803806109ca833981016040819052610095916101ed565b600280546001600160a01b03199081166001600160a01b03858116918217909355600380549092168484161790915560005460405163095ea7b360e01b815292166004830152701d6329f1c35ca4bfabb9f561000000000060248301529063095ea7b3906044016020604051808303816000875af115801561011b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013f9190610220565b5060015460005460405163095ea7b360e01b81526001600160a01b039182166004820152701d6329f1c35ca4bfabb9f5610000000000602482015291169063095ea7b3906044016020604051808303816000875af11580156101a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c99190610220565b505050610249565b80516001600160a01b03811681146101e857600080fd5b919050565b6000806040838503121561020057600080fd5b610209836101d1565b9150610217602084016101d1565b90509250929050565b60006020828403121561023257600080fd5b8151801515811461024257600080fd5b9392505050565b610772806102586000396000f3fe6080604052600436106100555760003560e01c8063374cc0791461005a5780634bad020814610071578063551619131461006f5780636caa9143146100865780637fa41faf146100a6578063e4946792146100c6575b600080fd5b34801561006657600080fd5b5061006f6100e6565b005b34801561007d57600080fd5b5061006f6101b2565b34801561009257600080fd5b5061006f6100a13660046105d2565b610307565b3480156100b257600080fd5b5061006f6100c13660046105f6565b610368565b3480156100d257600080fd5b5061006f6100e1366004610622565b6103e2565b6003546001600160a01b031633148061010957506002546001600160a01b031633145b61012e5760405162461bcd60e51b81526004016101259061063b565b60405180910390fd5b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019b9190610658565b905060018111156101af576101af8161042f565b50565b6003546001600160a01b03163314806101d557506002546001600160a01b031633145b6101f15760405162461bcd60e51b81526004016101259061063b565b604080516002808252606082018352600092602083019080368337505060015482519293506001600160a01b03169183915060009061023257610232610671565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061026357610263610671565b6001600160a01b0392831660209182029290920101526000805460405163b6f9de9560e01b8152479373fa88b122dd442ceba0c54362151d61cabc11fe829392169163b6f9de959185916102d09188908790701d6329f1c35ca4bfabb9f5610000000000906004016106cb565b6000604051808303818588803b1580156102e957600080fd5b505af11580156102fd573d6000803e3d6000fd5b5050505050505050565b6003546001600160a01b031633148061032a57506002546001600160a01b031633145b6103465760405162461bcd60e51b81526004016101259061063b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633148061038b57506002546001600160a01b031633145b6103a75760405162461bcd60e51b81526004016101259061063b565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156103dd573d6000803e3d6000fd5b505050565b6003546001600160a01b031633148061040557506002546001600160a01b031633145b6104215760405162461bcd60e51b81526004016101259061063b565b60018111156101af576101af815b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049c9190610658565b9050808211156104aa578091505b604080516002808252606082018352600092602083019080368337505060025482519293506001600160a01b0316918391506000906104eb576104eb610671565b6001600160a01b039283166020918202929092010152600180548351921691839190811061051b5761051b610671565b6001600160a01b039092166020928302919091019091015282156103dd576000805460035460405163791ac94760e01b81526001600160a01b039283169363791ac94793610586938993889290911690701d6329f1c35ca4bfabb9f561000000000090600401610700565b600060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b50505050505050565b6001600160a01b03811681146101af57600080fd5b6000602082840312156105e457600080fd5b81356105ef816105bd565b9392505050565b6000806040838503121561060957600080fd5b8235610614816105bd565b946020939093013593505050565b60006020828403121561063457600080fd5b5035919050565b60208082526003908201526272657160e81b604082015260600190565b60006020828403121561066a57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156106c05781516001600160a01b03168752958201959082019060010161069b565b509495945050505050565b8481526080602082015260006106e46080830186610687565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a06040820152600061071f60a0830186610687565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220022924ac49c657f1fe8aa572007e32a618793e2f35e88488ac1aebee4479ca3864736f6c6343000811003345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206d8269e984d040317bd578c3855d5206ef4afeefbf8763c628aea184210071c264736f6c63430008110033

Deployed Bytecode

0x60806040523480156200001157600080fd5b5060043610620001f55760003560e01c806379cc67901162000119578063a9059cbb11620000af578063e0db0e12116200007a578063e0db0e121462000485578063f2fde38b146200048f578063f3fe3bc314620004a6578063fba19c6814620004cc57600080fd5b8063a9059cbb1462000404578063bf9f6961146200041b578063d630f2631462000432578063dd62ed3e146200044957600080fd5b80639453c0dd11620000f05780639453c0dd14620003c257806395d89b4114620003cc578063a2d6bfdf14620003d6578063a457c2d714620003ed57600080fd5b806379cc67901462000371578063860d248a14620003885780638da5cb5b14620003ae57600080fd5b806342966c68116200018f5780636c58080111620001665780636c58080114620002ec57806370a0823114620002f6578063715018a6146200032257806379325891146200032c57600080fd5b806342966c6814620002a55780634457591214620002bc5780635b65b9ab14620002d557600080fd5b80631c1f2c9c11620001d05780631c1f2c9c146200025757806323b872dd1462000261578063313ce567146200027857806339509351146200028e57600080fd5b806306fdde0314620001fa578063095ea7b3146200021c57806318160ddd1462000244575b600080fd5b62000204620004de565b60405162000213919062001af7565b60405180910390f35b620002336200022d36600462001b64565b62000578565b604051901515815260200162000213565b6004545b60405190815260200162000213565b6200024860115481565b620002336200027236600462001b91565b62000591565b60035460405160ff909116815260200162000213565b620002336200029f36600462001b64565b62000601565b62000233620002b636600462001bd2565b6200063a565b620002d3620002cd36600462001bec565b62000650565b005b620002d3620002e636600462001c0a565b620006c8565b620002d362000723565b620002486200030736600462001bec565b6001600160a01b031660009081526006602052604090205490565b620002d3620007e9565b620003586200033d36600462001bd2565b6010602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200162000213565b620002336200038236600462001b64565b62000880565b620002046040518060400160405280600681526020016518189c18181960d11b81525081565b60005462000358906001600160a01b031681565b62000358620008df565b620002046200090e565b620002d3620003e736600462001c48565b6200091f565b62000233620003fe36600462001b64565b6200097f565b620002336200041536600462001b64565b620009d2565b620002d36200042c36600462001c66565b620009e1565b620002d36200044336600462001c48565b62000a59565b620002486200045a36600462001c9e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b620002d362000ac0565b620002d3620004a036600462001bec565b62000cf2565b620002046040518060400160405280600681526020016530313830303160d01b81525081565b600f546001600160a01b031662000358565b606060018054620004ef9062001ccd565b80601f01602080910402602001604051908101604052809291908181526020018280546200051d9062001ccd565b80156200056e5780601f1062000542576101008083540402835291602001916200056e565b820191906000526020600020905b8154815290600101906020018083116200055057829003601f168201915b5050505050905090565b60006200058733848462000de2565b5060015b92915050565b6000620005ea8433620005e485604051806060016040528060288152602001620027d5602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919062000f0a565b62000de2565b620005f784848462000f49565b5060019392505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909162000587918590620005e4908662001751565b6000620006483383620017bb565b506001919050565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620006a55760405162461bcd60e51b81526004016200069c919062001af7565b60405180910390fd5b50600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620007145760405162461bcd60e51b81526004016200069c919062001af7565b50600c92909255600d55600b55565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146200076f5760405162461bcd60e51b81526004016200069c919062001af7565b50600f60009054906101000a90046001600160a01b03166001600160a01b0316634bad02086040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620007c157600080fd5b505af1158015620007d6573d6000803e3d6000fd5b50506008805460ff191660011790555050565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620008355760405162461bcd60e51b81526004016200069c919062001af7565b50600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000620008d38333620005e485604051806060016040528060288152602001620027d5602891396001600160a01b0389166000908152600560209081526040808320338452909152902054919062000f0a565b620005878383620017bb565b600080620008f060115433620018bd565b6000908152601060205260409020546001600160a01b031692915050565b606060028054620004ef9062001ccd565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146200096b5760405162461bcd60e51b81526004016200069c919062001af7565b506012805460ff1916911515919091179055565b6000620005873384620005e4856040518060600160405280602581526020016200281d602591393360009081526005602090815260408083206001600160a01b038d168452909152902054919062000f0a565b60006200058733848462000f49565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000a2d5760405162461bcd60e51b81526004016200069c919062001af7565b506001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000aa55760405162461bcd60e51b81526004016200069c919062001af7565b50601280549115156101000261ff0019909216919091179055565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000b0c5760405162461bcd60e51b81526004016200069c919062001af7565b50600f546001600160a01b031662000b9d57303360405162000b2e9062001ae9565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562000b62573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b039290921691821790556000908152600760205260409020805460ff19166001179055565b6000303360405162000baf9062001ae9565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562000be3573d6000803e3d6000fd5b5060118054600090815260106020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260079091528120805460ff19166001179055815492935062000c398362001d1f565b90915550503360009081526006602052604090205462000c6490691da56a4b0835bf8000006200193a565b33600090815260066020526040808220929092556001600160a01b0383168152205462000c9c90691da56a4b0835bf80000062001751565b6001600160a01b038216600081815260066020526040908190209290925590513390600080516020620027fd8339815191529062000ce790691da56a4b0835bf800000815260200190565b60405180910390a350565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331462000d3e5760405162461bcd60e51b81526004016200069c919062001af7565b5060408051808201909152600681526518189c18181960d11b60208201526001600160a01b03821662000d865760405162461bcd60e51b81526004016200069c919062001af7565b50600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831662000e465760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016200069c565b6001600160a01b03821662000ea95760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200069c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000818484111562000f315760405162461bcd60e51b81526004016200069c919062001af7565b50600062000f40848662001d3b565b95945050505050565b6001600160a01b03831662000f725760405162461bcd60e51b81526004016200069c9062001d51565b6001600160a01b03821662000fd65760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016200069c565b6003811015620010155760405162461bcd60e51b81526020600482015260096024820152681b5a5b985b5bdd5b9d60ba1b60448201526064016200069c565b6001600160a01b03831660009081526006602052604090205481036200104557620010428160016200193a565b90505b6001600160a01b0383166000908152600660205260409020546200106a90826200193a565b6001600160a01b038416600090815260066020908152604080832093909355600790522054819060ff16158015620010bb57506001600160a01b03831660009081526007602052604090205460ff16155b15620016da5760085460ff16620011015760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b60448201526064016200069c565b600f54600a546001600160a01b039182169190811690861603620011cf576000620011466103e86200113f600c54876200197e90919063ffffffff16565b9062001a08565b90506200115483826200193a565b6001600160a01b0383166000908152600660205260409020549093506200117c908262001751565b6001600160a01b038084166000818152600660205260409081902093909355915190881690600080516020620027fd83398151915290620011c09085815260200190565b60405180910390a350620016d8565b600a546001600160a01b0390811690851603620014a657601254610100900460ff16156200127c57600062001203620008df565b90506001600160a01b03811663e49467926200122760646200113f87603c6200197e565b6040518263ffffffff1660e01b81526004016200124691815260200190565b600060405180830381600087803b1580156200126157600080fd5b505af115801562001276573d6000803e3d6000fd5b50505050505b60006200129c6103e86200113f600d54876200197e90919063ffffffff16565b9050620012aa83826200193a565b6001600160a01b038316600090815260066020526040902054909350620012d2908262001751565b6001600160a01b038084166000818152600660205260409081902093909355915190881690600080516020620027fd83398151915290620013169085815260200190565b60405180910390a36200132b8360026200193a565b925060006200133a8762001a4c565b6001600160a01b0381166000908152600660205260409020549091506200136390600162001751565b6001600160a01b038083166000818152600660205260409081902093909355915190891690600080516020620027fd83398151915290620013a8906001815260200190565b60405180910390a36000620013bd8862001a4c565b6001600160a01b038116600090815260066020526040902054909150620013e690600162001751565b6001600160a01b0380831660008181526006602052604090819020939093559151908a1690600080516020620027fd833981519152906200142b906001815260200190565b60405180910390a3600f60009054906101000a90046001600160a01b03166001600160a01b031663374cc0796040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200148457600080fd5b505af115801562001499573d6000803e3d6000fd5b50505050505050620016d8565b6000620014c66103e86200113f600b54876200197e90919063ffffffff16565b9050620014d483826200193a565b600e546001600160a01b0316600090815260066020526040902054909350620014fe908262001751565b600e80546001600160a01b0390811660009081526006602090815260409182902094909455915491518481529181169290891691600080516020620027fd833981519152910160405180910390a3600f60009054906101000a90046001600160a01b03166001600160a01b031663374cc0796040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200159d57600080fd5b505af1158015620015b2573d6000803e3d6000fd5b50505050620015cc6002846200193a90919063ffffffff16565b92506000620015db8762001a4c565b6001600160a01b0381166000908152600660205260409020549091506200160490600162001751565b6001600160a01b038083166000818152600660205260409081902093909355915190891690600080516020620027fd8339815191529062001649906001815260200190565b60405180910390a360006200165e8862001a4c565b6001600160a01b0381166000908152600660205260409020549091506200168790600162001751565b6001600160a01b0380831660008181526006602052604090819020939093559151908a1690600080516020620027fd83398151915290620016cc906001815260200190565b60405180910390a35050505b505b6001600160a01b038316600090815260066020526040902054620016ff908262001751565b6001600160a01b038085166000818152600660205260409081902093909355915190861690600080516020620027fd83398151915290620017439085815260200190565b60405180910390a350505050565b60008062001760838562001d96565b905083811015620017b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200069c565b9392505050565b6001600160a01b038216620017e45760405162461bcd60e51b81526004016200069c9062001d51565b6001600160a01b0382166000908152600660205260409020546200180990826200193a565b6001600160a01b03831660009081526006602052604081209190915580527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85462001855908262001751565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8919091556040516001600160a01b03841690600080516020620027fd83398151915290620018b19085815260200190565b60405180910390a35050565b6013805460009182620018d08362001d1f565b90915550506013546040516bffffffffffffffffffffffff19606085811b8216602084015241901b166034820152604881019190915260009060680160408051601f198184030181529190528051602090910120905062001932848262001dc2565b949350505050565b6000620017b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000f0a565b60008260000362001992575060006200058b565b6000620019a0838562001dd9565b905082620019af858362001df3565b14620017b45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016200069c565b6000620017b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062001ab6565b601380546000918262001a5f8362001d1f565b90915550506013546040516bffffffffffffffffffffffff19606085901b166020820152603481019190915242605482015260009060740160408051601f1981840301815291905280516020909101209392505050565b6000818362001ada5760405162461bcd60e51b81526004016200069c919062001af7565b50600062000f40848662001df3565b6109ca8062001e0b83390190565b600060208083528351808285015260005b8181101562001b265785810183015185820160400152820162001b08565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811462001b5f57600080fd5b919050565b6000806040838503121562001b7857600080fd5b62001b838362001b47565b946020939093013593505050565b60008060006060848603121562001ba757600080fd5b62001bb28462001b47565b925062001bc26020850162001b47565b9150604084013590509250925092565b60006020828403121562001be557600080fd5b5035919050565b60006020828403121562001bff57600080fd5b620017b48262001b47565b60008060006060848603121562001c2057600080fd5b505081359360208301359350604090920135919050565b8035801515811462001b5f57600080fd5b60006020828403121562001c5b57600080fd5b620017b48262001c37565b6000806040838503121562001c7a57600080fd5b62001c858362001b47565b915062001c956020840162001c37565b90509250929050565b6000806040838503121562001cb257600080fd5b62001cbd8362001b47565b915062001c956020840162001b47565b600181811c9082168062001ce257607f821691505b60208210810362001d0357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60006001820162001d345762001d3462001d09565b5060010190565b818103818111156200058b576200058b62001d09565b60208082526025908201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b808201808211156200058b576200058b62001d09565b634e487b7160e01b600052601260045260246000fd5b60008262001dd45762001dd462001dac565b500690565b80820281158282048414176200058b576200058b62001d09565b60008262001e055762001e0562001dac565b50049056fe6080604052600080546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d1790915560018054821673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc217905560048054909116731e80051014cbee4a30a01d77f54b75a2cdc59e4417905534801561007657600080fd5b506040516109ca3803806109ca833981016040819052610095916101ed565b600280546001600160a01b03199081166001600160a01b03858116918217909355600380549092168484161790915560005460405163095ea7b360e01b815292166004830152701d6329f1c35ca4bfabb9f561000000000060248301529063095ea7b3906044016020604051808303816000875af115801561011b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013f9190610220565b5060015460005460405163095ea7b360e01b81526001600160a01b039182166004820152701d6329f1c35ca4bfabb9f5610000000000602482015291169063095ea7b3906044016020604051808303816000875af11580156101a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c99190610220565b505050610249565b80516001600160a01b03811681146101e857600080fd5b919050565b6000806040838503121561020057600080fd5b610209836101d1565b9150610217602084016101d1565b90509250929050565b60006020828403121561023257600080fd5b8151801515811461024257600080fd5b9392505050565b610772806102586000396000f3fe6080604052600436106100555760003560e01c8063374cc0791461005a5780634bad020814610071578063551619131461006f5780636caa9143146100865780637fa41faf146100a6578063e4946792146100c6575b600080fd5b34801561006657600080fd5b5061006f6100e6565b005b34801561007d57600080fd5b5061006f6101b2565b34801561009257600080fd5b5061006f6100a13660046105d2565b610307565b3480156100b257600080fd5b5061006f6100c13660046105f6565b610368565b3480156100d257600080fd5b5061006f6100e1366004610622565b6103e2565b6003546001600160a01b031633148061010957506002546001600160a01b031633145b61012e5760405162461bcd60e51b81526004016101259061063b565b60405180910390fd5b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019b9190610658565b905060018111156101af576101af8161042f565b50565b6003546001600160a01b03163314806101d557506002546001600160a01b031633145b6101f15760405162461bcd60e51b81526004016101259061063b565b604080516002808252606082018352600092602083019080368337505060015482519293506001600160a01b03169183915060009061023257610232610671565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061026357610263610671565b6001600160a01b0392831660209182029290920101526000805460405163b6f9de9560e01b8152479373fa88b122dd442ceba0c54362151d61cabc11fe829392169163b6f9de959185916102d09188908790701d6329f1c35ca4bfabb9f5610000000000906004016106cb565b6000604051808303818588803b1580156102e957600080fd5b505af11580156102fd573d6000803e3d6000fd5b5050505050505050565b6003546001600160a01b031633148061032a57506002546001600160a01b031633145b6103465760405162461bcd60e51b81526004016101259061063b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633148061038b57506002546001600160a01b031633145b6103a75760405162461bcd60e51b81526004016101259061063b565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156103dd573d6000803e3d6000fd5b505050565b6003546001600160a01b031633148061040557506002546001600160a01b031633145b6104215760405162461bcd60e51b81526004016101259061063b565b60018111156101af576101af815b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049c9190610658565b9050808211156104aa578091505b604080516002808252606082018352600092602083019080368337505060025482519293506001600160a01b0316918391506000906104eb576104eb610671565b6001600160a01b039283166020918202929092010152600180548351921691839190811061051b5761051b610671565b6001600160a01b039092166020928302919091019091015282156103dd576000805460035460405163791ac94760e01b81526001600160a01b039283169363791ac94793610586938993889290911690701d6329f1c35ca4bfabb9f561000000000090600401610700565b600060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b50505050505050565b6001600160a01b03811681146101af57600080fd5b6000602082840312156105e457600080fd5b81356105ef816105bd565b9392505050565b6000806040838503121561060957600080fd5b8235610614816105bd565b946020939093013593505050565b60006020828403121561063457600080fd5b5035919050565b60208082526003908201526272657160e81b604082015260600190565b60006020828403121561066a57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156106c05781516001600160a01b03168752958201959082019060010161069b565b509495945050505050565b8481526080602082015260006106e46080830186610687565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a06040820152600061071f60a0830186610687565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220022924ac49c657f1fe8aa572007e32a618793e2f35e88488ac1aebee4479ca3864736f6c6343000811003345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206d8269e984d040317bd578c3855d5206ef4afeefbf8763c628aea184210071c264736f6c63430008110033

Deployed Bytecode Sourcemap

2655:8998:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5513:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6503:151;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:5;;1162:22;1144:41;;1132:2;1117:18;6503:151:4;1004:187:5;5792:92:4;5864:12;;5792:92;;;1342:25:5;;;1330:2;1315:18;5792:92:4;1196:177:5;3441:30:4;;;;;;6662:302;;;;;;:::i;:::-;;:::i;5701:83::-;5767:9;;5701:83;;5767:9;;;;1853:36:5;;1841:2;1826:18;5701:83:4;1711:184:5;7135:207:4;;;;;;:::i;:::-;;:::i;7892:123::-;;;;;;:::i;:::-;;:::i;5094:97::-;;;;;;:::i;:::-;;:::i;:::-;;5199:181;;;;;;:::i;:::-;;:::i;5388:116::-;;;:::i;6240:111::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6325:18:4;6298:7;6325:18;;;:9;:18;;;;;;;6240:111;1616:146:1;;;:::i;3391:43:4:-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3391:43:4;;;;;;-1:-1:-1;;;;;2761:32:5;;;2743:51;;2731:2;2716:18;3391:43:4;2597:203:5;7616:268:4;;;;;;:::i;:::-;;:::i;488:65:1:-;;;;;;;;;;;;;;;-1:-1:-1;;;488:65:1;;;;;608:20;;;;;-1:-1:-1;;;;;608:20:1;;;8880:147:4;;;:::i;5605:88::-;;;:::i;3948:82::-;;;;;;:::i;:::-;;:::i;7350:258::-;;;;;;:::i;:::-;;:::i;6971:157::-;;;;;;:::i;:::-;;:::i;4995:91::-;;;;;;:::i;:::-;;:::i;4038:87::-;;;;;;:::i;:::-;;:::i;6360:135::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6460:18:4;;;6433:7;6460:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6360:135;4133:749;;;:::i;1930:238:1:-;;;;;;:::i;:::-;;:::i;432:51::-;;;;;;;;;;;;;;;-1:-1:-1;;;432:51:1;;;;;4888:101:4;4971:9;;-1:-1:-1;;;;;4971:9:4;4888:101;;5513:84;5551:13;5584:5;5577:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5513:84;:::o;6503:151::-;6570:4;6587:37;6596:10;6608:7;6617:6;6587:8;:37::i;:::-;-1:-1:-1;6642:4:4;6503:151;;;;;:::o;6662:302::-;6752:4;6770:117;6779:6;6787:10;6799:87;6835:6;6799:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6799:19:4;;;;;;:11;:19;;;;;;;;6819:10;6799:31;;;;;;;;;:87;:35;:87::i;:::-;6770:8;:117::i;:::-;6898:36;6908:6;6916:9;6927:6;6898:9;:36::i;:::-;-1:-1:-1;6952:4:4;6662:302;;;;;:::o;7135:207::-;7242:10;7216:4;7263:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7263:32:4;;;;;;;;;;7216:4;;7233:79;;7254:7;;7263:48;;7300:10;7263:36;:48::i;7892:123::-;7939:4;7961:24;7967:10;7978:6;7961:5;:24::i;:::-;-1:-1:-1;8003:4:4;;7892:123;-1:-1:-1;7892:123:4:o;5094:97::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;5165:8:4::1;:18:::0;;-1:-1:-1;;;;;;5165:18:4::1;-1:-1:-1::0;;;;;5165:18:4;;;::::1;::::0;;;::::1;::::0;;5094:97::o;5199:181::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;5301:7:4::1;:14:::0;;;;5326:8:::1;:16:::0;5353:7:::1;:19:::0;5199:181::o;5388:116::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;;5444:9:4::1;;;;;;;;;-1:-1:-1::0;;;;;5444:9:4::1;-1:-1:-1::0;;;;;5444:24:4::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5481:10:4::1;:15:::0;;-1:-1:-1;;5481:15:4::1;5492:4;5481:15;::::0;;-1:-1:-1;;5388:116:4:o;1616:146:1:-;1226:5;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;1722:1:1::1;1707:5:::0;;1686:39:::1;::::0;-1:-1:-1;;;;;1707:5:1;;::::1;::::0;1686:39:::1;::::0;1722:1;;1686:39:::1;1752:1;1736:18:::0;;-1:-1:-1;;;;;;1736:18:1::1;::::0;;1616:146::o;7616:268:4:-;7684:4;7706:117;7715:6;7723:10;7735:87;7771:6;7735:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7735:19:4;;;;;;:11;:19;;;;;;;;7755:10;7735:31;;;;;;;;;:87;:35;:87::i;7706:117::-;7834:20;7840:6;7847;7834:5;:20::i;8880:147::-;8918:7;8943:10;8955:32;8960:15;;8976:10;8955:4;:32::i;:::-;9005:14;;;;:10;:14;;;;;;-1:-1:-1;;;;;9005:14:4;;8880:147;-1:-1:-1;;8880:147:4:o;5605:88::-;5645:13;5678:7;5671:14;;;;;:::i;3948:82::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;4010:9:4::1;:12:::0;;-1:-1:-1;;4010:12:4::1;::::0;::::1;;::::0;;;::::1;::::0;;3948:82::o;7350:258::-;7436:4;7453:125;7462:10;7474:7;7483:94;7520:15;7483:94;;;;;;;;;;;;;;;;;7495:10;7483:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7483:32:4;;;;;;;;;;;:94;:36;:94::i;6971:157::-;7041:4;7058:40;7068:10;7080:9;7091:6;7058:9;:40::i;4995:91::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;5066:9:4;;;::::1;;::::0;;;:3:::1;:9;::::0;;;;:12;;-1:-1:-1;;5066:12:4::1;::::0;::::1;;::::0;;;::::1;::::0;;4995:91::o;4038:87::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;4103:11:4::1;:14:::0;;;::::1;;;;-1:-1:-1::0;;4103:14:4;;::::1;::::0;;;::::1;::::0;;4038:87::o;4133:749::-;1226:5:1;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;4204:9:4::1;::::0;-1:-1:-1;;;;;4204:9:4::1;4193:682;;4290:4;4296:10;4266:41;;;;;:::i;:::-;-1:-1:-1::0;;;;;4294:15:5;;;4276:34;;4346:15;;4341:2;4326:18;;4319:43;4226:2;4211:18;4266:41:4::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;4254:9:4::1;:53:::0;;-1:-1:-1;;;;;;4254:53:4::1;-1:-1:-1::0;;;;;4254:53:4;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;4322:23:4;;;:3:::1;:23;::::0;;;;:28;;-1:-1:-1;;4322:28:4::1;-1:-1:-1::0;4322:28:4::1;::::0;;4133:749::o;4193:682::-:1;4426:17;4471:4;4477:10;4447:41;;;;;:::i;:::-;-1:-1:-1::0;;;;;4294:15:5;;;4276:34;;4346:15;;4341:2;4326:18;;4319:43;4226:2;4211:18;4447:41:4::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;4518:15:4::1;::::0;;4507:27:::1;::::0;;;:10:::1;:27;::::0;;;;;;;:45;;-1:-1:-1;;;;;;4507:45:4::1;-1:-1:-1::0;;;;;4507:45:4;::::1;::::0;;::::1;::::0;;;4571:19;;:3:::1;:19:::0;;;;;:24;;-1:-1:-1;;4571:24:4::1;-1:-1:-1::0;4571:24:4::1;::::0;;4614:18;;4507:45;;-1:-1:-1;4614:18:4::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;4687:10:4::1;4677:21;::::0;;;:9:::1;:21;::::0;;;;;:32:::1;::::0;4703:5:::1;4677:25;:32::i;:::-;4663:10;4653:21;::::0;;;:9:::1;:21;::::0;;;;;:56;;;;-1:-1:-1;;;;;4756:25:4;::::1;::::0;;;;:36:::1;::::0;4786:5:::1;4756:29;:36::i;:::-;-1:-1:-1::0;;;;;4728:25:4;::::1;;::::0;;;:9:::1;:25;::::0;;;;;;:64;;;;4816:43;;4825:10:::1;::::0;-1:-1:-1;;;;;;;;;;;4816:43:4;::::1;::::0;4853:5:::1;1342:25:5::0;;1330:2;1315:18;;1196:177;4816:43:4::1;;;;;;;;4389:486;4133:749::o:0;1930:238:1:-;1226:5;;1233:17;;;;;;;;;;;;-1:-1:-1;;;1233:17:1;;;;;-1:-1:-1;;;;;1226:5:1;1212:10;:19;1204:47;;;;-1:-1:-1;;;1204:47:1;;;;;;;;:::i;:::-;-1:-1:-1;2056:31:1::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2056:31:1::1;::::0;::::1;::::0;-1:-1:-1;;;;;2031:23:1;::::1;2023:65;;;;-1:-1:-1::0;;;2023:65:1::1;;;;;;;;:::i;:::-;-1:-1:-1::0;2121:5:1::1;::::0;;2100:38:::1;::::0;-1:-1:-1;;;;;2100:38:1;;::::1;::::0;2121:5;::::1;::::0;2100:38:::1;::::0;::::1;2145:5;:17:::0;;-1:-1:-1;;;;;;2145:17:1::1;-1:-1:-1::0;;;;;2145:17:1;;;::::1;::::0;;;::::1;::::0;;1930:238::o;5895:337:4:-;-1:-1:-1;;;;;5988:19:4;;5980:68;;;;-1:-1:-1;;;5980:68:4;;5060:2:5;5980:68:4;;;5042:21:5;5099:2;5079:18;;;5072:30;5138:34;5118:18;;;5111:62;-1:-1:-1;;;5189:18:5;;;5182:34;5233:19;;5980:68:4;4858:400:5;5980:68:4;-1:-1:-1;;;;;6067:21:4;;6059:68;;;;-1:-1:-1;;;6059:68:4;;5465:2:5;6059:68:4;;;5447:21:5;5504:2;5484:18;;;5477:30;5543:34;5523:18;;;5516:62;-1:-1:-1;;;5594:18:5;;;5587:32;5636:19;;6059:68:4;5263:398:5;6059:68:4;-1:-1:-1;;;;;6140:18:4;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6192:32;;1342:25:5;;;6192:32:4;;1315:18:5;6192:32:4;;;;;;;5895:337;;;:::o;2259:226:2:-;2379:7;2415:12;2407:6;;;;2399:29;;;;-1:-1:-1;;;2399:29:2;;;;;;;;:::i;:::-;-1:-1:-1;2439:9:2;2451:5;2455:1;2451;:5;:::i;:::-;2439:17;2259:226;-1:-1:-1;;;;;2259:226:2:o;9037:2613:4:-;-1:-1:-1;;;;;9134:20:4;;9126:70;;;;-1:-1:-1;;;9126:70:4;;;;;;;:::i;:::-;-1:-1:-1;;;;;9215:23:4;;9207:71;;;;-1:-1:-1;;;9207:71:4;;6407:2:5;9207:71:4;;;6389:21:5;6446:2;6426:18;;;6419:30;6485:34;6465:18;;;6458:62;-1:-1:-1;;;6536:18:5;;;6529:33;6579:19;;9207:71:4;6205:399:5;9207:71:4;9307:1;9297:6;:11;;9289:32;;;;-1:-1:-1;;;9289:32:4;;6811:2:5;9289:32:4;;;6793:21:5;6850:1;6830:18;;;6823:29;-1:-1:-1;;;6868:18:5;;;6861:39;6917:18;;9289:32:4;6609:332:5;9289:32:4;-1:-1:-1;;;;;9344:17:4;;;;;;:9;:17;;;;;;9335:26;;9332:64;;9383:13;:6;9394:1;9383:10;:13::i;:::-;9376:20;;9332:64;-1:-1:-1;;;;;9428:17:4;;;;;;:9;:17;;;;;;:29;;9450:6;9428:21;:29::i;:::-;-1:-1:-1;;;;;9409:17:4;;;;;;:9;:17;;;;;;;;:48;;;;9506:3;:11;;;;9485:6;;9506:11;;9505:12;:31;;;;-1:-1:-1;;;;;;9522:14:4;;;;;;:3;:14;;;;;;;;9521:15;9505:31;9502:2018;;;9570:10;;;;9562:31;;;;-1:-1:-1;;;9562:31:4;;7148:2:5;9562:31:4;;;7130:21:5;7187:1;7167:18;;;7160:29;-1:-1:-1;;;7205:18:5;;;7198:39;7254:18;;9562:31:4;6946:332:5;9562:31:4;9631:9;;9667:8;;-1:-1:-1;;;;;9631:9:4;;;;9667:8;;;9659:16;;;;9656:1853;;9709:11;9722:29;9746:4;9722:19;9733:7;;9722:6;:10;;:19;;;;:::i;:::-;:23;;:29::i;:::-;9709:42;-1:-1:-1;9780:17:4;:8;9709:42;9780:12;:17::i;:::-;-1:-1:-1;;;;;9833:15:4;;;;;;:9;:15;;;;;;9770:27;;-1:-1:-1;9833:24:4;;9853:3;9833:19;:24::i;:::-;-1:-1:-1;;;;;9816:15:4;;;;;;;:9;:15;;;;;;;:41;;;;9881:27;;;;;;-1:-1:-1;;;;;;;;;;;9881:27:4;;;9904:3;1342:25:5;;1330:2;1315:18;;1196:177;9881:27:4;;;;;;;;9690:234;9656:1853;;;9957:8;;-1:-1:-1;;;;;9957:8:4;;;9946:19;;;;9943:1566;;10002:11;;;;;;;9999:183;;;10055:13;10071;:11;:13::i;:::-;10055:29;-1:-1:-1;;;;;;10107:28:4;;;10136:25;10157:3;10136:16;:8;10149:2;10136:12;:16::i;:25::-;10107:55;;;;;;;;;;;;;1342:25:5;;1330:2;1315:18;;1196:177;10107:55:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10032:150;9999:183;10200:11;10213:30;10238:4;10213:20;10224:8;;10213:6;:10;;:20;;;;:::i;:30::-;10200:43;-1:-1:-1;10272:17:4;:8;10200:43;10272:12;:17::i;:::-;-1:-1:-1;;;;;10325:15:4;;;;;;:9;:15;;;;;;10262:27;;-1:-1:-1;10325:24:4;;10345:3;10325:19;:24::i;:::-;-1:-1:-1;;;;;10308:15:4;;;;;;;:9;:15;;;;;;;:41;;;;10373:27;;;;;;-1:-1:-1;;;;;;;;;;;10373:27:4;;;10396:3;1342:25:5;;1330:2;1315:18;;1196:177;10373:27:4;;;;;;;;10428:15;:8;10441:1;10428:12;:15::i;:::-;10419:24;;10464:12;10478:19;10490:6;10478:11;:19::i;:::-;-1:-1:-1;;;;;10533:15:4;;;;;;:9;:15;;;;;;10464:33;;-1:-1:-1;10533:22:4;;10553:1;10533:19;:22::i;:::-;-1:-1:-1;;;;;10516:15:4;;;;;;;:9;:15;;;;;;;:39;;;;10579:25;;;;;;-1:-1:-1;;;;;;;;;;;10579:25:4;;;10602:1;1342:25:5;;1330:2;1315:18;;1196:177;10579:25:4;;;;;;;;10625:12;10639:19;10651:6;10639:11;:19::i;:::-;-1:-1:-1;;;;;10694:15:4;;;;;;:9;:15;;;;;;10625:33;;-1:-1:-1;10694:22:4;;10714:1;10694:19;:22::i;:::-;-1:-1:-1;;;;;10677:15:4;;;;;;;:9;:15;;;;;;;:39;;;;10740:25;;;;;;-1:-1:-1;;;;;;;;;;;10740:25:4;;;10763:1;1342:25:5;;1330:2;1315:18;;1196:177;10740:25:4;;;;;;;;10784:9;;;;;;;;;-1:-1:-1;;;;;10784:9:4;-1:-1:-1;;;;;10784:21:4;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9980:843;;;9943:1566;;;10874:11;10887:29;10911:4;10887:19;10898:7;;10887:6;:10;;:19;;;;:::i;:29::-;10874:42;-1:-1:-1;10945:17:4;:8;10874:42;10945:12;:17::i;:::-;11013:9;;-1:-1:-1;;;;;11013:9:4;11003:20;;;;:9;:20;;;;;;10935:27;;-1:-1:-1;11003:29:4;;11028:3;11003:24;:29::i;:::-;10991:9;;;-1:-1:-1;;;;;10991:9:4;;;10981:20;;;;:9;:20;;;;;;;;;:51;;;;11073:9;;11056:32;;1342:25:5;;;11073:9:4;;;;11056:32;;;;-1:-1:-1;;;;;;;;;;;11056:32:4;1315:18:5;11056:32:4;;;;;;;11107:9;;;;;;;;;-1:-1:-1;;;;;11107:9:4;-1:-1:-1;;;;;11107:21:4;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11158:15;11171:1;11158:8;:12;;:15;;;;:::i;:::-;11149:24;;11192:12;11206:19;11218:6;11206:11;:19::i;:::-;-1:-1:-1;;;;;11261:15:4;;;;;;:9;:15;;;;;;11192:33;;-1:-1:-1;11261:22:4;;11281:1;11261:19;:22::i;:::-;-1:-1:-1;;;;;11244:15:4;;;;;;;:9;:15;;;;;;;:39;;;;11307:25;;;;;;-1:-1:-1;;;;;;;;;;;11307:25:4;;;11330:1;1342:25:5;;1330:2;1315:18;;1196:177;11307:25:4;;;;;;;;11353:12;11367:19;11379:6;11367:11;:19::i;:::-;-1:-1:-1;;;;;11422:15:4;;;;;;:9;:15;;;;;;11353:33;;-1:-1:-1;11422:22:4;;11442:1;11422:19;:22::i;:::-;-1:-1:-1;;;;;11405:15:4;;;;;;;:9;:15;;;;;;;:39;;;;11468:25;;;;;;-1:-1:-1;;;;;;;;;;;11468:25:4;;;11491:1;1342:25:5;;1330:2;1315:18;;1196:177;11468:25:4;;;;;;;;10855:654;;;9943:1566;9547:1973;9502:2018;-1:-1:-1;;;;;11554:20:4;;;;;;:9;:20;;;;;;:34;;11579:8;11554:24;:34::i;:::-;-1:-1:-1;;;;;11531:20:4;;;;;;;:9;:20;;;;;;;:57;;;;11605:37;;;;;;-1:-1:-1;;;;;;;;;;;11605:37:4;;;11633:8;1342:25:5;;1330:2;1315:18;;1196:177;11605:37:4;;;;;;;;9115:2535;9037:2613;;;:::o;903:181:2:-;961:7;;993:5;997:1;993;:5;:::i;:::-;981:17;;1022:1;1017;:6;;1009:46;;;;-1:-1:-1;;;1009:46:2;;7805:2:5;1009:46:2;;;7787:21:5;7844:2;7824:18;;;7817:30;7883:29;7863:18;;;7856:57;7930:18;;1009:46:2;7603:351:5;1009:46:2;1075:1;903:181;-1:-1:-1;;;903:181:2:o;8024:334:4:-;-1:-1:-1;;;;;8104:20:4;;8096:70;;;;-1:-1:-1;;;8096:70:4;;;;;;;:::i;:::-;-1:-1:-1;;;;;8197:17:4;;;;;;:9;:17;;;;;;:30;;8219:7;8197:21;:30::i;:::-;-1:-1:-1;;;;;8177:17:4;;;;;;:9;:17;;;;;:50;;;;8262:21;;;;:34;;8288:7;8262:25;:34::i;:::-;8238:21;;;;:9;:21;;;:58;;;;:21;8313:37;-1:-1:-1;;;;;8313:37:4;;;-1:-1:-1;;;;;;;;;;;8313:37:4;;;8342:7;1342:25:5;;1330:2;1315:18;;1196:177;8313:37:4;;;;;;;;8024:334;;:::o;8366:235::-;8449:8;:10;;8429:7;;;8449:10;;;:::i;:::-;;;;-1:-1:-1;;8546:8:4;;8506:49;;-1:-1:-1;;8230:2:5;8226:15;;;8222:24;;8506:49:4;;;8210:37:5;8530:14:4;8281:15:5;;8277:24;8263:12;;;8256:46;8318:12;;;8311:28;;;;8470:15:4;;8355:12:5;;8506:49:4;;;-1:-1:-1;;8506:49:4;;;;;;;;;8496:60;;8506:49;8496:60;;;;;-1:-1:-1;8576:17:4;8586:7;8496:60;8576:17;:::i;:::-;8568:25;8366:235;-1:-1:-1;;;;8366:235:4:o;1820:136:2:-;1878:7;1905:43;1909:1;1912;1905:43;;;;;;;;;;;;;;;;;:3;:43::i;2744:471::-;2802:7;3047:1;3052;3047:6;3043:47;;-1:-1:-1;3077:1:2;3070:8;;3043:47;3102:9;3114:5;3118:1;3114;:5;:::i;:::-;3102:17;-1:-1:-1;3147:1:2;3138:5;3142:1;3102:17;3138:5;:::i;:::-;:10;3130:56;;;;-1:-1:-1;;;3130:56:2;;9127:2:5;3130:56:2;;;9109:21:5;9166:2;9146:18;;;9139:30;9205:34;9185:18;;;9178:62;-1:-1:-1;;;9256:18:5;;;9249:31;9297:19;;3130:56:2;8925:397:5;3691:132:2;3749:7;3776:39;3780:1;3783;3776:39;;;;;;;;;;;;;;;;;:3;:39::i;8609:263:4:-;8688:8;:10;;8663:7;;;8688:10;;;:::i;:::-;;;;-1:-1:-1;;8771:8:4;;8746:50;;-1:-1:-1;;9532:2:5;9528:15;;;9524:53;8746:50:4;;;9512:66:5;9594:12;;;9587:28;;;;8780:15:4;9631:12:5;;;9624:28;8709:10:4;;9668:12:5;;8746:50:4;;;-1:-1:-1;;8746:50:4;;;;;;;;;8736:61;;8746:50;8736:61;;;;;8609:263;-1:-1:-1;;;8609:263:4:o;4319:312:2:-;4439:7;4474:12;4467:5;4459:28;;;;-1:-1:-1;;;4459:28:2;;;;;;;;:::i;:::-;-1:-1:-1;4498:9:2;4510:5;4514:1;4510;:5;:::i;-1:-1:-1:-;;;;;;;;:::o;14:548:5:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:5;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:5:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:180::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;-1:-1:-1;2051:23:5;;1900:180;-1:-1:-1;1900:180:5:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;2276:316::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;-1:-1:-1;;2461:23:5;;;2531:2;2516:18;;2503:32;;-1:-1:-1;2582:2:5;2567:18;;;2554:32;;2276:316;-1:-1:-1;2276:316:5:o;2805:160::-;2870:20;;2926:13;;2919:21;2909:32;;2899:60;;2955:1;2952;2945:12;2970:180;3026:6;3079:2;3067:9;3058:7;3054:23;3050:32;3047:52;;;3095:1;3092;3085:12;3047:52;3118:26;3134:9;3118:26;:::i;3155:254::-;3220:6;3228;3281:2;3269:9;3260:7;3256:23;3252:32;3249:52;;;3297:1;3294;3287:12;3249:52;3320:29;3339:9;3320:29;:::i;:::-;3310:39;;3368:35;3399:2;3388:9;3384:18;3368:35;:::i;:::-;3358:45;;3155:254;;;;;:::o;3414:260::-;3482:6;3490;3543:2;3531:9;3522:7;3518:23;3514:32;3511:52;;;3559:1;3556;3549:12;3511:52;3582:29;3601:9;3582:29;:::i;:::-;3572:39;;3630:38;3664:2;3653:9;3649:18;3630:38;:::i;3679:380::-;3758:1;3754:12;;;;3801;;;3822:61;;3876:4;3868:6;3864:17;3854:27;;3822:61;3929:2;3921:6;3918:14;3898:18;3895:38;3892:161;;3975:10;3970:3;3966:20;3963:1;3956:31;4010:4;4007:1;4000:15;4038:4;4035:1;4028:15;3892:161;;3679:380;;;:::o;4373:127::-;4434:10;4429:3;4425:20;4422:1;4415:31;4465:4;4462:1;4455:15;4489:4;4486:1;4479:15;4505:135;4544:3;4565:17;;;4562:43;;4585:18;;:::i;:::-;-1:-1:-1;4632:1:5;4621:13;;4505:135::o;5666:128::-;5733:9;;;5754:11;;;5751:37;;;5768:18;;:::i;5799:401::-;6001:2;5983:21;;;6040:2;6020:18;;;6013:30;6079:34;6074:2;6059:18;;6052:62;-1:-1:-1;;;6145:2:5;6130:18;;6123:35;6190:3;6175:19;;5799:401::o;7473:125::-;7538:9;;;7559:10;;;7556:36;;;7572:18;;:::i;8378:127::-;8439:10;8434:3;8430:20;8427:1;8420:31;8470:4;8467:1;8460:15;8494:4;8491:1;8484:15;8510:112;8542:1;8568;8558:35;;8573:18;;:::i;:::-;-1:-1:-1;8607:9:5;;8510:112::o;8627:168::-;8700:9;;;8731;;8748:15;;;8742:22;;8728:37;8718:71;;8769:18;;:::i;8800:120::-;8840:1;8866;8856:35;;8871:18;;:::i;:::-;-1:-1:-1;8905:9:5;;8800:120::o

Swarm Source

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