Overview
Max Total Supply
10,000,000,000.00000000001 FLUT
Holders
567 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$1,444,600.00
Circulating Supply Market Cap
$1,111,156.00
Other Info
Token Contract (WITH 11 Decimals)
Balance
0.00000000005 FLUTValue
$0.00 ( ~0 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FluteToken
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-13 */ /** *Submitted for verification at Etherscan.io on 2022-01-21 */ // Dependency file: @openzeppelin/contracts/token/ERC20/IERC20.sol // SPDX-License-Identifier: MIT // pragma solidity ^0.8.0; /** * @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); } // Dependency file: @openzeppelin/contracts/utils/Context.sol // pragma solidity ^0.8.0; /** * @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; } } // Dependency file: @openzeppelin/contracts/access/Ownable.sol // pragma solidity ^0.8.0; // import "@openzeppelin/contracts/utils/Context.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 renounceOwnership() 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); } } // Dependency file: @openzeppelin/contracts/utils/math/SafeMath.sol // pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @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) { 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 a - b; } /** * @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) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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 a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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) { unchecked { require(b > 0, errorMessage); return a % b; } } } // Dependency file: contracts/BaseToken.sol // pragma solidity =0.8.4; enum TokenType { standard, antiBotStandard, liquidityGenerator, antiBotLiquidityGenerator, baby, antiBotBaby, buybackBaby, antiBotBuybackBaby } abstract contract BaseToken { event TokenCreated( address indexed owner, address indexed token, TokenType tokenType, uint256 version ); } // Root file: contracts/standard/StandardToken.sol pragma solidity =0.8.4; // import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; // import "@openzeppelin/contracts/access/Ownable.sol"; // import "@openzeppelin/contracts/utils/math/SafeMath.sol"; // import "contracts/BaseToken.sol"; contract FluteToken is IERC20, Ownable, BaseToken { using SafeMath for uint256; uint256 public constant VERSION = 1; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; constructor( string memory name_, string memory symbol_, uint8 decimals_, uint256 totalSupply_ ) payable { _name = name_; _symbol = symbol_; _decimals = decimals_; _mint(owner(), totalSupply_); emit TokenCreated(owner(), address(this), TokenType.standard, VERSION); } /** * @dev Returns the name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is * called. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual returns (uint8) { return _decimals; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub( subtractedValue, "ERC20: decreased allowance below zero" ) ); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); _balances[sender] = _balances[sender].sub( amount, "ERC20: transfer amount exceeds balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub( amount, "ERC20: burn amount exceeds balance" ); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Sets {decimals} to a value other than the default one of 18. * * WARNING: This function should only be called from the constructor. Most * applications that interact with token contracts will not expect * {decimals} to ever change, and may work incorrectly if it does. */ function _setupDecimals(uint8 decimals_) internal virtual { _decimals = decimals_; } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"payable","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":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"version","type":"uint256"}],"name":"TokenCreated","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":"VERSION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]
Contract Creation Code
6080604052604051620020923803806200209283398181016040528101906200002991906200054e565b620000496200003d6200013b60201b60201c565b6200014360201b60201c565b836003908051906020019062000061929190620003fe565b5082600490805190602001906200007a929190620003fe565b5081600560006101000a81548160ff021916908360ff160217905550620000b7620000aa6200020760201b60201c565b826200023060201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff16620000de6200020760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167f56358b41df5fa59f5639228f0930994cbdde383c8a8fd74e06c04e1deebe3562600060016040516200012992919062000635565b60405180910390a35050505062000991565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029a9062000662565b60405180910390fd5b620002b760008383620003e160201b60201c565b620002d381600654620003e660201b6200097c1790919060201c565b6006819055506200033281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620003e660201b6200097c1790919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d5919062000684565b60405180910390a35050565b505050565b60008183620003f6919062000711565b905092915050565b8280546200040c90620007e4565b90600052602060002090601f0160209004810192826200043057600085556200047c565b82601f106200044b57805160ff19168380011785556200047c565b828001600101855582156200047c579182015b828111156200047b5782518255916020019190600101906200045e565b5b5090506200048b91906200048f565b5090565b5b80821115620004aa57600081600090555060010162000490565b5090565b6000620004c5620004bf84620006ca565b620006a1565b905082815260208101848484011115620004de57600080fd5b620004eb848285620007ae565b509392505050565b600082601f8301126200050557600080fd5b815162000517848260208601620004ae565b91505092915050565b60008151905062000531816200095d565b92915050565b600081519050620005488162000977565b92915050565b600080600080608085870312156200056557600080fd5b600085015167ffffffffffffffff8111156200058057600080fd5b6200058e87828801620004f3565b945050602085015167ffffffffffffffff811115620005ac57600080fd5b620005ba87828801620004f3565b9350506040620005cd8782880162000537565b9250506060620005e08782880162000520565b91505092959194509250565b620005f7816200079a565b82525050565b60006200060c601f8362000700565b915062000619826200091d565b602082019050919050565b6200062f8162000783565b82525050565b60006040820190506200064c6000830185620005ec565b6200065b602083018462000624565b9392505050565b600060208201905081810360008301526200067d81620005fd565b9050919050565b60006020820190506200069b600083018462000624565b92915050565b6000620006ad620006c0565b9050620006bb82826200081a565b919050565b6000604051905090565b600067ffffffffffffffff821115620006e857620006e7620008dd565b5b620006f3826200090c565b9050602081019050919050565b600082825260208201905092915050565b60006200071e8262000783565b91506200072b8362000783565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000763576200076262000850565b5b828201905092915050565b60008190506200077e8262000946565b919050565b6000819050919050565b600060ff82169050919050565b6000620007a7826200076e565b9050919050565b60005b83811015620007ce578082015181840152602081019050620007b1565b83811115620007de576000848401525b50505050565b60006002820490506001821680620007fd57607f821691505b60208210811415620008145762000813620008ae565b5b50919050565b62000825826200090c565b810181811067ffffffffffffffff82111715620008475762000846620008dd565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600881106200095a57620009596200087f565b5b50565b620009688162000783565b81146200097457600080fd5b50565b62000982816200078d565b81146200098e57600080fd5b50565b6116f180620009a16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb1461028a578063dd62ed3e146102ba578063f2fde38b146102ea578063ffa1ad7414610306576100f5565b8063715018a6146102145780638da5cb5b1461021e57806395d89b411461023c578063a457c2d71461025a576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806370a08231146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610324565b60405161010f91906111b3565b60405180910390f35b610132600480360381019061012d9190610ffa565b6103b6565b60405161013f9190611198565b60405180910390f35b6101506103d4565b60405161015d9190611295565b60405180910390f35b610180600480360381019061017b9190610fab565b6103de565b60405161018d9190611198565b60405180910390f35b61019e6104b7565b6040516101ab91906112b0565b60405180910390f35b6101ce60048036038101906101c99190610ffa565b6104ce565b6040516101db9190611198565b60405180910390f35b6101fe60048036038101906101f99190610f46565b610581565b60405161020b9190611295565b60405180910390f35b61021c6105ca565b005b610226610652565b604051610233919061117d565b60405180910390f35b61024461067b565b60405161025191906111b3565b60405180910390f35b610274600480360381019061026f9190610ffa565b61070d565b6040516102819190611198565b60405180910390f35b6102a4600480360381019061029f9190610ffa565b6107da565b6040516102b19190611198565b60405180910390f35b6102d460048036038101906102cf9190610f6f565b6107f8565b6040516102e19190611295565b60405180910390f35b61030460048036038101906102ff9190610f46565b61087f565b005b61030e610977565b60405161031b9190611295565b60405180910390f35b606060038054610333906113c5565b80601f016020809104026020016040519081016040528092919081815260200182805461035f906113c5565b80156103ac5780601f10610381576101008083540402835291602001916103ac565b820191906000526020600020905b81548152906001019060200180831161038f57829003601f168201915b5050505050905090565b60006103ca6103c3610992565b848461099a565b6001905092915050565b6000600654905090565b60006103eb848484610b65565b6104ac846103f7610992565b6104a78560405180606001604052806028815260200161166f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045d610992565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dfe9092919063ffffffff16565b61099a565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006105776104db610992565b8461057285600260006104ec610992565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461097c90919063ffffffff16565b61099a565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105d2610992565b73ffffffffffffffffffffffffffffffffffffffff166105f0610652565b73ffffffffffffffffffffffffffffffffffffffff1614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063d90611235565b60405180910390fd5b6106506000610e53565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461068a906113c5565b80601f01602080910402602001604051908101604052809291908181526020018280546106b6906113c5565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050905090565b60006107d061071a610992565b846107cb856040518060600160405280602581526020016116976025913960026000610744610992565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dfe9092919063ffffffff16565b61099a565b6001905092915050565b60006107ee6107e7610992565b8484610b65565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610887610992565b73ffffffffffffffffffffffffffffffffffffffff166108a5610652565b73ffffffffffffffffffffffffffffffffffffffff16146108fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f290611235565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111f5565b60405180910390fd5b61097481610e53565b50565b600181565b6000818361098a91906112e7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190611275565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190611215565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b589190611295565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90611255565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c906111d5565b60405180910390fd5b610c50838383610f17565b610cbc8160405180606001604052806026815260200161164960269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dfe9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d5181600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461097c90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610df19190611295565b60405180910390a3505050565b6000838311158290610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d91906111b3565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081359050610f2b8161161a565b92915050565b600081359050610f4081611631565b92915050565b600060208284031215610f5857600080fd5b6000610f6684828501610f1c565b91505092915050565b60008060408385031215610f8257600080fd5b6000610f9085828601610f1c565b9250506020610fa185828601610f1c565b9150509250929050565b600080600060608486031215610fc057600080fd5b6000610fce86828701610f1c565b9350506020610fdf86828701610f1c565b9250506040610ff086828701610f31565b9150509250925092565b6000806040838503121561100d57600080fd5b600061101b85828601610f1c565b925050602061102c85828601610f31565b9150509250929050565b61103f8161133d565b82525050565b61104e8161134f565b82525050565b600061105f826112cb565b61106981856112d6565b9350611079818560208601611392565b61108281611455565b840191505092915050565b600061109a6023836112d6565b91506110a582611466565b604082019050919050565b60006110bd6026836112d6565b91506110c8826114b5565b604082019050919050565b60006110e06022836112d6565b91506110eb82611504565b604082019050919050565b60006111036020836112d6565b915061110e82611553565b602082019050919050565b60006111266025836112d6565b91506111318261157c565b604082019050919050565b60006111496024836112d6565b9150611154826115cb565b604082019050919050565b6111688161137b565b82525050565b61117781611385565b82525050565b60006020820190506111926000830184611036565b92915050565b60006020820190506111ad6000830184611045565b92915050565b600060208201905081810360008301526111cd8184611054565b905092915050565b600060208201905081810360008301526111ee8161108d565b9050919050565b6000602082019050818103600083015261120e816110b0565b9050919050565b6000602082019050818103600083015261122e816110d3565b9050919050565b6000602082019050818103600083015261124e816110f6565b9050919050565b6000602082019050818103600083015261126e81611119565b9050919050565b6000602082019050818103600083015261128e8161113c565b9050919050565b60006020820190506112aa600083018461115f565b92915050565b60006020820190506112c5600083018461116e565b92915050565b600081519050919050565b600082825260208201905092915050565b60006112f28261137b565b91506112fd8361137b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611332576113316113f7565b5b828201905092915050565b60006113488261135b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156113b0578082015181840152602081019050611395565b838111156113bf576000848401525b50505050565b600060028204905060018216806113dd57607f821691505b602082108114156113f1576113f0611426565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6116238161133d565b811461162e57600080fd5b50565b61163a8161137b565b811461164557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202558f3378a10bbe36fe61acb0bd9960e25a511b5e29bb2d5b4570c73493ea5ab64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000003635c9adc5dea000010000000000000000000000000000000000000000000000000000000000000005466c7574650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004464c555400000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb1461028a578063dd62ed3e146102ba578063f2fde38b146102ea578063ffa1ad7414610306576100f5565b8063715018a6146102145780638da5cb5b1461021e57806395d89b411461023c578063a457c2d71461025a576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806370a08231146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610324565b60405161010f91906111b3565b60405180910390f35b610132600480360381019061012d9190610ffa565b6103b6565b60405161013f9190611198565b60405180910390f35b6101506103d4565b60405161015d9190611295565b60405180910390f35b610180600480360381019061017b9190610fab565b6103de565b60405161018d9190611198565b60405180910390f35b61019e6104b7565b6040516101ab91906112b0565b60405180910390f35b6101ce60048036038101906101c99190610ffa565b6104ce565b6040516101db9190611198565b60405180910390f35b6101fe60048036038101906101f99190610f46565b610581565b60405161020b9190611295565b60405180910390f35b61021c6105ca565b005b610226610652565b604051610233919061117d565b60405180910390f35b61024461067b565b60405161025191906111b3565b60405180910390f35b610274600480360381019061026f9190610ffa565b61070d565b6040516102819190611198565b60405180910390f35b6102a4600480360381019061029f9190610ffa565b6107da565b6040516102b19190611198565b60405180910390f35b6102d460048036038101906102cf9190610f6f565b6107f8565b6040516102e19190611295565b60405180910390f35b61030460048036038101906102ff9190610f46565b61087f565b005b61030e610977565b60405161031b9190611295565b60405180910390f35b606060038054610333906113c5565b80601f016020809104026020016040519081016040528092919081815260200182805461035f906113c5565b80156103ac5780601f10610381576101008083540402835291602001916103ac565b820191906000526020600020905b81548152906001019060200180831161038f57829003601f168201915b5050505050905090565b60006103ca6103c3610992565b848461099a565b6001905092915050565b6000600654905090565b60006103eb848484610b65565b6104ac846103f7610992565b6104a78560405180606001604052806028815260200161166f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045d610992565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dfe9092919063ffffffff16565b61099a565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006105776104db610992565b8461057285600260006104ec610992565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461097c90919063ffffffff16565b61099a565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105d2610992565b73ffffffffffffffffffffffffffffffffffffffff166105f0610652565b73ffffffffffffffffffffffffffffffffffffffff1614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063d90611235565b60405180910390fd5b6106506000610e53565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461068a906113c5565b80601f01602080910402602001604051908101604052809291908181526020018280546106b6906113c5565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050905090565b60006107d061071a610992565b846107cb856040518060600160405280602581526020016116976025913960026000610744610992565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dfe9092919063ffffffff16565b61099a565b6001905092915050565b60006107ee6107e7610992565b8484610b65565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610887610992565b73ffffffffffffffffffffffffffffffffffffffff166108a5610652565b73ffffffffffffffffffffffffffffffffffffffff16146108fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f290611235565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111f5565b60405180910390fd5b61097481610e53565b50565b600181565b6000818361098a91906112e7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190611275565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190611215565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b589190611295565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90611255565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c906111d5565b60405180910390fd5b610c50838383610f17565b610cbc8160405180606001604052806026815260200161164960269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dfe9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d5181600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461097c90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610df19190611295565b60405180910390a3505050565b6000838311158290610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d91906111b3565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081359050610f2b8161161a565b92915050565b600081359050610f4081611631565b92915050565b600060208284031215610f5857600080fd5b6000610f6684828501610f1c565b91505092915050565b60008060408385031215610f8257600080fd5b6000610f9085828601610f1c565b9250506020610fa185828601610f1c565b9150509250929050565b600080600060608486031215610fc057600080fd5b6000610fce86828701610f1c565b9350506020610fdf86828701610f1c565b9250506040610ff086828701610f31565b9150509250925092565b6000806040838503121561100d57600080fd5b600061101b85828601610f1c565b925050602061102c85828601610f31565b9150509250929050565b61103f8161133d565b82525050565b61104e8161134f565b82525050565b600061105f826112cb565b61106981856112d6565b9350611079818560208601611392565b61108281611455565b840191505092915050565b600061109a6023836112d6565b91506110a582611466565b604082019050919050565b60006110bd6026836112d6565b91506110c8826114b5565b604082019050919050565b60006110e06022836112d6565b91506110eb82611504565b604082019050919050565b60006111036020836112d6565b915061110e82611553565b602082019050919050565b60006111266025836112d6565b91506111318261157c565b604082019050919050565b60006111496024836112d6565b9150611154826115cb565b604082019050919050565b6111688161137b565b82525050565b61117781611385565b82525050565b60006020820190506111926000830184611036565b92915050565b60006020820190506111ad6000830184611045565b92915050565b600060208201905081810360008301526111cd8184611054565b905092915050565b600060208201905081810360008301526111ee8161108d565b9050919050565b6000602082019050818103600083015261120e816110b0565b9050919050565b6000602082019050818103600083015261122e816110d3565b9050919050565b6000602082019050818103600083015261124e816110f6565b9050919050565b6000602082019050818103600083015261126e81611119565b9050919050565b6000602082019050818103600083015261128e8161113c565b9050919050565b60006020820190506112aa600083018461115f565b92915050565b60006020820190506112c5600083018461116e565b92915050565b600081519050919050565b600082825260208201905092915050565b60006112f28261137b565b91506112fd8361137b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611332576113316113f7565b5b828201905092915050565b60006113488261135b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156113b0578082015181840152602081019050611395565b838111156113bf576000848401525b50505050565b600060028204905060018216806113dd57607f821691505b602082108114156113f1576113f0611426565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6116238161133d565b811461162e57600080fd5b50565b61163a8161137b565b811461164557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202558f3378a10bbe36fe61acb0bd9960e25a511b5e29bb2d5b4570c73493ea5ab64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000003635c9adc5dea000010000000000000000000000000000000000000000000000000000000000000005466c7574650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004464c555400000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Flute
Arg [1] : symbol_ (string): FLUT
Arg [2] : decimals_ (uint8): 11
Arg [3] : totalSupply_ (uint256): 1000000000000000000001
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [3] : 00000000000000000000000000000000000000000000003635c9adc5dea00001
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 466c757465000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 464c555400000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
13883:10403:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14714:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17001:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15813:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17693:454;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15657:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18556:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15984:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5525:94;;;:::i;:::-;;4874:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14924:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19359:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16374:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16653:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5774:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13975:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14714:91;14759:13;14792:5;14785:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14714:91;:::o;17001:210::-;17120:4;17142:39;17151:12;:10;:12::i;:::-;17165:7;17174:6;17142:8;:39::i;:::-;17199:4;17192:11;;17001:210;;;;:::o;15813:108::-;15874:7;15901:12;;15894:19;;15813:108;:::o;17693:454::-;17833:4;17850:36;17860:6;17868:9;17879:6;17850:9;:36::i;:::-;17897:220;17920:6;17941:12;:10;:12::i;:::-;17968:138;18024:6;17968:138;;;;;;;;;;;;;;;;;:11;:19;17980:6;17968:19;;;;;;;;;;;;;;;:33;17988:12;:10;:12::i;:::-;17968:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;17897:8;:220::i;:::-;18135:4;18128:11;;17693:454;;;;;:::o;15657:91::-;15706:5;15731:9;;;;;;;;;;;15724:16;;15657:91;:::o;18556:300::-;18671:4;18693:133;18716:12;:10;:12::i;:::-;18743:7;18765:50;18804:10;18765:11;:25;18777:12;:10;:12::i;:::-;18765:25;;;;;;;;;;;;;;;:34;18791:7;18765:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18693:8;:133::i;:::-;18844:4;18837:11;;18556:300;;;;:::o;15984:177::-;16103:7;16135:9;:18;16145:7;16135:18;;;;;;;;;;;;;;;;16128:25;;15984:177;;;:::o;5525:94::-;5105:12;:10;:12::i;:::-;5094:23;;:7;:5;:7::i;:::-;:23;;;5086:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5590:21:::1;5608:1;5590:9;:21::i;:::-;5525:94::o:0;4874:87::-;4920:7;4947:6;;;;;;;;;;;4940:13;;4874:87;:::o;14924:95::-;14971:13;15004:7;14997:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14924:95;:::o;19359:400::-;19479:4;19501:228;19524:12;:10;:12::i;:::-;19551:7;19573:145;19630:15;19573:145;;;;;;;;;;;;;;;;;:11;:25;19585:12;:10;:12::i;:::-;19573:25;;;;;;;;;;;;;;;:34;19599:7;19573:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;19501:8;:228::i;:::-;19747:4;19740:11;;19359:400;;;;:::o;16374:216::-;16496:4;16518:42;16528:12;:10;:12::i;:::-;16542:9;16553:6;16518:9;:42::i;:::-;16578:4;16571:11;;16374:216;;;;:::o;16653:201::-;16787:7;16819:11;:18;16831:5;16819:18;;;;;;;;;;;;;;;:27;16838:7;16819:27;;;;;;;;;;;;;;;;16812:34;;16653:201;;;;:::o;5774:192::-;5105:12;:10;:12::i;:::-;5094:23;;:7;:5;:7::i;:::-;:23;;;5086:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5883:1:::1;5863:22;;:8;:22;;;;5855:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5939:19;5949:8;5939:9;:19::i;:::-;5774:192:::0;:::o;13975:35::-;14009:1;13975:35;:::o;8960:98::-;9018:7;9049:1;9045;:5;;;;:::i;:::-;9038:12;;8960:98;;;;:::o;3592:::-;3645:7;3672:10;3665:17;;3592:98;:::o;22745:380::-;22898:1;22881:19;;:5;:19;;;;22873:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22979:1;22960:21;;:7;:21;;;;22952:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23063:6;23033:11;:18;23045:5;23033:18;;;;;;;;;;;;;;;:27;23052:7;23033:27;;;;;;;;;;;;;;;:36;;;;23101:7;23085:32;;23094:5;23085:32;;;23110:6;23085:32;;;;;;:::i;:::-;;;;;;;;22745:380;;;:::o;20249:610::-;20407:1;20389:20;;:6;:20;;;;20381:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20491:1;20470:23;;:9;:23;;;;20462:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20546:47;20567:6;20575:9;20586:6;20546:20;:47::i;:::-;20626:108;20662:6;20626:108;;;;;;;;;;;;;;;;;:9;:17;20636:6;20626:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;20606:9;:17;20616:6;20606:17;;;;;;;;;;;;;;;:128;;;;20768:32;20793:6;20768:9;:20;20778:9;20768:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;20745:9;:20;20755:9;20745:20;;;;;;;;;;;;;;;:55;;;;20833:9;20816:35;;20825:6;20816:35;;;20844:6;20816:35;;;;;;:::i;:::-;;;;;;;;20249:610;;;:::o;11239:240::-;11359:7;11417:1;11412;:6;;11420:12;11404:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;11459:1;11455;:5;11448:12;;11239:240;;;;;:::o;5974:173::-;6030:16;6049:6;;;;;;;;;;;6030:25;;6075:8;6066:6;;:17;;;;;;;;;;;;;;;;;;6130:8;6099:40;;6120:8;6099:40;;;;;;;;;;;;5974:173;;:::o;24158:125::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;2276:3;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:366::-;2700:3;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2797:93;2886:3;2797:93;:::i;:::-;2915:2;2910:3;2906:12;2899:19;;2704:220;;;:::o;2930:366::-;3072:3;3093:67;3157:2;3152:3;3093:67;:::i;:::-;3086:74;;3169:93;3258:3;3169:93;:::i;:::-;3287:2;3282:3;3278:12;3271:19;;3076:220;;;:::o;3302:366::-;3444:3;3465:67;3529:2;3524:3;3465:67;:::i;:::-;3458:74;;3541:93;3630:3;3541:93;:::i;:::-;3659:2;3654:3;3650:12;3643:19;;3448:220;;;:::o;3674:366::-;3816:3;3837:67;3901:2;3896:3;3837:67;:::i;:::-;3830:74;;3913:93;4002:3;3913:93;:::i;:::-;4031:2;4026:3;4022:12;4015:19;;3820:220;;;:::o;4046:366::-;4188:3;4209:67;4273:2;4268:3;4209:67;:::i;:::-;4202:74;;4285:93;4374:3;4285:93;:::i;:::-;4403:2;4398:3;4394:12;4387:19;;4192:220;;;:::o;4418:366::-;4560:3;4581:67;4645:2;4640:3;4581:67;:::i;:::-;4574:74;;4657:93;4746:3;4657:93;:::i;:::-;4775:2;4770:3;4766:12;4759:19;;4564:220;;;:::o;4790:118::-;4877:24;4895:5;4877:24;:::i;:::-;4872:3;4865:37;4855:53;;:::o;4914:112::-;4997:22;5013:5;4997:22;:::i;:::-;4992:3;4985:35;4975:51;;:::o;5032:222::-;5125:4;5163:2;5152:9;5148:18;5140:26;;5176:71;5244:1;5233:9;5229:17;5220:6;5176:71;:::i;:::-;5130:124;;;;:::o;5260:210::-;5347:4;5385:2;5374:9;5370:18;5362:26;;5398:65;5460:1;5449:9;5445:17;5436:6;5398:65;:::i;:::-;5352:118;;;;:::o;5476:313::-;5589:4;5627:2;5616:9;5612:18;5604:26;;5676:9;5670:4;5666:20;5662:1;5651:9;5647:17;5640:47;5704:78;5777:4;5768:6;5704:78;:::i;:::-;5696:86;;5594:195;;;;:::o;5795:419::-;5961:4;5999:2;5988:9;5984:18;5976:26;;6048:9;6042:4;6038:20;6034:1;6023:9;6019:17;6012:47;6076:131;6202:4;6076:131;:::i;:::-;6068:139;;5966:248;;;:::o;6220:419::-;6386:4;6424:2;6413:9;6409:18;6401:26;;6473:9;6467:4;6463:20;6459:1;6448:9;6444:17;6437:47;6501:131;6627:4;6501:131;:::i;:::-;6493:139;;6391:248;;;:::o;6645:419::-;6811:4;6849:2;6838:9;6834:18;6826:26;;6898:9;6892:4;6888:20;6884:1;6873:9;6869:17;6862:47;6926:131;7052:4;6926:131;:::i;:::-;6918:139;;6816:248;;;:::o;7070:419::-;7236:4;7274:2;7263:9;7259:18;7251:26;;7323:9;7317:4;7313:20;7309:1;7298:9;7294:17;7287:47;7351:131;7477:4;7351:131;:::i;:::-;7343:139;;7241:248;;;:::o;7495:419::-;7661:4;7699:2;7688:9;7684:18;7676:26;;7748:9;7742:4;7738:20;7734:1;7723:9;7719:17;7712:47;7776:131;7902:4;7776:131;:::i;:::-;7768:139;;7666:248;;;:::o;7920:419::-;8086:4;8124:2;8113:9;8109:18;8101:26;;8173:9;8167:4;8163:20;8159:1;8148:9;8144:17;8137:47;8201:131;8327:4;8201:131;:::i;:::-;8193:139;;8091:248;;;:::o;8345:222::-;8438:4;8476:2;8465:9;8461:18;8453:26;;8489:71;8557:1;8546:9;8542:17;8533:6;8489:71;:::i;:::-;8443:124;;;;:::o;8573:214::-;8662:4;8700:2;8689:9;8685:18;8677:26;;8713:67;8777:1;8766:9;8762:17;8753:6;8713:67;:::i;:::-;8667:120;;;;:::o;8793:99::-;8845:6;8879:5;8873:12;8863:22;;8852:40;;;:::o;8898:169::-;8982:11;9016:6;9011:3;9004:19;9056:4;9051:3;9047:14;9032:29;;8994:73;;;;:::o;9073:305::-;9113:3;9132:20;9150:1;9132:20;:::i;:::-;9127:25;;9166:20;9184:1;9166:20;:::i;:::-;9161:25;;9320:1;9252:66;9248:74;9245:1;9242:81;9239:2;;;9326:18;;:::i;:::-;9239:2;9370:1;9367;9363:9;9356:16;;9117:261;;;;:::o;9384:96::-;9421:7;9450:24;9468:5;9450:24;:::i;:::-;9439:35;;9429:51;;;:::o;9486:90::-;9520:7;9563:5;9556:13;9549:21;9538:32;;9528:48;;;:::o;9582:126::-;9619:7;9659:42;9652:5;9648:54;9637:65;;9627:81;;;:::o;9714:77::-;9751:7;9780:5;9769:16;;9759:32;;;:::o;9797:86::-;9832:7;9872:4;9865:5;9861:16;9850:27;;9840:43;;;:::o;9889:307::-;9957:1;9967:113;9981:6;9978:1;9975:13;9967:113;;;10066:1;10061:3;10057:11;10051:18;10047:1;10042:3;10038:11;10031:39;10003:2;10000:1;9996:10;9991:15;;9967:113;;;10098:6;10095:1;10092:13;10089:2;;;10178:1;10169:6;10164:3;10160:16;10153:27;10089:2;9938:258;;;;:::o;10202:320::-;10246:6;10283:1;10277:4;10273:12;10263:22;;10330:1;10324:4;10320:12;10351:18;10341:2;;10407:4;10399:6;10395:17;10385:27;;10341:2;10469;10461:6;10458:14;10438:18;10435:38;10432:2;;;10488:18;;:::i;:::-;10432:2;10253:269;;;;:::o;10528:180::-;10576:77;10573:1;10566:88;10673:4;10670:1;10663:15;10697:4;10694:1;10687:15;10714:180;10762:77;10759:1;10752:88;10859:4;10856:1;10849:15;10883:4;10880:1;10873:15;10900:102;10941:6;10992:2;10988:7;10983:2;10976:5;10972:14;10968:28;10958:38;;10948:54;;;:::o;11008:222::-;11148:34;11144:1;11136:6;11132:14;11125:58;11217:5;11212:2;11204:6;11200:15;11193:30;11114:116;:::o;11236:225::-;11376:34;11372:1;11364:6;11360:14;11353:58;11445:8;11440:2;11432:6;11428:15;11421:33;11342:119;:::o;11467:221::-;11607:34;11603:1;11595:6;11591:14;11584:58;11676:4;11671:2;11663:6;11659:15;11652:29;11573:115;:::o;11694:182::-;11834:34;11830:1;11822:6;11818:14;11811:58;11800:76;:::o;11882:224::-;12022:34;12018:1;12010:6;12006:14;11999:58;12091:7;12086:2;12078:6;12074:15;12067:32;11988:118;:::o;12112:223::-;12252:34;12248:1;12240:6;12236:14;12229:58;12321:6;12316:2;12308:6;12304:15;12297:31;12218:117;:::o;12341:122::-;12414:24;12432:5;12414:24;:::i;:::-;12407:5;12404:35;12394:2;;12453:1;12450;12443:12;12394:2;12384:79;:::o;12469:122::-;12542:24;12560:5;12542:24;:::i;:::-;12535:5;12532:35;12522:2;;12581:1;12578;12571:12;12522:2;12512:79;:::o
Swarm Source
ipfs://2558f3378a10bbe36fe61acb0bd9960e25a511b5e29bb2d5b4570c73493ea5ab
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.