ERC-20
Gaming
Overview
Max Total Supply
200,000,000,000 ACHIVX
Holders
291,979 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
0.0002 ACHIVXValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Token
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.26; import "./ManagedToken.sol"; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ abstract contract Ownable is ERC173 { address public owner; /** * @param initialOwner the initial owner of the contract */ constructor(address initialOwner) { require(initialOwner != address(0), "owner is zero"); owner = initialOwner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner, "not an owner"); _; } function transferOwnership(address newOwner) external override onlyOwner { require(newOwner != address(0), "new owner is zero"); owner = newOwner; emit OwnershipTransferred(msg.sender, newOwner); } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ interface ERC20Basic { function totalSupply() external view returns (uint); function balanceOf(address who) external view returns (uint); function transfer(address to, uint value) external returns (bool success); event Transfer(address indexed from, address indexed to, uint value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ interface ERC20 is ERC20Basic { function allowance( address owner, address spender ) external view returns (uint); function transferFrom( address from, address to, uint value ) external returns (bool success); function approve( address spender, uint value ) external returns (bool success); event Approval(address indexed owner, address indexed spender, uint value); } /** * @title ERC20 interface with extension functions */ interface ERC20Extended is ERC20 { /** * Transfer tokens to multiple accounts * * @param tos addresses to send tokens to * @param values amounts of tokens to send (length must match length of @param tos) */ function batchTransfer( address[] calldata tos, uint[] calldata values ) external; } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ abstract contract BasicToken is Ownable, ERC20Basic { uint internal _totalSupply; mapping(address => uint) public balances; constructor(uint initialSupply, address supplier) { _totalSupply = initialSupply; balances[supplier] = initialSupply; emit Transfer(address(0), supplier, initialSupply); } /** * @dev transfer token for a specified address * @param to The address to transfer to. * @param value The amount to be transferred. */ function transfer( address to, uint value ) public virtual override returns (bool success) { balances[msg.sender] -= value; balances[to] += value; emit Transfer(msg.sender, to, value); success = true; } /** * @dev Gets the balance of the specified address. * @param owner The address to query the the balance of. * @return balance An uint representing the amount owned by the passed address. */ function balanceOf( address owner ) public view virtual override returns (uint balance) { return balances[owner]; } } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 */ abstract contract StandardToken is BasicToken, ERC20 { mapping(address => mapping(address => uint)) public allowed; uint public constant MAX_UINT = 2 ** 256 - 1; /** * @dev Transfer tokens from one address to another * @param from address The address which you want to send tokens from * @param to address The address which you want to transfer to * @param value uint the amount of tokens to be transferred */ function transferFrom( address from, address to, uint value ) public virtual override returns (bool success) { uint allowance_ = allowed[from][msg.sender]; if (allowance_ < MAX_UINT) { allowed[from][msg.sender] = allowance_ - value; } balances[from] -= value; balances[to] += value; emit Transfer(from, to, value); success = true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * @param spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve( address spender, uint value ) public virtual override returns (bool success) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(spender, 0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require( value == 0 || allowed[msg.sender][spender] == 0, "cannot change allowance from non-zero value to non-zero value" ); allowed[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); success = true; } /** * @dev Function to check the amount of tokens than an owner allowed to a spender. * @param owner address The address which owns the funds. * @param spender address The address which will spend the funds. * @return remaining A uint specifying the amount of tokens still available for the spender. */ function allowance( address owner, address spender ) public view virtual override returns (uint remaining) { return allowed[owner][spender]; } } /** * @title Extended ERC20 token implementation mixin * @dev Implements a batch transfer method */ abstract contract ExtendedToken is StandardToken, ERC20Extended { /** * @notice transfer tokens to multiple addresses * @param tos addresses to transfer tokens to * @param values amounts of tokens to transfer to each address */ function batchTransfer( address[] calldata tos, uint[] calldata values ) public virtual override { require( tos.length == values.length, "destination addresses count does not match transfer amounts count" ); uint senderBalance = balances[msg.sender]; for (uint i = 0; i < tos.length; ++i) { address to = tos[i]; require(to != address(0), "cannot transfer to zero address"); uint amount = values[i]; require(amount <= senderBalance, "not enough funds"); if (to != msg.sender) { senderBalance -= amount; balances[to] += amount; } emit Transfer(msg.sender, to, amount); } balances[msg.sender] = senderBalance; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ abstract contract Pausable is Ownable, IPausable { bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused, "contract paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused, "contract not paused"); _; } /** * @inheritdoc IPausable */ function pause() external onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @inheritdoc IPausable */ function unpause() external onlyOwner whenPaused { paused = false; emit Unpause(); } } /** * @title Token with account blacklist mixin * @notice Maintains a blacklist of addresses. * Blacklist can be modified by contract owner. * Tokens owned by blacklisted addresses can be burned by contract owner. */ abstract contract BlackList is Ownable, BasicToken, IBlackList { mapping(address => bool) public isBlackListed; /** * @dev Requires a given address to not be blacklisted * @param account the address to check */ modifier whenNotBlackListed(address account) { require(!isBlackListed[account], "account blacklisted"); _; } /** * @inheritdoc IBlackList */ function addBlackList(address evilUser) external onlyOwner { isBlackListed[evilUser] = true; emit AddedBlackList(evilUser); } /** * @inheritdoc IBlackList */ function removeBlackList(address clearedUser) external onlyOwner { isBlackListed[clearedUser] = false; emit RemovedBlackList(clearedUser); } /** * @inheritdoc IBlackList */ function destroyBlackFunds(address blackListedUser) external onlyOwner { require(isBlackListed[blackListedUser], "account not blacklisted"); uint dirtyFunds = balanceOf(blackListedUser); balances[blackListedUser] = 0; _totalSupply -= dirtyFunds; emit DestroyedBlackFunds(blackListedUser, dirtyFunds); emit Transfer(blackListedUser, address(0), dirtyFunds); } } /** * @title Interface for upgraded version of ERC20 token contract * @dev The methods defined in this interface should be only callable by the legacy contract */ interface UpgradedStandardToken is ERC20 { /** * @notice Method called by legacy contract when its `transfer` method is called * @param from address to transfer from; `msg.sender` of original transaction * @param to address to transfer tokens to * @param value amount of tokens to transfer */ function transferByLegacy( address from, address to, uint value ) external returns (bool success); /** * @notice Method called by legacy contract when its `transferFrom` method is called * @param sender `msg.sender` of original transaction that may be allowed to spend tokens of `from` * @param from address to transfer from * @param to address to transfer tokens to * @param value amount of tokens to transfer */ function transferFromByLegacy( address sender, address from, address to, uint value ) external returns (bool success); /** * @notice Method called by legacy contract when its `approve` method is called * @param from the address that approves token spending; `msg.sender` of original transaction * @param spender the address that receives allowance from `from` * @param value the new allowance value */ function approveByLegacy( address from, address spender, uint value ) external returns (bool success); /** * @notice Method called by legacy contract when its `batchTransfer` extension method is called * @param from the address to transfer tokens from; `msg.sender` of original transaction * @param tos addresses to send tokens to * @param values amounts of tokens to send */ function batchTransferByLegacy( address from, address[] calldata tos, uint[] calldata values ) external; } /** * @title Deprecatable/upgradable contract mixin * @dev Contract owner may declare this contract deprecated and set an address of the new implementation. * It's responsibility of concrete contract to delegate method calls to the new implementation. */ abstract contract Deprecateable is Ownable, IDeprecatable { address public upgradedAddress; bool public deprecated; constructor() { deprecated = false; } /** Emitted when contract is deprecated */ event Deprecate(address newAddress); /** * @inheritdoc IDeprecatable */ function deprecate(address upgradedAddress_) external onlyOwner { require( upgradedAddress_ != address(0), "upgrade contract address is zero" ); deprecated = true; upgradedAddress = upgradedAddress_; emit Deprecate(upgradedAddress_); } /** * @dev Allow a method to be called by upgraded version of the token contract only. */ modifier onlyUpgraded() { require(deprecated, "contract not deprecated"); require( upgradedAddress == msg.sender, "can only be called from upgraded contract" ); _; } /** * @dev Disallow a method from being called when the contract is deprecated. */ modifier whenNotDeprecated() { require(!deprecated, "contract is deprecated"); _; } } /** * @title A deprecatable ERC20 token interface * @dev Contains methods of deprecatable ERC20 token that can be used by it's upgraded version. */ interface LegacyToken is ERC20, IDeprecatable { /** * @notice Read balance of given account before contract deprecation. * @dev The balanceOf method is expected to be delegated to the upgraded contract, so a separate method is * necessary to let the upgraded contract fetch initial balances of accounts. * @param addr the address * @return balance balance of the address before contract upgrade */ function legacyBalance(address addr) external view returns (uint balance); /** * @notice Read allowance from before the contract was deprecated. * @dev The allowance() method is expected to be delegated to the upgraded contract, so a separate method is * necessary to let the upgraded contract fetch initial allowances. * @param from address to spend tokens from * @param to address that is allowed to spend tokens * @return remaining remaining allowance */ function legacyAllowance( address from, address to ) external view returns (uint remaining); /** * @notice Emit Transfer event from upgrade contract. * @dev Should only be callable by the upgrade contract. * Makes transfers performed through the upgrade contract be reflected in the legacy contract. * @param from the address tokens were transferred from * @param to the address tokens were sent to * @param value amount of tokens transferred */ function emitTransfer(address from, address to, uint value) external; /** * @notice Emit Approval event from upgrade contract. * @dev Should only be callable from upgrade contract. * @param owner owner of the wallet * @param spender the address allowed to spend tokens * @param value new allowance value */ function emitApproval(address owner, address spender, uint value) external; } /** * @title An upgradeable ERC20 token contract. * @notice Based on Tether USD (USDT) contract. */ contract Token is Deprecateable, LegacyToken, Pausable, ExtendedToken, BlackList, ManagedToken { string public name; string public symbol; uint public immutable decimals; /** * @param owner Initial owner of the contract * @param initialSupply Initial supply of the contract * @param supplier The wallet that receives initial supply of tokens * @param name_ Token Name * @param symbol_ Token symbol * @param decimals_ Token decimals */ constructor( address owner, uint initialSupply, address supplier, string memory name_, string memory symbol_, uint decimals_ ) Ownable(owner) BasicToken(initialSupply, supplier) { name = name_; symbol = symbol_; decimals = decimals_; } /** * @inheritdoc ERC165 */ function supportsInterface( bytes4 interfaceID ) external pure returns (bool) { return (interfaceID == 0x01ffc9a7) || // ERC165 (interfaceID == 0x7f5828d0) || // ERC173 (interfaceID == 0x36372b07) || // ERC20 false; } /** * @inheritdoc ERC20Basic */ function transfer( address to, uint value ) public override(BasicToken, ERC20Basic) whenNotPaused whenNotBlackListed(msg.sender) returns (bool success) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).transferByLegacy( msg.sender, to, value ); } else { return super.transfer(to, value); } } /** * @inheritdoc ERC20 */ function transferFrom( address from, address to, uint value ) public override(ERC20, StandardToken) whenNotPaused whenNotBlackListed(from) returns (bool success) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).transferFromByLegacy( msg.sender, from, to, value ); } else { return super.transferFrom(from, to, value); } } /** * @inheritdoc ERC20Basic */ function balanceOf( address who ) public view override(BasicToken, ERC20Basic) returns (uint) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).balanceOf(who); } else { return super.balanceOf(who); } } /** * @inheritdoc ERC20 */ function approve( address spender, uint value ) public override(ERC20, StandardToken) returns (bool success) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).approveByLegacy( msg.sender, spender, value ); } else { return super.approve(spender, value); } } /** * @inheritdoc ERC20 */ function allowance( address owner, address spender ) public view override(ERC20, StandardToken) returns (uint remaining) { if (deprecated) { return StandardToken(upgradedAddress).allowance(owner, spender); } else { return super.allowance(owner, spender); } } /** * @inheritdoc ERC20Extended */ function batchTransfer( address[] calldata tos, uint[] calldata values ) public override whenNotPaused whenNotBlackListed(msg.sender) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).batchTransferByLegacy( msg.sender, tos, values ); } else { return super.batchTransfer(tos, values); } } /** * @inheritdoc ERC20Basic */ function totalSupply() public view returns (uint) { if (deprecated) { return StandardToken(upgradedAddress).totalSupply(); } else { return _totalSupply; } } /** * @inheritdoc LegacyToken */ function legacyBalance( address addr ) external view onlyUpgraded returns (uint balance) { balance = balances[addr]; } /** * @inheritdoc LegacyToken */ function legacyAllowance( address from, address to ) external view onlyUpgraded returns (uint remaining) { remaining = allowed[from][to]; } /** * @inheritdoc LegacyToken */ function emitTransfer( address from, address to, uint value ) external onlyUpgraded { emit Transfer(from, to, value); } /** * @inheritdoc LegacyToken */ function emitApproval( address owner, address spender, uint value ) external onlyUpgraded { emit Approval(owner, spender, value); } /** * @inheritdoc ISupply */ function issue( uint amount, address to ) external onlyOwner whenNotDeprecated { balances[to] += amount; _totalSupply += amount; emit Issue(amount, to); emit Transfer(address(0), to, amount); } /** * @inheritdoc ISupply */ function redeem(uint amount) external onlyOwner whenNotDeprecated { require( balances[owner] >= amount, "not enough funds on owner account to burn" ); _totalSupply -= amount; balances[owner] -= amount; emit Redeem(amount); emit Transfer(owner, address(0), amount); } }
// SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.26; interface ERC165 { /** * @notice Query if a contract implements an interface * @param interfaceID The interface identifier, as specified in ERC-165 * @dev Interface identification is specified in ERC-165. * @return `true` if the contract implements `interfaceID` and * `interfaceID` is not 0xffffffff, `false` otherwise */ function supportsInterface(bytes4 interfaceID) external view returns (bool); } /** * @title ERC-173 Contract Ownership Standard * @dev Note: the ERC-165 identifier for this interface is 0x7f5828d0 */ interface ERC173 is ERC165 { /** * @dev This emits when ownership of a contract changes. */ event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @notice Get the address of the owner * @return The address of the owner. */ function owner() external view returns (address); /** * @notice Set the address of the new owner of the contract * @dev Set _newOwner to address(0) to renounce any ownership. * @param _newOwner The address of the new owner of the contract */ function transferOwnership(address _newOwner) external; } /** * @title Interface for a contract that may have some of it's operations be paused */ interface IPausable { /** * @notice Pause operations of this contract * @dev This method must fail if called by unauthorized user */ function pause() external; /** * @notice Resume paused operations of this contract * @dev This method must fail if called by unauthorized user */ function unpause() external; /** * @notice Emitted when the contract gets paused */ event Pause(); /** * @notice Emitted when the contract gets unpaused */ event Unpause(); } /** * @title Interface for token contracts with blacklist management functionality */ interface IBlackList { /** * @notice Add given address to blacklist. * @param _evilUser the address to add to blacklist */ function addBlackList(address _evilUser) external; /** * @notice Remove given address from blacklist. * @param _clearedUser the address to remove from blacklist */ function removeBlackList(address _clearedUser) external; /** * @dev Destroy tokens owned by a blacklisted account. * @param _blackListedUser the blacklisted address */ function destroyBlackFunds(address _blackListedUser) external; /** * Emitted when tokens owned by a blacklisted address are destroyed. * @param _blackListedUser the blacklisted account * @param _balance amount of tokens previously owned by the account */ event DestroyedBlackFunds(address _blackListedUser, uint _balance); /** * Emitted when an address is added to the blacklist * @param _user the address added to the blacklist */ event AddedBlackList(address _user); /** * Emitted when an address is removed from blacklist * @param _user the address removed from the blacklist */ event RemovedBlackList(address _user); } interface IDeprecatable { /** * @notice Mark this contract as deprecated and start delegating some operations to a different contract * @param _upgradedAddress address of new contract to delegate calls to */ function deprecate(address _upgradedAddress) external; } /** * @title Methods for token supply management (token emission and destruction) */ interface ISupply { /** * @notice Create new tokens and send them to given address * @param amount Number of tokens to be issued * @param to Address to send tokens to */ function issue(uint amount, address to) external; /** * @notice Redeem (burn) tokens. * The tokens are withdrawn from the owner address. * The balance must be enough to cover the redeem or the call will fail. * @param amount Number of tokens to be redeemed */ function redeem(uint amount) external; /** Emitted when new token are issued */ event Issue(uint amount, address to); /** Emitted when tokens are redeemed */ event Redeem(uint amount); } /** * @title Interface for token contracts manageable by `MultisigManager` contract. */ interface ManagedToken is ERC173, IPausable, IBlackList, IDeprecatable, ISupply {}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"supplier","type":"address"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"decimals_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"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":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_blackListedUser","type":"address"},{"indexed":false,"internalType":"uint256","name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"RemovedBlackList","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"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[],"name":"MAX_UINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"evilUser","type":"address"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tos","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"upgradedAddress_","type":"address"}],"name":"deprecate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deprecated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"emitApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"emitTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"legacyAllowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"legacyBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradedAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a06040526000600360156101000a81548160ff02191690831515021790555034801561002b57600080fd5b506040516146ed3803806146ed833981810160405281019061004d919061040a565b848487600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100b69061052c565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508160018190555081600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516101a9919061055b565b60405180910390a350506000600360146101000a81548160ff02191690831515021790555082600690816101dd919061078d565b5081600790816101ed919061078d565b50806080818152505050505050505061085f565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061024082610215565b9050919050565b61025081610235565b811461025b57600080fd5b50565b60008151905061026d81610247565b92915050565b6000819050919050565b61028681610273565b811461029157600080fd5b50565b6000815190506102a38161027d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102fc826102b3565b810181811067ffffffffffffffff8211171561031b5761031a6102c4565b5b80604052505050565b600061032e610201565b905061033a82826102f3565b919050565b600067ffffffffffffffff82111561035a576103596102c4565b5b610363826102b3565b9050602081019050919050565b60005b8381101561038e578082015181840152602081019050610373565b60008484015250505050565b60006103ad6103a88461033f565b610324565b9050828152602081018484840111156103c9576103c86102ae565b5b6103d4848285610370565b509392505050565b600082601f8301126103f1576103f06102a9565b5b815161040184826020860161039a565b91505092915050565b60008060008060008060c087890312156104275761042661020b565b5b600061043589828a0161025e565b965050602061044689828a01610294565b955050604061045789828a0161025e565b945050606087015167ffffffffffffffff81111561047857610477610210565b5b61048489828a016103dc565b935050608087015167ffffffffffffffff8111156104a5576104a4610210565b5b6104b189828a016103dc565b92505060a06104c289828a01610294565b9150509295509295509295565b600082825260208201905092915050565b7f6f776e6572206973207a65726f00000000000000000000000000000000000000600082015250565b6000610516600d836104cf565b9150610521826104e0565b602082019050919050565b6000602082019050818103600083015261054581610509565b9050919050565b61055581610273565b82525050565b6000602082019050610570600083018461054c565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c857607f821691505b6020821081036105db576105da610581565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064d8683610606565b95508019841693508086168417925050509392505050565b6000819050919050565b600061068a61068561068084610273565b610665565b610273565b9050919050565b6000819050919050565b6106a48361066f565b6106b86106b082610691565b848454610613565b825550505050565b600090565b6106cd6106c0565b6106d881848461069b565b505050565b5b818110156106fc576106f16000826106c5565b6001810190506106de565b5050565b601f82111561074157610712816105e1565b61071b846105f6565b8101602085101561072a578190505b61073e610736856105f6565b8301826106dd565b50505b505050565b600082821c905092915050565b600061076460001984600802610746565b1980831691505092915050565b600061077d8383610753565b9150826002028217905092915050565b61079682610576565b67ffffffffffffffff8111156107af576107ae6102c4565b5b6107b982546105b0565b6107c4828285610700565b600060209050601f8311600181146107f757600084156107e5578287015190505b6107ef8582610771565b865550610857565b601f198416610805866105e1565b60005b8281101561082d57848901518255600182019150602085019450602081019050610808565b8683101561084a5784890151610846601f891682610753565b8355505b6001600288020188555050505b505050505050565b608051613e7361087a6000396000610ef80152613e736000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80635c975abb1161010f578063b696a6ad116100a2578063e4997dc511610071578063e4997dc5146105cd578063e5b5019a146105e9578063f2fde38b14610607578063f3bdc22814610623576101f0565b8063b696a6ad14610535578063db006a7514610551578063dd62ed3e1461056d578063e47d60601461059d576101f0565b80638da5cb5b116100de5780638da5cb5b1461049957806395d89b41146104b757806397c0b856146104d5578063a9059cbb14610505576101f0565b80635c975abb1461042557806370a08231146104435780638456cb591461047357806388d695b21461047d576101f0565b806323de6651116101875780633f4ba83a116101565780633f4ba83a1461039f5780635687f2b8146103a9578063582442dc146103c55780635c658165146103f5576101f0565b806323de66511461031757806326976e3f1461033357806327e235e314610351578063313ce56714610381576101f0565b80630e136b19116101c35780630e136b191461028f5780630ecb93c0146102ad57806318160ddd146102c957806323b872dd146102e7576101f0565b806301ffc9a7146101f557806306fdde03146102255780630753c30c14610243578063095ea7b31461025f575b600080fd5b61020f600480360381019061020a9190612e46565b61063f565b60405161021c9190612e8e565b60405180910390f35b61022d6106da565b60405161023a9190612f39565b60405180910390f35b61025d60048036038101906102589190612fb9565b610768565b005b6102796004803603810190610274919061301c565b6108fb565b6040516102869190612e8e565b60405180910390f35b6102976109ce565b6040516102a49190612e8e565b60405180910390f35b6102c760048036038101906102c29190612fb9565b6109e1565b005b6102d1610b01565b6040516102de919061306b565b60405180910390f35b61030160048036038101906102fc9190613086565b610bb9565b60405161030e9190612e8e565b60405180910390f35b610331600480360381019061032c9190613086565b610d6f565b005b61033b610eb8565b60405161034891906130e8565b60405180910390f35b61036b60048036038101906103669190612fb9565b610ede565b604051610378919061306b565b60405180910390f35b610389610ef6565b604051610396919061306b565b60405180910390f35b6103a7610f1a565b005b6103c360048036038101906103be9190613086565b611040565b005b6103df60048036038101906103da9190613103565b611189565b6040516103ec919061306b565b60405180910390f35b61040f600480360381019061040a9190613103565b6112ef565b60405161041c919061306b565b60405180910390f35b61042d611314565b60405161043a9190612e8e565b60405180910390f35b61045d60048036038101906104589190612fb9565b611327565b60405161046a919061306b565b60405180910390f35b61047b6113f2565b005b610497600480360381019061049291906131fe565b611519565b005b6104a16116ba565b6040516104ae91906130e8565b60405180910390f35b6104bf6116de565b6040516104cc9190612f39565b60405180910390f35b6104ef60048036038101906104ea9190612fb9565b61176c565b6040516104fc919061306b565b60405180910390f35b61051f600480360381019061051a919061301c565b611894565b60405161052c9190612e8e565b60405180910390f35b61054f600480360381019061054a919061327f565b611a46565b005b61056b600480360381019061056691906132bf565b611c36565b005b61058760048036038101906105829190613103565b611f07565b604051610594919061306b565b60405180910390f35b6105b760048036038101906105b29190612fb9565b611fd6565b6040516105c49190612e8e565b60405180910390f35b6105e760048036038101906105e29190612fb9565b611ff6565b005b6105f1612116565b6040516105fe919061306b565b60405180910390f35b610621600480360381019061061c9190612fb9565b61213a565b005b61063d60048036038101906106389190612fb9565b6122d4565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061069a5750637f5828d060e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106ca57506336372b0760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106d3575060005b9050919050565b600680546106e79061331b565b80601f01602080910402602001604051908101604052809291908181526020018280546107139061331b565b80156107605780601f1061073557610100808354040283529160200191610760565b820191906000526020600020905b81548152906001019060200180831161074357829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ed90613398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90613404565b60405180910390fd5b6001600360146101000a81548160ff02191690831515021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e816040516108f091906130e8565b60405180910390a150565b6000600360149054906101000a900460ff16156109bb57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff1660e01b815260040161097193929190613424565b6020604051808303816000875af1158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b49190613487565b90506109c8565b6109c583836124fc565b90505b92915050565b600360149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6690613398565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051610af691906130e8565b60405180910390a150565b6000600360149054906101000a900460ff1615610bb057600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba991906134c9565b9050610bb6565b60015490505b90565b6000600360159054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290613542565b60405180910390fd5b83600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c90906135ae565b60405180910390fd5b600360149054906101000a900460ff1615610d5957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338787876040518563ffffffff1660e01b8152600401610d0f94939291906135ce565b6020604051808303816000875af1158015610d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d529190613487565b9150610d67565b610d648585856126b7565b91505b509392505050565b600360149054906101000a900460ff16610dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db59061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e45906136f1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610eab919061306b565b60405180910390a3505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f90613398565b60405180910390fd5b600360159054906101000a900460ff16610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee9061375d565b60405180910390fd5b6000600360156101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360149054906101000a900460ff1661108f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110869061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611116906136f1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117c919061306b565b60405180910390a3505050565b6000600360149054906101000a900460ff166111da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d19061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461126a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611261906136f1565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6004602052816000526040600020602052806000526040600020600091509150505481565b600360159054906101000a900460ff1681565b6000600360149054906101000a900460ff16156113e157600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040161139991906130e8565b602060405180830381865afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da91906134c9565b90506113ed565b6113ea8261290b565b90505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147790613398565b60405180910390fd5b600360159054906101000a900460ff16156114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790613542565b60405180910390fd5b6001600360156101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360159054906101000a900460ff1615611569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156090613542565b60405180910390fd5b33600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee906135ae565b60405180910390fd5b600360149054906101000a900460ff16156116a657600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e21c67c533878787876040518663ffffffff1660e01b815260040161166f9594939291906138bb565b600060405180830381600087803b15801561168957600080fd5b505af115801561169d573d6000803e3d6000fd5b505050506116b3565b6116b285858585612954565b5b5050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600780546116eb9061331b565b80601f01602080910402602001604051908101604052809291908181526020018280546117179061331b565b80156117645780601f1061173957610100808354040283529160200191611764565b820191906000526020600020905b81548152906001019060200180831161174757829003601f168201915b505050505081565b6000600360149054906101000a900460ff166117bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b49061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461184d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611844906136f1565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360159054906101000a900460ff16156118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd90613542565b60405180910390fd5b33600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196b906135ae565b60405180910390fd5b600360149054906101000a900460ff1615611a3257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3386866040518463ffffffff1660e01b81526004016119e893929190613424565b6020604051808303816000875af1158015611a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2b9190613487565b9150611a3f565b611a3c8484612c40565b91505b5092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613398565b60405180910390fd5b600360149054906101000a900460ff1615611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b90613950565b60405180910390fd5b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b73919061399f565b925050819055508160016000828254611b8c919061399f565b925050819055507fc790a174b576e850809e673168b703c3f5480d1c662f57ea2c08f08a17d509c68282604051611bc49291906139d3565b60405180910390a18073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c2a919061306b565b60405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb90613398565b60405180910390fd5b600360149054906101000a900460ff1615611d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0b90613950565b60405180910390fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dae90613a6e565b60405180910390fd5b8060016000828254611dc99190613a8e565b9250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e409190613a8e565b925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a4481604051611e76919061306b565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611efc919061306b565b60405180910390a350565b6000600360149054906101000a900460ff1615611fc357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401611f7b929190613ac2565b602060405180830381865afa158015611f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbc91906134c9565b9050611fd0565b611fcd8383612d5d565b90505b92915050565b60056020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207b90613398565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c8160405161210b91906130e8565b60405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bf90613398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222e90613b37565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235990613398565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e590613ba3565b60405180910390fd5b60006123f982611327565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008282546124529190613a8e565b925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6828260405161248a929190613bc3565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124f0919061306b565b60405180910390a35050565b60008082148061258857506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6125c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125be90613c5e565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516126a5919061306b565b60405180910390a36001905092915050565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156127ee57828161276d9190613a8e565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461283d9190613a8e565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612893919061399f565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128f7919061306b565b60405180910390a360019150509392505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b81819050848490501461299c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299390613d16565b60405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060005b85859050811015612bf4576000868683818110612a0357612a02613d36565b5b9050602002016020810190612a189190612fb9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8090613db1565b60405180910390fd5b6000858584818110612a9e57612a9d613d36565b5b90506020020135905083811115612aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae190613e1d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612b82578084612b299190613a8e565b935080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b7a919061399f565b925050819055505b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bdf919061306b565b60405180910390a350508060010190506129e3565b5080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612c919190613a8e565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ce7919061399f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612d4b919061306b565b60405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e2381612dee565b8114612e2e57600080fd5b50565b600081359050612e4081612e1a565b92915050565b600060208284031215612e5c57612e5b612de4565b5b6000612e6a84828501612e31565b91505092915050565b60008115159050919050565b612e8881612e73565b82525050565b6000602082019050612ea36000830184612e7f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ee3578082015181840152602081019050612ec8565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f0b82612ea9565b612f158185612eb4565b9350612f25818560208601612ec5565b612f2e81612eef565b840191505092915050565b60006020820190508181036000830152612f538184612f00565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f8682612f5b565b9050919050565b612f9681612f7b565b8114612fa157600080fd5b50565b600081359050612fb381612f8d565b92915050565b600060208284031215612fcf57612fce612de4565b5b6000612fdd84828501612fa4565b91505092915050565b6000819050919050565b612ff981612fe6565b811461300457600080fd5b50565b60008135905061301681612ff0565b92915050565b6000806040838503121561303357613032612de4565b5b600061304185828601612fa4565b925050602061305285828601613007565b9150509250929050565b61306581612fe6565b82525050565b6000602082019050613080600083018461305c565b92915050565b60008060006060848603121561309f5761309e612de4565b5b60006130ad86828701612fa4565b93505060206130be86828701612fa4565b92505060406130cf86828701613007565b9150509250925092565b6130e281612f7b565b82525050565b60006020820190506130fd60008301846130d9565b92915050565b6000806040838503121561311a57613119612de4565b5b600061312885828601612fa4565b925050602061313985828601612fa4565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f84011261316857613167613143565b5b8235905067ffffffffffffffff81111561318557613184613148565b5b6020830191508360208202830111156131a1576131a061314d565b5b9250929050565b60008083601f8401126131be576131bd613143565b5b8235905067ffffffffffffffff8111156131db576131da613148565b5b6020830191508360208202830111156131f7576131f661314d565b5b9250929050565b6000806000806040858703121561321857613217612de4565b5b600085013567ffffffffffffffff81111561323657613235612de9565b5b61324287828801613152565b9450945050602085013567ffffffffffffffff81111561326557613264612de9565b5b613271878288016131a8565b925092505092959194509250565b6000806040838503121561329657613295612de4565b5b60006132a485828601613007565b92505060206132b585828601612fa4565b9150509250929050565b6000602082840312156132d5576132d4612de4565b5b60006132e384828501613007565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061333357607f821691505b602082108103613346576133456132ec565b5b50919050565b7f6e6f7420616e206f776e65720000000000000000000000000000000000000000600082015250565b6000613382600c83612eb4565b915061338d8261334c565b602082019050919050565b600060208201905081810360008301526133b181613375565b9050919050565b7f7570677261646520636f6e74726163742061646472657373206973207a65726f600082015250565b60006133ee602083612eb4565b91506133f9826133b8565b602082019050919050565b6000602082019050818103600083015261341d816133e1565b9050919050565b600060608201905061343960008301866130d9565b61344660208301856130d9565b613453604083018461305c565b949350505050565b61346481612e73565b811461346f57600080fd5b50565b6000815190506134818161345b565b92915050565b60006020828403121561349d5761349c612de4565b5b60006134ab84828501613472565b91505092915050565b6000815190506134c381612ff0565b92915050565b6000602082840312156134df576134de612de4565b5b60006134ed848285016134b4565b91505092915050565b7f636f6e7472616374207061757365640000000000000000000000000000000000600082015250565b600061352c600f83612eb4565b9150613537826134f6565b602082019050919050565b6000602082019050818103600083015261355b8161351f565b9050919050565b7f6163636f756e7420626c61636b6c697374656400000000000000000000000000600082015250565b6000613598601383612eb4565b91506135a382613562565b602082019050919050565b600060208201905081810360008301526135c78161358b565b9050919050565b60006080820190506135e360008301876130d9565b6135f060208301866130d9565b6135fd60408301856130d9565b61360a606083018461305c565b95945050505050565b7f636f6e7472616374206e6f742064657072656361746564000000000000000000600082015250565b6000613649601783612eb4565b915061365482613613565b602082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f63616e206f6e6c792062652063616c6c65642066726f6d20757067726164656460008201527f20636f6e74726163740000000000000000000000000000000000000000000000602082015250565b60006136db602983612eb4565b91506136e68261367f565b604082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f636f6e7472616374206e6f742070617573656400000000000000000000000000600082015250565b6000613747601383612eb4565b915061375282613711565b602082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b600082825260208201905092915050565b6000819050919050565b6137a181612f7b565b82525050565b60006137b38383613798565b60208301905092915050565b60006137ce6020840184612fa4565b905092915050565b6000602082019050919050565b60006137ef838561377d565b93506137fa8261378e565b8060005b858110156138335761381082846137bf565b61381a88826137a7565b9750613825836137d6565b9250506001810190506137fe565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061386b8385613840565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561389e5761389d613851565b5b6020830292506138af838584613856565b82840190509392505050565b60006060820190506138d060008301886130d9565b81810360208301526138e38186886137e3565b905081810360408301526138f881848661385f565b90509695505050505050565b7f636f6e7472616374206973206465707265636174656400000000000000000000600082015250565b600061393a601683612eb4565b915061394582613904565b602082019050919050565b600060208201905081810360008301526139698161392d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139aa82612fe6565b91506139b583612fe6565b92508282019050808211156139cd576139cc613970565b5b92915050565b60006040820190506139e8600083018561305c565b6139f560208301846130d9565b9392505050565b7f6e6f7420656e6f7567682066756e6473206f6e206f776e6572206163636f756e60008201527f7420746f206275726e0000000000000000000000000000000000000000000000602082015250565b6000613a58602983612eb4565b9150613a63826139fc565b604082019050919050565b60006020820190508181036000830152613a8781613a4b565b9050919050565b6000613a9982612fe6565b9150613aa483612fe6565b9250828203905081811115613abc57613abb613970565b5b92915050565b6000604082019050613ad760008301856130d9565b613ae460208301846130d9565b9392505050565b7f6e6577206f776e6572206973207a65726f000000000000000000000000000000600082015250565b6000613b21601183612eb4565b9150613b2c82613aeb565b602082019050919050565b60006020820190508181036000830152613b5081613b14565b9050919050565b7f6163636f756e74206e6f7420626c61636b6c6973746564000000000000000000600082015250565b6000613b8d601783612eb4565b9150613b9882613b57565b602082019050919050565b60006020820190508181036000830152613bbc81613b80565b9050919050565b6000604082019050613bd860008301856130d9565b613be5602083018461305c565b9392505050565b7f63616e6e6f74206368616e676520616c6c6f77616e63652066726f6d206e6f6e60008201527f2d7a65726f2076616c756520746f206e6f6e2d7a65726f2076616c7565000000602082015250565b6000613c48603d83612eb4565b9150613c5382613bec565b604082019050919050565b60006020820190508181036000830152613c7781613c3b565b9050919050565b7f64657374696e6174696f6e2061646472657373657320636f756e7420646f657360008201527f206e6f74206d61746368207472616e7366657220616d6f756e747320636f756e60208201527f7400000000000000000000000000000000000000000000000000000000000000604082015250565b6000613d00604183612eb4565b9150613d0b82613c7e565b606082019050919050565b60006020820190508181036000830152613d2f81613cf3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f63616e6e6f74207472616e7366657220746f207a65726f206164647265737300600082015250565b6000613d9b601f83612eb4565b9150613da682613d65565b602082019050919050565b60006020820190508181036000830152613dca81613d8e565b9050919050565b7f6e6f7420656e6f7567682066756e647300000000000000000000000000000000600082015250565b6000613e07601083612eb4565b9150613e1282613dd1565b602082019050919050565b60006020820190508181036000830152613e3681613dfa565b905091905056fea264697066735822122031eb55880420777ba0d4ec5a74ed9b287c5ebb7b45e2b1dcb9f184dde24b992f64736f6c634300081a0033000000000000000000000000ee64930027a31f8a2ce9f71ec4925e21dd7cec430000000000000000000000000000000000000000000000000000000000000001000000000000000000000000521b9c41e7fe2c6b8e52730787d8cd8181441d8c00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006414348495658000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064143484956580000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80635c975abb1161010f578063b696a6ad116100a2578063e4997dc511610071578063e4997dc5146105cd578063e5b5019a146105e9578063f2fde38b14610607578063f3bdc22814610623576101f0565b8063b696a6ad14610535578063db006a7514610551578063dd62ed3e1461056d578063e47d60601461059d576101f0565b80638da5cb5b116100de5780638da5cb5b1461049957806395d89b41146104b757806397c0b856146104d5578063a9059cbb14610505576101f0565b80635c975abb1461042557806370a08231146104435780638456cb591461047357806388d695b21461047d576101f0565b806323de6651116101875780633f4ba83a116101565780633f4ba83a1461039f5780635687f2b8146103a9578063582442dc146103c55780635c658165146103f5576101f0565b806323de66511461031757806326976e3f1461033357806327e235e314610351578063313ce56714610381576101f0565b80630e136b19116101c35780630e136b191461028f5780630ecb93c0146102ad57806318160ddd146102c957806323b872dd146102e7576101f0565b806301ffc9a7146101f557806306fdde03146102255780630753c30c14610243578063095ea7b31461025f575b600080fd5b61020f600480360381019061020a9190612e46565b61063f565b60405161021c9190612e8e565b60405180910390f35b61022d6106da565b60405161023a9190612f39565b60405180910390f35b61025d60048036038101906102589190612fb9565b610768565b005b6102796004803603810190610274919061301c565b6108fb565b6040516102869190612e8e565b60405180910390f35b6102976109ce565b6040516102a49190612e8e565b60405180910390f35b6102c760048036038101906102c29190612fb9565b6109e1565b005b6102d1610b01565b6040516102de919061306b565b60405180910390f35b61030160048036038101906102fc9190613086565b610bb9565b60405161030e9190612e8e565b60405180910390f35b610331600480360381019061032c9190613086565b610d6f565b005b61033b610eb8565b60405161034891906130e8565b60405180910390f35b61036b60048036038101906103669190612fb9565b610ede565b604051610378919061306b565b60405180910390f35b610389610ef6565b604051610396919061306b565b60405180910390f35b6103a7610f1a565b005b6103c360048036038101906103be9190613086565b611040565b005b6103df60048036038101906103da9190613103565b611189565b6040516103ec919061306b565b60405180910390f35b61040f600480360381019061040a9190613103565b6112ef565b60405161041c919061306b565b60405180910390f35b61042d611314565b60405161043a9190612e8e565b60405180910390f35b61045d60048036038101906104589190612fb9565b611327565b60405161046a919061306b565b60405180910390f35b61047b6113f2565b005b610497600480360381019061049291906131fe565b611519565b005b6104a16116ba565b6040516104ae91906130e8565b60405180910390f35b6104bf6116de565b6040516104cc9190612f39565b60405180910390f35b6104ef60048036038101906104ea9190612fb9565b61176c565b6040516104fc919061306b565b60405180910390f35b61051f600480360381019061051a919061301c565b611894565b60405161052c9190612e8e565b60405180910390f35b61054f600480360381019061054a919061327f565b611a46565b005b61056b600480360381019061056691906132bf565b611c36565b005b61058760048036038101906105829190613103565b611f07565b604051610594919061306b565b60405180910390f35b6105b760048036038101906105b29190612fb9565b611fd6565b6040516105c49190612e8e565b60405180910390f35b6105e760048036038101906105e29190612fb9565b611ff6565b005b6105f1612116565b6040516105fe919061306b565b60405180910390f35b610621600480360381019061061c9190612fb9565b61213a565b005b61063d60048036038101906106389190612fb9565b6122d4565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061069a5750637f5828d060e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106ca57506336372b0760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106d3575060005b9050919050565b600680546106e79061331b565b80601f01602080910402602001604051908101604052809291908181526020018280546107139061331b565b80156107605780601f1061073557610100808354040283529160200191610760565b820191906000526020600020905b81548152906001019060200180831161074357829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ed90613398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90613404565b60405180910390fd5b6001600360146101000a81548160ff02191690831515021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e816040516108f091906130e8565b60405180910390a150565b6000600360149054906101000a900460ff16156109bb57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff1660e01b815260040161097193929190613424565b6020604051808303816000875af1158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b49190613487565b90506109c8565b6109c583836124fc565b90505b92915050565b600360149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6690613398565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051610af691906130e8565b60405180910390a150565b6000600360149054906101000a900460ff1615610bb057600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba991906134c9565b9050610bb6565b60015490505b90565b6000600360159054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290613542565b60405180910390fd5b83600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c90906135ae565b60405180910390fd5b600360149054906101000a900460ff1615610d5957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338787876040518563ffffffff1660e01b8152600401610d0f94939291906135ce565b6020604051808303816000875af1158015610d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d529190613487565b9150610d67565b610d648585856126b7565b91505b509392505050565b600360149054906101000a900460ff16610dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db59061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e45906136f1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610eab919061306b565b60405180910390a3505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f90613398565b60405180910390fd5b600360159054906101000a900460ff16610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee9061375d565b60405180910390fd5b6000600360156101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360149054906101000a900460ff1661108f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110869061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611116906136f1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117c919061306b565b60405180910390a3505050565b6000600360149054906101000a900460ff166111da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d19061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461126a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611261906136f1565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6004602052816000526040600020602052806000526040600020600091509150505481565b600360159054906101000a900460ff1681565b6000600360149054906101000a900460ff16156113e157600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040161139991906130e8565b602060405180830381865afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da91906134c9565b90506113ed565b6113ea8261290b565b90505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147790613398565b60405180910390fd5b600360159054906101000a900460ff16156114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790613542565b60405180910390fd5b6001600360156101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360159054906101000a900460ff1615611569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156090613542565b60405180910390fd5b33600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee906135ae565b60405180910390fd5b600360149054906101000a900460ff16156116a657600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e21c67c533878787876040518663ffffffff1660e01b815260040161166f9594939291906138bb565b600060405180830381600087803b15801561168957600080fd5b505af115801561169d573d6000803e3d6000fd5b505050506116b3565b6116b285858585612954565b5b5050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600780546116eb9061331b565b80601f01602080910402602001604051908101604052809291908181526020018280546117179061331b565b80156117645780601f1061173957610100808354040283529160200191611764565b820191906000526020600020905b81548152906001019060200180831161174757829003601f168201915b505050505081565b6000600360149054906101000a900460ff166117bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b49061365f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461184d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611844906136f1565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360159054906101000a900460ff16156118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd90613542565b60405180910390fd5b33600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196b906135ae565b60405180910390fd5b600360149054906101000a900460ff1615611a3257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3386866040518463ffffffff1660e01b81526004016119e893929190613424565b6020604051808303816000875af1158015611a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2b9190613487565b9150611a3f565b611a3c8484612c40565b91505b5092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613398565b60405180910390fd5b600360149054906101000a900460ff1615611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b90613950565b60405180910390fd5b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b73919061399f565b925050819055508160016000828254611b8c919061399f565b925050819055507fc790a174b576e850809e673168b703c3f5480d1c662f57ea2c08f08a17d509c68282604051611bc49291906139d3565b60405180910390a18073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c2a919061306b565b60405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb90613398565b60405180910390fd5b600360149054906101000a900460ff1615611d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0b90613950565b60405180910390fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dae90613a6e565b60405180910390fd5b8060016000828254611dc99190613a8e565b9250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e409190613a8e565b925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a4481604051611e76919061306b565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611efc919061306b565b60405180910390a350565b6000600360149054906101000a900460ff1615611fc357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401611f7b929190613ac2565b602060405180830381865afa158015611f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbc91906134c9565b9050611fd0565b611fcd8383612d5d565b90505b92915050565b60056020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207b90613398565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c8160405161210b91906130e8565b60405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bf90613398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222e90613b37565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235990613398565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e590613ba3565b60405180910390fd5b60006123f982611327565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008282546124529190613a8e565b925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6828260405161248a929190613bc3565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124f0919061306b565b60405180910390a35050565b60008082148061258857506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6125c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125be90613c5e565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516126a5919061306b565b60405180910390a36001905092915050565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156127ee57828161276d9190613a8e565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461283d9190613a8e565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612893919061399f565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128f7919061306b565b60405180910390a360019150509392505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b81819050848490501461299c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299390613d16565b60405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060005b85859050811015612bf4576000868683818110612a0357612a02613d36565b5b9050602002016020810190612a189190612fb9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8090613db1565b60405180910390fd5b6000858584818110612a9e57612a9d613d36565b5b90506020020135905083811115612aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae190613e1d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612b82578084612b299190613a8e565b935080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b7a919061399f565b925050819055505b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bdf919061306b565b60405180910390a350508060010190506129e3565b5080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612c919190613a8e565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ce7919061399f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612d4b919061306b565b60405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e2381612dee565b8114612e2e57600080fd5b50565b600081359050612e4081612e1a565b92915050565b600060208284031215612e5c57612e5b612de4565b5b6000612e6a84828501612e31565b91505092915050565b60008115159050919050565b612e8881612e73565b82525050565b6000602082019050612ea36000830184612e7f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ee3578082015181840152602081019050612ec8565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f0b82612ea9565b612f158185612eb4565b9350612f25818560208601612ec5565b612f2e81612eef565b840191505092915050565b60006020820190508181036000830152612f538184612f00565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f8682612f5b565b9050919050565b612f9681612f7b565b8114612fa157600080fd5b50565b600081359050612fb381612f8d565b92915050565b600060208284031215612fcf57612fce612de4565b5b6000612fdd84828501612fa4565b91505092915050565b6000819050919050565b612ff981612fe6565b811461300457600080fd5b50565b60008135905061301681612ff0565b92915050565b6000806040838503121561303357613032612de4565b5b600061304185828601612fa4565b925050602061305285828601613007565b9150509250929050565b61306581612fe6565b82525050565b6000602082019050613080600083018461305c565b92915050565b60008060006060848603121561309f5761309e612de4565b5b60006130ad86828701612fa4565b93505060206130be86828701612fa4565b92505060406130cf86828701613007565b9150509250925092565b6130e281612f7b565b82525050565b60006020820190506130fd60008301846130d9565b92915050565b6000806040838503121561311a57613119612de4565b5b600061312885828601612fa4565b925050602061313985828601612fa4565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f84011261316857613167613143565b5b8235905067ffffffffffffffff81111561318557613184613148565b5b6020830191508360208202830111156131a1576131a061314d565b5b9250929050565b60008083601f8401126131be576131bd613143565b5b8235905067ffffffffffffffff8111156131db576131da613148565b5b6020830191508360208202830111156131f7576131f661314d565b5b9250929050565b6000806000806040858703121561321857613217612de4565b5b600085013567ffffffffffffffff81111561323657613235612de9565b5b61324287828801613152565b9450945050602085013567ffffffffffffffff81111561326557613264612de9565b5b613271878288016131a8565b925092505092959194509250565b6000806040838503121561329657613295612de4565b5b60006132a485828601613007565b92505060206132b585828601612fa4565b9150509250929050565b6000602082840312156132d5576132d4612de4565b5b60006132e384828501613007565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061333357607f821691505b602082108103613346576133456132ec565b5b50919050565b7f6e6f7420616e206f776e65720000000000000000000000000000000000000000600082015250565b6000613382600c83612eb4565b915061338d8261334c565b602082019050919050565b600060208201905081810360008301526133b181613375565b9050919050565b7f7570677261646520636f6e74726163742061646472657373206973207a65726f600082015250565b60006133ee602083612eb4565b91506133f9826133b8565b602082019050919050565b6000602082019050818103600083015261341d816133e1565b9050919050565b600060608201905061343960008301866130d9565b61344660208301856130d9565b613453604083018461305c565b949350505050565b61346481612e73565b811461346f57600080fd5b50565b6000815190506134818161345b565b92915050565b60006020828403121561349d5761349c612de4565b5b60006134ab84828501613472565b91505092915050565b6000815190506134c381612ff0565b92915050565b6000602082840312156134df576134de612de4565b5b60006134ed848285016134b4565b91505092915050565b7f636f6e7472616374207061757365640000000000000000000000000000000000600082015250565b600061352c600f83612eb4565b9150613537826134f6565b602082019050919050565b6000602082019050818103600083015261355b8161351f565b9050919050565b7f6163636f756e7420626c61636b6c697374656400000000000000000000000000600082015250565b6000613598601383612eb4565b91506135a382613562565b602082019050919050565b600060208201905081810360008301526135c78161358b565b9050919050565b60006080820190506135e360008301876130d9565b6135f060208301866130d9565b6135fd60408301856130d9565b61360a606083018461305c565b95945050505050565b7f636f6e7472616374206e6f742064657072656361746564000000000000000000600082015250565b6000613649601783612eb4565b915061365482613613565b602082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f63616e206f6e6c792062652063616c6c65642066726f6d20757067726164656460008201527f20636f6e74726163740000000000000000000000000000000000000000000000602082015250565b60006136db602983612eb4565b91506136e68261367f565b604082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f636f6e7472616374206e6f742070617573656400000000000000000000000000600082015250565b6000613747601383612eb4565b915061375282613711565b602082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b600082825260208201905092915050565b6000819050919050565b6137a181612f7b565b82525050565b60006137b38383613798565b60208301905092915050565b60006137ce6020840184612fa4565b905092915050565b6000602082019050919050565b60006137ef838561377d565b93506137fa8261378e565b8060005b858110156138335761381082846137bf565b61381a88826137a7565b9750613825836137d6565b9250506001810190506137fe565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061386b8385613840565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561389e5761389d613851565b5b6020830292506138af838584613856565b82840190509392505050565b60006060820190506138d060008301886130d9565b81810360208301526138e38186886137e3565b905081810360408301526138f881848661385f565b90509695505050505050565b7f636f6e7472616374206973206465707265636174656400000000000000000000600082015250565b600061393a601683612eb4565b915061394582613904565b602082019050919050565b600060208201905081810360008301526139698161392d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139aa82612fe6565b91506139b583612fe6565b92508282019050808211156139cd576139cc613970565b5b92915050565b60006040820190506139e8600083018561305c565b6139f560208301846130d9565b9392505050565b7f6e6f7420656e6f7567682066756e6473206f6e206f776e6572206163636f756e60008201527f7420746f206275726e0000000000000000000000000000000000000000000000602082015250565b6000613a58602983612eb4565b9150613a63826139fc565b604082019050919050565b60006020820190508181036000830152613a8781613a4b565b9050919050565b6000613a9982612fe6565b9150613aa483612fe6565b9250828203905081811115613abc57613abb613970565b5b92915050565b6000604082019050613ad760008301856130d9565b613ae460208301846130d9565b9392505050565b7f6e6577206f776e6572206973207a65726f000000000000000000000000000000600082015250565b6000613b21601183612eb4565b9150613b2c82613aeb565b602082019050919050565b60006020820190508181036000830152613b5081613b14565b9050919050565b7f6163636f756e74206e6f7420626c61636b6c6973746564000000000000000000600082015250565b6000613b8d601783612eb4565b9150613b9882613b57565b602082019050919050565b60006020820190508181036000830152613bbc81613b80565b9050919050565b6000604082019050613bd860008301856130d9565b613be5602083018461305c565b9392505050565b7f63616e6e6f74206368616e676520616c6c6f77616e63652066726f6d206e6f6e60008201527f2d7a65726f2076616c756520746f206e6f6e2d7a65726f2076616c7565000000602082015250565b6000613c48603d83612eb4565b9150613c5382613bec565b604082019050919050565b60006020820190508181036000830152613c7781613c3b565b9050919050565b7f64657374696e6174696f6e2061646472657373657320636f756e7420646f657360008201527f206e6f74206d61746368207472616e7366657220616d6f756e747320636f756e60208201527f7400000000000000000000000000000000000000000000000000000000000000604082015250565b6000613d00604183612eb4565b9150613d0b82613c7e565b606082019050919050565b60006020820190508181036000830152613d2f81613cf3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f63616e6e6f74207472616e7366657220746f207a65726f206164647265737300600082015250565b6000613d9b601f83612eb4565b9150613da682613d65565b602082019050919050565b60006020820190508181036000830152613dca81613d8e565b9050919050565b7f6e6f7420656e6f7567682066756e647300000000000000000000000000000000600082015250565b6000613e07601083612eb4565b9150613e1282613dd1565b602082019050919050565b60006020820190508181036000830152613e3681613dfa565b905091905056fea264697066735822122031eb55880420777ba0d4ec5a74ed9b287c5ebb7b45e2b1dcb9f184dde24b992f64736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ee64930027a31f8a2ce9f71ec4925e21dd7cec430000000000000000000000000000000000000000000000000000000000000001000000000000000000000000521b9c41e7fe2c6b8e52730787d8cd8181441d8c00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006414348495658000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064143484956580000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : owner (address): 0xEe64930027a31F8a2Ce9F71eC4925E21Dd7CEc43
Arg [1] : initialSupply (uint256): 1
Arg [2] : supplier (address): 0x521b9c41E7fE2C6b8e52730787D8cd8181441d8c
Arg [3] : name_ (string): ACHIVX
Arg [4] : symbol_ (string): ACHIVX
Arg [5] : decimals_ (uint256): 6
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 000000000000000000000000ee64930027a31f8a2ce9f71ec4925e21dd7cec43
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 000000000000000000000000521b9c41e7fe2c6b8e52730787d8cd8181441d8c
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [7] : 4143484956580000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [9] : 4143484956580000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
15198:5876:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16076:289;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15323:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12223:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17932:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12001:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8800:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19319:208;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16979:573;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19999:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11965:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2537:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15373:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8051:104;;;:::i;:::-;;20211:171;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19775;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3778:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7430:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17604:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7898:102;;;:::i;:::-;;18800:467;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;326:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15347;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19580:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16417:515;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20431:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20729:343;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18415:330;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8450:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8997:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3844:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;750:225;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9209:410;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16076:289;16160:4;16211:10;16196:25;;:11;:25;;;;16195:80;;;;16264:10;16249:25;;:11;:25;;;;16195:80;:133;;;;16317:10;16302:25;;:11;:25;;;;16195:133;:163;;;;16353:5;16195:163;16176:182;;16076:289;;;:::o;15323:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12223:303::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;12346:1:::1;12318:30;;:16;:30;;::::0;12297:109:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12429:4;12416:10;;:17;;;;;;;;;;;;;;;;;;12461:16;12443:15;;:34;;;;;;;;;;;;;;;;;;12492:27;12502:16;12492:27;;;;;;:::i;:::-;;;;;;;;12223:303:::0;:::o;17932:436::-;18047:12;18075:10;;;;;;;;;;;18071:291;;;18146:15;;;;;;;;;;;18124:54;;;18200:10;18232:7;18261:5;18124:160;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18101:183;;;;18071:291;18322:29;18336:7;18345:5;18322:13;:29::i;:::-;18315:36;;17932:436;;;;;:::o;12001:22::-;;;;;;;;;;;;;:::o;8800:145::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;8895:4:::1;8869:13;:23;8883:8;8869:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;8914:24;8929:8;8914:24;;;;;;:::i;:::-;;;;;;;;8800:145:::0;:::o;19319:208::-;19363:4;19383:10;;;;;;;;;;;19379:142;;;19430:15;;;;;;;;;;;19416:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19409:51;;;;19379:142;19498:12;;19491:19;;19319:208;;:::o;16979:573::-;17195:12;7610:6;;;;;;;;;;;7609:7;7601:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;17172:4:::1;8684:13;:22;8698:7;8684:22;;;;;;;;;;;;;;;;;;;;;;;;;8683:23;8675:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;17227:10:::2;;;;;;;;;;;17223:323;;;17298:15;;;;;;;;;;;17276:59;;;17357:10;17389:4;17415:2;17439:5;17276:186;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17253:209;;;;17223:323;17500:35;17519:4;17525:2;17529:5;17500:18;:35::i;:::-;17493:42;;8740:1;7646::::1;16979:573:::0;;;;;:::o;19999:159::-;12678:10;;;;;;;;;;;12670:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;12766:10;12747:29;;:15;;;;;;;;;;;:29;;;12726:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;20141:2:::1;20126:25;;20135:4;20126:25;;;20145:5;20126:25;;;;;;:::i;:::-;;;;;;;;19999:159:::0;;;:::o;11965:30::-;;;;;;;;;;;;;:::o;2537:40::-;;;;;;;;;;;;;;;;;:::o;15373:30::-;;;:::o;8051:104::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;7799:6:::1;;;;;;;;;;;7791:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8119:5:::2;8110:6;;:14;;;;;;;;;;;;;;;;;;8139:9;;;;;;;;;;8051:104::o:0;20211:171::-;12678:10;;;;;;;;;;;12670:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;12766:10;12747:29;;:15;;;;;;;;;;;:29;;;12726:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;20360:7:::1;20344:31;;20353:5;20344:31;;;20369:5;20344:31;;;;;;:::i;:::-;;;;;;;;20211:171:::0;;;:::o;19775:::-;19884:14;12678:10;;;;;;;;;;;12670:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;12766:10;12747:29;;:15;;;;;;;;;;;:29;;;12726:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;19922:7:::1;:13;19930:4;19922:13;;;;;;;;;;;;;;;:17;19936:2;19922:17;;;;;;;;;;;;;;;;19910:29;;19775:171:::0;;;;:::o;3778:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7430:26::-;;;;;;;;;;;;;:::o;17604:281::-;17704:4;17724:10;;;;;;;;;;;17720:159;;;17779:15;;;;;;;;;;;17757:48;;;17806:3;17757:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17750:60;;;;17720:159;17848:20;17864:3;17848:15;:20::i;:::-;17841:27;;17604:281;;;;:::o;7898:102::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;7610:6:::1;;;;;;;;;;;7609:7;7601:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;7967:4:::2;7958:6;;:13;;;;;;;;;;;;;;;;;;7986:7;;;;;;;;;;7898:102::o:0;18800:467::-;7610:6;;;;;;;;;;;7609:7;7601:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;18942:10:::1;8684:13;:22;8698:7;8684:22;;;;;;;;;;;;;;;;;;;;;;;;;8683:23;8675:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;18968:10:::2;;;;;;;;;;;18964:297;;;19039:15;;;;;;;;;;;19017:60;;;19099:10;19131:3;;19156:6;;19017:163;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;18994:186;;18964:297;19218:32;19238:3;;19243:6;;19218:19;:32::i;:::-;8740:1;7646::::1;18800:467:::0;;;;:::o;326:20::-;;;;;;;;;;;;:::o;15347:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19580:142::-;19667:12;12678:10;;;;;;;;;;;12670:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;12766:10;12747:29;;:15;;;;;;;;;;;:29;;;12726:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;19701:8:::1;:14;19710:4;19701:14;;;;;;;;;;;;;;;;19691:24;;19580:142:::0;;;:::o;16417:515::-;16615:12;7610:6;;;;;;;;;;;7609:7;7601:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;16586:10:::1;8684:13;:22;8698:7;8684:22;;;;;;;;;;;;;;;;;;;;;;;;;8683:23;8675:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;16647:10:::2;;;;;;;;;;;16643:283;;;16718:15;;;;;;;;;;;16696:55;;;16773:10;16805:2;16829:5;16696:156;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16673:179;;;;16643:283;16890:25;16905:2;16909:5;16890:14;:25::i;:::-;16883:32;;8740:1;7646::::1;16417:515:::0;;;;:::o;20431:249::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;13012:10:::1;;;;;;;;;;;13011:11;13003:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;20556:6:::2;20540:8;:12;20549:2;20540:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;20588:6;20572:12;;:22;;;;;;;:::i;:::-;;;;;;;;20609:17;20615:6;20623:2;20609:17;;;;;;;:::i;:::-;;;;;;;;20662:2;20641:32;;20658:1;20641:32;;;20666:6;20641:32;;;;;;:::i;:::-;;;;;;;;20431:249:::0;;:::o;20729:343::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;13012:10:::1;;;;;;;;;;;13011:11;13003:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;20845:6:::2;20826:8;:15;20835:5:::0;::::2;;;;;;;;;;20826:15;;;;;;;;;;;;;;;;:25;;20805:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;20945:6;20929:12;;:22;;;;;;;:::i;:::-;;;;;;;;20980:6;20961:8;:15;20970:5:::0;::::2;;;;;;;;;;20961:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;21001:14;21008:6;21001:14;;;;;;:::i;:::-;;;;;;;;21054:1;21030:35;;21039:5;::::0;::::2;;;;;;;;21030:35;;;21058:6;21030:35;;;;;;:::i;:::-;;;;;;;;20729:343:::0;:::o;18415:330::-;18540:14;18570:10;;;;;;;;;;;18566:173;;;18617:15;;;;;;;;;;;18603:40;;;18644:5;18651:7;18603:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18596:63;;;;18566:173;18697:31;18713:5;18720:7;18697:15;:31::i;:::-;18690:38;;18415:330;;;;;:::o;8450:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;8997:160::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;9101:5:::1;9072:13;:26;9086:11;9072:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;9121:29;9138:11;9121:29;;;;;;:::i;:::-;;;;;;;;8997:160:::0;:::o;3844:44::-;3876:12;3844:44;:::o;750:225::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;861:1:::1;841:22;;:8;:22;;::::0;833:52:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;903:8;895:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;959:8;926:42;;947:10;926:42;;;;;;;;;;;;750:225:::0;:::o;9209:410::-;704:5;;;;;;;;;;690:19;;:10;:19;;;682:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;9298:13:::1;:30;9312:15;9298:30;;;;;;;;;;;;;;;;;;;;;;;;;9290:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9366:15;9384:26;9394:15;9384:9;:26::i;:::-;9366:44;;9448:1;9420:8;:25;9429:15;9420:25;;;;;;;;;;;;;;;:29;;;;9475:10;9459:12;;:26;;;;;;;:::i;:::-;;;;;;;;9500:48;9520:15;9537:10;9500:48;;;;;;;:::i;:::-;;;;;;;;9597:1;9563:49;;9572:15;9563:49;;;9601:10;9563:49;;;;;;:::i;:::-;;;;;;;;9280:339;9209:410:::0;:::o;4847:712::-;4948:12;5305:1;5296:5;:10;:47;;;;5342:1;5310:7;:19;5318:10;5310:19;;;;;;;;;;;;;;;:28;5330:7;5310:28;;;;;;;;;;;;;;;;:33;5296:47;5275:155;;;;;;;;;;;;:::i;:::-;;;;;;;;;5472:5;5441:7;:19;5449:10;5441:19;;;;;;;;;;;;;;;:28;5461:7;5441:28;;;;;;;;;;;;;;;:36;;;;5513:7;5492:36;;5501:10;5492:36;;;5522:5;5492:36;;;;;;:::i;:::-;;;;;;;;5548:4;5538:14;;4847:712;;;;:::o;4172:433::-;4295:12;4319:15;4337:7;:13;4345:4;4337:13;;;;;;;;;;;;;;;:25;4351:10;4337:25;;;;;;;;;;;;;;;;4319:43;;3876:12;4377:10;:21;4373:98;;;4455:5;4442:10;:18;;;;:::i;:::-;4414:7;:13;4422:4;4414:13;;;;;;;;;;;;;;;:25;4428:10;4414:25;;;;;;;;;;;;;;;:46;;;;4373:98;4498:5;4480:8;:14;4489:4;4480:14;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;4529:5;4513:8;:12;4522:2;4513:12;;;;;;;;;;;;;;;;:21;;;;;;;:::i;:::-;;;;;;;;4564:2;4549:25;;4558:4;4549:25;;;4568:5;4549:25;;;;;;:::i;:::-;;;;;;;;4594:4;4584:14;;4309:296;4172:433;;;;;:::o;3431:139::-;3517:12;3548:8;:15;3557:5;3548:15;;;;;;;;;;;;;;;;3541:22;;3431:139;;;:::o;6434:824::-;6596:6;;:13;;6582:3;;:10;;:27;6561:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;6710:18;6731:8;:20;6740:10;6731:20;;;;;;;;;;;;;;;;6710:41;;6767:6;6762:443;6783:3;;:10;;6779:1;:14;6762:443;;;6814:10;6827:3;;6831:1;6827:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6814:19;;6869:1;6855:16;;:2;:16;;;6847:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;6921:11;6935:6;;6942:1;6935:9;;;;;;;:::i;:::-;;;;;;;;6921:23;;6976:13;6966:6;:23;;6958:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;7035:10;7029:16;;:2;:16;;;7025:118;;7082:6;7065:23;;;;;:::i;:::-;;;7122:6;7106:8;:12;7115:2;7106:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;7025:118;7183:2;7162:32;;7171:10;7162:32;;;7187:6;7162:32;;;;;;:::i;:::-;;;;;;;;6800:405;;6795:3;;;;;6762:443;;;;7238:13;7215:8;:20;7224:10;7215:20;;;;;;;;;;;;;;;:36;;;;6551:707;6434:824;;;;:::o;2951:258::-;3048:12;3096:5;3072:8;:20;3081:10;3072:20;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;3127:5;3111:8;:12;3120:2;3111:12;;;;;;;;;;;;;;;;:21;;;;;;;:::i;:::-;;;;;;;;3168:2;3147:31;;3156:10;3147:31;;;3172:5;3147:31;;;;;;:::i;:::-;;;;;;;;3198:4;3188:14;;2951:258;;;;:::o;5897:174::-;6008:14;6041:7;:14;6049:5;6041:14;;;;;;;;;;;;;;;:23;6056:7;6041:23;;;;;;;;;;;;;;;;6034:30;;5897:174;;;;:::o;88:117:2:-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:248::-;1880:1;1890:113;1904:6;1901:1;1898:13;1890:113;;;1989:1;1984:3;1980:11;1974:18;1970:1;1965:3;1961:11;1954:39;1926:2;1923:1;1919:10;1914:15;;1890:113;;;2037:1;2028:6;2023:3;2019:16;2012:27;1860:186;1798:248;;;:::o;2052:102::-;2093:6;2144:2;2140:7;2135:2;2128:5;2124:14;2120:28;2110:38;;2052:102;;;:::o;2160:377::-;2248:3;2276:39;2309:5;2276:39;:::i;:::-;2331:71;2395:6;2390:3;2331:71;:::i;:::-;2324:78;;2411:65;2469:6;2464:3;2457:4;2450:5;2446:16;2411:65;:::i;:::-;2501:29;2523:6;2501:29;:::i;:::-;2496:3;2492:39;2485:46;;2252:285;2160:377;;;;:::o;2543:313::-;2656:4;2694:2;2683:9;2679:18;2671:26;;2743:9;2737:4;2733:20;2729:1;2718:9;2714:17;2707:47;2771:78;2844:4;2835:6;2771:78;:::i;:::-;2763:86;;2543:313;;;;:::o;2862:126::-;2899:7;2939:42;2932:5;2928:54;2917:65;;2862:126;;;:::o;2994:96::-;3031:7;3060:24;3078:5;3060:24;:::i;:::-;3049:35;;2994:96;;;:::o;3096:122::-;3169:24;3187:5;3169:24;:::i;:::-;3162:5;3159:35;3149:63;;3208:1;3205;3198:12;3149:63;3096:122;:::o;3224:139::-;3270:5;3308:6;3295:20;3286:29;;3324:33;3351:5;3324:33;:::i;:::-;3224:139;;;;:::o;3369:329::-;3428:6;3477:2;3465:9;3456:7;3452:23;3448:32;3445:119;;;3483:79;;:::i;:::-;3445:119;3603:1;3628:53;3673:7;3664:6;3653:9;3649:22;3628:53;:::i;:::-;3618:63;;3574:117;3369:329;;;;:::o;3704:77::-;3741:7;3770:5;3759:16;;3704:77;;;:::o;3787:122::-;3860:24;3878:5;3860:24;:::i;:::-;3853:5;3850:35;3840:63;;3899:1;3896;3889:12;3840:63;3787:122;:::o;3915:139::-;3961:5;3999:6;3986:20;3977:29;;4015:33;4042:5;4015:33;:::i;:::-;3915:139;;;;:::o;4060:474::-;4128:6;4136;4185:2;4173:9;4164:7;4160:23;4156:32;4153:119;;;4191:79;;:::i;:::-;4153:119;4311:1;4336:53;4381:7;4372:6;4361:9;4357:22;4336:53;:::i;:::-;4326:63;;4282:117;4438:2;4464:53;4509:7;4500:6;4489:9;4485:22;4464:53;:::i;:::-;4454:63;;4409:118;4060:474;;;;;:::o;4540:118::-;4627:24;4645:5;4627:24;:::i;:::-;4622:3;4615:37;4540:118;;:::o;4664:222::-;4757:4;4795:2;4784:9;4780:18;4772:26;;4808:71;4876:1;4865:9;4861:17;4852:6;4808:71;:::i;:::-;4664:222;;;;:::o;4892:619::-;4969:6;4977;4985;5034:2;5022:9;5013:7;5009:23;5005:32;5002:119;;;5040:79;;:::i;:::-;5002:119;5160:1;5185:53;5230:7;5221:6;5210:9;5206:22;5185:53;:::i;:::-;5175:63;;5131:117;5287:2;5313:53;5358:7;5349:6;5338:9;5334:22;5313:53;:::i;:::-;5303:63;;5258:118;5415:2;5441:53;5486:7;5477:6;5466:9;5462:22;5441:53;:::i;:::-;5431:63;;5386:118;4892:619;;;;;:::o;5517:118::-;5604:24;5622:5;5604:24;:::i;:::-;5599:3;5592:37;5517:118;;:::o;5641:222::-;5734:4;5772:2;5761:9;5757:18;5749:26;;5785:71;5853:1;5842:9;5838:17;5829:6;5785:71;:::i;:::-;5641:222;;;;:::o;5869:474::-;5937:6;5945;5994:2;5982:9;5973:7;5969:23;5965:32;5962:119;;;6000:79;;:::i;:::-;5962:119;6120:1;6145:53;6190:7;6181:6;6170:9;6166:22;6145:53;:::i;:::-;6135:63;;6091:117;6247:2;6273:53;6318:7;6309:6;6298:9;6294:22;6273:53;:::i;:::-;6263:63;;6218:118;5869:474;;;;;:::o;6349:117::-;6458:1;6455;6448:12;6472:117;6581:1;6578;6571:12;6595:117;6704:1;6701;6694:12;6735:568;6808:8;6818:6;6868:3;6861:4;6853:6;6849:17;6845:27;6835:122;;6876:79;;:::i;:::-;6835:122;6989:6;6976:20;6966:30;;7019:18;7011:6;7008:30;7005:117;;;7041:79;;:::i;:::-;7005:117;7155:4;7147:6;7143:17;7131:29;;7209:3;7201:4;7193:6;7189:17;7179:8;7175:32;7172:41;7169:128;;;7216:79;;:::i;:::-;7169:128;6735:568;;;;;:::o;7326:::-;7399:8;7409:6;7459:3;7452:4;7444:6;7440:17;7436:27;7426:122;;7467:79;;:::i;:::-;7426:122;7580:6;7567:20;7557:30;;7610:18;7602:6;7599:30;7596:117;;;7632:79;;:::i;:::-;7596:117;7746:4;7738:6;7734:17;7722:29;;7800:3;7792:4;7784:6;7780:17;7770:8;7766:32;7763:41;7760:128;;;7807:79;;:::i;:::-;7760:128;7326:568;;;;;:::o;7900:934::-;8022:6;8030;8038;8046;8095:2;8083:9;8074:7;8070:23;8066:32;8063:119;;;8101:79;;:::i;:::-;8063:119;8249:1;8238:9;8234:17;8221:31;8279:18;8271:6;8268:30;8265:117;;;8301:79;;:::i;:::-;8265:117;8414:80;8486:7;8477:6;8466:9;8462:22;8414:80;:::i;:::-;8396:98;;;;8192:312;8571:2;8560:9;8556:18;8543:32;8602:18;8594:6;8591:30;8588:117;;;8624:79;;:::i;:::-;8588:117;8737:80;8809:7;8800:6;8789:9;8785:22;8737:80;:::i;:::-;8719:98;;;;8514:313;7900:934;;;;;;;:::o;8840:474::-;8908:6;8916;8965:2;8953:9;8944:7;8940:23;8936:32;8933:119;;;8971:79;;:::i;:::-;8933:119;9091:1;9116:53;9161:7;9152:6;9141:9;9137:22;9116:53;:::i;:::-;9106:63;;9062:117;9218:2;9244:53;9289:7;9280:6;9269:9;9265:22;9244:53;:::i;:::-;9234:63;;9189:118;8840:474;;;;;:::o;9320:329::-;9379:6;9428:2;9416:9;9407:7;9403:23;9399:32;9396:119;;;9434:79;;:::i;:::-;9396:119;9554:1;9579:53;9624:7;9615:6;9604:9;9600:22;9579:53;:::i;:::-;9569:63;;9525:117;9320:329;;;;:::o;9655:180::-;9703:77;9700:1;9693:88;9800:4;9797:1;9790:15;9824:4;9821:1;9814:15;9841:320;9885:6;9922:1;9916:4;9912:12;9902:22;;9969:1;9963:4;9959:12;9990:18;9980:81;;10046:4;10038:6;10034:17;10024:27;;9980:81;10108:2;10100:6;10097:14;10077:18;10074:38;10071:84;;10127:18;;:::i;:::-;10071:84;9892:269;9841:320;;;:::o;10167:162::-;10307:14;10303:1;10295:6;10291:14;10284:38;10167:162;:::o;10335:366::-;10477:3;10498:67;10562:2;10557:3;10498:67;:::i;:::-;10491:74;;10574:93;10663:3;10574:93;:::i;:::-;10692:2;10687:3;10683:12;10676:19;;10335:366;;;:::o;10707:419::-;10873:4;10911:2;10900:9;10896:18;10888:26;;10960:9;10954:4;10950:20;10946:1;10935:9;10931:17;10924:47;10988:131;11114:4;10988:131;:::i;:::-;10980:139;;10707:419;;;:::o;11132:182::-;11272:34;11268:1;11260:6;11256:14;11249:58;11132:182;:::o;11320:366::-;11462:3;11483:67;11547:2;11542:3;11483:67;:::i;:::-;11476:74;;11559:93;11648:3;11559:93;:::i;:::-;11677:2;11672:3;11668:12;11661:19;;11320:366;;;:::o;11692:419::-;11858:4;11896:2;11885:9;11881:18;11873:26;;11945:9;11939:4;11935:20;11931:1;11920:9;11916:17;11909:47;11973:131;12099:4;11973:131;:::i;:::-;11965:139;;11692:419;;;:::o;12117:442::-;12266:4;12304:2;12293:9;12289:18;12281:26;;12317:71;12385:1;12374:9;12370:17;12361:6;12317:71;:::i;:::-;12398:72;12466:2;12455:9;12451:18;12442:6;12398:72;:::i;:::-;12480;12548:2;12537:9;12533:18;12524:6;12480:72;:::i;:::-;12117:442;;;;;;:::o;12565:116::-;12635:21;12650:5;12635:21;:::i;:::-;12628:5;12625:32;12615:60;;12671:1;12668;12661:12;12615:60;12565:116;:::o;12687:137::-;12741:5;12772:6;12766:13;12757:22;;12788:30;12812:5;12788:30;:::i;:::-;12687:137;;;;:::o;12830:345::-;12897:6;12946:2;12934:9;12925:7;12921:23;12917:32;12914:119;;;12952:79;;:::i;:::-;12914:119;13072:1;13097:61;13150:7;13141:6;13130:9;13126:22;13097:61;:::i;:::-;13087:71;;13043:125;12830:345;;;;:::o;13181:143::-;13238:5;13269:6;13263:13;13254:22;;13285:33;13312:5;13285:33;:::i;:::-;13181:143;;;;:::o;13330:351::-;13400:6;13449:2;13437:9;13428:7;13424:23;13420:32;13417:119;;;13455:79;;:::i;:::-;13417:119;13575:1;13600:64;13656:7;13647:6;13636:9;13632:22;13600:64;:::i;:::-;13590:74;;13546:128;13330:351;;;;:::o;13687:165::-;13827:17;13823:1;13815:6;13811:14;13804:41;13687:165;:::o;13858:366::-;14000:3;14021:67;14085:2;14080:3;14021:67;:::i;:::-;14014:74;;14097:93;14186:3;14097:93;:::i;:::-;14215:2;14210:3;14206:12;14199:19;;13858:366;;;:::o;14230:419::-;14396:4;14434:2;14423:9;14419:18;14411:26;;14483:9;14477:4;14473:20;14469:1;14458:9;14454:17;14447:47;14511:131;14637:4;14511:131;:::i;:::-;14503:139;;14230:419;;;:::o;14655:169::-;14795:21;14791:1;14783:6;14779:14;14772:45;14655:169;:::o;14830:366::-;14972:3;14993:67;15057:2;15052:3;14993:67;:::i;:::-;14986:74;;15069:93;15158:3;15069:93;:::i;:::-;15187:2;15182:3;15178:12;15171:19;;14830:366;;;:::o;15202:419::-;15368:4;15406:2;15395:9;15391:18;15383:26;;15455:9;15449:4;15445:20;15441:1;15430:9;15426:17;15419:47;15483:131;15609:4;15483:131;:::i;:::-;15475:139;;15202:419;;;:::o;15627:553::-;15804:4;15842:3;15831:9;15827:19;15819:27;;15856:71;15924:1;15913:9;15909:17;15900:6;15856:71;:::i;:::-;15937:72;16005:2;15994:9;15990:18;15981:6;15937:72;:::i;:::-;16019;16087:2;16076:9;16072:18;16063:6;16019:72;:::i;:::-;16101;16169:2;16158:9;16154:18;16145:6;16101:72;:::i;:::-;15627:553;;;;;;;:::o;16186:173::-;16326:25;16322:1;16314:6;16310:14;16303:49;16186:173;:::o;16365:366::-;16507:3;16528:67;16592:2;16587:3;16528:67;:::i;:::-;16521:74;;16604:93;16693:3;16604:93;:::i;:::-;16722:2;16717:3;16713:12;16706:19;;16365:366;;;:::o;16737:419::-;16903:4;16941:2;16930:9;16926:18;16918:26;;16990:9;16984:4;16980:20;16976:1;16965:9;16961:17;16954:47;17018:131;17144:4;17018:131;:::i;:::-;17010:139;;16737:419;;;:::o;17162:228::-;17302:34;17298:1;17290:6;17286:14;17279:58;17371:11;17366:2;17358:6;17354:15;17347:36;17162:228;:::o;17396:366::-;17538:3;17559:67;17623:2;17618:3;17559:67;:::i;:::-;17552:74;;17635:93;17724:3;17635:93;:::i;:::-;17753:2;17748:3;17744:12;17737:19;;17396:366;;;:::o;17768:419::-;17934:4;17972:2;17961:9;17957:18;17949:26;;18021:9;18015:4;18011:20;18007:1;17996:9;17992:17;17985:47;18049:131;18175:4;18049:131;:::i;:::-;18041:139;;17768:419;;;:::o;18193:169::-;18333:21;18329:1;18321:6;18317:14;18310:45;18193:169;:::o;18368:366::-;18510:3;18531:67;18595:2;18590:3;18531:67;:::i;:::-;18524:74;;18607:93;18696:3;18607:93;:::i;:::-;18725:2;18720:3;18716:12;18709:19;;18368:366;;;:::o;18740:419::-;18906:4;18944:2;18933:9;18929:18;18921:26;;18993:9;18987:4;18983:20;18979:1;18968:9;18964:17;18957:47;19021:131;19147:4;19021:131;:::i;:::-;19013:139;;18740:419;;;:::o;19165:184::-;19264:11;19298:6;19293:3;19286:19;19338:4;19333:3;19329:14;19314:29;;19165:184;;;;:::o;19355:102::-;19424:4;19447:3;19439:11;;19355:102;;;:::o;19463:108::-;19540:24;19558:5;19540:24;:::i;:::-;19535:3;19528:37;19463:108;;:::o;19577:179::-;19646:10;19667:46;19709:3;19701:6;19667:46;:::i;:::-;19745:4;19740:3;19736:14;19722:28;;19577:179;;;;:::o;19762:122::-;19814:5;19839:39;19874:2;19869:3;19865:12;19860:3;19839:39;:::i;:::-;19830:48;;19762:122;;;;:::o;19890:115::-;19962:4;19994;19989:3;19985:14;19977:22;;19890:115;;;:::o;20041:699::-;20170:3;20193:86;20272:6;20267:3;20193:86;:::i;:::-;20186:93;;20303:58;20355:5;20303:58;:::i;:::-;20384:7;20415:1;20400:315;20425:6;20422:1;20419:13;20400:315;;;20495:42;20530:6;20521:7;20495:42;:::i;:::-;20557:63;20616:3;20601:13;20557:63;:::i;:::-;20550:70;;20643:62;20698:6;20643:62;:::i;:::-;20633:72;;20460:255;20447:1;20444;20440:9;20435:14;;20400:315;;;20404:14;20731:3;20724:10;;20175:565;;20041:699;;;;;:::o;20746:184::-;20845:11;20879:6;20874:3;20867:19;20919:4;20914:3;20910:14;20895:29;;20746:184;;;;:::o;20936:117::-;21045:1;21042;21035:12;21059:99;21144:6;21139:3;21134;21121:30;21059:99;;;:::o;21194:537::-;21322:3;21343:86;21422:6;21417:3;21343:86;:::i;:::-;21336:93;;21453:66;21445:6;21442:78;21439:165;;;21523:79;;:::i;:::-;21439:165;21635:4;21627:6;21623:17;21613:27;;21650:43;21686:6;21681:3;21674:5;21650:43;:::i;:::-;21718:6;21713:3;21709:16;21702:23;;21194:537;;;;;:::o;21737:784::-;22006:4;22044:2;22033:9;22029:18;22021:26;;22057:71;22125:1;22114:9;22110:17;22101:6;22057:71;:::i;:::-;22175:9;22169:4;22165:20;22160:2;22149:9;22145:18;22138:48;22203:118;22316:4;22307:6;22299;22203:118;:::i;:::-;22195:126;;22368:9;22362:4;22358:20;22353:2;22342:9;22338:18;22331:48;22396:118;22509:4;22500:6;22492;22396:118;:::i;:::-;22388:126;;21737:784;;;;;;;;:::o;22527:172::-;22667:24;22663:1;22655:6;22651:14;22644:48;22527:172;:::o;22705:366::-;22847:3;22868:67;22932:2;22927:3;22868:67;:::i;:::-;22861:74;;22944:93;23033:3;22944:93;:::i;:::-;23062:2;23057:3;23053:12;23046:19;;22705:366;;;:::o;23077:419::-;23243:4;23281:2;23270:9;23266:18;23258:26;;23330:9;23324:4;23320:20;23316:1;23305:9;23301:17;23294:47;23358:131;23484:4;23358:131;:::i;:::-;23350:139;;23077:419;;;:::o;23502:180::-;23550:77;23547:1;23540:88;23647:4;23644:1;23637:15;23671:4;23668:1;23661:15;23688:191;23728:3;23747:20;23765:1;23747:20;:::i;:::-;23742:25;;23781:20;23799:1;23781:20;:::i;:::-;23776:25;;23824:1;23821;23817:9;23810:16;;23845:3;23842:1;23839:10;23836:36;;;23852:18;;:::i;:::-;23836:36;23688:191;;;;:::o;23885:332::-;24006:4;24044:2;24033:9;24029:18;24021:26;;24057:71;24125:1;24114:9;24110:17;24101:6;24057:71;:::i;:::-;24138:72;24206:2;24195:9;24191:18;24182:6;24138:72;:::i;:::-;23885:332;;;;;:::o;24223:228::-;24363:34;24359:1;24351:6;24347:14;24340:58;24432:11;24427:2;24419:6;24415:15;24408:36;24223:228;:::o;24457:366::-;24599:3;24620:67;24684:2;24679:3;24620:67;:::i;:::-;24613:74;;24696:93;24785:3;24696:93;:::i;:::-;24814:2;24809:3;24805:12;24798:19;;24457:366;;;:::o;24829:419::-;24995:4;25033:2;25022:9;25018:18;25010:26;;25082:9;25076:4;25072:20;25068:1;25057:9;25053:17;25046:47;25110:131;25236:4;25110:131;:::i;:::-;25102:139;;24829:419;;;:::o;25254:194::-;25294:4;25314:20;25332:1;25314:20;:::i;:::-;25309:25;;25348:20;25366:1;25348:20;:::i;:::-;25343:25;;25392:1;25389;25385:9;25377:17;;25416:1;25410:4;25407:11;25404:37;;;25421:18;;:::i;:::-;25404:37;25254:194;;;;:::o;25454:332::-;25575:4;25613:2;25602:9;25598:18;25590:26;;25626:71;25694:1;25683:9;25679:17;25670:6;25626:71;:::i;:::-;25707:72;25775:2;25764:9;25760:18;25751:6;25707:72;:::i;:::-;25454:332;;;;;:::o;25792:167::-;25932:19;25928:1;25920:6;25916:14;25909:43;25792:167;:::o;25965:366::-;26107:3;26128:67;26192:2;26187:3;26128:67;:::i;:::-;26121:74;;26204:93;26293:3;26204:93;:::i;:::-;26322:2;26317:3;26313:12;26306:19;;25965:366;;;:::o;26337:419::-;26503:4;26541:2;26530:9;26526:18;26518:26;;26590:9;26584:4;26580:20;26576:1;26565:9;26561:17;26554:47;26618:131;26744:4;26618:131;:::i;:::-;26610:139;;26337:419;;;:::o;26762:173::-;26902:25;26898:1;26890:6;26886:14;26879:49;26762:173;:::o;26941:366::-;27083:3;27104:67;27168:2;27163:3;27104:67;:::i;:::-;27097:74;;27180:93;27269:3;27180:93;:::i;:::-;27298:2;27293:3;27289:12;27282:19;;26941:366;;;:::o;27313:419::-;27479:4;27517:2;27506:9;27502:18;27494:26;;27566:9;27560:4;27556:20;27552:1;27541:9;27537:17;27530:47;27594:131;27720:4;27594:131;:::i;:::-;27586:139;;27313:419;;;:::o;27738:332::-;27859:4;27897:2;27886:9;27882:18;27874:26;;27910:71;27978:1;27967:9;27963:17;27954:6;27910:71;:::i;:::-;27991:72;28059:2;28048:9;28044:18;28035:6;27991:72;:::i;:::-;27738:332;;;;;:::o;28076:248::-;28216:34;28212:1;28204:6;28200:14;28193:58;28285:31;28280:2;28272:6;28268:15;28261:56;28076:248;:::o;28330:366::-;28472:3;28493:67;28557:2;28552:3;28493:67;:::i;:::-;28486:74;;28569:93;28658:3;28569:93;:::i;:::-;28687:2;28682:3;28678:12;28671:19;;28330:366;;;:::o;28702:419::-;28868:4;28906:2;28895:9;28891:18;28883:26;;28955:9;28949:4;28945:20;28941:1;28930:9;28926:17;28919:47;28983:131;29109:4;28983:131;:::i;:::-;28975:139;;28702:419;;;:::o;29127:289::-;29267:34;29263:1;29255:6;29251:14;29244:58;29336:34;29331:2;29323:6;29319:15;29312:59;29405:3;29400:2;29392:6;29388:15;29381:28;29127:289;:::o;29422:366::-;29564:3;29585:67;29649:2;29644:3;29585:67;:::i;:::-;29578:74;;29661:93;29750:3;29661:93;:::i;:::-;29779:2;29774:3;29770:12;29763:19;;29422:366;;;:::o;29794:419::-;29960:4;29998:2;29987:9;29983:18;29975:26;;30047:9;30041:4;30037:20;30033:1;30022:9;30018:17;30011:47;30075:131;30201:4;30075:131;:::i;:::-;30067:139;;29794:419;;;:::o;30219:180::-;30267:77;30264:1;30257:88;30364:4;30361:1;30354:15;30388:4;30385:1;30378:15;30405:181;30545:33;30541:1;30533:6;30529:14;30522:57;30405:181;:::o;30592:366::-;30734:3;30755:67;30819:2;30814:3;30755:67;:::i;:::-;30748:74;;30831:93;30920:3;30831:93;:::i;:::-;30949:2;30944:3;30940:12;30933:19;;30592:366;;;:::o;30964:419::-;31130:4;31168:2;31157:9;31153:18;31145:26;;31217:9;31211:4;31207:20;31203:1;31192:9;31188:17;31181:47;31245:131;31371:4;31245:131;:::i;:::-;31237:139;;30964:419;;;:::o;31389:166::-;31529:18;31525:1;31517:6;31513:14;31506:42;31389:166;:::o;31561:366::-;31703:3;31724:67;31788:2;31783:3;31724:67;:::i;:::-;31717:74;;31800:93;31889:3;31800:93;:::i;:::-;31918:2;31913:3;31909:12;31902:19;;31561:366;;;:::o;31933:419::-;32099:4;32137:2;32126:9;32122:18;32114:26;;32186:9;32180:4;32176:20;32172:1;32161:9;32157:17;32150:47;32214:131;32340:4;32214:131;:::i;:::-;32206:139;;31933:419;;;:::o
Swarm Source
ipfs://31eb55880420777ba0d4ec5a74ed9b287c5ebb7b45e2b1dcb9f184dde24b992f
[ 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.