ERC-20
MEME
Overview
Max Total Supply
1,000,000,000,000 BBW
Holders
618 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
9.035021026079045883 BBWValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BabyWhale
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-23 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // File: @openzeppelin/contracts/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; } } // File: @openzeppelin/contracts/utils/math/SafeMath.sol // 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 generally not needed starting with Solidity 0.8, since 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; } } } // File: @openzeppelin/contracts/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 ); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File: node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override 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 this function is * overridden; * * 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 override returns (uint8) { return 18; } /** * @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); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } 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] + 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) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This 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); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(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: * * - `account` 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 += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(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); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(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 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 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 {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: @openzeppelin/contracts/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() { _transferOwnership(_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 { _transferOwnership(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" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract BabyWhale is ERC20, Ownable { using SafeMath for uint256; address private commentProgramWallet; address private decentralizedWallet; address private airdropWallet; address private awardDAOWallet; address private teamWallet; uint256 private deploymentTime; uint256 private releasedAwardDaoAmt; uint256 private releasedTeamAmt; uint256 private _totalSupply = 1000000000000 * 10**18; uint256 private _commentProgramSupply = _totalSupply.div(100).mul(40); uint256 private _airdropSupply = _totalSupply.div(100).mul(5); uint256 private _awardDAOSupply = _totalSupply.div(100).mul(10); uint256 private _teamSupply = _totalSupply.div(100).mul(5); uint256 private _decentralizedSupply = _totalSupply .sub(_commentProgramSupply) .sub(_airdropSupply) .sub(_awardDAOSupply) .sub(_teamSupply); uint256 private _maxTxAmount = _totalSupply.div(1000); uint256 private _maxBalance = _totalSupply.div(1000); //Time to release all is ~ 1 year ~ 365 day ~ 31556926s uint256 private _totalSecondOneYear = 31556926; uint256 private _amountUnlockAwardDaoWalletPerSecond = _awardDAOSupply.div(_totalSecondOneYear); uint256 private _amountUnlockTeamWalletPerSecond = _teamSupply.div(_totalSecondOneYear); mapping(address => bool) private _exchangeWallets; mapping(address => bool) private _projectWallets; uint256 private _exchangeWalletCount; uint256 private _projectWalletCount; constructor( string memory name, string memory symbol, address[] memory projectWallets ) ERC20(name, symbol) { deploymentTime = block.timestamp; commentProgramWallet = projectWallets[0]; decentralizedWallet = projectWallets[1]; airdropWallet = projectWallets[2]; awardDAOWallet = projectWallets[3]; teamWallet = projectWallets[4]; _exchangeWalletCount = 0; _projectWalletCount = projectWallets.length; _projectWallets[commentProgramWallet] = true; _projectWallets[decentralizedWallet] = true; _projectWallets[airdropWallet] = true; _projectWallets[awardDAOWallet] = true; _projectWallets[teamWallet] = true; _mint(commentProgramWallet, _commentProgramSupply); _mint(decentralizedWallet, _decentralizedSupply); _mint(airdropWallet, _airdropSupply); _mint(address(this), _awardDAOSupply); _mint(address(this), _teamSupply); } receive() external payable {} function withdrawAwarDAOFund(address account, uint256 amount) external onlyOwner { require(account == awardDAOWallet, "Only award DAO wallet!"); require( releasedAwardDaoAmt.add(amount) <= _awardDAOSupply, "Must be less than the amount offered" ); uint256 totalUnlockAwardDAOWalletAmt = block .timestamp .sub(deploymentTime) .mul(_amountUnlockTeamWalletPerSecond); require( totalUnlockAwardDAOWalletAmt.sub(releasedAwardDaoAmt) >= amount, "Must not exceed available quantity" ); releasedAwardDaoAmt = releasedAwardDaoAmt.add(amount); IERC20(address(this)).transfer(account, amount); } function withdrawTeamFund(address account, uint256 amount) external onlyOwner { require(account == teamWallet, "Only team wallet!"); require( releasedTeamAmt.add(amount) <= _teamSupply, "Must be less than the amount offered" ); uint256 totalUnlockTeamWalletAmt = block .timestamp .sub(deploymentTime) .mul(_amountUnlockAwardDaoWalletPerSecond); require( totalUnlockTeamWalletAmt.sub(releasedTeamAmt) >= amount, "Must not exceed available quantity" ); releasedTeamAmt = releasedTeamAmt.add(amount); IERC20(address(this)).transfer(account, amount); } function updateExchangeWallets(address wallet, bool isCreate) external onlyOwner { if (isCreate) { require( !_exchangeWallets[wallet], "This wallet already exists in exchange wallets" ); _exchangeWalletCount++; _exchangeWallets[wallet] = true; } else { require( _exchangeWallets[wallet], "This wallet does not exists in exchange wallets" ); _exchangeWalletCount--; delete _exchangeWallets[wallet]; } } function getExchangeWalletCount() external view returns (uint256) { return _exchangeWalletCount; } function isExchangeWallets(address wallet) external view returns (bool) { return _exchangeWallets[wallet]; } function isExchangeWallets(address sender, address recipient) internal view returns (bool) { return _exchangeWallets[sender] || _exchangeWallets[recipient]; } function updateProjectWallet(address wallet, bool isCreate) external onlyOwner { if (isCreate) { require( !_projectWallets[wallet], "This wallet already exists in project wallets" ); _projectWalletCount++; _projectWallets[wallet] = true; } else { require( _projectWallets[wallet], "This wallet does not exists in project wallets" ); _projectWalletCount--; delete _projectWallets[wallet]; } } function getProjectWalletCount() external view returns (uint256) { return _projectWalletCount; } function isProjectWallets(address wallet) external view returns (bool) { return _projectWallets[wallet]; } function isProjectWallets(address sender, address recipient) internal view returns (bool) { return _projectWallets[sender] || _projectWallets[recipient]; } function setMaxBalance(uint256 maxBalance) external onlyOwner { _maxBalance = maxBalance; } function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner { _maxTxAmount = maxTxAmount; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { require( amount < _maxTxAmount || isProjectWallets(msg.sender, recipient) || isExchangeWallets(msg.sender, recipient), "Transfer amount exceeds the maxTxAmount." ); require( balanceOf(recipient).add(amount) < _maxBalance || isProjectWallets(msg.sender, recipient) || isExchangeWallets(msg.sender, recipient), "Recipient account balance exceeds limit." ); return super.transfer(recipient, amount); } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { require( amount < _maxTxAmount || isProjectWallets(sender, recipient) || isExchangeWallets(sender, recipient), "Transfer amount exceeds the maxTxAmount." ); require( balanceOf(recipient).add(amount) < _maxBalance || isProjectWallets(sender, recipient) || isExchangeWallets(sender, recipient), "Recipient account balance exceeds limit." ); return super.transferFrom(sender, recipient, amount); } }
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":"address[]","name":"projectWallets","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":[{"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":[],"name":"getExchangeWalletCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProjectWalletCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isExchangeWallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isProjectWallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBalance","type":"uint256"}],"name":"setMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","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":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"isCreate","type":"bool"}],"name":"updateExchangeWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"isCreate","type":"bool"}],"name":"updateProjectWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawAwarDAOFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTeamFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526c0c9f2c9cd04674edea40000000600e556200004c6028620000386064600e546200085f60201b620019301790919060201c565b6200087760201b620019461790919060201c565b600f55620000866005620000726064600e546200085f60201b620019301790919060201c565b6200087760201b620019461790919060201c565b601055620000c0600a620000ac6064600e546200085f60201b620019301790919060201c565b6200087760201b620019461790919060201c565b601155620000fa6005620000e66064600e546200085f60201b620019301790919060201c565b6200087760201b620019461790919060201c565b6012556200016c601254620001586011546200014460105462000130600f54600e546200088f60201b6200195c1790919060201c565b6200088f60201b6200195c1790919060201c565b6200088f60201b6200195c1790919060201c565b6200088f60201b6200195c1790919060201c565b6013556200018d6103e8600e546200085f60201b620019301790919060201c565b601455620001ae6103e8600e546200085f60201b620019301790919060201c565b6015556301e1853e601655620001d76016546011546200085f60201b620019301790919060201c565b601755620001f86016546012546200085f60201b620019301790919060201c565b6018553480156200020857600080fd5b50604051620043ac380380620043ac83398181016040528101906200022e919062000cd3565b828281600390805190602001906200024892919062000af8565b5080600490805190602001906200026192919062000af8565b5050506200028462000278620008a760201b60201c565b620008af60201b60201c565b42600b8190555080600081518110620002c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060018151811062000349577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600281518110620003cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003815181106200044f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600481518110620004d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601b819055508051601c819055506001601a6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007c2600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f546200097560201b60201c565b620007f8600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166013546200097560201b60201c565b6200082e600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166010546200097560201b60201c565b62000842306011546200097560201b60201c565b62000856306012546200097560201b60201c565b505050620011ab565b600081836200086f919062000ee7565b905092915050565b6000818362000887919062000f1f565b905092915050565b600081836200089f919062000f80565b905092915050565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620009e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009df9062000dac565b60405180910390fd5b620009fc6000838362000aee60201b60201c565b806002600082825462000a10919062000e8a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a67919062000e8a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ace919062000dce565b60405180910390a362000aea6000838362000af360201b60201c565b5050565b505050565b505050565b82805462000b06906200102f565b90600052602060002090601f01602090048101928262000b2a576000855562000b76565b82601f1062000b4557805160ff191683800117855562000b76565b8280016001018555821562000b76579182015b8281111562000b7557825182559160200191906001019062000b58565b5b50905062000b85919062000b89565b5090565b5b8082111562000ba457600081600090555060010162000b8a565b5090565b600062000bbf62000bb98462000e14565b62000deb565b9050808382526020820190508285602086028201111562000bdf57600080fd5b60005b8581101562000c13578162000bf8888262000c62565b84526020840193506020830192505060018101905062000be2565b5050509392505050565b600062000c3462000c2e8462000e43565b62000deb565b90508281526020810184848401111562000c4d57600080fd5b62000c5a84828562000ff9565b509392505050565b60008151905062000c738162001191565b92915050565b600082601f83011262000c8b57600080fd5b815162000c9d84826020860162000ba8565b91505092915050565b600082601f83011262000cb857600080fd5b815162000cca84826020860162000c1d565b91505092915050565b60008060006060848603121562000ce957600080fd5b600084015167ffffffffffffffff81111562000d0457600080fd5b62000d128682870162000ca6565b935050602084015167ffffffffffffffff81111562000d3057600080fd5b62000d3e8682870162000ca6565b925050604084015167ffffffffffffffff81111562000d5c57600080fd5b62000d6a8682870162000c79565b9150509250925092565b600062000d83601f8362000e79565b915062000d908262001168565b602082019050919050565b62000da68162000fef565b82525050565b6000602082019050818103600083015262000dc78162000d74565b9050919050565b600060208201905062000de5600083018462000d9b565b92915050565b600062000df762000e0a565b905062000e05828262001065565b919050565b6000604051905090565b600067ffffffffffffffff82111562000e325762000e3162001128565b5b602082029050602081019050919050565b600067ffffffffffffffff82111562000e615762000e6062001128565b5b62000e6c8262001157565b9050602081019050919050565b600082825260208201905092915050565b600062000e978262000fef565b915062000ea48362000fef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000edc5762000edb6200109b565b5b828201905092915050565b600062000ef48262000fef565b915062000f018362000fef565b92508262000f145762000f13620010ca565b5b828204905092915050565b600062000f2c8262000fef565b915062000f398362000fef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000f755762000f746200109b565b5b828202905092915050565b600062000f8d8262000fef565b915062000f9a8362000fef565b92508282101562000fb05762000faf6200109b565b5b828203905092915050565b600062000fc88262000fcf565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200101957808201518184015260208101905062000ffc565b8381111562001029576000848401525b50505050565b600060028204905060018216806200104857607f821691505b602082108114156200105f576200105e620010f9565b5b50919050565b620010708262001157565b810181811067ffffffffffffffff8211171562001092576200109162001128565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200119c8162000fbb565b8114620011a857600080fd5b50565b6131f180620011bb6000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063d444c8e81161006f578063d444c8e8146104b1578063dd62ed3e146104ee578063dd8065c91461052b578063e6037ec314610554578063ec28438a14610591578063f2fde38b146105ba57610156565b80638da5cb5b1461038f57806395d89b41146103ba5780639d51d9b7146103e5578063a457c2d71461040e578063a5cfae9d1461044b578063a9059cbb1461047457610156565b8063313ce56711610108578063313ce5671461027f57806339221770146102aa57806339509351146102d55780635af0cdbc1461031257806370a082311461033b578063715018a61461037857610156565b806302bfc6841461015b57806306fdde0314610186578063095ea7b3146101b157806318160ddd146101ee57806323b872dd146102195780632d6c98171461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105e3565b60405161017d91906128d9565b60405180910390f35b34801561019257600080fd5b5061019b6105ed565b6040516101a89190612657565b60405180910390f35b3480156101bd57600080fd5b506101d860048036038101906101d3919061225c565b61067f565b6040516101e5919061263c565b60405180910390f35b3480156101fa57600080fd5b5061020361069d565b60405161021091906128d9565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b91906121d1565b6106a7565b60405161024d919061263c565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190612220565b6107a3565b005b34801561028b57600080fd5b50610294610a1f565b6040516102a191906128f4565b60405180910390f35b3480156102b657600080fd5b506102bf610a28565b6040516102cc91906128d9565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f7919061225c565b610a32565b604051610309919061263c565b60405180910390f35b34801561031e57600080fd5b506103396004803603810190610334919061225c565b610ade565b005b34801561034757600080fd5b50610362600480360381019061035d919061216c565b610d75565b60405161036f91906128d9565b60405180910390f35b34801561038457600080fd5b5061038d610dbd565b005b34801561039b57600080fd5b506103a4610e45565b6040516103b191906125f8565b60405180910390f35b3480156103c657600080fd5b506103cf610e6f565b6040516103dc9190612657565b60405180910390f35b3480156103f157600080fd5b5061040c600480360381019061040791906122c1565b610f01565b005b34801561041a57600080fd5b506104356004803603810190610430919061225c565b610f87565b604051610442919061263c565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d919061225c565b611072565b005b34801561048057600080fd5b5061049b6004803603810190610496919061225c565b611309565b6040516104a8919061263c565b60405180910390f35b3480156104bd57600080fd5b506104d860048036038101906104d3919061216c565b611403565b6040516104e5919061263c565b60405180910390f35b3480156104fa57600080fd5b5061051560048036038101906105109190612195565b611459565b60405161052291906128d9565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d9190612220565b6114e0565b005b34801561056057600080fd5b5061057b6004803603810190610576919061216c565b61175c565b604051610588919061263c565b60405180910390f35b34801561059d57600080fd5b506105b860048036038101906105b391906122c1565b6117b2565b005b3480156105c657600080fd5b506105e160048036038101906105dc919061216c565b611838565b005b6000601b54905090565b6060600380546105fc90612af2565b80601f016020809104026020016040519081016040528092919081815260200182805461062890612af2565b80156106755780601f1061064a57610100808354040283529160200191610675565b820191906000526020600020905b81548152906001019060200180831161065857829003601f168201915b5050505050905090565b600061069361068c611972565b848461197a565b6001905092915050565b6000600254905090565b60006014548210806106bf57506106be8484611b45565b5b806106d057506106cf8484611bf0565b5b61070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906127b9565b60405180910390fd5b60155461072d8361071f86610d75565b611c9b90919063ffffffff16565b108061073f575061073e8484611b45565b5b80610750575061074f8484611bf0565b5b61078f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078690612779565b60405180910390fd5b61079a848484611cb1565b90509392505050565b6107ab611972565b73ffffffffffffffffffffffffffffffffffffffff166107c9610e45565b73ffffffffffffffffffffffffffffffffffffffff161461081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690612839565b60405180910390fd5b801561092757601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a9906126b9565b60405180910390fd5b601b60008154809291906108c590612b24565b91905055506001601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610a1b565b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90612699565b60405180910390fd5b601b60008154809291906109c690612ac8565b9190505550601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b5050565b60006012905090565b6000601c54905090565b6000610ad4610a3f611972565b848460016000610a4d611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610acf919061292b565b61197a565b6001905092915050565b610ae6611972565b73ffffffffffffffffffffffffffffffffffffffff16610b04610e45565b73ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190612839565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be190612759565b60405180910390fd5b601254610c0282600d54611c9b90919063ffffffff16565b1115610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90612819565b60405180910390fd5b6000610c6e601754610c60600b544261195c90919063ffffffff16565b61194690919063ffffffff16565b905081610c86600d548361195c90919063ffffffff16565b1015610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe90612799565b60405180910390fd5b610cdc82600d54611c9b90919063ffffffff16565b600d819055503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610d1d929190612613565b602060405180830381600087803b158015610d3757600080fd5b505af1158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f9190612298565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dc5611972565b73ffffffffffffffffffffffffffffffffffffffff16610de3610e45565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090612839565b60405180910390fd5b610e436000611da9565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e7e90612af2565b80601f0160208091040260200160405190810160405280929190818152602001828054610eaa90612af2565b8015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b820191906000526020600020905b815481529060010190602001808311610eda57829003601f168201915b5050505050905090565b610f09611972565b73ffffffffffffffffffffffffffffffffffffffff16610f27610e45565b73ffffffffffffffffffffffffffffffffffffffff1614610f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7490612839565b60405180910390fd5b8060158190555050565b60008060016000610f96611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906128b9565b60405180910390fd5b61106761105e611972565b8585840361197a565b600191505092915050565b61107a611972565b73ffffffffffffffffffffffffffffffffffffffff16611098610e45565b73ffffffffffffffffffffffffffffffffffffffff16146110ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e590612839565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461117e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611175906127d9565b60405180910390fd5b60115461119682600c54611c9b90919063ffffffff16565b11156111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ce90612819565b60405180910390fd5b60006112026018546111f4600b544261195c90919063ffffffff16565b61194690919063ffffffff16565b90508161121a600c548361195c90919063ffffffff16565b101561125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290612799565b60405180910390fd5b61127082600c54611c9b90919063ffffffff16565b600c819055503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016112b1929190612613565b602060405180830381600087803b1580156112cb57600080fd5b505af11580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190612298565b50505050565b600060145482108061132157506113203384611b45565b5b8061133257506113313384611bf0565b5b611371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611368906127b9565b60405180910390fd5b60155461138f8361138186610d75565b611c9b90919063ffffffff16565b10806113a157506113a03384611b45565b5b806113b257506113b13384611bf0565b5b6113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890612779565b60405180910390fd5b6113fb8383611e6f565b905092915050565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114e8611972565b73ffffffffffffffffffffffffffffffffffffffff16611506610e45565b73ffffffffffffffffffffffffffffffffffffffff161461155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612839565b60405180910390fd5b801561166457601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690612719565b60405180910390fd5b601c600081548092919061160290612b24565b91905055506001601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611758565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e790612899565b60405180910390fd5b601c600081548092919061170390612ac8565b9190505550601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b5050565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6117ba611972565b73ffffffffffffffffffffffffffffffffffffffff166117d8610e45565b73ffffffffffffffffffffffffffffffffffffffff161461182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182590612839565b60405180910390fd5b8060148190555050565b611840611972565b73ffffffffffffffffffffffffffffffffffffffff1661185e610e45565b73ffffffffffffffffffffffffffffffffffffffff16146118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab90612839565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b906126d9565b60405180910390fd5b61192d81611da9565b50565b6000818361193e9190612981565b905092915050565b6000818361195491906129b2565b905092915050565b6000818361196a9190612a0c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e190612879565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a51906126f9565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b3891906128d9565b60405180910390a3505050565b6000601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611be85750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6000601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c935750601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b60008183611ca9919061292b565b905092915050565b6000611cbe848484611e8d565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611d09611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d80906127f9565b60405180910390fd5b611d9d85611d95611972565b85840361197a565b60019150509392505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e83611e7c611972565b8484611e8d565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef490612859565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6490612679565b60405180910390fd5b611f7883838361210e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff590612739565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612091919061292b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120f591906128d9565b60405180910390a3612108848484612113565b50505050565b505050565b505050565b60008135905061212781613176565b92915050565b60008135905061213c8161318d565b92915050565b6000815190506121518161318d565b92915050565b600081359050612166816131a4565b92915050565b60006020828403121561217e57600080fd5b600061218c84828501612118565b91505092915050565b600080604083850312156121a857600080fd5b60006121b685828601612118565b92505060206121c785828601612118565b9150509250929050565b6000806000606084860312156121e657600080fd5b60006121f486828701612118565b935050602061220586828701612118565b925050604061221686828701612157565b9150509250925092565b6000806040838503121561223357600080fd5b600061224185828601612118565b92505060206122528582860161212d565b9150509250929050565b6000806040838503121561226f57600080fd5b600061227d85828601612118565b925050602061228e85828601612157565b9150509250929050565b6000602082840312156122aa57600080fd5b60006122b884828501612142565b91505092915050565b6000602082840312156122d357600080fd5b60006122e184828501612157565b91505092915050565b6122f381612a40565b82525050565b61230281612a52565b82525050565b60006123138261290f565b61231d818561291a565b935061232d818560208601612a95565b61233681612bfa565b840191505092915050565b600061234e60238361291a565b915061235982612c0b565b604082019050919050565b6000612371602f8361291a565b915061237c82612c5a565b604082019050919050565b6000612394602e8361291a565b915061239f82612ca9565b604082019050919050565b60006123b760268361291a565b91506123c282612cf8565b604082019050919050565b60006123da60228361291a565b91506123e582612d47565b604082019050919050565b60006123fd602d8361291a565b915061240882612d96565b604082019050919050565b600061242060268361291a565b915061242b82612de5565b604082019050919050565b600061244360118361291a565b915061244e82612e34565b602082019050919050565b600061246660288361291a565b915061247182612e5d565b604082019050919050565b600061248960228361291a565b915061249482612eac565b604082019050919050565b60006124ac60288361291a565b91506124b782612efb565b604082019050919050565b60006124cf60168361291a565b91506124da82612f4a565b602082019050919050565b60006124f260288361291a565b91506124fd82612f73565b604082019050919050565b600061251560248361291a565b915061252082612fc2565b604082019050919050565b600061253860208361291a565b915061254382613011565b602082019050919050565b600061255b60258361291a565b91506125668261303a565b604082019050919050565b600061257e60248361291a565b915061258982613089565b604082019050919050565b60006125a1602e8361291a565b91506125ac826130d8565b604082019050919050565b60006125c460258361291a565b91506125cf82613127565b604082019050919050565b6125e381612a7e565b82525050565b6125f281612a88565b82525050565b600060208201905061260d60008301846122ea565b92915050565b600060408201905061262860008301856122ea565b61263560208301846125da565b9392505050565b600060208201905061265160008301846122f9565b92915050565b600060208201905081810360008301526126718184612308565b905092915050565b6000602082019050818103600083015261269281612341565b9050919050565b600060208201905081810360008301526126b281612364565b9050919050565b600060208201905081810360008301526126d281612387565b9050919050565b600060208201905081810360008301526126f2816123aa565b9050919050565b60006020820190508181036000830152612712816123cd565b9050919050565b60006020820190508181036000830152612732816123f0565b9050919050565b6000602082019050818103600083015261275281612413565b9050919050565b6000602082019050818103600083015261277281612436565b9050919050565b6000602082019050818103600083015261279281612459565b9050919050565b600060208201905081810360008301526127b28161247c565b9050919050565b600060208201905081810360008301526127d28161249f565b9050919050565b600060208201905081810360008301526127f2816124c2565b9050919050565b60006020820190508181036000830152612812816124e5565b9050919050565b6000602082019050818103600083015261283281612508565b9050919050565b600060208201905081810360008301526128528161252b565b9050919050565b600060208201905081810360008301526128728161254e565b9050919050565b6000602082019050818103600083015261289281612571565b9050919050565b600060208201905081810360008301526128b281612594565b9050919050565b600060208201905081810360008301526128d2816125b7565b9050919050565b60006020820190506128ee60008301846125da565b92915050565b600060208201905061290960008301846125e9565b92915050565b600081519050919050565b600082825260208201905092915050565b600061293682612a7e565b915061294183612a7e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561297657612975612b6d565b5b828201905092915050565b600061298c82612a7e565b915061299783612a7e565b9250826129a7576129a6612b9c565b5b828204905092915050565b60006129bd82612a7e565b91506129c883612a7e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a0157612a00612b6d565b5b828202905092915050565b6000612a1782612a7e565b9150612a2283612a7e565b925082821015612a3557612a34612b6d565b5b828203905092915050565b6000612a4b82612a5e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612ab3578082015181840152602081019050612a98565b83811115612ac2576000848401525b50505050565b6000612ad382612a7e565b91506000821415612ae757612ae6612b6d565b5b600182039050919050565b60006002820490506001821680612b0a57607f821691505b60208210811415612b1e57612b1d612bcb565b5b50919050565b6000612b2f82612a7e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b6257612b61612b6d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f546869732077616c6c657420646f6573206e6f742065786973747320696e206560008201527f786368616e67652077616c6c6574730000000000000000000000000000000000602082015250565b7f546869732077616c6c657420616c72656164792065786973747320696e20657860008201527f6368616e67652077616c6c657473000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f546869732077616c6c657420616c72656164792065786973747320696e20707260008201527f6f6a6563742077616c6c65747300000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c79207465616d2077616c6c657421000000000000000000000000000000600082015250565b7f526563697069656e74206163636f756e742062616c616e63652065786365656460008201527f73206c696d69742e000000000000000000000000000000000000000000000000602082015250565b7f4d757374206e6f742065786365656420617661696c61626c65207175616e746960008201527f7479000000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c792061776172642044414f2077616c6c65742100000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4d757374206265206c657373207468616e2074686520616d6f756e74206f666660008201527f6572656400000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546869732077616c6c657420646f6573206e6f742065786973747320696e207060008201527f726f6a6563742077616c6c657473000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61317f81612a40565b811461318a57600080fd5b50565b61319681612a52565b81146131a157600080fd5b50565b6131ad81612a7e565b81146131b857600080fd5b5056fea26469706673582212200317f172f3e6573e7ad409376df45aa0418571f23a00858cbd421dc3b757314e64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000009426162795768616c650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000342425700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000d6580ee827f10ce082a0c0d3cfc91db8383297010000000000000000000000003f6146a68f92434a2cf83d99f5e1fd861171b54b000000000000000000000000256f026de8d0509fe9ff7100ca10f97a2a896352000000000000000000000000fe937f50a8454c5126c808def1a6c572889d90c10000000000000000000000004232d0e49bcfa1412819aca2b328515af0b40e8f
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063d444c8e81161006f578063d444c8e8146104b1578063dd62ed3e146104ee578063dd8065c91461052b578063e6037ec314610554578063ec28438a14610591578063f2fde38b146105ba57610156565b80638da5cb5b1461038f57806395d89b41146103ba5780639d51d9b7146103e5578063a457c2d71461040e578063a5cfae9d1461044b578063a9059cbb1461047457610156565b8063313ce56711610108578063313ce5671461027f57806339221770146102aa57806339509351146102d55780635af0cdbc1461031257806370a082311461033b578063715018a61461037857610156565b806302bfc6841461015b57806306fdde0314610186578063095ea7b3146101b157806318160ddd146101ee57806323b872dd146102195780632d6c98171461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105e3565b60405161017d91906128d9565b60405180910390f35b34801561019257600080fd5b5061019b6105ed565b6040516101a89190612657565b60405180910390f35b3480156101bd57600080fd5b506101d860048036038101906101d3919061225c565b61067f565b6040516101e5919061263c565b60405180910390f35b3480156101fa57600080fd5b5061020361069d565b60405161021091906128d9565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b91906121d1565b6106a7565b60405161024d919061263c565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190612220565b6107a3565b005b34801561028b57600080fd5b50610294610a1f565b6040516102a191906128f4565b60405180910390f35b3480156102b657600080fd5b506102bf610a28565b6040516102cc91906128d9565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f7919061225c565b610a32565b604051610309919061263c565b60405180910390f35b34801561031e57600080fd5b506103396004803603810190610334919061225c565b610ade565b005b34801561034757600080fd5b50610362600480360381019061035d919061216c565b610d75565b60405161036f91906128d9565b60405180910390f35b34801561038457600080fd5b5061038d610dbd565b005b34801561039b57600080fd5b506103a4610e45565b6040516103b191906125f8565b60405180910390f35b3480156103c657600080fd5b506103cf610e6f565b6040516103dc9190612657565b60405180910390f35b3480156103f157600080fd5b5061040c600480360381019061040791906122c1565b610f01565b005b34801561041a57600080fd5b506104356004803603810190610430919061225c565b610f87565b604051610442919061263c565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d919061225c565b611072565b005b34801561048057600080fd5b5061049b6004803603810190610496919061225c565b611309565b6040516104a8919061263c565b60405180910390f35b3480156104bd57600080fd5b506104d860048036038101906104d3919061216c565b611403565b6040516104e5919061263c565b60405180910390f35b3480156104fa57600080fd5b5061051560048036038101906105109190612195565b611459565b60405161052291906128d9565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d9190612220565b6114e0565b005b34801561056057600080fd5b5061057b6004803603810190610576919061216c565b61175c565b604051610588919061263c565b60405180910390f35b34801561059d57600080fd5b506105b860048036038101906105b391906122c1565b6117b2565b005b3480156105c657600080fd5b506105e160048036038101906105dc919061216c565b611838565b005b6000601b54905090565b6060600380546105fc90612af2565b80601f016020809104026020016040519081016040528092919081815260200182805461062890612af2565b80156106755780601f1061064a57610100808354040283529160200191610675565b820191906000526020600020905b81548152906001019060200180831161065857829003601f168201915b5050505050905090565b600061069361068c611972565b848461197a565b6001905092915050565b6000600254905090565b60006014548210806106bf57506106be8484611b45565b5b806106d057506106cf8484611bf0565b5b61070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906127b9565b60405180910390fd5b60155461072d8361071f86610d75565b611c9b90919063ffffffff16565b108061073f575061073e8484611b45565b5b80610750575061074f8484611bf0565b5b61078f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078690612779565b60405180910390fd5b61079a848484611cb1565b90509392505050565b6107ab611972565b73ffffffffffffffffffffffffffffffffffffffff166107c9610e45565b73ffffffffffffffffffffffffffffffffffffffff161461081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690612839565b60405180910390fd5b801561092757601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a9906126b9565b60405180910390fd5b601b60008154809291906108c590612b24565b91905055506001601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610a1b565b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90612699565b60405180910390fd5b601b60008154809291906109c690612ac8565b9190505550601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b5050565b60006012905090565b6000601c54905090565b6000610ad4610a3f611972565b848460016000610a4d611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610acf919061292b565b61197a565b6001905092915050565b610ae6611972565b73ffffffffffffffffffffffffffffffffffffffff16610b04610e45565b73ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190612839565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be190612759565b60405180910390fd5b601254610c0282600d54611c9b90919063ffffffff16565b1115610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90612819565b60405180910390fd5b6000610c6e601754610c60600b544261195c90919063ffffffff16565b61194690919063ffffffff16565b905081610c86600d548361195c90919063ffffffff16565b1015610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe90612799565b60405180910390fd5b610cdc82600d54611c9b90919063ffffffff16565b600d819055503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610d1d929190612613565b602060405180830381600087803b158015610d3757600080fd5b505af1158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f9190612298565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dc5611972565b73ffffffffffffffffffffffffffffffffffffffff16610de3610e45565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090612839565b60405180910390fd5b610e436000611da9565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e7e90612af2565b80601f0160208091040260200160405190810160405280929190818152602001828054610eaa90612af2565b8015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b820191906000526020600020905b815481529060010190602001808311610eda57829003601f168201915b5050505050905090565b610f09611972565b73ffffffffffffffffffffffffffffffffffffffff16610f27610e45565b73ffffffffffffffffffffffffffffffffffffffff1614610f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7490612839565b60405180910390fd5b8060158190555050565b60008060016000610f96611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906128b9565b60405180910390fd5b61106761105e611972565b8585840361197a565b600191505092915050565b61107a611972565b73ffffffffffffffffffffffffffffffffffffffff16611098610e45565b73ffffffffffffffffffffffffffffffffffffffff16146110ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e590612839565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461117e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611175906127d9565b60405180910390fd5b60115461119682600c54611c9b90919063ffffffff16565b11156111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ce90612819565b60405180910390fd5b60006112026018546111f4600b544261195c90919063ffffffff16565b61194690919063ffffffff16565b90508161121a600c548361195c90919063ffffffff16565b101561125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290612799565b60405180910390fd5b61127082600c54611c9b90919063ffffffff16565b600c819055503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016112b1929190612613565b602060405180830381600087803b1580156112cb57600080fd5b505af11580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190612298565b50505050565b600060145482108061132157506113203384611b45565b5b8061133257506113313384611bf0565b5b611371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611368906127b9565b60405180910390fd5b60155461138f8361138186610d75565b611c9b90919063ffffffff16565b10806113a157506113a03384611b45565b5b806113b257506113b13384611bf0565b5b6113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890612779565b60405180910390fd5b6113fb8383611e6f565b905092915050565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114e8611972565b73ffffffffffffffffffffffffffffffffffffffff16611506610e45565b73ffffffffffffffffffffffffffffffffffffffff161461155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612839565b60405180910390fd5b801561166457601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690612719565b60405180910390fd5b601c600081548092919061160290612b24565b91905055506001601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611758565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e790612899565b60405180910390fd5b601c600081548092919061170390612ac8565b9190505550601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b5050565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6117ba611972565b73ffffffffffffffffffffffffffffffffffffffff166117d8610e45565b73ffffffffffffffffffffffffffffffffffffffff161461182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182590612839565b60405180910390fd5b8060148190555050565b611840611972565b73ffffffffffffffffffffffffffffffffffffffff1661185e610e45565b73ffffffffffffffffffffffffffffffffffffffff16146118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab90612839565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b906126d9565b60405180910390fd5b61192d81611da9565b50565b6000818361193e9190612981565b905092915050565b6000818361195491906129b2565b905092915050565b6000818361196a9190612a0c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e190612879565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a51906126f9565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b3891906128d9565b60405180910390a3505050565b6000601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611be85750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6000601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c935750601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b60008183611ca9919061292b565b905092915050565b6000611cbe848484611e8d565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611d09611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d80906127f9565b60405180910390fd5b611d9d85611d95611972565b85840361197a565b60019150509392505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e83611e7c611972565b8484611e8d565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef490612859565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6490612679565b60405180910390fd5b611f7883838361210e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff590612739565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612091919061292b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120f591906128d9565b60405180910390a3612108848484612113565b50505050565b505050565b505050565b60008135905061212781613176565b92915050565b60008135905061213c8161318d565b92915050565b6000815190506121518161318d565b92915050565b600081359050612166816131a4565b92915050565b60006020828403121561217e57600080fd5b600061218c84828501612118565b91505092915050565b600080604083850312156121a857600080fd5b60006121b685828601612118565b92505060206121c785828601612118565b9150509250929050565b6000806000606084860312156121e657600080fd5b60006121f486828701612118565b935050602061220586828701612118565b925050604061221686828701612157565b9150509250925092565b6000806040838503121561223357600080fd5b600061224185828601612118565b92505060206122528582860161212d565b9150509250929050565b6000806040838503121561226f57600080fd5b600061227d85828601612118565b925050602061228e85828601612157565b9150509250929050565b6000602082840312156122aa57600080fd5b60006122b884828501612142565b91505092915050565b6000602082840312156122d357600080fd5b60006122e184828501612157565b91505092915050565b6122f381612a40565b82525050565b61230281612a52565b82525050565b60006123138261290f565b61231d818561291a565b935061232d818560208601612a95565b61233681612bfa565b840191505092915050565b600061234e60238361291a565b915061235982612c0b565b604082019050919050565b6000612371602f8361291a565b915061237c82612c5a565b604082019050919050565b6000612394602e8361291a565b915061239f82612ca9565b604082019050919050565b60006123b760268361291a565b91506123c282612cf8565b604082019050919050565b60006123da60228361291a565b91506123e582612d47565b604082019050919050565b60006123fd602d8361291a565b915061240882612d96565b604082019050919050565b600061242060268361291a565b915061242b82612de5565b604082019050919050565b600061244360118361291a565b915061244e82612e34565b602082019050919050565b600061246660288361291a565b915061247182612e5d565b604082019050919050565b600061248960228361291a565b915061249482612eac565b604082019050919050565b60006124ac60288361291a565b91506124b782612efb565b604082019050919050565b60006124cf60168361291a565b91506124da82612f4a565b602082019050919050565b60006124f260288361291a565b91506124fd82612f73565b604082019050919050565b600061251560248361291a565b915061252082612fc2565b604082019050919050565b600061253860208361291a565b915061254382613011565b602082019050919050565b600061255b60258361291a565b91506125668261303a565b604082019050919050565b600061257e60248361291a565b915061258982613089565b604082019050919050565b60006125a1602e8361291a565b91506125ac826130d8565b604082019050919050565b60006125c460258361291a565b91506125cf82613127565b604082019050919050565b6125e381612a7e565b82525050565b6125f281612a88565b82525050565b600060208201905061260d60008301846122ea565b92915050565b600060408201905061262860008301856122ea565b61263560208301846125da565b9392505050565b600060208201905061265160008301846122f9565b92915050565b600060208201905081810360008301526126718184612308565b905092915050565b6000602082019050818103600083015261269281612341565b9050919050565b600060208201905081810360008301526126b281612364565b9050919050565b600060208201905081810360008301526126d281612387565b9050919050565b600060208201905081810360008301526126f2816123aa565b9050919050565b60006020820190508181036000830152612712816123cd565b9050919050565b60006020820190508181036000830152612732816123f0565b9050919050565b6000602082019050818103600083015261275281612413565b9050919050565b6000602082019050818103600083015261277281612436565b9050919050565b6000602082019050818103600083015261279281612459565b9050919050565b600060208201905081810360008301526127b28161247c565b9050919050565b600060208201905081810360008301526127d28161249f565b9050919050565b600060208201905081810360008301526127f2816124c2565b9050919050565b60006020820190508181036000830152612812816124e5565b9050919050565b6000602082019050818103600083015261283281612508565b9050919050565b600060208201905081810360008301526128528161252b565b9050919050565b600060208201905081810360008301526128728161254e565b9050919050565b6000602082019050818103600083015261289281612571565b9050919050565b600060208201905081810360008301526128b281612594565b9050919050565b600060208201905081810360008301526128d2816125b7565b9050919050565b60006020820190506128ee60008301846125da565b92915050565b600060208201905061290960008301846125e9565b92915050565b600081519050919050565b600082825260208201905092915050565b600061293682612a7e565b915061294183612a7e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561297657612975612b6d565b5b828201905092915050565b600061298c82612a7e565b915061299783612a7e565b9250826129a7576129a6612b9c565b5b828204905092915050565b60006129bd82612a7e565b91506129c883612a7e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a0157612a00612b6d565b5b828202905092915050565b6000612a1782612a7e565b9150612a2283612a7e565b925082821015612a3557612a34612b6d565b5b828203905092915050565b6000612a4b82612a5e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612ab3578082015181840152602081019050612a98565b83811115612ac2576000848401525b50505050565b6000612ad382612a7e565b91506000821415612ae757612ae6612b6d565b5b600182039050919050565b60006002820490506001821680612b0a57607f821691505b60208210811415612b1e57612b1d612bcb565b5b50919050565b6000612b2f82612a7e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b6257612b61612b6d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f546869732077616c6c657420646f6573206e6f742065786973747320696e206560008201527f786368616e67652077616c6c6574730000000000000000000000000000000000602082015250565b7f546869732077616c6c657420616c72656164792065786973747320696e20657860008201527f6368616e67652077616c6c657473000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f546869732077616c6c657420616c72656164792065786973747320696e20707260008201527f6f6a6563742077616c6c65747300000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c79207465616d2077616c6c657421000000000000000000000000000000600082015250565b7f526563697069656e74206163636f756e742062616c616e63652065786365656460008201527f73206c696d69742e000000000000000000000000000000000000000000000000602082015250565b7f4d757374206e6f742065786365656420617661696c61626c65207175616e746960008201527f7479000000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c792061776172642044414f2077616c6c65742100000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4d757374206265206c657373207468616e2074686520616d6f756e74206f666660008201527f6572656400000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546869732077616c6c657420646f6573206e6f742065786973747320696e207060008201527f726f6a6563742077616c6c657473000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61317f81612a40565b811461318a57600080fd5b50565b61319681612a52565b81146131a157600080fd5b50565b6131ad81612a7e565b81146131b857600080fd5b5056fea26469706673582212200317f172f3e6573e7ad409376df45aa0418571f23a00858cbd421dc3b757314e64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000009426162795768616c650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000342425700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000d6580ee827f10ce082a0c0d3cfc91db8383297010000000000000000000000003f6146a68f92434a2cf83d99f5e1fd861171b54b000000000000000000000000256f026de8d0509fe9ff7100ca10f97a2a896352000000000000000000000000fe937f50a8454c5126c808def1a6c572889d90c10000000000000000000000004232d0e49bcfa1412819aca2b328515af0b40e8f
-----Decoded View---------------
Arg [0] : name (string): BabyWhale
Arg [1] : symbol (string): BBW
Arg [2] : projectWallets (address[]): 0xD6580EE827f10CE082A0c0D3cFc91db838329701,0x3F6146A68f92434a2cf83D99F5E1FD861171B54B,0x256F026DE8d0509FE9ff7100CA10F97A2a896352,0xfE937F50a8454C5126C808DEF1A6c572889D90C1,0x4232d0E49bCfa1412819aCA2B328515AF0B40e8f
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 426162795768616c650000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4242570000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [8] : 000000000000000000000000d6580ee827f10ce082a0c0d3cfc91db838329701
Arg [9] : 0000000000000000000000003f6146a68f92434a2cf83d99f5e1fd861171b54b
Arg [10] : 000000000000000000000000256f026de8d0509fe9ff7100ca10f97a2a896352
Arg [11] : 000000000000000000000000fe937f50a8454c5126c808def1a6c572889d90c1
Arg [12] : 0000000000000000000000004232d0e49bcfa1412819aca2b328515af0b40e8f
Deployed Bytecode Sourcemap
26384:8041:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31226:112;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13512:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15820:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14632:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;33710:712;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30590:628;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14474:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32314:110;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17450:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29837:745;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14803:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25530:103;;;;;;;;;;;;;:::i;:::-;;24879:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13731:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32769:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18250:482;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29048:781;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;32999:703;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32432:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15472:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31688:618;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;31346:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32882:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25788:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;31226:112;31283:7;31310:20;;31303:27;;31226:112;:::o;13512:100::-;13566:13;13599:5;13592:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13512:100;:::o;15820:210::-;15939:4;15961:39;15970:12;:10;:12::i;:::-;15984:7;15993:6;15961:8;:39::i;:::-;16018:4;16011:11;;15820:210;;;;:::o;14632:108::-;14693:7;14720:12;;14713:19;;14632:108;:::o;33710:712::-;33850:4;33898:12;;33889:6;:21;:77;;;;33931:35;33948:6;33956:9;33931:16;:35::i;:::-;33889:77;:134;;;;33987:36;34005:6;34013:9;33987:17;:36::i;:::-;33889:134;33867:224;;;;;;;;;;;;:::i;:::-;;;;;;;;;34159:11;;34124:32;34149:6;34124:20;34134:9;34124;:20::i;:::-;:24;;:32;;;;:::i;:::-;:46;:102;;;;34191:35;34208:6;34216:9;34191:16;:35::i;:::-;34124:102;:159;;;;34247:36;34265:6;34273:9;34247:17;:36::i;:::-;34124:159;34102:249;;;;;;;;;;;;:::i;:::-;;;;;;;;;34369:45;34388:6;34396:9;34407:6;34369:18;:45::i;:::-;34362:52;;33710:712;;;;;:::o;30590:628::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;30709:8:::1;30705:506;;;30761:16;:24;30778:6;30761:24;;;;;;;;;;;;;;;;;;;;;;;;;30760:25;30734:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;30882:20;;:22;;;;;;;;;:::i;:::-;;;;;;30946:4;30919:16;:24;30936:6;30919:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;30705:506;;;31009:16;:24;31026:6;31009:24;;;;;;;;;;;;;;;;;;;;;;;;;30983:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;31131:20;;:22;;;;;;;;;:::i;:::-;;;;;;31175:16;:24;31192:6;31175:24;;;;;;;;;;;;;;;;31168:31;;;;;;;;;;;30705:506;30590:628:::0;;:::o;14474:93::-;14532:5;14557:2;14550:9;;14474:93;:::o;32314:110::-;32370:7;32397:19;;32390:26;;32314:110;:::o;17450:297::-;17565:4;17587:130;17610:12;:10;:12::i;:::-;17637:7;17696:10;17659:11;:25;17671:12;:10;:12::i;:::-;17659:25;;;;;;;;;;;;;;;:34;17685:7;17659:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;17587:8;:130::i;:::-;17735:4;17728:11;;17450:297;;;;:::o;29837:745::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29968:10:::1;;;;;;;;;;;29957:21;;:7;:21;;;29949:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;30066:11;;30035:27;30055:6;30035:15;;:19;;:27;;;;:::i;:::-;:42;;30013:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;30154:32;30189:119;30271:36;;30189:63;30237:14;;30189:29;:47;;:63;;;;:::i;:::-;:81;;:119;;;;:::i;:::-;30154:154;;30390:6;30341:45;30370:15;;30341:24;:28;;:45;;;;:::i;:::-;:55;;30319:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;30489:27;30509:6;30489:15;;:19;;:27;;;;:::i;:::-;30471:15;:45;;;;30542:4;30527:30;;;30558:7;30567:6;30527:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25170:1;29837:745:::0;;:::o;14803:177::-;14922:7;14954:9;:18;14964:7;14954:18;;;;;;;;;;;;;;;;14947:25;;14803:177;;;:::o;25530:103::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25595:30:::1;25622:1;25595:18;:30::i;:::-;25530:103::o:0;24879:87::-;24925:7;24952:6;;;;;;;;;;;24945:13;;24879:87;:::o;13731:104::-;13787:13;13820:7;13813:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13731:104;:::o;32769:105::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32856:10:::1;32842:11;:24;;;;32769:105:::0;:::o;18250:482::-;18370:4;18392:24;18419:11;:25;18431:12;:10;:12::i;:::-;18419:25;;;;;;;;;;;;;;;:34;18445:7;18419:34;;;;;;;;;;;;;;;;18392:61;;18506:15;18486:16;:35;;18464:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;18622:67;18631:12;:10;:12::i;:::-;18645:7;18673:15;18654:16;:34;18622:8;:67::i;:::-;18720:4;18713:11;;;18250:482;;;;:::o;29048:781::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29182:14:::1;;;;;;;;;;;29171:25;;:7;:25;;;29163:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;29293:15;;29258:31;29282:6;29258:19;;:23;;:31;;;;:::i;:::-;:50;;29236:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;29385:36;29424:115;29506:32;;29424:63;29472:14;;29424:29;:47;;:63;;;;:::i;:::-;:81;;:115;;;;:::i;:::-;29385:154;;29629:6;29572:53;29605:19;;29572:28;:32;;:53;;;;:::i;:::-;:63;;29550:147;;;;;;;;;;;;:::i;:::-;;;;;;;;;29732:31;29756:6;29732:19;;:23;;:31;;;;:::i;:::-;29710:19;:53;;;;29789:4;29774:30;;;29805:7;29814:6;29774:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25170:1;29048:781:::0;;:::o;32999:703::-;33121:4;33174:12;;33165:6;:21;:81;;;;33207:39;33224:10;33236:9;33207:16;:39::i;:::-;33165:81;:142;;;;33267:40;33285:10;33297:9;33267:17;:40::i;:::-;33165:142;33143:232;;;;;;;;;;;;:::i;:::-;;;;;;;;;33443:11;;33408:32;33433:6;33408:20;33418:9;33408;:20::i;:::-;:24;;:32;;;;:::i;:::-;:46;:106;;;;33475:39;33492:10;33504:9;33475:16;:39::i;:::-;33408:106;:167;;;;33535:40;33553:10;33565:9;33535:17;:40::i;:::-;33408:167;33386:257;;;;;;;;;;;;:::i;:::-;;;;;;;;;33661:33;33676:9;33687:6;33661:14;:33::i;:::-;33654:40;;32999:703;;;;:::o;32432:120::-;32497:4;32521:15;:23;32537:6;32521:23;;;;;;;;;;;;;;;;;;;;;;;;;32514:30;;32432:120;;;:::o;15472:201::-;15606:7;15638:11;:18;15650:5;15638:18;;;;;;;;;;;;;;;:27;15657:7;15638:27;;;;;;;;;;;;;;;;15631:34;;15472:201;;;;:::o;31688:618::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;31805:8:::1;31801:498;;;31857:15;:23;31873:6;31857:23;;;;;;;;;;;;;;;;;;;;;;;;;31856:24;31830:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;31976:19;;:21;;;;;;;;;:::i;:::-;;;;;;32038:4;32012:15;:23;32028:6;32012:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;31801:498;;;32101:15;:23;32117:6;32101:23;;;;;;;;;;;;;;;;;;;;;;;;;32075:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;32221:19;;:21;;;;;;;;;:::i;:::-;;;;;;32264:15;:23;32280:6;32264:23;;;;;;;;;;;;;;;;32257:30;;;;;;;;;;;31801:498;31688:618:::0;;:::o;31346:122::-;31412:4;31436:16;:24;31453:6;31436:24;;;;;;;;;;;;;;;;;;;;;;;;;31429:31;;31346:122;;;:::o;32882:109::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32972:11:::1;32957:12;:26;;;;32882:109:::0;:::o;25788:238::-;25110:12;:10;:12::i;:::-;25099:23;;:7;:5;:7::i;:::-;:23;;;25091:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25911:1:::1;25891:22;;:8;:22;;;;25869:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;25990:28;26009:8;25990:18;:28::i;:::-;25788:238:::0;:::o;4932:98::-;4990:7;5021:1;5017;:5;;;;:::i;:::-;5010:12;;4932:98;;;;:::o;4533:::-;4591:7;4622:1;4618;:5;;;;:::i;:::-;4611:12;;4533:98;;;;:::o;4176:::-;4234:7;4265:1;4261;:5;;;;:::i;:::-;4254:12;;4176:98;;;;:::o;652:::-;705:7;732:10;725:17;;652:98;:::o;22040:380::-;22193:1;22176:19;;:5;:19;;;;22168:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22274:1;22255:21;;:7;:21;;;;22247:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22358:6;22328:11;:18;22340:5;22328:18;;;;;;;;;;;;;;;:27;22347:7;22328:27;;;;;;;;;;;;;;;:36;;;;22396:7;22380:32;;22389:5;22380:32;;;22405:6;22380:32;;;;;;:::i;:::-;;;;;;;;22040:380;;;:::o;32560:201::-;32671:4;32700:15;:23;32716:6;32700:23;;;;;;;;;;;;;;;;;;;;;;;;;:53;;;;32727:15;:26;32743:9;32727:26;;;;;;;;;;;;;;;;;;;;;;;;;32700:53;32693:60;;32560:201;;;;:::o;31476:204::-;31588:4;31617:16;:24;31634:6;31617:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;31645:16;:27;31662:9;31645:27;;;;;;;;;;;;;;;;;;;;;;;;;31617:55;31610:62;;31476:204;;;;:::o;3795:98::-;3853:7;3884:1;3880;:5;;;;:::i;:::-;3873:12;;3795:98;;;;:::o;16512:529::-;16652:4;16669:36;16679:6;16687:9;16698:6;16669:9;:36::i;:::-;16718:24;16745:11;:19;16757:6;16745:19;;;;;;;;;;;;;;;:33;16765:12;:10;:12::i;:::-;16745:33;;;;;;;;;;;;;;;;16718:60;;16831:6;16811:16;:26;;16789:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;16941:57;16950:6;16958:12;:10;:12::i;:::-;16991:6;16972:16;:25;16941:8;:57::i;:::-;17029:4;17022:11;;;16512:529;;;;;:::o;26186:191::-;26260:16;26279:6;;;;;;;;;;;26260:25;;26305:8;26296:6;;:17;;;;;;;;;;;;;;;;;;26360:8;26329:40;;26350:8;26329:40;;;;;;;;;;;;26186:191;;:::o;15193:216::-;15315:4;15337:42;15347:12;:10;:12::i;:::-;15361:9;15372:6;15337:9;:42::i;:::-;15397:4;15390:11;;15193:216;;;;:::o;19222:770::-;19380:1;19362:20;;:6;:20;;;;19354:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19464:1;19443:23;;:9;:23;;;;19435:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;19519:47;19540:6;19548:9;19559:6;19519:20;:47::i;:::-;19579:21;19603:9;:17;19613:6;19603:17;;;;;;;;;;;;;;;;19579:41;;19670:6;19653:13;:23;;19631:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;19814:6;19798:13;:22;19778:9;:17;19788:6;19778:17;;;;;;;;;;;;;;;:42;;;;19866:6;19842:9;:20;19852:9;19842:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;19907:9;19890:35;;19899:6;19890:35;;;19918:6;19890:35;;;;;;:::i;:::-;;;;;;;;19938:46;19958:6;19966:9;19977:6;19938:19;:46::i;:::-;19222:770;;;;:::o;23020:125::-;;;;:::o;23749:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:137::-;345:5;376:6;370:13;361:22;;392:30;416:5;392:30;:::i;:::-;351:77;;;;:::o;434:139::-;480:5;518:6;505:20;496:29;;534:33;561:5;534:33;:::i;:::-;486:87;;;;:::o;579:262::-;638:6;687:2;675:9;666:7;662:23;658:32;655:2;;;703:1;700;693:12;655:2;746:1;771:53;816:7;807:6;796:9;792:22;771:53;:::i;:::-;761:63;;717:117;645:196;;;;:::o;847:407::-;915:6;923;972:2;960:9;951:7;947:23;943:32;940:2;;;988:1;985;978:12;940:2;1031:1;1056:53;1101:7;1092:6;1081:9;1077:22;1056:53;:::i;:::-;1046:63;;1002:117;1158:2;1184:53;1229:7;1220:6;1209:9;1205:22;1184:53;:::i;:::-;1174:63;;1129:118;930:324;;;;;:::o;1260:552::-;1337:6;1345;1353;1402:2;1390:9;1381:7;1377:23;1373:32;1370:2;;;1418:1;1415;1408:12;1370:2;1461:1;1486:53;1531:7;1522:6;1511:9;1507:22;1486:53;:::i;:::-;1476:63;;1432:117;1588:2;1614:53;1659:7;1650:6;1639:9;1635:22;1614:53;:::i;:::-;1604:63;;1559:118;1716:2;1742:53;1787:7;1778:6;1767:9;1763:22;1742:53;:::i;:::-;1732:63;;1687:118;1360:452;;;;;:::o;1818:401::-;1883:6;1891;1940:2;1928:9;1919:7;1915:23;1911:32;1908:2;;;1956:1;1953;1946:12;1908:2;1999:1;2024:53;2069:7;2060:6;2049:9;2045:22;2024:53;:::i;:::-;2014:63;;1970:117;2126:2;2152:50;2194:7;2185:6;2174:9;2170:22;2152:50;:::i;:::-;2142:60;;2097:115;1898:321;;;;;:::o;2225:407::-;2293:6;2301;2350:2;2338:9;2329:7;2325:23;2321:32;2318:2;;;2366:1;2363;2356:12;2318:2;2409:1;2434:53;2479:7;2470:6;2459:9;2455:22;2434:53;:::i;:::-;2424:63;;2380:117;2536:2;2562:53;2607:7;2598:6;2587:9;2583:22;2562:53;:::i;:::-;2552:63;;2507:118;2308:324;;;;;:::o;2638:278::-;2705:6;2754:2;2742:9;2733:7;2729:23;2725:32;2722:2;;;2770:1;2767;2760:12;2722:2;2813:1;2838:61;2891:7;2882:6;2871:9;2867:22;2838:61;:::i;:::-;2828:71;;2784:125;2712:204;;;;:::o;2922:262::-;2981:6;3030:2;3018:9;3009:7;3005:23;3001:32;2998:2;;;3046:1;3043;3036:12;2998:2;3089:1;3114:53;3159:7;3150:6;3139:9;3135:22;3114:53;:::i;:::-;3104:63;;3060:117;2988:196;;;;:::o;3190:118::-;3277:24;3295:5;3277:24;:::i;:::-;3272:3;3265:37;3255:53;;:::o;3314:109::-;3395:21;3410:5;3395:21;:::i;:::-;3390:3;3383:34;3373:50;;:::o;3429:364::-;3517:3;3545:39;3578:5;3545:39;:::i;:::-;3600:71;3664:6;3659:3;3600:71;:::i;:::-;3593:78;;3680:52;3725:6;3720:3;3713:4;3706:5;3702:16;3680:52;:::i;:::-;3757:29;3779:6;3757:29;:::i;:::-;3752:3;3748:39;3741:46;;3521:272;;;;;:::o;3799:366::-;3941:3;3962:67;4026:2;4021:3;3962:67;:::i;:::-;3955:74;;4038:93;4127:3;4038:93;:::i;:::-;4156:2;4151:3;4147:12;4140:19;;3945:220;;;:::o;4171:366::-;4313:3;4334:67;4398:2;4393:3;4334:67;:::i;:::-;4327:74;;4410:93;4499:3;4410:93;:::i;:::-;4528:2;4523:3;4519:12;4512:19;;4317:220;;;:::o;4543:366::-;4685:3;4706:67;4770:2;4765:3;4706:67;:::i;:::-;4699:74;;4782:93;4871:3;4782:93;:::i;:::-;4900:2;4895:3;4891:12;4884:19;;4689:220;;;:::o;4915:366::-;5057:3;5078:67;5142:2;5137:3;5078:67;:::i;:::-;5071:74;;5154:93;5243:3;5154:93;:::i;:::-;5272:2;5267:3;5263:12;5256:19;;5061:220;;;:::o;5287:366::-;5429:3;5450:67;5514:2;5509:3;5450:67;:::i;:::-;5443:74;;5526:93;5615:3;5526:93;:::i;:::-;5644:2;5639:3;5635:12;5628:19;;5433:220;;;:::o;5659:366::-;5801:3;5822:67;5886:2;5881:3;5822:67;:::i;:::-;5815:74;;5898:93;5987:3;5898:93;:::i;:::-;6016:2;6011:3;6007:12;6000:19;;5805:220;;;:::o;6031:366::-;6173:3;6194:67;6258:2;6253:3;6194:67;:::i;:::-;6187:74;;6270:93;6359:3;6270:93;:::i;:::-;6388:2;6383:3;6379:12;6372:19;;6177:220;;;:::o;6403:366::-;6545:3;6566:67;6630:2;6625:3;6566:67;:::i;:::-;6559:74;;6642:93;6731:3;6642:93;:::i;:::-;6760:2;6755:3;6751:12;6744:19;;6549:220;;;:::o;6775:366::-;6917:3;6938:67;7002:2;6997:3;6938:67;:::i;:::-;6931:74;;7014:93;7103:3;7014:93;:::i;:::-;7132:2;7127:3;7123:12;7116:19;;6921:220;;;:::o;7147:366::-;7289:3;7310:67;7374:2;7369:3;7310:67;:::i;:::-;7303:74;;7386:93;7475:3;7386:93;:::i;:::-;7504:2;7499:3;7495:12;7488:19;;7293:220;;;:::o;7519:366::-;7661:3;7682:67;7746:2;7741:3;7682:67;:::i;:::-;7675:74;;7758:93;7847:3;7758:93;:::i;:::-;7876:2;7871:3;7867:12;7860:19;;7665:220;;;:::o;7891:366::-;8033:3;8054:67;8118:2;8113:3;8054:67;:::i;:::-;8047:74;;8130:93;8219:3;8130:93;:::i;:::-;8248:2;8243:3;8239:12;8232:19;;8037:220;;;:::o;8263:366::-;8405:3;8426:67;8490:2;8485:3;8426:67;:::i;:::-;8419:74;;8502:93;8591:3;8502:93;:::i;:::-;8620:2;8615:3;8611:12;8604:19;;8409:220;;;:::o;8635:366::-;8777:3;8798:67;8862:2;8857:3;8798:67;:::i;:::-;8791:74;;8874:93;8963:3;8874:93;:::i;:::-;8992:2;8987:3;8983:12;8976:19;;8781:220;;;:::o;9007:366::-;9149:3;9170:67;9234:2;9229:3;9170:67;:::i;:::-;9163:74;;9246:93;9335:3;9246:93;:::i;:::-;9364:2;9359:3;9355:12;9348:19;;9153:220;;;:::o;9379:366::-;9521:3;9542:67;9606:2;9601:3;9542:67;:::i;:::-;9535:74;;9618:93;9707:3;9618:93;:::i;:::-;9736:2;9731:3;9727:12;9720:19;;9525:220;;;:::o;9751:366::-;9893:3;9914:67;9978:2;9973:3;9914:67;:::i;:::-;9907:74;;9990:93;10079:3;9990:93;:::i;:::-;10108:2;10103:3;10099:12;10092:19;;9897:220;;;:::o;10123:366::-;10265:3;10286:67;10350:2;10345:3;10286:67;:::i;:::-;10279:74;;10362:93;10451:3;10362:93;:::i;:::-;10480:2;10475:3;10471:12;10464:19;;10269:220;;;:::o;10495:366::-;10637:3;10658:67;10722:2;10717:3;10658:67;:::i;:::-;10651:74;;10734:93;10823:3;10734:93;:::i;:::-;10852:2;10847:3;10843:12;10836:19;;10641:220;;;:::o;10867:118::-;10954:24;10972:5;10954:24;:::i;:::-;10949:3;10942:37;10932:53;;:::o;10991:112::-;11074:22;11090:5;11074:22;:::i;:::-;11069:3;11062:35;11052:51;;:::o;11109:222::-;11202:4;11240:2;11229:9;11225:18;11217:26;;11253:71;11321:1;11310:9;11306:17;11297:6;11253:71;:::i;:::-;11207:124;;;;:::o;11337:332::-;11458:4;11496:2;11485:9;11481:18;11473:26;;11509:71;11577:1;11566:9;11562:17;11553:6;11509:71;:::i;:::-;11590:72;11658:2;11647:9;11643:18;11634:6;11590:72;:::i;:::-;11463:206;;;;;:::o;11675:210::-;11762:4;11800:2;11789:9;11785:18;11777:26;;11813:65;11875:1;11864:9;11860:17;11851:6;11813:65;:::i;:::-;11767:118;;;;:::o;11891:313::-;12004:4;12042:2;12031:9;12027:18;12019:26;;12091:9;12085:4;12081:20;12077:1;12066:9;12062:17;12055:47;12119:78;12192:4;12183:6;12119:78;:::i;:::-;12111:86;;12009:195;;;;:::o;12210:419::-;12376:4;12414:2;12403:9;12399:18;12391:26;;12463:9;12457:4;12453:20;12449:1;12438:9;12434:17;12427:47;12491:131;12617:4;12491:131;:::i;:::-;12483:139;;12381:248;;;:::o;12635:419::-;12801:4;12839:2;12828:9;12824:18;12816:26;;12888:9;12882:4;12878:20;12874:1;12863:9;12859:17;12852:47;12916:131;13042:4;12916:131;:::i;:::-;12908:139;;12806:248;;;:::o;13060:419::-;13226:4;13264:2;13253:9;13249:18;13241:26;;13313:9;13307:4;13303:20;13299:1;13288:9;13284:17;13277:47;13341:131;13467:4;13341:131;:::i;:::-;13333:139;;13231:248;;;:::o;13485:419::-;13651:4;13689:2;13678:9;13674:18;13666:26;;13738:9;13732:4;13728:20;13724:1;13713:9;13709:17;13702:47;13766:131;13892:4;13766:131;:::i;:::-;13758:139;;13656:248;;;:::o;13910:419::-;14076:4;14114:2;14103:9;14099:18;14091:26;;14163:9;14157:4;14153:20;14149:1;14138:9;14134:17;14127:47;14191:131;14317:4;14191:131;:::i;:::-;14183:139;;14081:248;;;:::o;14335:419::-;14501:4;14539:2;14528:9;14524:18;14516:26;;14588:9;14582:4;14578:20;14574:1;14563:9;14559:17;14552:47;14616:131;14742:4;14616:131;:::i;:::-;14608:139;;14506:248;;;:::o;14760:419::-;14926:4;14964:2;14953:9;14949:18;14941:26;;15013:9;15007:4;15003:20;14999:1;14988:9;14984:17;14977:47;15041:131;15167:4;15041:131;:::i;:::-;15033:139;;14931:248;;;:::o;15185:419::-;15351:4;15389:2;15378:9;15374:18;15366:26;;15438:9;15432:4;15428:20;15424:1;15413:9;15409:17;15402:47;15466:131;15592:4;15466:131;:::i;:::-;15458:139;;15356:248;;;:::o;15610:419::-;15776:4;15814:2;15803:9;15799:18;15791:26;;15863:9;15857:4;15853:20;15849:1;15838:9;15834:17;15827:47;15891:131;16017:4;15891:131;:::i;:::-;15883:139;;15781:248;;;:::o;16035:419::-;16201:4;16239:2;16228:9;16224:18;16216:26;;16288:9;16282:4;16278:20;16274:1;16263:9;16259:17;16252:47;16316:131;16442:4;16316:131;:::i;:::-;16308:139;;16206:248;;;:::o;16460:419::-;16626:4;16664:2;16653:9;16649:18;16641:26;;16713:9;16707:4;16703:20;16699:1;16688:9;16684:17;16677:47;16741:131;16867:4;16741:131;:::i;:::-;16733:139;;16631:248;;;:::o;16885:419::-;17051:4;17089:2;17078:9;17074:18;17066:26;;17138:9;17132:4;17128:20;17124:1;17113:9;17109:17;17102:47;17166:131;17292:4;17166:131;:::i;:::-;17158:139;;17056:248;;;:::o;17310:419::-;17476:4;17514:2;17503:9;17499:18;17491:26;;17563:9;17557:4;17553:20;17549:1;17538:9;17534:17;17527:47;17591:131;17717:4;17591:131;:::i;:::-;17583:139;;17481:248;;;:::o;17735:419::-;17901:4;17939:2;17928:9;17924:18;17916:26;;17988:9;17982:4;17978:20;17974:1;17963:9;17959:17;17952:47;18016:131;18142:4;18016:131;:::i;:::-;18008:139;;17906:248;;;:::o;18160:419::-;18326:4;18364:2;18353:9;18349:18;18341:26;;18413:9;18407:4;18403:20;18399:1;18388:9;18384:17;18377:47;18441:131;18567:4;18441:131;:::i;:::-;18433:139;;18331:248;;;:::o;18585:419::-;18751:4;18789:2;18778:9;18774:18;18766:26;;18838:9;18832:4;18828:20;18824:1;18813:9;18809:17;18802:47;18866:131;18992:4;18866:131;:::i;:::-;18858:139;;18756:248;;;:::o;19010:419::-;19176:4;19214:2;19203:9;19199:18;19191:26;;19263:9;19257:4;19253:20;19249:1;19238:9;19234:17;19227:47;19291:131;19417:4;19291:131;:::i;:::-;19283:139;;19181:248;;;:::o;19435:419::-;19601:4;19639:2;19628:9;19624:18;19616:26;;19688:9;19682:4;19678:20;19674:1;19663:9;19659:17;19652:47;19716:131;19842:4;19716:131;:::i;:::-;19708:139;;19606:248;;;:::o;19860:419::-;20026:4;20064:2;20053:9;20049:18;20041:26;;20113:9;20107:4;20103:20;20099:1;20088:9;20084:17;20077:47;20141:131;20267:4;20141:131;:::i;:::-;20133:139;;20031:248;;;:::o;20285:222::-;20378:4;20416:2;20405:9;20401:18;20393:26;;20429:71;20497:1;20486:9;20482:17;20473:6;20429:71;:::i;:::-;20383:124;;;;:::o;20513:214::-;20602:4;20640:2;20629:9;20625:18;20617:26;;20653:67;20717:1;20706:9;20702:17;20693:6;20653:67;:::i;:::-;20607:120;;;;:::o;20733:99::-;20785:6;20819:5;20813:12;20803:22;;20792:40;;;:::o;20838:169::-;20922:11;20956:6;20951:3;20944:19;20996:4;20991:3;20987:14;20972:29;;20934:73;;;;:::o;21013:305::-;21053:3;21072:20;21090:1;21072:20;:::i;:::-;21067:25;;21106:20;21124:1;21106:20;:::i;:::-;21101:25;;21260:1;21192:66;21188:74;21185:1;21182:81;21179:2;;;21266:18;;:::i;:::-;21179:2;21310:1;21307;21303:9;21296:16;;21057:261;;;;:::o;21324:185::-;21364:1;21381:20;21399:1;21381:20;:::i;:::-;21376:25;;21415:20;21433:1;21415:20;:::i;:::-;21410:25;;21454:1;21444:2;;21459:18;;:::i;:::-;21444:2;21501:1;21498;21494:9;21489:14;;21366:143;;;;:::o;21515:348::-;21555:7;21578:20;21596:1;21578:20;:::i;:::-;21573:25;;21612:20;21630:1;21612:20;:::i;:::-;21607:25;;21800:1;21732:66;21728:74;21725:1;21722:81;21717:1;21710:9;21703:17;21699:105;21696:2;;;21807:18;;:::i;:::-;21696:2;21855:1;21852;21848:9;21837:20;;21563:300;;;;:::o;21869:191::-;21909:4;21929:20;21947:1;21929:20;:::i;:::-;21924:25;;21963:20;21981:1;21963:20;:::i;:::-;21958:25;;22002:1;21999;21996:8;21993:2;;;22007:18;;:::i;:::-;21993:2;22052:1;22049;22045:9;22037:17;;21914:146;;;;:::o;22066:96::-;22103:7;22132:24;22150:5;22132:24;:::i;:::-;22121:35;;22111:51;;;:::o;22168:90::-;22202:7;22245:5;22238:13;22231:21;22220:32;;22210:48;;;:::o;22264:126::-;22301:7;22341:42;22334:5;22330:54;22319:65;;22309:81;;;:::o;22396:77::-;22433:7;22462:5;22451:16;;22441:32;;;:::o;22479:86::-;22514:7;22554:4;22547:5;22543:16;22532:27;;22522:43;;;:::o;22571:307::-;22639:1;22649:113;22663:6;22660:1;22657:13;22649:113;;;22748:1;22743:3;22739:11;22733:18;22729:1;22724:3;22720:11;22713:39;22685:2;22682:1;22678:10;22673:15;;22649:113;;;22780:6;22777:1;22774:13;22771:2;;;22860:1;22851:6;22846:3;22842:16;22835:27;22771:2;22620:258;;;;:::o;22884:171::-;22923:3;22946:24;22964:5;22946:24;:::i;:::-;22937:33;;22992:4;22985:5;22982:15;22979:2;;;23000:18;;:::i;:::-;22979:2;23047:1;23040:5;23036:13;23029:20;;22927:128;;;:::o;23061:320::-;23105:6;23142:1;23136:4;23132:12;23122:22;;23189:1;23183:4;23179:12;23210:18;23200:2;;23266:4;23258:6;23254:17;23244:27;;23200:2;23328;23320:6;23317:14;23297:18;23294:38;23291:2;;;23347:18;;:::i;:::-;23291:2;23112:269;;;;:::o;23387:233::-;23426:3;23449:24;23467:5;23449:24;:::i;:::-;23440:33;;23495:66;23488:5;23485:77;23482:2;;;23565:18;;:::i;:::-;23482:2;23612:1;23605:5;23601:13;23594:20;;23430:190;;;:::o;23626:180::-;23674:77;23671:1;23664:88;23771:4;23768:1;23761:15;23795:4;23792:1;23785:15;23812:180;23860:77;23857:1;23850:88;23957:4;23954:1;23947:15;23981:4;23978:1;23971:15;23998:180;24046:77;24043:1;24036:88;24143:4;24140:1;24133:15;24167:4;24164:1;24157:15;24184:102;24225:6;24276:2;24272:7;24267:2;24260:5;24256:14;24252:28;24242:38;;24232:54;;;:::o;24292:222::-;24432:34;24428:1;24420:6;24416:14;24409:58;24501:5;24496:2;24488:6;24484:15;24477:30;24398:116;:::o;24520:234::-;24660:34;24656:1;24648:6;24644:14;24637:58;24729:17;24724:2;24716:6;24712:15;24705:42;24626:128;:::o;24760:233::-;24900:34;24896:1;24888:6;24884:14;24877:58;24969:16;24964:2;24956:6;24952:15;24945:41;24866:127;:::o;24999:225::-;25139:34;25135:1;25127:6;25123:14;25116:58;25208:8;25203:2;25195:6;25191:15;25184:33;25105:119;:::o;25230:221::-;25370:34;25366:1;25358:6;25354:14;25347:58;25439:4;25434:2;25426:6;25422:15;25415:29;25336:115;:::o;25457:232::-;25597:34;25593:1;25585:6;25581:14;25574:58;25666:15;25661:2;25653:6;25649:15;25642:40;25563:126;:::o;25695:225::-;25835:34;25831:1;25823:6;25819:14;25812:58;25904:8;25899:2;25891:6;25887:15;25880:33;25801:119;:::o;25926:167::-;26066:19;26062:1;26054:6;26050:14;26043:43;26032:61;:::o;26099:227::-;26239:34;26235:1;26227:6;26223:14;26216:58;26308:10;26303:2;26295:6;26291:15;26284:35;26205:121;:::o;26332:221::-;26472:34;26468:1;26460:6;26456:14;26449:58;26541:4;26536:2;26528:6;26524:15;26517:29;26438:115;:::o;26559:227::-;26699:34;26695:1;26687:6;26683:14;26676:58;26768:10;26763:2;26755:6;26751:15;26744:35;26665:121;:::o;26792:172::-;26932:24;26928:1;26920:6;26916:14;26909:48;26898:66;:::o;26970:227::-;27110:34;27106:1;27098:6;27094:14;27087:58;27179:10;27174:2;27166:6;27162:15;27155:35;27076:121;:::o;27203:223::-;27343:34;27339:1;27331:6;27327:14;27320:58;27412:6;27407:2;27399:6;27395:15;27388:31;27309:117;:::o;27432:182::-;27572:34;27568:1;27560:6;27556:14;27549:58;27538:76;:::o;27620:224::-;27760:34;27756:1;27748:6;27744:14;27737:58;27829:7;27824:2;27816:6;27812:15;27805:32;27726:118;:::o;27850:223::-;27990:34;27986:1;27978:6;27974:14;27967:58;28059:6;28054:2;28046:6;28042:15;28035:31;27956:117;:::o;28079:233::-;28219:34;28215:1;28207:6;28203:14;28196:58;28288:16;28283:2;28275:6;28271:15;28264:41;28185:127;:::o;28318:224::-;28458:34;28454:1;28446:6;28442:14;28435:58;28527:7;28522:2;28514:6;28510:15;28503:32;28424:118;:::o;28548:122::-;28621:24;28639:5;28621:24;:::i;:::-;28614:5;28611:35;28601:2;;28660:1;28657;28650:12;28601:2;28591:79;:::o;28676:116::-;28746:21;28761:5;28746:21;:::i;:::-;28739:5;28736:32;28726:2;;28782:1;28779;28772:12;28726:2;28716:76;:::o;28798:122::-;28871:24;28889:5;28871:24;:::i;:::-;28864:5;28861:35;28851:2;;28910:1;28907;28900:12;28851:2;28841:79;:::o
Swarm Source
ipfs://0317f172f3e6573e7ad409376df45aa0418571f23a00858cbd421dc3b757314e
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.