G4G (G4G) Token Tracker - Etherscan

ETH Price: $2,925.91 (-1.07%) Gas: 0.026 Gwei / New alerts Understanding the Token PageWhat are Token Approvals?How to Update Token InformationWhy Are Some Tokens' Names and Symbols Masked?Common Issues with Non-Standard TokensExplore the Token Balance CheckerHow to Validate Data on Etherscan All Knowledge Base articles
  • Light
  • Dim
  • Dark
  • Site Settings
Ethereum Logo Ethereum Logo
  • Ethereum Mainnet
  • Beaconscan ETH2
  • Sepolia Testnet
  • Hoodi Testnet
Token G4G (G4G) BuySponsored ads eToro A global broker built for crypto trading. Buy Now!

User-friendly interface. Trusted worldwide.

ads MoonPay Buy Ethereum with 50% off MoonPay Fees, for your first 5 transactionsBuy Now!

T&C's apply, new users only and not for UK users.

PlaySponsored ads Сoins.game 100 free spins for registration. Spin now!

Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!

ads BC.GAME The Best ETH Casino Claim Now!

5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.

ads Stake 200% Bonus, Instant Withdrawals, 100K Daily Giveaways, BEST VIP Club Claim Bonus!

20+ Cryptos, 3000+ Slots, Daily & Monthly Bonuses, Exclusive Sports Promos - Provably Fair!

GamingSponsored ads BC.GAME - The Best ETH Casino Claim Now!

5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.

ads CryptoSlots 25 Free Spins + ETH Slots, $1M Jackpot, Bonus Draws Play Now

Win big, play instantly, withdraw fast. Provably fair, 100% original games, anonymous ETH play.

ads CryptoWins 200% Welcome | Play ETH Slots, Earn BidCoin & Win $1,000,000 Claim Now!

1,200+ games, live BidCoin Auctions, big jackpots. TRIPLE your deposit & play in 30 seconds!

ERC-20 API
  • Check previous token supply
  • Add Token to MetaMask (Web3)
  • Update Token Info
  • Update Name Tag or Label
  • Submit Burn Details
  • Report/Flag Address

Overview

Max Total Supply

1,000,000,000 G4G

Holders

5

Transfers

  • TOTAL
  • 24H
- 0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

0xcCA2bA56667109512575a196A8AA8D920F63aCCe Ad Find Loading...Loading Loading...Loading Loading...Loading Click here to update the token information / general information Exchange Data Source: Coingecko
# Exchange Pair Price 24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name: ERCXToken Compiler Version v0.8.3+commit.8d00100c Optimization Enabled: No with 200 runs Other Settings: default evmVersion, Unlicense license

Contract Source Code (Solidity)

blockscan-logoblockscan-logoIDEMore OptionsOutline/** *Submitted for verification at Etherscan.io on 2021-08-12 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.2; /** * @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); } /// @title Ownable /// @custom:version 1.0.1 /* * Ownable * * Base contract with an owner. * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner. * Provides onlyOwnerOrApi modifier, which prevents function from running if it is called by other than above OR from one API code. * Provides onlyOwnerOrApiOrContract modifier, which prevents function from running if it is called by other than above OR one smart contract code. * Provides onlySuperOwnerOrOwnerOrApiOrContract modifier, which prevents function from running if it is called by other than all whitelisted addresses. */ abstract contract Ownable { address public superOwnerAddr; address public ownerAddr; mapping(address => bool) public ApiAddr; // list of allowed apis mapping(address => bool) public ContractAddr; // list of allowed contracts constructor(address superOwner, address owner, address api) { superOwnerAddr = superOwner; ownerAddr = owner; ApiAddr[api] = true; } modifier onlySuperOwner() { require(msg.sender == superOwnerAddr, "Access denied for this address [0]."); _; } modifier onlyOwner() { require(msg.sender == ownerAddr, "Access denied for this address [1]."); _; } modifier onlyOwnerOrApi() { require(msg.sender == ownerAddr || ApiAddr[msg.sender] == true, "Access denied for this address [2]."); _; } modifier onlyOwnerOrApiOrContract() { require(msg.sender == ownerAddr || ApiAddr[msg.sender] == true || ContractAddr[msg.sender] == true, "Access denied for this address [3]."); _; } modifier onlySuperOwnerOrOwnerOrApiOrContract() { require(msg.sender == superOwnerAddr || msg.sender == ownerAddr || ApiAddr[msg.sender] == true || ContractAddr[msg.sender] == true, "Access denied for this address [3]."); _; } function setOwnerAddr(address _address) public onlySuperOwner { ownerAddr = _address; } function addApiAddr(address _address) public onlyOwner { ApiAddr[_address] = true; } function removeApiAddr(address _address) public onlyOwner { ApiAddr[_address] = false; } function addContractAddr(address _address) public onlyOwner { ContractAddr[_address] = true; } function removeContractAddr(address _address) public onlyOwner { ContractAddr[_address] = false; } } /** * @title Contract that will work with ERC223 tokens. */ /// @title ERC223ReceivingContract - Extension for ERC20 Token /// @custom:version 1.0.0 abstract contract ERC223ReceivingContract { /** * @dev Standard ERC223 function that will handle incoming token transfers. * * @param _from Token sender address. * @param _value Amount of tokens. * @param _data Transaction metadata. */ function tokenFallback(address _from, uint256 _value, bytes memory _data) virtual public; } /// @title ERCXToken - Extended ERC20 Token /// @custom:version 1.0.1 contract ERCXToken is IERC20, Ownable { mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; uint256 private _maxSupply; /** * ERC223 interface extension with additional data argument */ event Transfer(address indexed from, address indexed to, uint256 value, bytes data); constructor ( string memory tokenName, string memory tokenSymbol, uint8 tokenDecimals, uint256 tokenTotalSupply, uint256 tokenMaxSupply, address superOwner, address owner, address api, address initialTokenHolder ) Ownable(superOwner, owner, api) { _name = tokenName; _symbol = tokenSymbol; _decimals = tokenDecimals; _totalSupply = tokenTotalSupply; _maxSupply = tokenMaxSupply; _balances[initialTokenHolder] = _totalSupply; emit Transfer(address(0), initialTokenHolder, _totalSupply); bytes memory empty; emit Transfer(address(0), initialTokenHolder, _totalSupply, empty); } /** * @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 {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 returns (uint8) { return _decimals; } function maxSupply() public view returns (uint256) { return _maxSupply; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view 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 override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev Transfer token for a specified address (ERC223) * @param to The address to transfer to. * @param value The amount to be transferred. * @param data Transaction metadata. */ function transfer(address to, uint256 value, bytes memory data) public returns (bool) { _transfer223(msg.sender, to, value, data); return true; } /** * @dev Transfer token for a specified addresses (ERC223) * @param from The address to transfer from. * @param to The address to transfer to. * @param value The amount to be transferred. * @param data Transaction metadata to be forwarded to the receiving smart contract. */ function _transfer223(address from, address to, uint256 value, bytes memory data) internal { require(value <= _balances[from], "Value must not be higher than sender's balance."); require(to != address(0), "Receiver address must be set."); uint256 codeLength; assembly { codeLength := extcodesize(to) } _balances[from] = _balances[from] - value; _balances[to] = _balances[to] + value; if(codeLength > 0) { // receiver is a contract address ERC223ReceivingContract receiver = ERC223ReceivingContract(to); receiver.tokenFallback(msg.sender, value, data); } emit Transfer(from, to, value); emit Transfer(from, to, value, data); } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view 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 override returns (bool) { _approve(msg.sender, 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 override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, msg.sender, 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 returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][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 returns (bool) { uint256 currentAllowance = _allowances[msg.sender][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(msg.sender, spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal { 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"); uint256 codeLength; bytes memory empty; assembly { codeLength := extcodesize(recipient) } _balances[sender] = senderBalance - amount; _balances[recipient] += amount; if (codeLength > 0) { // odbiorca jest kontraktem, nie walletem ERC223ReceivingContract receiver = ERC223ReceivingContract(recipient); receiver.tokenFallback(msg.sender, amount, empty); } emit Transfer(sender, recipient, amount); emit Transfer(sender, recipient, amount, empty); } /** * @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 { 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"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); bytes memory empty; emit Transfer(account, address(0), amount, empty); } /** * @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 { 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 to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal { } /** * @dev Burns a specific amount of tokens. * @param value The amount of token to be burned. */ function burn(uint256 value) public onlySuperOwnerOrOwnerOrApiOrContract { _burn(msg.sender, value); } /** * @dev Internal function that burns an amount of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burnFrom(address account, uint256 value) internal { require(value <= _allowances[account][msg.sender], "Amount must not be higher than allowed balance."); // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted, // this function needs to emit an event with the updated approval. _allowances[account][msg.sender] = _allowances[account][msg.sender] - value; _burn(account, value); } /** * @dev Burns a specific amount of tokens from the target address and decrements allowance * @param from address The address which you want to send tokens from * @param value uint256 The amount of token to be burned */ function burnFrom(address from, uint256 value) public onlySuperOwnerOrOwnerOrApiOrContract { _burnFrom(from, value); } }

Contract Security Audit

  • No Contract Security Audit Submitted- Submit Audit Here

Contract ABI

API [{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint8","name":"tokenDecimals","type":"uint8"},{"internalType":"uint256","name":"tokenTotalSupply","type":"uint256"},{"internalType":"uint256","name":"tokenMaxSupply","type":"uint256"},{"internalType":"address","name":"superOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"api","type":"address"},{"internalType":"address","name":"initialTokenHolder","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"Transfer","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":"","type":"address"}],"name":"ApiAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ContractAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addApiAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addContractAddr","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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","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":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeApiAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeContractAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setOwnerAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"superOwnerAddr","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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"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"}]

Contract Creation Code

Decompile Bytecode Switch to Opcodes View60806040523480156200001157600080fd5b50604051620035ea380380620035ea833981810160405281019062000037919062000406565b838383826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505088600790805190602001906200012e9291906200029f565b508760089080519060200190620001479291906200029f565b5086600960006101000a81548160ff021916908360ff1602179055508560068190555084600a81905550600654600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405162000219919062000563565b60405180910390a360608173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16600654846040516200028792919062000580565b60405180910390a350505050505050505050620007d9565b828054620002ad90620006b0565b90600052602060002090601f016020900481019282620002d157600085556200031d565b82601f10620002ec57805160ff19168380011785556200031d565b828001600101855582156200031d579182015b828111156200031c578251825591602001919060010190620002ff565b5b5090506200032c919062000330565b5090565b5b808211156200034b57600081600090555060010162000331565b5090565b6000620003666200036084620005dd565b620005b4565b9050828152602081018484840111156200037f57600080fd5b6200038c8482856200067a565b509392505050565b600081519050620003a5816200078b565b92915050565b600082601f830112620003bd57600080fd5b8151620003cf8482602086016200034f565b91505092915050565b600081519050620003e981620007a5565b92915050565b6000815190506200040081620007bf565b92915050565b60008060008060008060008060006101208a8c0312156200042657600080fd5b60008a015167ffffffffffffffff8111156200044157600080fd5b6200044f8c828d01620003ab565b99505060208a015167ffffffffffffffff8111156200046d57600080fd5b6200047b8c828d01620003ab565b98505060406200048e8c828d01620003ef565b9750506060620004a18c828d01620003d8565b9650506080620004b48c828d01620003d8565b95505060a0620004c78c828d0162000394565b94505060c0620004da8c828d0162000394565b93505060e0620004ed8c828d0162000394565b925050610100620005018c828d0162000394565b9150509295985092959850929598565b60006200051e8262000613565b6200052a81856200061e565b93506200053c8185602086016200067a565b62000547816200077a565b840191505092915050565b6200055d8162000663565b82525050565b60006020820190506200057a600083018462000552565b92915050565b600060408201905062000597600083018562000552565b8181036020830152620005ab818462000511565b90509392505050565b6000620005c0620005d3565b9050620005ce8282620006e6565b919050565b6000604051905090565b600067ffffffffffffffff821115620005fb57620005fa6200074b565b5b62000606826200077a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006200063c8262000643565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200069a5780820151818401526020810190506200067d565b83811115620006aa576000848401525b50505050565b60006002820490506001821680620006c957607f821691505b60208210811415620006e057620006df6200071c565b5b50919050565b620006f1826200077a565b810181811067ffffffffffffffff821117156200071357620007126200074b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b62000796816200062f565b8114620007a257600080fd5b50565b620007b08162000663565b8114620007bc57600080fd5b50565b620007ca816200066d565b8114620007d657600080fd5b50565b612e0180620007e96000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146103d9578063a9059cbb14610409578063be45fd6214610439578063d5abeb0114610469578063dd62ed3e14610487578063e074278d146104b757610158565b806370a08231146103195780637853e6501461034957806379cc6790146103655780638408c92d1461038157806395d89b411461039d5780639c675eaa146103bb57610158565b8063313ce56711610115578063313ce56714610247578063395093511461026557806342966c68146102955780635a8be781146102b15780635d5bf9d6146102e157806367087c98146102fd57610158565b806306fdde031461015d5780630958a13b1461017b578063095ea7b3146101ab57806318160ddd146101db57806323b872dd146101f95780632a8e593a14610229575b600080fd5b6101656104d3565b604051610172919061240a565b60405180910390f35b61019560048036038101906101909190611f5b565b610565565b6040516101a291906123ef565b60405180910390f35b6101c560048036038101906101c0919061200f565b610585565b6040516101d291906123ef565b60405180910390f35b6101e361059c565b6040516101f0919061260c565b60405180910390f35b610213600480360381019061020e9190611fc0565b6105a6565b60405161022091906123ef565b60405180910390f35b610231610699565b60405161023e9190612396565b60405180910390f35b61024f6106bd565b60405161025c9190612657565b60405180910390f35b61027f600480360381019061027a919061200f565b6106d4565b60405161028c91906123ef565b60405180910390f35b6102af60048036038101906102aa91906120b2565b610772565b005b6102cb60048036038101906102c69190611f5b565b61091b565b6040516102d891906123ef565b60405180910390f35b6102fb60048036038101906102f69190611f5b565b61093b565b005b61031760048036038101906103129190611f5b565b610a26565b005b610333600480360381019061032e9190611f5b565b610b11565b604051610340919061260c565b60405180910390f35b610363600480360381019061035e9190611f5b565b610b5a565b005b61037f600480360381019061037a919061200f565b610c45565b005b61039b60048036038101906103969190611f5b565b610def565b005b6103a5610eda565b6040516103b2919061240a565b60405180910390f35b6103c3610f6c565b6040516103d09190612396565b60405180910390f35b6103f360048036038101906103ee919061200f565b610f92565b60405161040091906123ef565b60405180910390f35b610423600480360381019061041e919061200f565b611078565b60405161043091906123ef565b60405180910390f35b610453600480360381019061044e919061204b565b61108f565b60405161046091906123ef565b60405180910390f35b6104716110a8565b60405161047e919061260c565b60405180910390f35b6104a1600480360381019061049c9190611f84565b6110b2565b6040516104ae919061260c565b60405180910390f35b6104d160048036038101906104cc9190611f5b565b611139565b005b6060600780546104e290612821565b80601f016020809104026020016040519081016040528092919081815260200182805461050e90612821565b801561055b5780601f106105305761010080835404028352916020019161055b565b820191906000526020600020905b81548152906001019060200180831161053e57829003601f168201915b5050505050905090565b60026020528060005260406000206000915054906101000a900460ff1681565b600061059233848461120b565b6001905092915050565b6000600654905090565b60006105b38484846113d6565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e9061250c565b60405180910390fd5b61068d853385846106889190612756565b61120b565b60019150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960009054906101000a900460ff16905090565b6000610768338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107639190612700565b61120b565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108195750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610874575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806108cf575060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b61090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610905906125ac565b60405180910390fd5b6109183382611748565b50565b60036020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c2906125ec565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aad906125ec565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be1906125ec565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cec5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610d47575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80610da2575060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b610de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd8906125ac565b60405180910390fd5b610deb8282611989565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e76906125ec565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b606060088054610ee990612821565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1590612821565b8015610f625780601f10610f3757610100808354040283529160200191610f62565b820191906000526020600020905b815481529060010190602001808311610f4557829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e906125cc565b60405180910390fd5b61106d338585846110689190612756565b61120b565b600191505092915050565b60006110853384846113d6565b6001905092915050565b600061109d33858585611b5e565b600190509392505050565b6000600a54905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be906124ec565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112729061258c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e2906124ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113c9919061260c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d9061256c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad9061242c565b60405180910390fd5b6114c1838383611ec4565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f906124cc565b60405180910390fd5b60006060843b9150838361155c9190612756565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115ee9190612700565b9250508190555060008211156116745760008590508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3387856040518463ffffffff1660e01b8152600401611640939291906123b1565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b50505050505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516116d1919061260c565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168684604051611738929190612627565b60405180910390a3505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af9061254c565b60405180910390fd5b6117c482600083611ec4565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118429061248c565b60405180910390fd5b81816118579190612756565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546118ac9190612756565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611911919061260c565b60405180910390a36060600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858460405161197b929190612627565b60405180910390a350505050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f9061244c565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad09190612756565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b5a8282611748565b5050565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd79061252c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c479061246c565b60405180910390fd5b6000833b905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca19190612756565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2f9190612700565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000811115611df15760008490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3386866040518463ffffffff1660e01b8152600401611dbd939291906123b1565b600060405180830381600087803b158015611dd757600080fd5b505af1158015611deb573d6000803e3d6000fd5b50505050505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611e4e919061260c565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168585604051611eb5929190612627565b60405180910390a35050505050565b505050565b6000611edc611ed784612697565b612672565b905082815260208101848484011115611ef457600080fd5b611eff8482856127df565b509392505050565b600081359050611f1681612d9d565b92915050565b600082601f830112611f2d57600080fd5b8135611f3d848260208601611ec9565b91505092915050565b600081359050611f5581612db4565b92915050565b600060208284031215611f6d57600080fd5b6000611f7b84828501611f07565b91505092915050565b60008060408385031215611f9757600080fd5b6000611fa585828601611f07565b9250506020611fb685828601611f07565b9150509250929050565b600080600060608486031215611fd557600080fd5b6000611fe386828701611f07565b9350506020611ff486828701611f07565b925050604061200586828701611f46565b9150509250925092565b6000806040838503121561202257600080fd5b600061203085828601611f07565b925050602061204185828601611f46565b9150509250929050565b60008060006060848603121561206057600080fd5b600061206e86828701611f07565b935050602061207f86828701611f46565b925050604084013567ffffffffffffffff81111561209c57600080fd5b6120a886828701611f1c565b9150509250925092565b6000602082840312156120c457600080fd5b60006120d284828501611f46565b91505092915050565b6120e48161278a565b82525050565b6120f38161279c565b82525050565b6000612104826126c8565b61210e81856126de565b935061211e8185602086016127ee565b61212781612911565b840191505092915050565b600061213d826126d3565b61214781856126ef565b93506121578185602086016127ee565b61216081612911565b840191505092915050565b60006121786023836126ef565b915061218382612922565b604082019050919050565b600061219b602f836126ef565b91506121a682612971565b604082019050919050565b60006121be601d836126ef565b91506121c9826129c0565b602082019050919050565b60006121e16022836126ef565b91506121ec826129e9565b604082019050919050565b60006122046022836126ef565b915061220f82612a38565b604082019050919050565b60006122276026836126ef565b915061223282612a87565b604082019050919050565b600061224a6023836126ef565b915061225582612ad6565b604082019050919050565b600061226d6028836126ef565b915061227882612b25565b604082019050919050565b6000612290602f836126ef565b915061229b82612b74565b604082019050919050565b60006122b36021836126ef565b91506122be82612bc3565b604082019050919050565b60006122d66025836126ef565b91506122e182612c12565b604082019050919050565b60006122f96024836126ef565b915061230482612c61565b604082019050919050565b600061231c6023836126ef565b915061232782612cb0565b604082019050919050565b600061233f6025836126ef565b915061234a82612cff565b604082019050919050565b60006123626023836126ef565b915061236d82612d4e565b604082019050919050565b612381816127c8565b82525050565b612390816127d2565b82525050565b60006020820190506123ab60008301846120db565b92915050565b60006060820190506123c660008301866120db565b6123d36020830185612378565b81810360408301526123e581846120f9565b9050949350505050565b600060208201905061240460008301846120ea565b92915050565b600060208201905081810360008301526124248184612132565b905092915050565b600060208201905081810360008301526124458161216b565b9050919050565b600060208201905081810360008301526124658161218e565b9050919050565b60006020820190508181036000830152612485816121b1565b9050919050565b600060208201905081810360008301526124a5816121d4565b9050919050565b600060208201905081810360008301526124c5816121f7565b9050919050565b600060208201905081810360008301526124e58161221a565b9050919050565b600060208201905081810360008301526125058161223d565b9050919050565b6000602082019050818103600083015261252581612260565b9050919050565b6000602082019050818103600083015261254581612283565b9050919050565b60006020820190508181036000830152612565816122a6565b9050919050565b60006020820190508181036000830152612585816122c9565b9050919050565b600060208201905081810360008301526125a5816122ec565b9050919050565b600060208201905081810360008301526125c58161230f565b9050919050565b600060208201905081810360008301526125e581612332565b9050919050565b6000602082019050818103600083015261260581612355565b9050919050565b60006020820190506126216000830184612378565b92915050565b600060408201905061263c6000830185612378565b818103602083015261264e81846120f9565b90509392505050565b600060208201905061266c6000830184612387565b92915050565b600061267c61268d565b90506126888282612853565b919050565b6000604051905090565b600067ffffffffffffffff8211156126b2576126b16128e2565b5b6126bb82612911565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061270b826127c8565b9150612716836127c8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561274b5761274a612884565b5b828201905092915050565b6000612761826127c8565b915061276c836127c8565b92508282101561277f5761277e612884565b5b828203905092915050565b6000612795826127a8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561280c5780820151818401526020810190506127f1565b8381111561281b576000848401525b50505050565b6000600282049050600182168061283957607f821691505b6020821081141561284d5761284c6128b3565b5b50919050565b61285c82612911565b810181811067ffffffffffffffff8211171561287b5761287a6128e2565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206e6f7420626520686967686572207468616e206160008201527f6c6c6f7765642062616c616e63652e0000000000000000000000000000000000602082015250565b7f52656365697665722061646472657373206d757374206265207365742e000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4163636573732064656e69656420666f7220746869732061646472657373205b60008201527f305d2e0000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f56616c7565206d757374206e6f7420626520686967686572207468616e20736560008201527f6e64657227732062616c616e63652e0000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4163636573732064656e69656420666f7220746869732061646472657373205b60008201527f335d2e0000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f4163636573732064656e69656420666f7220746869732061646472657373205b60008201527f315d2e0000000000000000000000000000000000000000000000000000000000602082015250565b612da68161278a565b8114612db157600080fd5b50565b612dbd816127c8565b8114612dc857600080fd5b5056fea2646970667358221220ca2f3816f45aee44b90798ccd543bc6ee56bb57cf585e33028a36af8597daed264736f6c634300080300330000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000cbd053203f55de8729ce8dd0424018e6f02f9ca800000000000000000000000004465e27a875b4142e9f887355ea493d5ad55913000000000000000000000000cbd053203f55de8729ce8dd0424018e6f02f9ca80000000000000000000000006ac73abcd62cb287e5deb3056ba0ca138e3706430000000000000000000000000000000000000000000000000000000000000003473447000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034734470000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146103d9578063a9059cbb14610409578063be45fd6214610439578063d5abeb0114610469578063dd62ed3e14610487578063e074278d146104b757610158565b806370a08231146103195780637853e6501461034957806379cc6790146103655780638408c92d1461038157806395d89b411461039d5780639c675eaa146103bb57610158565b8063313ce56711610115578063313ce56714610247578063395093511461026557806342966c68146102955780635a8be781146102b15780635d5bf9d6146102e157806367087c98146102fd57610158565b806306fdde031461015d5780630958a13b1461017b578063095ea7b3146101ab57806318160ddd146101db57806323b872dd146101f95780632a8e593a14610229575b600080fd5b6101656104d3565b604051610172919061240a565b60405180910390f35b61019560048036038101906101909190611f5b565b610565565b6040516101a291906123ef565b60405180910390f35b6101c560048036038101906101c0919061200f565b610585565b6040516101d291906123ef565b60405180910390f35b6101e361059c565b6040516101f0919061260c565b60405180910390f35b610213600480360381019061020e9190611fc0565b6105a6565b60405161022091906123ef565b60405180910390f35b610231610699565b60405161023e9190612396565b60405180910390f35b61024f6106bd565b60405161025c9190612657565b60405180910390f35b61027f600480360381019061027a919061200f565b6106d4565b60405161028c91906123ef565b60405180910390f35b6102af60048036038101906102aa91906120b2565b610772565b005b6102cb60048036038101906102c69190611f5b565b61091b565b6040516102d891906123ef565b60405180910390f35b6102fb60048036038101906102f69190611f5b565b61093b565b005b61031760048036038101906103129190611f5b565b610a26565b005b610333600480360381019061032e9190611f5b565b610b11565b604051610340919061260c565b60405180910390f35b610363600480360381019061035e9190611f5b565b610b5a565b005b61037f600480360381019061037a919061200f565b610c45565b005b61039b60048036038101906103969190611f5b565b610def565b005b6103a5610eda565b6040516103b2919061240a565b60405180910390f35b6103c3610f6c565b6040516103d09190612396565b60405180910390f35b6103f360048036038101906103ee919061200f565b610f92565b60405161040091906123ef565b60405180910390f35b610423600480360381019061041e919061200f565b611078565b60405161043091906123ef565b60405180910390f35b610453600480360381019061044e919061204b565b61108f565b60405161046091906123ef565b60405180910390f35b6104716110a8565b60405161047e919061260c565b60405180910390f35b6104a1600480360381019061049c9190611f84565b6110b2565b6040516104ae919061260c565b60405180910390f35b6104d160048036038101906104cc9190611f5b565b611139565b005b6060600780546104e290612821565b80601f016020809104026020016040519081016040528092919081815260200182805461050e90612821565b801561055b5780601f106105305761010080835404028352916020019161055b565b820191906000526020600020905b81548152906001019060200180831161053e57829003601f168201915b5050505050905090565b60026020528060005260406000206000915054906101000a900460ff1681565b600061059233848461120b565b6001905092915050565b6000600654905090565b60006105b38484846113d6565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e9061250c565b60405180910390fd5b61068d853385846106889190612756565b61120b565b60019150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960009054906101000a900460ff16905090565b6000610768338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107639190612700565b61120b565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108195750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610874575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806108cf575060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b61090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610905906125ac565b60405180910390fd5b6109183382611748565b50565b60036020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c2906125ec565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aad906125ec565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be1906125ec565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cec5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610d47575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80610da2575060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b610de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd8906125ac565b60405180910390fd5b610deb8282611989565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e76906125ec565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b606060088054610ee990612821565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1590612821565b8015610f625780601f10610f3757610100808354040283529160200191610f62565b820191906000526020600020905b815481529060010190602001808311610f4557829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e906125cc565b60405180910390fd5b61106d338585846110689190612756565b61120b565b600191505092915050565b60006110853384846113d6565b6001905092915050565b600061109d33858585611b5e565b600190509392505050565b6000600a54905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be906124ec565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112729061258c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e2906124ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113c9919061260c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d9061256c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad9061242c565b60405180910390fd5b6114c1838383611ec4565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f906124cc565b60405180910390fd5b60006060843b9150838361155c9190612756565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115ee9190612700565b9250508190555060008211156116745760008590508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3387856040518463ffffffff1660e01b8152600401611640939291906123b1565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b50505050505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516116d1919061260c565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168684604051611738929190612627565b60405180910390a3505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af9061254c565b60405180910390fd5b6117c482600083611ec4565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118429061248c565b60405180910390fd5b81816118579190612756565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546118ac9190612756565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611911919061260c565b60405180910390a36060600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858460405161197b929190612627565b60405180910390a350505050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f9061244c565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad09190612756565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b5a8282611748565b5050565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd79061252c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c479061246c565b60405180910390fd5b6000833b905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca19190612756565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2f9190612700565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000811115611df15760008490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3386866040518463ffffffff1660e01b8152600401611dbd939291906123b1565b600060405180830381600087803b158015611dd757600080fd5b505af1158015611deb573d6000803e3d6000fd5b50505050505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611e4e919061260c565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168585604051611eb5929190612627565b60405180910390a35050505050565b505050565b6000611edc611ed784612697565b612672565b905082815260208101848484011115611ef457600080fd5b611eff8482856127df565b509392505050565b600081359050611f1681612d9d565b92915050565b600082601f830112611f2d57600080fd5b8135611f3d848260208601611ec9565b91505092915050565b600081359050611f5581612db4565b92915050565b600060208284031215611f6d57600080fd5b6000611f7b84828501611f07565b91505092915050565b60008060408385031215611f9757600080fd5b6000611fa585828601611f07565b9250506020611fb685828601611f07565b9150509250929050565b600080600060608486031215611fd557600080fd5b6000611fe386828701611f07565b9350506020611ff486828701611f07565b925050604061200586828701611f46565b9150509250925092565b6000806040838503121561202257600080fd5b600061203085828601611f07565b925050602061204185828601611f46565b9150509250929050565b60008060006060848603121561206057600080fd5b600061206e86828701611f07565b935050602061207f86828701611f46565b925050604084013567ffffffffffffffff81111561209c57600080fd5b6120a886828701611f1c565b9150509250925092565b6000602082840312156120c457600080fd5b60006120d284828501611f46565b91505092915050565b6120e48161278a565b82525050565b6120f38161279c565b82525050565b6000612104826126c8565b61210e81856126de565b935061211e8185602086016127ee565b61212781612911565b840191505092915050565b600061213d826126d3565b61214781856126ef565b93506121578185602086016127ee565b61216081612911565b840191505092915050565b60006121786023836126ef565b915061218382612922565b604082019050919050565b600061219b602f836126ef565b91506121a682612971565b604082019050919050565b60006121be601d836126ef565b91506121c9826129c0565b602082019050919050565b60006121e16022836126ef565b91506121ec826129e9565b604082019050919050565b60006122046022836126ef565b915061220f82612a38565b604082019050919050565b60006122276026836126ef565b915061223282612a87565b604082019050919050565b600061224a6023836126ef565b915061225582612ad6565b604082019050919050565b600061226d6028836126ef565b915061227882612b25565b604082019050919050565b6000612290602f836126ef565b915061229b82612b74565b604082019050919050565b60006122b36021836126ef565b91506122be82612bc3565b604082019050919050565b60006122d66025836126ef565b91506122e182612c12565b604082019050919050565b60006122f96024836126ef565b915061230482612c61565b604082019050919050565b600061231c6023836126ef565b915061232782612cb0565b604082019050919050565b600061233f6025836126ef565b915061234a82612cff565b604082019050919050565b60006123626023836126ef565b915061236d82612d4e565b604082019050919050565b612381816127c8565b82525050565b612390816127d2565b82525050565b60006020820190506123ab60008301846120db565b92915050565b60006060820190506123c660008301866120db565b6123d36020830185612378565b81810360408301526123e581846120f9565b9050949350505050565b600060208201905061240460008301846120ea565b92915050565b600060208201905081810360008301526124248184612132565b905092915050565b600060208201905081810360008301526124458161216b565b9050919050565b600060208201905081810360008301526124658161218e565b9050919050565b60006020820190508181036000830152612485816121b1565b9050919050565b600060208201905081810360008301526124a5816121d4565b9050919050565b600060208201905081810360008301526124c5816121f7565b9050919050565b600060208201905081810360008301526124e58161221a565b9050919050565b600060208201905081810360008301526125058161223d565b9050919050565b6000602082019050818103600083015261252581612260565b9050919050565b6000602082019050818103600083015261254581612283565b9050919050565b60006020820190508181036000830152612565816122a6565b9050919050565b60006020820190508181036000830152612585816122c9565b9050919050565b600060208201905081810360008301526125a5816122ec565b9050919050565b600060208201905081810360008301526125c58161230f565b9050919050565b600060208201905081810360008301526125e581612332565b9050919050565b6000602082019050818103600083015261260581612355565b9050919050565b60006020820190506126216000830184612378565b92915050565b600060408201905061263c6000830185612378565b818103602083015261264e81846120f9565b90509392505050565b600060208201905061266c6000830184612387565b92915050565b600061267c61268d565b90506126888282612853565b919050565b6000604051905090565b600067ffffffffffffffff8211156126b2576126b16128e2565b5b6126bb82612911565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061270b826127c8565b9150612716836127c8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561274b5761274a612884565b5b828201905092915050565b6000612761826127c8565b915061276c836127c8565b92508282101561277f5761277e612884565b5b828203905092915050565b6000612795826127a8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561280c5780820151818401526020810190506127f1565b8381111561281b576000848401525b50505050565b6000600282049050600182168061283957607f821691505b6020821081141561284d5761284c6128b3565b5b50919050565b61285c82612911565b810181811067ffffffffffffffff8211171561287b5761287a6128e2565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206e6f7420626520686967686572207468616e206160008201527f6c6c6f7765642062616c616e63652e0000000000000000000000000000000000602082015250565b7f52656365697665722061646472657373206d757374206265207365742e000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4163636573732064656e69656420666f7220746869732061646472657373205b60008201527f305d2e0000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f56616c7565206d757374206e6f7420626520686967686572207468616e20736560008201527f6e64657227732062616c616e63652e0000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4163636573732064656e69656420666f7220746869732061646472657373205b60008201527f335d2e0000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f4163636573732064656e69656420666f7220746869732061646472657373205b60008201527f315d2e0000000000000000000000000000000000000000000000000000000000602082015250565b612da68161278a565b8114612db157600080fd5b50565b612dbd816127c8565b8114612dc857600080fd5b5056fea2646970667358221220ca2f3816f45aee44b90798ccd543bc6ee56bb57cf585e33028a36af8597daed264736f6c63430008030033

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

0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000cbd053203f55de8729ce8dd0424018e6f02f9ca800000000000000000000000004465e27a875b4142e9f887355ea493d5ad55913000000000000000000000000cbd053203f55de8729ce8dd0424018e6f02f9ca80000000000000000000000006ac73abcd62cb287e5deb3056ba0ca138e3706430000000000000000000000000000000000000000000000000000000000000003473447000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034734470000000000000000000000000000000000000000000000000000000000-----Decoded View---------------Arg [0] : tokenName (string): G4GArg [1] : tokenSymbol (string): G4GArg [2] : tokenDecimals (uint8): 18Arg [3] : tokenTotalSupply (uint256): 1000000000000000000000000000Arg [4] : tokenMaxSupply (uint256): 1000000000000000000000000000Arg [5] : superOwner (address): 0xCbd053203F55De8729cE8dd0424018e6F02f9CA8Arg [6] : owner (address): 0x04465E27A875b4142e9F887355ea493D5AD55913Arg [7] : api (address): 0xCbd053203F55De8729cE8dd0424018e6F02f9CA8Arg [8] : initialTokenHolder (address): 0x6ac73abcD62cb287E5dEB3056Ba0Ca138e370643-----Encoded View---------------13 Constructor Arguments found :Arg [0] : 0000000000000000000000000000000000000000000000000000000000000120Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012Arg [3] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000Arg [4] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000Arg [5] : 000000000000000000000000cbd053203f55de8729ce8dd0424018e6f02f9ca8Arg [6] : 00000000000000000000000004465e27a875b4142e9f887355ea493d5ad55913Arg [7] : 000000000000000000000000cbd053203f55de8729ce8dd0424018e6f02f9ca8Arg [8] : 0000000000000000000000006ac73abcd62cb287e5deb3056ba0ca138e370643Arg [9] : 0000000000000000000000000000000000000000000000000000000000000003Arg [10] : 4734470000000000000000000000000000000000000000000000000000000000Arg [11] : 0000000000000000000000000000000000000000000000000000000000000003Arg [12] : 4734470000000000000000000000000000000000000000000000000000000000

Deployed Bytecode Sourcemap

5934:12854:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7268:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3546:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10937:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8439:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11578:410;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3479:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8196:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12397:203;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17489:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3616:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5108:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5224:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8602:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4892:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18651:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4998:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7470:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3515:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13103:365;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8934:165;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9320:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8287:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10647:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4779:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7268:83;7305:13;7338:5;7331:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7268:83;:::o;3546:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;10937:159::-;11012:4;11029:37;11038:10;11050:7;11059:6;11029:8;:37::i;:::-;11084:4;11077:11;;10937:159;;;;:::o;8439:100::-;8492:7;8519:12;;8512:19;;8439:100;:::o;11578:410::-;11676:4;11693:36;11703:6;11711:9;11722:6;11693:9;:36::i;:::-;11742:24;11769:11;:19;11781:6;11769:19;;;;;;;;;;;;;;;:31;11789:10;11769:31;;;;;;;;;;;;;;;;11742:58;;11839:6;11819:16;:26;;11811:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11901:55;11910:6;11918:10;11949:6;11930:16;:25;;;;:::i;:::-;11901:8;:55::i;:::-;11976:4;11969:11;;;11578:410;;;;;:::o;3479:29::-;;;;;;;;;;;;:::o;8196:83::-;8237:5;8262:9;;;;;;;;;;;8255:16;;8196:83;:::o;12397:203::-;12477:4;12494:76;12503:10;12515:7;12559:10;12524:11;:23;12536:10;12524:23;;;;;;;;;;;;;;;:32;12548:7;12524:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;12494:8;:76::i;:::-;12588:4;12581:11;;12397:203;;;;:::o;17489:116::-;4603:14;;;;;;;;;;4589:28;;:10;:28;;;:55;;;;4635:9;;;;;;;;;;;4621:23;;:10;:23;;;4589:55;:86;;;;4671:4;4648:27;;:7;:19;4656:10;4648:19;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;4589:86;:122;;;;4707:4;4679:32;;:12;:24;4692:10;4679:24;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;4589:122;4581:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;17573:24:::1;17579:10;17591:5;17573;:24::i;:::-;17489:116:::0;:::o;3616:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;5108:108::-;4065:9;;;;;;;;;;;4051:23;;:10;:23;;;4043:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5204:4:::1;5179:12;:22;5192:8;5179:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;5108:108:::0;:::o;5224:112::-;4065:9;;;;;;;;;;;4051:23;;:10;:23;;;4043:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5323:5:::1;5298:12;:22;5311:8;5298:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;5224:112:::0;:::o;8602:119::-;8668:7;8695:9;:18;8705:7;8695:18;;;;;;;;;;;;;;;;8688:25;;8602:119;;;:::o;4892:98::-;4065:9;;;;;;;;;;;4051:23;;:10;:23;;;4043:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4978:4:::1;4958:7;:17;4966:8;4958:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4892:98:::0;:::o;18651:132::-;4603:14;;;;;;;;;;4589:28;;:10;:28;;;:55;;;;4635:9;;;;;;;;;;;4621:23;;:10;:23;;;4589:55;:86;;;;4671:4;4648:27;;:7;:19;4656:10;4648:19;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;4589:86;:122;;;;4707:4;4679:32;;:12;:24;4692:10;4679:24;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;4589:122;4581:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;18753:22:::1;18763:4;18769:5;18753:9;:22::i;:::-;18651:132:::0;;:::o;4998:102::-;4065:9;;;;;;;;;;;4051:23;;:10;:23;;;4043:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5087:5:::1;5067:7;:17;5075:8;5067:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;4998:102:::0;:::o;7470:87::-;7509:13;7542:7;7535:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7470:87;:::o;3515:24::-;;;;;;;;;;;;;:::o;13103:365::-;13188:4;13205:24;13232:11;:23;13244:10;13232:23;;;;;;;;;;;;;;;:32;13256:7;13232:32;;;;;;;;;;;;;;;;13205:59;;13303:15;13283:16;:35;;13275:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13371:65;13380:10;13392:7;13420:15;13401:16;:34;;;;:::i;:::-;13371:8;:65::i;:::-;13456:4;13449:11;;;13103:365;;;;:::o;8934:165::-;9012:4;9029:40;9039:10;9051:9;9062:6;9029:9;:40::i;:::-;9087:4;9080:11;;8934:165;;;;:::o;9320:168::-;9400:4;9417:41;9430:10;9442:2;9446:5;9453:4;9417:12;:41::i;:::-;9476:4;9469:11;;9320:168;;;;;:::o;8287:87::-;8329:7;8356:10;;8349:17;;8287:87;:::o;10647:143::-;10728:7;10755:11;:18;10767:5;10755:18;;;;;;;;;;;;;;;:27;10774:7;10755:27;;;;;;;;;;;;;;;;10748:34;;10647:143;;;;:::o;4779:101::-;3929:14;;;;;;;;;;3915:28;;:10;:28;;;3907:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;4864:8:::1;4852:9;;:20;;;;;;;;;;;;;;;;;;4779:101:::0;:::o;16338:338::-;16449:1;16432:19;;:5;:19;;;;16424:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16530:1;16511:21;;:7;:21;;;;16503:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16614:6;16584:11;:18;16596:5;16584:18;;;;;;;;;;;;;;;:27;16603:7;16584:27;;;;;;;;;;;;;;;:36;;;;16652:7;16636:32;;16645:5;16636:32;;;16661:6;16636:32;;;;;;:::i;:::-;;;;;;;;16338:338;;;:::o;13958:1032::-;14074:1;14056:20;;:6;:20;;;;14048:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14158:1;14137:23;;:9;:23;;;;14129:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14213:47;14234:6;14242:9;14253:6;14213:20;:47::i;:::-;14273:21;14297:9;:17;14307:6;14297:17;;;;;;;;;;;;;;;;14273:41;;14350:6;14333:13;:23;;14325:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14412:18;14441;14521:9;14509:22;14495:36;;14590:6;14574:13;:22;;;;:::i;:::-;14554:9;:17;14564:6;14554:17;;;;;;;;;;;;;;;:42;;;;14631:6;14607:9;:20;14617:9;14607:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14667:1;14654:10;:14;14650:222;;;14727:32;14786:9;14727:69;;14811:8;:22;;;14834:10;14846:6;14854:5;14811:49;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14650:222;;14906:9;14889:35;;14898:6;14889:35;;;14917:6;14889:35;;;;;;:::i;:::-;;;;;;;;14957:9;14940:42;;14949:6;14940:42;;;14968:6;14976:5;14940:42;;;;;;;:::i;:::-;;;;;;;;13958:1032;;;;;;:::o;15323:577::-;15418:1;15399:21;;:7;:21;;;;15391:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15471:49;15492:7;15509:1;15513:6;15471:20;:49::i;:::-;15533:22;15558:9;:18;15568:7;15558:18;;;;;;;;;;;;;;;;15533:43;;15613:6;15595:14;:24;;15587:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15707:6;15690:14;:23;;;;:::i;:::-;15669:9;:18;15679:7;15669:18;;;;;;;;;;;;;;;:44;;;;15740:6;15724:12;;:22;;;;;;;:::i;:::-;;;;;;;;15790:1;15764:37;;15773:7;15764:37;;;15794:6;15764:37;;;;;;:::i;:::-;;;;;;;;15814:18;15874:1;15848:44;;15857:7;15848:44;;;15878:6;15886:5;15848:44;;;;;;;:::i;:::-;;;;;;;;15323:577;;;;:::o;17929:467::-;18017:11;:20;18029:7;18017:20;;;;;;;;;;;;;;;:32;18038:10;18017:32;;;;;;;;;;;;;;;;18008:5;:41;;18000:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;18351:5;18316:11;:20;18328:7;18316:20;;;;;;;;;;;;;;;:32;18337:10;18316:32;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;18281:11;:20;18293:7;18281:20;;;;;;;;;;;;;;;:32;18302:10;18281:32;;;;;;;;;;;;;;;:75;;;;18367:21;18373:7;18382:5;18367;:21::i;:::-;17929:467;;:::o;9808:776::-;9927:9;:15;9937:4;9927:15;;;;;;;;;;;;;;;;9918:5;:24;;9910:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;10027:1;10013:16;;:2;:16;;;;10005:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10076:18;10155:2;10143:15;10129:29;;10217:5;10199:9;:15;10209:4;10199:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;10181:9;:15;10191:4;10181:15;;;;;;;;;;;;;;;:41;;;;10265:5;10249:9;:13;10259:2;10249:13;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;10233:9;:13;10243:2;10233:13;;;;;;;;;;;;;;;:37;;;;10299:1;10286:10;:14;10283:204;;;10351:32;10410:2;10351:62;;10428:8;:22;;;10451:10;10463:5;10470:4;10428:47;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10283:204;;10519:2;10504:25;;10513:4;10504:25;;;10523:5;10504:25;;;;;;:::i;:::-;;;;;;;;10560:2;10545:31;;10554:4;10545:31;;;10564:5;10571:4;10545:31;;;;;;;:::i;:::-;;;;;;;;9808:776;;;;;:::o;17279:84::-;;;;:::o;7:343:1:-;;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:2;;;290:1;287;280:12;249:2;303:41;337:6;332:3;327;303:41;:::i;:::-;90:260;;;;;;:::o;356:139::-;;440:6;427:20;418:29;;456:33;483:5;456:33;:::i;:::-;408:87;;;;:::o;514:271::-;;618:3;611:4;603:6;599:17;595:27;585:2;;636:1;633;626:12;585:2;676:6;663:20;701:78;775:3;767:6;760:4;752:6;748:17;701:78;:::i;:::-;692:87;;575:210;;;;;:::o;791:139::-;;875:6;862:20;853:29;;891:33;918:5;891:33;:::i;:::-;843:87;;;;:::o;936:262::-;;1044:2;1032:9;1023:7;1019:23;1015:32;1012:2;;;1060:1;1057;1050:12;1012:2;1103:1;1128:53;1173:7;1164:6;1153:9;1149:22;1128:53;:::i;:::-;1118:63;;1074:117;1002:196;;;;:::o;1204:407::-;;;1329:2;1317:9;1308:7;1304:23;1300:32;1297:2;;;1345:1;1342;1335:12;1297:2;1388:1;1413:53;1458:7;1449:6;1438:9;1434:22;1413:53;:::i;:::-;1403:63;;1359:117;1515:2;1541:53;1586:7;1577:6;1566:9;1562:22;1541:53;:::i;:::-;1531:63;;1486:118;1287:324;;;;;:::o;1617:552::-;;;;1759:2;1747:9;1738:7;1734:23;1730:32;1727:2;;;1775:1;1772;1765:12;1727:2;1818:1;1843:53;1888:7;1879:6;1868:9;1864:22;1843:53;:::i;:::-;1833:63;;1789:117;1945:2;1971:53;2016:7;2007:6;1996:9;1992:22;1971:53;:::i;:::-;1961:63;;1916:118;2073:2;2099:53;2144:7;2135:6;2124:9;2120:22;2099:53;:::i;:::-;2089:63;;2044:118;1717:452;;;;;:::o;2175:407::-;;;2300:2;2288:9;2279:7;2275:23;2271:32;2268:2;;;2316:1;2313;2306:12;2268:2;2359:1;2384:53;2429:7;2420:6;2409:9;2405:22;2384:53;:::i;:::-;2374:63;;2330:117;2486:2;2512:53;2557:7;2548:6;2537:9;2533:22;2512:53;:::i;:::-;2502:63;;2457:118;2258:324;;;;;:::o;2588:663::-;;;;2739:2;2727:9;2718:7;2714:23;2710:32;2707:2;;;2755:1;2752;2745:12;2707:2;2798:1;2823:53;2868:7;2859:6;2848:9;2844:22;2823:53;:::i;:::-;2813:63;;2769:117;2925:2;2951:53;2996:7;2987:6;2976:9;2972:22;2951:53;:::i;:::-;2941:63;;2896:118;3081:2;3070:9;3066:18;3053:32;3112:18;3104:6;3101:30;3098:2;;;3144:1;3141;3134:12;3098:2;3172:62;3226:7;3217:6;3206:9;3202:22;3172:62;:::i;:::-;3162:72;;3024:220;2697:554;;;;;:::o;3257:262::-;;3365:2;3353:9;3344:7;3340:23;3336:32;3333:2;;;3381:1;3378;3371:12;3333:2;3424:1;3449:53;3494:7;3485:6;3474:9;3470:22;3449:53;:::i;:::-;3439:63;;3395:117;3323:196;;;;:::o;3525:118::-;3612:24;3630:5;3612:24;:::i;:::-;3607:3;3600:37;3590:53;;:::o;3649:109::-;3730:21;3745:5;3730:21;:::i;:::-;3725:3;3718:34;3708:50;;:::o;3764:360::-;;3878:38;3910:5;3878:38;:::i;:::-;3932:70;3995:6;3990:3;3932:70;:::i;:::-;3925:77;;4011:52;4056:6;4051:3;4044:4;4037:5;4033:16;4011:52;:::i;:::-;4088:29;4110:6;4088:29;:::i;:::-;4083:3;4079:39;4072:46;;3854:270;;;;;:::o;4130:364::-;;4246:39;4279:5;4246:39;:::i;:::-;4301:71;4365:6;4360:3;4301:71;:::i;:::-;4294:78;;4381:52;4426:6;4421:3;4414:4;4407:5;4403:16;4381:52;:::i;:::-;4458:29;4480:6;4458:29;:::i;:::-;4453:3;4449:39;4442:46;;4222:272;;;;;:::o;4500:366::-;;4663:67;4727:2;4722:3;4663:67;:::i;:::-;4656:74;;4739:93;4828:3;4739:93;:::i;:::-;4857:2;4852:3;4848:12;4841:19;;4646:220;;;:::o;4872:366::-;;5035:67;5099:2;5094:3;5035:67;:::i;:::-;5028:74;;5111:93;5200:3;5111:93;:::i;:::-;5229:2;5224:3;5220:12;5213:19;;5018:220;;;:::o;5244:366::-;;5407:67;5471:2;5466:3;5407:67;:::i;:::-;5400:74;;5483:93;5572:3;5483:93;:::i;:::-;5601:2;5596:3;5592:12;5585:19;;5390:220;;;:::o;5616:366::-;;5779:67;5843:2;5838:3;5779:67;:::i;:::-;5772:74;;5855:93;5944:3;5855:93;:::i;:::-;5973:2;5968:3;5964:12;5957:19;;5762:220;;;:::o;5988:366::-;;6151:67;6215:2;6210:3;6151:67;:::i;:::-;6144:74;;6227:93;6316:3;6227:93;:::i;:::-;6345:2;6340:3;6336:12;6329:19;;6134:220;;;:::o;6360:366::-;;6523:67;6587:2;6582:3;6523:67;:::i;:::-;6516:74;;6599:93;6688:3;6599:93;:::i;:::-;6717:2;6712:3;6708:12;6701:19;;6506:220;;;:::o;6732:366::-;;6895:67;6959:2;6954:3;6895:67;:::i;:::-;6888:74;;6971:93;7060:3;6971:93;:::i;:::-;7089:2;7084:3;7080:12;7073:19;;6878:220;;;:::o;7104:366::-;;7267:67;7331:2;7326:3;7267:67;:::i;:::-;7260:74;;7343:93;7432:3;7343:93;:::i;:::-;7461:2;7456:3;7452:12;7445:19;;7250:220;;;:::o;7476:366::-;;7639:67;7703:2;7698:3;7639:67;:::i;:::-;7632:74;;7715:93;7804:3;7715:93;:::i;:::-;7833:2;7828:3;7824:12;7817:19;;7622:220;;;:::o;7848:366::-;;8011:67;8075:2;8070:3;8011:67;:::i;:::-;8004:74;;8087:93;8176:3;8087:93;:::i;:::-;8205:2;8200:3;8196:12;8189:19;;7994:220;;;:::o;8220:366::-;;8383:67;8447:2;8442:3;8383:67;:::i;:::-;8376:74;;8459:93;8548:3;8459:93;:::i;:::-;8577:2;8572:3;8568:12;8561:19;;8366:220;;;:::o;8592:366::-;;8755:67;8819:2;8814:3;8755:67;:::i;:::-;8748:74;;8831:93;8920:3;8831:93;:::i;:::-;8949:2;8944:3;8940:12;8933:19;;8738:220;;;:::o;8964:366::-;;9127:67;9191:2;9186:3;9127:67;:::i;:::-;9120:74;;9203:93;9292:3;9203:93;:::i;:::-;9321:2;9316:3;9312:12;9305:19;;9110:220;;;:::o;9336:366::-;;9499:67;9563:2;9558:3;9499:67;:::i;:::-;9492:74;;9575:93;9664:3;9575:93;:::i;:::-;9693:2;9688:3;9684:12;9677:19;;9482:220;;;:::o;9708:366::-;;9871:67;9935:2;9930:3;9871:67;:::i;:::-;9864:74;;9947:93;10036:3;9947:93;:::i;:::-;10065:2;10060:3;10056:12;10049:19;;9854:220;;;:::o;10080:118::-;10167:24;10185:5;10167:24;:::i;:::-;10162:3;10155:37;10145:53;;:::o;10204:112::-;10287:22;10303:5;10287:22;:::i;:::-;10282:3;10275:35;10265:51;;:::o;10322:222::-;;10453:2;10442:9;10438:18;10430:26;;10466:71;10534:1;10523:9;10519:17;10510:6;10466:71;:::i;:::-;10420:124;;;;:::o;10550:529::-;;10755:2;10744:9;10740:18;10732:26;;10768:71;10836:1;10825:9;10821:17;10812:6;10768:71;:::i;:::-;10849:72;10917:2;10906:9;10902:18;10893:6;10849:72;:::i;:::-;10968:9;10962:4;10958:20;10953:2;10942:9;10938:18;10931:48;10996:76;11067:4;11058:6;10996:76;:::i;:::-;10988:84;;10722:357;;;;;;:::o;11085:210::-;;11210:2;11199:9;11195:18;11187:26;;11223:65;11285:1;11274:9;11270:17;11261:6;11223:65;:::i;:::-;11177:118;;;;:::o;11301:313::-;;11452:2;11441:9;11437:18;11429:26;;11501:9;11495:4;11491:20;11487:1;11476:9;11472:17;11465:47;11529:78;11602:4;11593:6;11529:78;:::i;:::-;11521:86;;11419:195;;;;:::o;11620:419::-;;11824:2;11813:9;11809:18;11801:26;;11873:9;11867:4;11863:20;11859:1;11848:9;11844:17;11837:47;11901:131;12027:4;11901:131;:::i;:::-;11893:139;;11791:248;;;:::o;12045:419::-;;12249:2;12238:9;12234:18;12226:26;;12298:9;12292:4;12288:20;12284:1;12273:9;12269:17;12262:47;12326:131;12452:4;12326:131;:::i;:::-;12318:139;;12216:248;;;:::o;12470:419::-;;12674:2;12663:9;12659:18;12651:26;;12723:9;12717:4;12713:20;12709:1;12698:9;12694:17;12687:47;12751:131;12877:4;12751:131;:::i;:::-;12743:139;;12641:248;;;:::o;12895:419::-;;13099:2;13088:9;13084:18;13076:26;;13148:9;13142:4;13138:20;13134:1;13123:9;13119:17;13112:47;13176:131;13302:4;13176:131;:::i;:::-;13168:139;;13066:248;;;:::o;13320:419::-;;13524:2;13513:9;13509:18;13501:26;;13573:9;13567:4;13563:20;13559:1;13548:9;13544:17;13537:47;13601:131;13727:4;13601:131;:::i;:::-;13593:139;;13491:248;;;:::o;13745:419::-;;13949:2;13938:9;13934:18;13926:26;;13998:9;13992:4;13988:20;13984:1;13973:9;13969:17;13962:47;14026:131;14152:4;14026:131;:::i;:::-;14018:139;;13916:248;;;:::o;14170:419::-;;14374:2;14363:9;14359:18;14351:26;;14423:9;14417:4;14413:20;14409:1;14398:9;14394:17;14387:47;14451:131;14577:4;14451:131;:::i;:::-;14443:139;;14341:248;;;:::o;14595:419::-;;14799:2;14788:9;14784:18;14776:26;;14848:9;14842:4;14838:20;14834:1;14823:9;14819:17;14812:47;14876:131;15002:4;14876:131;:::i;:::-;14868:139;;14766:248;;;:::o;15020:419::-;;15224:2;15213:9;15209:18;15201:26;;15273:9;15267:4;15263:20;15259:1;15248:9;15244:17;15237:47;15301:131;15427:4;15301:131;:::i;:::-;15293:139;;15191:248;;;:::o;15445:419::-;;15649:2;15638:9;15634:18;15626:26;;15698:9;15692:4;15688:20;15684:1;15673:9;15669:17;15662:47;15726:131;15852:4;15726:131;:::i;:::-;15718:139;;15616:248;;;:::o;15870:419::-;;16074:2;16063:9;16059:18;16051:26;;16123:9;16117:4;16113:20;16109:1;16098:9;16094:17;16087:47;16151:131;16277:4;16151:131;:::i;:::-;16143:139;;16041:248;;;:::o;16295:419::-;;16499:2;16488:9;16484:18;16476:26;;16548:9;16542:4;16538:20;16534:1;16523:9;16519:17;16512:47;16576:131;16702:4;16576:131;:::i;:::-;16568:139;;16466:248;;;:::o;16720:419::-;;16924:2;16913:9;16909:18;16901:26;;16973:9;16967:4;16963:20;16959:1;16948:9;16944:17;16937:47;17001:131;17127:4;17001:131;:::i;:::-;16993:139;;16891:248;;;:::o;17145:419::-;;17349:2;17338:9;17334:18;17326:26;;17398:9;17392:4;17388:20;17384:1;17373:9;17369:17;17362:47;17426:131;17552:4;17426:131;:::i;:::-;17418:139;;17316:248;;;:::o;17570:419::-;;17774:2;17763:9;17759:18;17751:26;;17823:9;17817:4;17813:20;17809:1;17798:9;17794:17;17787:47;17851:131;17977:4;17851:131;:::i;:::-;17843:139;;17741:248;;;:::o;17995:222::-;;18126:2;18115:9;18111:18;18103:26;;18139:71;18207:1;18196:9;18192:17;18183:6;18139:71;:::i;:::-;18093:124;;;;:::o;18223:419::-;;18400:2;18389:9;18385:18;18377:26;;18413:71;18481:1;18470:9;18466:17;18457:6;18413:71;:::i;:::-;18531:9;18525:4;18521:20;18516:2;18505:9;18501:18;18494:48;18559:76;18630:4;18621:6;18559:76;:::i;:::-;18551:84;;18367:275;;;;;:::o;18648:214::-;;18775:2;18764:9;18760:18;18752:26;;18788:67;18852:1;18841:9;18837:17;18828:6;18788:67;:::i;:::-;18742:120;;;;:::o;18868:129::-;;18929:20;;:::i;:::-;18919:30;;18958:33;18986:4;18978:6;18958:33;:::i;:::-;18909:88;;;:::o;19003:75::-;;19069:2;19063:9;19053:19;;19043:35;:::o;19084:307::-;;19235:18;19227:6;19224:30;19221:2;;;19257:18;;:::i;:::-;19221:2;19295:29;19317:6;19295:29;:::i;:::-;19287:37;;19379:4;19373;19369:15;19361:23;;19150:241;;;:::o;19397:98::-;;19482:5;19476:12;19466:22;;19455:40;;;:::o;19501:99::-;;19587:5;19581:12;19571:22;;19560:40;;;:::o;19606:168::-;;19723:6;19718:3;19711:19;19763:4;19758:3;19754:14;19739:29;;19701:73;;;;:::o;19780:169::-;;19898:6;19893:3;19886:19;19938:4;19933:3;19929:14;19914:29;;19876:73;;;;:::o;19955:305::-;;20014:20;20032:1;20014:20;:::i;:::-;20009:25;;20048:20;20066:1;20048:20;:::i;:::-;20043:25;;20202:1;20134:66;20130:74;20127:1;20124:81;20121:2;;;20208:18;;:::i;:::-;20121:2;20252:1;20249;20245:9;20238:16;;19999:261;;;;:::o;20266:191::-;;20326:20;20344:1;20326:20;:::i;:::-;20321:25;;20360:20;20378:1;20360:20;:::i;:::-;20355:25;;20399:1;20396;20393:8;20390:2;;;20404:18;;:::i;:::-;20390:2;20449:1;20446;20442:9;20434:17;;20311:146;;;;:::o;20463:96::-;;20529:24;20547:5;20529:24;:::i;:::-;20518:35;;20508:51;;;:::o;20565:90::-;;20642:5;20635:13;20628:21;20617:32;;20607:48;;;:::o;20661:126::-;;20738:42;20731:5;20727:54;20716:65;;20706:81;;;:::o;20793:77::-;;20859:5;20848:16;;20838:32;;;:::o;20876:86::-;;20951:4;20944:5;20940:16;20929:27;;20919:43;;;:::o;20968:154::-;21052:6;21047:3;21042;21029:30;21114:1;21105:6;21100:3;21096:16;21089:27;21019:103;;;:::o;21128:307::-;21196:1;21206:113;21220:6;21217:1;21214:13;21206:113;;;21305:1;21300:3;21296:11;21290:18;21286:1;21281:3;21277:11;21270:39;21242:2;21239:1;21235:10;21230:15;;21206:113;;;21337:6;21334:1;21331:13;21328:2;;;21417:1;21408:6;21403:3;21399:16;21392:27;21328:2;21177:258;;;;:::o;21441:320::-;;21522:1;21516:4;21512:12;21502:22;;21569:1;21563:4;21559:12;21590:18;21580:2;;21646:4;21638:6;21634:17;21624:27;;21580:2;21708;21700:6;21697:14;21677:18;21674:38;21671:2;;;21727:18;;:::i;:::-;21671:2;21492:269;;;;:::o;21767:281::-;21850:27;21872:4;21850:27;:::i;:::-;21842:6;21838:40;21980:6;21968:10;21965:22;21944:18;21932:10;21929:34;21926:62;21923:2;;;21991:18;;:::i;:::-;21923:2;22031:10;22027:2;22020:22;21810:238;;;:::o;22054:180::-;22102:77;22099:1;22092:88;22199:4;22196:1;22189:15;22223:4;22220:1;22213:15;22240:180;22288:77;22285:1;22278:88;22385:4;22382:1;22375:15;22409:4;22406:1;22399:15;22426:180;22474:77;22471:1;22464:88;22571:4;22568:1;22561:15;22595:4;22592:1;22585:15;22612:102;;22704:2;22700:7;22695:2;22688:5;22684:14;22680:28;22670:38;;22660:54;;;:::o;22720:222::-;22860:34;22856:1;22848:6;22844:14;22837:58;22929:5;22924:2;22916:6;22912:15;22905:30;22826:116;:::o;22948:234::-;23088:34;23084:1;23076:6;23072:14;23065:58;23157:17;23152:2;23144:6;23140:15;23133:42;23054:128;:::o;23188:179::-;23328:31;23324:1;23316:6;23312:14;23305:55;23294:73;:::o;23373:221::-;23513:34;23509:1;23501:6;23497:14;23490:58;23582:4;23577:2;23569:6;23565:15;23558:29;23479:115;:::o;23600:221::-;23740:34;23736:1;23728:6;23724:14;23717:58;23809:4;23804:2;23796:6;23792:15;23785:29;23706:115;:::o;23827:225::-;23967:34;23963:1;23955:6;23951:14;23944:58;24036:8;24031:2;24023:6;24019:15;24012:33;23933:119;:::o;24058:222::-;24198:34;24194:1;24186:6;24182:14;24175:58;24267:5;24262:2;24254:6;24250:15;24243:30;24164:116;:::o;24286:227::-;24426:34;24422:1;24414:6;24410:14;24403:58;24495:10;24490:2;24482:6;24478:15;24471:35;24392:121;:::o;24519:234::-;24659:34;24655:1;24647:6;24643:14;24636:58;24728:17;24723:2;24715:6;24711:15;24704:42;24625:128;:::o;24759:220::-;24899:34;24895:1;24887:6;24883:14;24876:58;24968:3;24963:2;24955:6;24951:15;24944:28;24865:114;:::o;24985:224::-;25125:34;25121:1;25113:6;25109:14;25102:58;25194:7;25189:2;25181:6;25177:15;25170:32;25091:118;:::o;25215:223::-;25355:34;25351:1;25343:6;25339:14;25332:58;25424:6;25419:2;25411:6;25407:15;25400:31;25321:117;:::o;25444:222::-;25584:34;25580:1;25572:6;25568:14;25561:58;25653:5;25648:2;25640:6;25636:15;25629:30;25550:116;:::o;25672:224::-;25812:34;25808:1;25800:6;25796:14;25789:58;25881:7;25876:2;25868:6;25864:15;25857:32;25778:118;:::o;25902:222::-;26042:34;26038:1;26030:6;26026:14;26019:58;26111:5;26106:2;26098:6;26094:15;26087:30;26008:116;:::o;26130:122::-;26203:24;26221:5;26203:24;:::i;:::-;26196:5;26193:35;26183:2;;26242:1;26239;26232:12;26183:2;26173:79;:::o;26258:122::-;26331:24;26349:5;26331:24;:::i;:::-;26324:5;26321:35;26311:2;;26370:1;26367;26360:12;26311:2;26301:79;:::o

Swarm Source

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

Update Token Information Page

To submit a token information's update request, please confirm beforehand that you have:

  • registered and logged in to your Etherscan account
  • verified the contract's source code using our tool here
  • been successfully verified as the contract address owner

Close
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node. MetaMask Popular Coinbase Wallet Rabby Wallet WalletConnect (Reown)
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node. MetaMask Popular Coinbase Wallet Rabby Wallet WalletConnect (Reown) Compiler specific version warnings:The compiled contract might be susceptible to LostStorageArrayWriteOnSlotOverflow (low-severity), FullInlinerNonExpressionSplitArgumentEvaluationOrder (low-severity), MissingSideEffectsOnSelectorAccess (low-severity), AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DirtyBytesArrayToStorage (low-severity), DataLocationChangeInInternalOverride (very low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), SignedImmutables (very low-severity), ABIDecodeTwoDimensionalArrayMemory (very low-severity) Solidity Compiler Bugs.
Address Cards
To use this feature, please login to your Etherscan account and return to this page.
Before You Copy
Don't show this for 30 days Understand, Copy Address Transaction Private Note Transaction Hash Private Note Description

Please DO NOT store any passwords or private keys here. A private note (up to 100 characters) can be saved and is useful for transaction tracking. View All Transactions Private Notes Cancel Save changes

My Address - Private Name Tag or Note

My Name Tag:

Private Name Tags (up to 35 characters) can be used for easy identification of addresses

Private Note:

A private note (up to 500 characters) can be attached to this address. Please DO NOT store any passwords or private keys here. View all Private Name Tags Close Save Changes

This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.

Got it!

Từ khóa » G4g Coin