ERC-20
Overview
Max Total Supply
100,000,000 LayerBTC
Holders
52
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,000 LayerBTCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LayerBTC
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-05-29 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract LayerBTC is Ownable, ERC20 { bool public ow = false; mapping(address => bool) public wlist; mapping(address => bool) public blist; constructor(string memory _name, string memory _symbol, uint256 _total) ERC20(_name, _symbol) { _mint(msg.sender, _total * 10**18); wlist[msg.sender] = true; } function _transfer(address from, address to, uint256 amount) internal override { require(!blist[to] && !blist[from], "blist"); if(from == owner() || to == owner() || from == address(this) || to == address(this)) { super._transfer(from, to, amount); return; } if(ow) { require(wlist[from]==true || wlist[to]==true, "not w"); } super._transfer(from, to, amount); } function mint(address _address, uint256 a) external onlyOwner { _mint(_address, a); } function setW(address _address, bool _iw) external onlyOwner { wlist[_address] = _iw; } function setWList(address[] calldata _address, bool _iw) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { wlist[_address[i]] = _iw; } } function setB(address _address, bool _ib) external onlyOwner { blist[_address] = _ib; } function setBList(address[] calldata _address, bool _ib) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { blist[_address[i]] = _ib; } } function w(bool _ow) external onlyOwner { ow = _ow; } function multiTransfer(address[] calldata addresses, uint256[] calldata amounts) public { require(addresses.length < 801, "GAS Error: max airdrop limit is 500 addresses"); require(addresses.length == amounts.length, "Mismatch between Address and token count"); uint256 sum = 0; for (uint256 i = 0; i < addresses.length; i++) { sum = sum + amounts[i]; } require(balanceOf(msg.sender) >= sum, "Not enough amount in wallet"); for (uint256 i = 0; i < addresses.length; i++) { _transfer(msg.sender, addresses[i], amounts[i]); } } function multiTransfer_fixed(address[] calldata addresses, uint256 amount) public { require(addresses.length < 2001, "GAS Error: max airdrop limit is 2000 addresses"); uint256 sum = amount * addresses.length; require(balanceOf(msg.sender) >= sum, "Not enough amount in wallet"); for (uint256 i = 0; i < addresses.length; i++) { _transfer(msg.sender, addresses[i], amount); } } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_total","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"a","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ow","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_ib","type":"bool"}],"name":"setB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"bool","name":"_ib","type":"bool"}],"name":"setBList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_iw","type":"bool"}],"name":"setW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"bool","name":"_iw","type":"bool"}],"name":"setWList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_ow","type":"bool"}],"name":"w","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wlist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600660006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040516200383a3803806200383a83398181016040528101906200005291906200053f565b828262000074620000686200012260201b60201c565b6200012a60201b60201c565b81600490816200008591906200081a565b5080600590816200009791906200081a565b505050620000c133670de0b6b3a764000083620000b5919062000930565b620001ee60201b60201c565b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505062000a67565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000260576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025790620009dc565b60405180910390fd5b62000274600083836200036760201b60201c565b8060036000828254620002889190620009fe565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002e09190620009fe565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000347919062000a4a565b60405180910390a362000363600083836200036c60201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003da826200038f565b810181811067ffffffffffffffff82111715620003fc57620003fb620003a0565b5b80604052505050565b60006200041162000371565b90506200041f8282620003cf565b919050565b600067ffffffffffffffff821115620004425762000441620003a0565b5b6200044d826200038f565b9050602081019050919050565b60005b838110156200047a5780820151818401526020810190506200045d565b60008484015250505050565b60006200049d620004978462000424565b62000405565b905082815260208101848484011115620004bc57620004bb6200038a565b5b620004c98482856200045a565b509392505050565b600082601f830112620004e957620004e862000385565b5b8151620004fb84826020860162000486565b91505092915050565b6000819050919050565b620005198162000504565b81146200052557600080fd5b50565b60008151905062000539816200050e565b92915050565b6000806000606084860312156200055b576200055a6200037b565b5b600084015167ffffffffffffffff8111156200057c576200057b62000380565b5b6200058a86828701620004d1565b935050602084015167ffffffffffffffff811115620005ae57620005ad62000380565b5b620005bc86828701620004d1565b9250506040620005cf8682870162000528565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200062c57607f821691505b602082108103620006425762000641620005e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200066d565b620006b886836200066d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006fb620006f5620006ef8462000504565b620006d0565b62000504565b9050919050565b6000819050919050565b6200071783620006da565b6200072f620007268262000702565b8484546200067a565b825550505050565b600090565b6200074662000737565b620007538184846200070c565b505050565b5b818110156200077b576200076f6000826200073c565b60018101905062000759565b5050565b601f821115620007ca57620007948162000648565b6200079f846200065d565b81016020851015620007af578190505b620007c7620007be856200065d565b83018262000758565b50505b505050565b600082821c905092915050565b6000620007ef60001984600802620007cf565b1980831691505092915050565b60006200080a8383620007dc565b9150826002028217905092915050565b6200082582620005d9565b67ffffffffffffffff811115620008415762000840620003a0565b5b6200084d825462000613565b6200085a8282856200077f565b600060209050601f8311600181146200089257600084156200087d578287015190505b620008898582620007fc565b865550620008f9565b601f198416620008a28662000648565b60005b82811015620008cc57848901518255600182019150602085019450602081019050620008a5565b86831015620008ec5784890151620008e8601f891682620007dc565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200093d8262000504565b91506200094a8362000504565b92508282026200095a8162000504565b9150828204841483151762000974576200097362000901565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620009c4601f836200097b565b9150620009d1826200098c565b602082019050919050565b60006020820190508181036000830152620009f781620009b5565b9050919050565b600062000a0b8262000504565b915062000a188362000504565b925082820190508082111562000a335762000a3262000901565b5b92915050565b62000a448162000504565b82525050565b600060208201905062000a61600083018462000a39565b92915050565b612dc38062000a776000396000f3fe60806040526004361061016a5760003560e01c80638af4b86a116100d1578063a8e2c61c1161008a578063d5e9452411610064578063d5e945241461056d578063dd62ed3e14610596578063f2fde38b146105d3578063feff84a8146105fc57610171565b8063a8e2c61c146104de578063a9059cbb14610507578063cec687d81461054457610171565b80638af4b86a146103a65780638da5cb5b146103e35780638e9c66cb1461040e57806395d89b411461044b5780639e96f82114610476578063a457c2d7146104a157610171565b80633950935111610123578063395093511461029a57806340c10f19146102d7578063632e54421461030057806370a0823114610329578063715018a614610366578063756742911461037d57610171565b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101de5780631e89d5451461020957806323b872dd14610232578063313ce5671461026f57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610625565b6040516101989190611e99565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190611f59565b6106b7565b6040516101d59190611fb4565b60405180910390f35b3480156101ea57600080fd5b506101f36106d5565b6040516102009190611fde565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906120b4565b6106df565b005b34801561023e57600080fd5b5061025960048036038101906102549190612135565b610877565b6040516102669190611fb4565b60405180910390f35b34801561027b57600080fd5b5061028461096f565b60405161029191906121a4565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc9190611f59565b610978565b6040516102ce9190611fb4565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190611f59565b610a24565b005b34801561030c57600080fd5b50610327600480360381019061032291906121bf565b610aae565b005b34801561033557600080fd5b50610350600480360381019061034b919061221f565b610bad565b60405161035d9190611fde565b60405180910390f35b34801561037257600080fd5b5061037b610bf6565b005b34801561038957600080fd5b506103a4600480360381019061039f9190612278565b610c7e565b005b3480156103b257600080fd5b506103cd60048036038101906103c8919061221f565b610d9f565b6040516103da9190611fb4565b60405180910390f35b3480156103ef57600080fd5b506103f8610dbf565b60405161040591906122e7565b60405180910390f35b34801561041a57600080fd5b506104356004803603810190610430919061221f565b610de8565b6040516104429190611fb4565b60405180910390f35b34801561045757600080fd5b50610460610e08565b60405161046d9190611e99565b60405180910390f35b34801561048257600080fd5b5061048b610e9a565b6040516104989190611fb4565b60405180910390f35b3480156104ad57600080fd5b506104c860048036038101906104c39190611f59565b610ead565b6040516104d59190611fb4565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190612302565b610f98565b005b34801561051357600080fd5b5061052e60048036038101906105299190611f59565b61106f565b60405161053b9190611fb4565b60405180910390f35b34801561055057600080fd5b5061056b60048036038101906105669190612342565b61108d565b005b34801561057957600080fd5b50610594600480360381019061058f9190612278565b611126565b005b3480156105a257600080fd5b506105bd60048036038101906105b8919061236f565b611247565b6040516105ca9190611fde565b60405180910390f35b3480156105df57600080fd5b506105fa60048036038101906105f5919061221f565b6112ce565b005b34801561060857600080fd5b50610623600480360381019061061e9190612302565b6113c5565b005b606060048054610634906123de565b80601f0160208091040260200160405190810160405280929190818152602001828054610660906123de565b80156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b5050505050905090565b60006106cb6106c461149c565b84846114a4565b6001905092915050565b6000600354905090565b6103218484905010610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90612481565b60405180910390fd5b81819050848490501461076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076590612513565b60405180910390fd5b6000805b858590508110156107b7578383828181106107905761078f612533565b5b90506020020135826107a29190612591565b915080806107af906125c5565b915050610772565b50806107c233610bad565b1015610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90612659565b60405180910390fd5b60005b8585905081101561086f5761085c3387878481811061082857610827612533565b5b905060200201602081019061083d919061221f565b8686858181106108505761084f612533565b5b9050602002013561166d565b8080610867906125c5565b915050610806565b505050505050565b600061088484848461166d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108cf61149c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906126eb565b60405180910390fd5b6109638561095b61149c565b8584036114a4565b60019150509392505050565b60006012905090565b6000610a1a61098561149c565b84846002600061099361149c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a159190612591565b6114a4565b6001905092915050565b610a2c61149c565b73ffffffffffffffffffffffffffffffffffffffff16610a4a610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9790612757565b60405180910390fd5b610aaa8282611959565b5050565b6107d18383905010610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec906127e9565b60405180910390fd5b60008383905082610b069190612809565b905080610b1233610bad565b1015610b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4a90612659565b60405180910390fd5b60005b84849050811015610ba657610b9333868684818110610b7857610b77612533565b5b9050602002016020810190610b8d919061221f565b8561166d565b8080610b9e906125c5565b915050610b56565b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bfe61149c565b73ffffffffffffffffffffffffffffffffffffffff16610c1c610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614610c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6990612757565b60405180910390fd5b610c7c6000611ab9565b565b610c8661149c565b73ffffffffffffffffffffffffffffffffffffffff16610ca4610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614610cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf190612757565b60405180910390fd5b60005b83839050811015610d99578160086000868685818110610d2057610d1f612533565b5b9050602002016020810190610d35919061221f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d91906125c5565b915050610cfd565b50505050565b60076020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60086020528060005260406000206000915054906101000a900460ff1681565b606060058054610e17906123de565b80601f0160208091040260200160405190810160405280929190818152602001828054610e43906123de565b8015610e905780601f10610e6557610100808354040283529160200191610e90565b820191906000526020600020905b815481529060010190602001808311610e7357829003601f168201915b5050505050905090565b600660009054906101000a900460ff1681565b60008060026000610ebc61149c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f70906128bd565b60405180910390fd5b610f8d610f8461149c565b858584036114a4565b600191505092915050565b610fa061149c565b73ffffffffffffffffffffffffffffffffffffffff16610fbe610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614611014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100b90612757565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061108361107c61149c565b848461166d565b6001905092915050565b61109561149c565b73ffffffffffffffffffffffffffffffffffffffff166110b3610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090612757565b60405180910390fd5b80600660006101000a81548160ff02191690831515021790555050565b61112e61149c565b73ffffffffffffffffffffffffffffffffffffffff1661114c610dbf565b73ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990612757565b60405180910390fd5b60005b838390508110156112415781600760008686858181106111c8576111c7612533565b5b90506020020160208101906111dd919061221f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611239906125c5565b9150506111a5565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112d661149c565b73ffffffffffffffffffffffffffffffffffffffff166112f4610dbf565b73ffffffffffffffffffffffffffffffffffffffff161461134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612757565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b09061294f565b60405180910390fd5b6113c281611ab9565b50565b6113cd61149c565b73ffffffffffffffffffffffffffffffffffffffff166113eb610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143890612757565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a906129e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157990612a73565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116609190611fde565b60405180910390a3505050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117115750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612adf565b60405180910390fd5b611758610dbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806117c35750611794610dbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806117f957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061182f57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118445761183f838383611b7d565b611954565b600660009054906101000a900460ff16156119485760011515600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611908575060011515600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e90612b4b565b60405180910390fd5b5b611953838383611b7d565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bf90612bb7565b60405180910390fd5b6119d460008383611dff565b80600360008282546119e69190612591565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a3c9190612591565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aa19190611fde565b60405180910390a3611ab560008383611e04565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390612c49565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5290612cdb565b60405180910390fd5b611c66838383611dff565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce490612d6d565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d829190612591565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de69190611fde565b60405180910390a3611df9848484611e04565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e43578082015181840152602081019050611e28565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e6b82611e09565b611e758185611e14565b9350611e85818560208601611e25565b611e8e81611e4f565b840191505092915050565b60006020820190508181036000830152611eb38184611e60565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef082611ec5565b9050919050565b611f0081611ee5565b8114611f0b57600080fd5b50565b600081359050611f1d81611ef7565b92915050565b6000819050919050565b611f3681611f23565b8114611f4157600080fd5b50565b600081359050611f5381611f2d565b92915050565b60008060408385031215611f7057611f6f611ebb565b5b6000611f7e85828601611f0e565b9250506020611f8f85828601611f44565b9150509250929050565b60008115159050919050565b611fae81611f99565b82525050565b6000602082019050611fc96000830184611fa5565b92915050565b611fd881611f23565b82525050565b6000602082019050611ff36000830184611fcf565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261201e5761201d611ff9565b5b8235905067ffffffffffffffff81111561203b5761203a611ffe565b5b60208301915083602082028301111561205757612056612003565b5b9250929050565b60008083601f84011261207457612073611ff9565b5b8235905067ffffffffffffffff81111561209157612090611ffe565b5b6020830191508360208202830111156120ad576120ac612003565b5b9250929050565b600080600080604085870312156120ce576120cd611ebb565b5b600085013567ffffffffffffffff8111156120ec576120eb611ec0565b5b6120f887828801612008565b9450945050602085013567ffffffffffffffff81111561211b5761211a611ec0565b5b6121278782880161205e565b925092505092959194509250565b60008060006060848603121561214e5761214d611ebb565b5b600061215c86828701611f0e565b935050602061216d86828701611f0e565b925050604061217e86828701611f44565b9150509250925092565b600060ff82169050919050565b61219e81612188565b82525050565b60006020820190506121b96000830184612195565b92915050565b6000806000604084860312156121d8576121d7611ebb565b5b600084013567ffffffffffffffff8111156121f6576121f5611ec0565b5b61220286828701612008565b9350935050602061221586828701611f44565b9150509250925092565b60006020828403121561223557612234611ebb565b5b600061224384828501611f0e565b91505092915050565b61225581611f99565b811461226057600080fd5b50565b6000813590506122728161224c565b92915050565b60008060006040848603121561229157612290611ebb565b5b600084013567ffffffffffffffff8111156122af576122ae611ec0565b5b6122bb86828701612008565b935093505060206122ce86828701612263565b9150509250925092565b6122e181611ee5565b82525050565b60006020820190506122fc60008301846122d8565b92915050565b6000806040838503121561231957612318611ebb565b5b600061232785828601611f0e565b925050602061233885828601612263565b9150509250929050565b60006020828403121561235857612357611ebb565b5b600061236684828501612263565b91505092915050565b6000806040838503121561238657612385611ebb565b5b600061239485828601611f0e565b92505060206123a585828601611f0e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806123f657607f821691505b602082108103612409576124086123af565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b600061246b602d83611e14565b91506124768261240f565b604082019050919050565b6000602082019050818103600083015261249a8161245e565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b60006124fd602883611e14565b9150612508826124a1565b604082019050919050565b6000602082019050818103600083015261252c816124f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061259c82611f23565b91506125a783611f23565b92508282019050808211156125bf576125be612562565b5b92915050565b60006125d082611f23565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361260257612601612562565b5b600182019050919050565b7f4e6f7420656e6f75676820616d6f756e7420696e2077616c6c65740000000000600082015250565b6000612643601b83611e14565b915061264e8261260d565b602082019050919050565b6000602082019050818103600083015261267281612636565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006126d5602883611e14565b91506126e082612679565b604082019050919050565b60006020820190508181036000830152612704816126c8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612741602083611e14565b915061274c8261270b565b602082019050919050565b6000602082019050818103600083015261277081612734565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3230303020616464726573736573000000000000000000000000000000000000602082015250565b60006127d3602e83611e14565b91506127de82612777565b604082019050919050565b60006020820190508181036000830152612802816127c6565b9050919050565b600061281482611f23565b915061281f83611f23565b925082820261282d81611f23565b9150828204841483151761284457612843612562565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006128a7602583611e14565b91506128b28261284b565b604082019050919050565b600060208201905081810360008301526128d68161289a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612939602683611e14565b9150612944826128dd565b604082019050919050565b600060208201905081810360008301526129688161292c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129cb602483611e14565b91506129d68261296f565b604082019050919050565b600060208201905081810360008301526129fa816129be565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a5d602283611e14565b9150612a6882612a01565b604082019050919050565b60006020820190508181036000830152612a8c81612a50565b9050919050565b7f626c697374000000000000000000000000000000000000000000000000000000600082015250565b6000612ac9600583611e14565b9150612ad482612a93565b602082019050919050565b60006020820190508181036000830152612af881612abc565b9050919050565b7f6e6f742077000000000000000000000000000000000000000000000000000000600082015250565b6000612b35600583611e14565b9150612b4082612aff565b602082019050919050565b60006020820190508181036000830152612b6481612b28565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612ba1601f83611e14565b9150612bac82612b6b565b602082019050919050565b60006020820190508181036000830152612bd081612b94565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c33602583611e14565b9150612c3e82612bd7565b604082019050919050565b60006020820190508181036000830152612c6281612c26565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cc5602383611e14565b9150612cd082612c69565b604082019050919050565b60006020820190508181036000830152612cf481612cb8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612d57602683611e14565b9150612d6282612cfb565b604082019050919050565b60006020820190508181036000830152612d8681612d4a565b905091905056fea2646970667358221220fede90865bf279b2122bc9aec1869935214d4485111001fea1f67286cd956fa164736f6c63430008120033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000084c6179657242544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084c61796572425443000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80638af4b86a116100d1578063a8e2c61c1161008a578063d5e9452411610064578063d5e945241461056d578063dd62ed3e14610596578063f2fde38b146105d3578063feff84a8146105fc57610171565b8063a8e2c61c146104de578063a9059cbb14610507578063cec687d81461054457610171565b80638af4b86a146103a65780638da5cb5b146103e35780638e9c66cb1461040e57806395d89b411461044b5780639e96f82114610476578063a457c2d7146104a157610171565b80633950935111610123578063395093511461029a57806340c10f19146102d7578063632e54421461030057806370a0823114610329578063715018a614610366578063756742911461037d57610171565b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101de5780631e89d5451461020957806323b872dd14610232578063313ce5671461026f57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610625565b6040516101989190611e99565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190611f59565b6106b7565b6040516101d59190611fb4565b60405180910390f35b3480156101ea57600080fd5b506101f36106d5565b6040516102009190611fde565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906120b4565b6106df565b005b34801561023e57600080fd5b5061025960048036038101906102549190612135565b610877565b6040516102669190611fb4565b60405180910390f35b34801561027b57600080fd5b5061028461096f565b60405161029191906121a4565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc9190611f59565b610978565b6040516102ce9190611fb4565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190611f59565b610a24565b005b34801561030c57600080fd5b50610327600480360381019061032291906121bf565b610aae565b005b34801561033557600080fd5b50610350600480360381019061034b919061221f565b610bad565b60405161035d9190611fde565b60405180910390f35b34801561037257600080fd5b5061037b610bf6565b005b34801561038957600080fd5b506103a4600480360381019061039f9190612278565b610c7e565b005b3480156103b257600080fd5b506103cd60048036038101906103c8919061221f565b610d9f565b6040516103da9190611fb4565b60405180910390f35b3480156103ef57600080fd5b506103f8610dbf565b60405161040591906122e7565b60405180910390f35b34801561041a57600080fd5b506104356004803603810190610430919061221f565b610de8565b6040516104429190611fb4565b60405180910390f35b34801561045757600080fd5b50610460610e08565b60405161046d9190611e99565b60405180910390f35b34801561048257600080fd5b5061048b610e9a565b6040516104989190611fb4565b60405180910390f35b3480156104ad57600080fd5b506104c860048036038101906104c39190611f59565b610ead565b6040516104d59190611fb4565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190612302565b610f98565b005b34801561051357600080fd5b5061052e60048036038101906105299190611f59565b61106f565b60405161053b9190611fb4565b60405180910390f35b34801561055057600080fd5b5061056b60048036038101906105669190612342565b61108d565b005b34801561057957600080fd5b50610594600480360381019061058f9190612278565b611126565b005b3480156105a257600080fd5b506105bd60048036038101906105b8919061236f565b611247565b6040516105ca9190611fde565b60405180910390f35b3480156105df57600080fd5b506105fa60048036038101906105f5919061221f565b6112ce565b005b34801561060857600080fd5b50610623600480360381019061061e9190612302565b6113c5565b005b606060048054610634906123de565b80601f0160208091040260200160405190810160405280929190818152602001828054610660906123de565b80156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b5050505050905090565b60006106cb6106c461149c565b84846114a4565b6001905092915050565b6000600354905090565b6103218484905010610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90612481565b60405180910390fd5b81819050848490501461076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076590612513565b60405180910390fd5b6000805b858590508110156107b7578383828181106107905761078f612533565b5b90506020020135826107a29190612591565b915080806107af906125c5565b915050610772565b50806107c233610bad565b1015610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90612659565b60405180910390fd5b60005b8585905081101561086f5761085c3387878481811061082857610827612533565b5b905060200201602081019061083d919061221f565b8686858181106108505761084f612533565b5b9050602002013561166d565b8080610867906125c5565b915050610806565b505050505050565b600061088484848461166d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108cf61149c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906126eb565b60405180910390fd5b6109638561095b61149c565b8584036114a4565b60019150509392505050565b60006012905090565b6000610a1a61098561149c565b84846002600061099361149c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a159190612591565b6114a4565b6001905092915050565b610a2c61149c565b73ffffffffffffffffffffffffffffffffffffffff16610a4a610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9790612757565b60405180910390fd5b610aaa8282611959565b5050565b6107d18383905010610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec906127e9565b60405180910390fd5b60008383905082610b069190612809565b905080610b1233610bad565b1015610b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4a90612659565b60405180910390fd5b60005b84849050811015610ba657610b9333868684818110610b7857610b77612533565b5b9050602002016020810190610b8d919061221f565b8561166d565b8080610b9e906125c5565b915050610b56565b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bfe61149c565b73ffffffffffffffffffffffffffffffffffffffff16610c1c610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614610c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6990612757565b60405180910390fd5b610c7c6000611ab9565b565b610c8661149c565b73ffffffffffffffffffffffffffffffffffffffff16610ca4610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614610cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf190612757565b60405180910390fd5b60005b83839050811015610d99578160086000868685818110610d2057610d1f612533565b5b9050602002016020810190610d35919061221f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d91906125c5565b915050610cfd565b50505050565b60076020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60086020528060005260406000206000915054906101000a900460ff1681565b606060058054610e17906123de565b80601f0160208091040260200160405190810160405280929190818152602001828054610e43906123de565b8015610e905780601f10610e6557610100808354040283529160200191610e90565b820191906000526020600020905b815481529060010190602001808311610e7357829003601f168201915b5050505050905090565b600660009054906101000a900460ff1681565b60008060026000610ebc61149c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f70906128bd565b60405180910390fd5b610f8d610f8461149c565b858584036114a4565b600191505092915050565b610fa061149c565b73ffffffffffffffffffffffffffffffffffffffff16610fbe610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614611014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100b90612757565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061108361107c61149c565b848461166d565b6001905092915050565b61109561149c565b73ffffffffffffffffffffffffffffffffffffffff166110b3610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090612757565b60405180910390fd5b80600660006101000a81548160ff02191690831515021790555050565b61112e61149c565b73ffffffffffffffffffffffffffffffffffffffff1661114c610dbf565b73ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990612757565b60405180910390fd5b60005b838390508110156112415781600760008686858181106111c8576111c7612533565b5b90506020020160208101906111dd919061221f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611239906125c5565b9150506111a5565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112d661149c565b73ffffffffffffffffffffffffffffffffffffffff166112f4610dbf565b73ffffffffffffffffffffffffffffffffffffffff161461134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612757565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b09061294f565b60405180910390fd5b6113c281611ab9565b50565b6113cd61149c565b73ffffffffffffffffffffffffffffffffffffffff166113eb610dbf565b73ffffffffffffffffffffffffffffffffffffffff1614611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143890612757565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a906129e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157990612a73565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116609190611fde565b60405180910390a3505050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117115750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612adf565b60405180910390fd5b611758610dbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806117c35750611794610dbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806117f957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061182f57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118445761183f838383611b7d565b611954565b600660009054906101000a900460ff16156119485760011515600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611908575060011515600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e90612b4b565b60405180910390fd5b5b611953838383611b7d565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bf90612bb7565b60405180910390fd5b6119d460008383611dff565b80600360008282546119e69190612591565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a3c9190612591565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aa19190611fde565b60405180910390a3611ab560008383611e04565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390612c49565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5290612cdb565b60405180910390fd5b611c66838383611dff565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce490612d6d565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d829190612591565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de69190611fde565b60405180910390a3611df9848484611e04565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e43578082015181840152602081019050611e28565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e6b82611e09565b611e758185611e14565b9350611e85818560208601611e25565b611e8e81611e4f565b840191505092915050565b60006020820190508181036000830152611eb38184611e60565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef082611ec5565b9050919050565b611f0081611ee5565b8114611f0b57600080fd5b50565b600081359050611f1d81611ef7565b92915050565b6000819050919050565b611f3681611f23565b8114611f4157600080fd5b50565b600081359050611f5381611f2d565b92915050565b60008060408385031215611f7057611f6f611ebb565b5b6000611f7e85828601611f0e565b9250506020611f8f85828601611f44565b9150509250929050565b60008115159050919050565b611fae81611f99565b82525050565b6000602082019050611fc96000830184611fa5565b92915050565b611fd881611f23565b82525050565b6000602082019050611ff36000830184611fcf565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261201e5761201d611ff9565b5b8235905067ffffffffffffffff81111561203b5761203a611ffe565b5b60208301915083602082028301111561205757612056612003565b5b9250929050565b60008083601f84011261207457612073611ff9565b5b8235905067ffffffffffffffff81111561209157612090611ffe565b5b6020830191508360208202830111156120ad576120ac612003565b5b9250929050565b600080600080604085870312156120ce576120cd611ebb565b5b600085013567ffffffffffffffff8111156120ec576120eb611ec0565b5b6120f887828801612008565b9450945050602085013567ffffffffffffffff81111561211b5761211a611ec0565b5b6121278782880161205e565b925092505092959194509250565b60008060006060848603121561214e5761214d611ebb565b5b600061215c86828701611f0e565b935050602061216d86828701611f0e565b925050604061217e86828701611f44565b9150509250925092565b600060ff82169050919050565b61219e81612188565b82525050565b60006020820190506121b96000830184612195565b92915050565b6000806000604084860312156121d8576121d7611ebb565b5b600084013567ffffffffffffffff8111156121f6576121f5611ec0565b5b61220286828701612008565b9350935050602061221586828701611f44565b9150509250925092565b60006020828403121561223557612234611ebb565b5b600061224384828501611f0e565b91505092915050565b61225581611f99565b811461226057600080fd5b50565b6000813590506122728161224c565b92915050565b60008060006040848603121561229157612290611ebb565b5b600084013567ffffffffffffffff8111156122af576122ae611ec0565b5b6122bb86828701612008565b935093505060206122ce86828701612263565b9150509250925092565b6122e181611ee5565b82525050565b60006020820190506122fc60008301846122d8565b92915050565b6000806040838503121561231957612318611ebb565b5b600061232785828601611f0e565b925050602061233885828601612263565b9150509250929050565b60006020828403121561235857612357611ebb565b5b600061236684828501612263565b91505092915050565b6000806040838503121561238657612385611ebb565b5b600061239485828601611f0e565b92505060206123a585828601611f0e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806123f657607f821691505b602082108103612409576124086123af565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b600061246b602d83611e14565b91506124768261240f565b604082019050919050565b6000602082019050818103600083015261249a8161245e565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b60006124fd602883611e14565b9150612508826124a1565b604082019050919050565b6000602082019050818103600083015261252c816124f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061259c82611f23565b91506125a783611f23565b92508282019050808211156125bf576125be612562565b5b92915050565b60006125d082611f23565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361260257612601612562565b5b600182019050919050565b7f4e6f7420656e6f75676820616d6f756e7420696e2077616c6c65740000000000600082015250565b6000612643601b83611e14565b915061264e8261260d565b602082019050919050565b6000602082019050818103600083015261267281612636565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006126d5602883611e14565b91506126e082612679565b604082019050919050565b60006020820190508181036000830152612704816126c8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612741602083611e14565b915061274c8261270b565b602082019050919050565b6000602082019050818103600083015261277081612734565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3230303020616464726573736573000000000000000000000000000000000000602082015250565b60006127d3602e83611e14565b91506127de82612777565b604082019050919050565b60006020820190508181036000830152612802816127c6565b9050919050565b600061281482611f23565b915061281f83611f23565b925082820261282d81611f23565b9150828204841483151761284457612843612562565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006128a7602583611e14565b91506128b28261284b565b604082019050919050565b600060208201905081810360008301526128d68161289a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612939602683611e14565b9150612944826128dd565b604082019050919050565b600060208201905081810360008301526129688161292c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129cb602483611e14565b91506129d68261296f565b604082019050919050565b600060208201905081810360008301526129fa816129be565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a5d602283611e14565b9150612a6882612a01565b604082019050919050565b60006020820190508181036000830152612a8c81612a50565b9050919050565b7f626c697374000000000000000000000000000000000000000000000000000000600082015250565b6000612ac9600583611e14565b9150612ad482612a93565b602082019050919050565b60006020820190508181036000830152612af881612abc565b9050919050565b7f6e6f742077000000000000000000000000000000000000000000000000000000600082015250565b6000612b35600583611e14565b9150612b4082612aff565b602082019050919050565b60006020820190508181036000830152612b6481612b28565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612ba1601f83611e14565b9150612bac82612b6b565b602082019050919050565b60006020820190508181036000830152612bd081612b94565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c33602583611e14565b9150612c3e82612bd7565b604082019050919050565b60006020820190508181036000830152612c6281612c26565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cc5602383611e14565b9150612cd082612c69565b604082019050919050565b60006020820190508181036000830152612cf481612cb8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612d57602683611e14565b9150612d6282612cfb565b604082019050919050565b60006020820190508181036000830152612d8681612d4a565b905091905056fea2646970667358221220fede90865bf279b2122bc9aec1869935214d4485111001fea1f67286cd956fa164736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000084c6179657242544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084c61796572425443000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): LayerBTC
Arg [1] : _symbol (string): LayerBTC
Arg [2] : _total (uint256): 100000000
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 4c61796572425443000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [6] : 4c61796572425443000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
19303:2780:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8484:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10651:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9604:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20961:631;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11302:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9446:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12203:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20156:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21600:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9775:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2388:103;;;;;;;;;;;;;:::i;:::-;;20680:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19375:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1737:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19419:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8703:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19346:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12921:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20263:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10115:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20879:68;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20372:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10353:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2646:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20571:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8484:100;8538:13;8571:5;8564:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8484:100;:::o;10651:169::-;10734:4;10751:39;10760:12;:10;:12::i;:::-;10774:7;10783:6;10751:8;:39::i;:::-;10808:4;10801:11;;10651:169;;;;:::o;9604:108::-;9665:7;9692:12;;9685:19;;9604:108;:::o;20961:631::-;21087:3;21068:9;;:16;;:22;21060:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;21179:7;;:14;;21159:9;;:16;;:34;21151:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;21251:11;21282:9;21277:96;21301:9;;:16;;21297:1;:20;21277:96;;;21351:7;;21359:1;21351:10;;;;;;;:::i;:::-;;;;;;;;21345:3;:16;;;;:::i;:::-;21339:22;;21319:3;;;;;:::i;:::-;;;;21277:96;;;;21418:3;21393:21;21403:10;21393:9;:21::i;:::-;:28;;21385:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21469:9;21464:121;21488:9;;:16;;21484:1;:20;21464:121;;;21526:47;21536:10;21548:9;;21558:1;21548:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;21562:7;;21570:1;21562:10;;;;;;;:::i;:::-;;;;;;;;21526:9;:47::i;:::-;21506:3;;;;;:::i;:::-;;;;21464:121;;;;21049:543;20961:631;;;;:::o;11302:492::-;11442:4;11459:36;11469:6;11477:9;11488:6;11459:9;:36::i;:::-;11508:24;11535:11;:19;11547:6;11535:19;;;;;;;;;;;;;;;:33;11555:12;:10;:12::i;:::-;11535:33;;;;;;;;;;;;;;;;11508:60;;11607:6;11587:16;:26;;11579:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11694:57;11703:6;11711:12;:10;:12::i;:::-;11744:6;11725:16;:25;11694:8;:57::i;:::-;11782:4;11775:11;;;11302:492;;;;;:::o;9446:93::-;9504:5;9529:2;9522:9;;9446:93;:::o;12203:215::-;12291:4;12308:80;12317:12;:10;:12::i;:::-;12331:7;12377:10;12340:11;:25;12352:12;:10;:12::i;:::-;12340:25;;;;;;;;;;;;;;;:34;12366:7;12340:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12308:8;:80::i;:::-;12406:4;12399:11;;12203:215;;;;:::o;20156:99::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20229:18:::1;20235:8;20245:1;20229:5;:18::i;:::-;20156:99:::0;;:::o;21600:443::-;21720:4;21701:9;;:16;;:23;21693:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;21788:11;21811:9;;:16;;21802:6;:25;;;;:::i;:::-;21788:39;;21871:3;21846:21;21856:10;21846:9;:21::i;:::-;:28;;21838:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21924:9;21919:117;21943:9;;:16;;21939:1;:20;21919:117;;;21981:43;21991:10;22003:9;;22013:1;22003:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;22017:6;21981:9;:43::i;:::-;21961:3;;;;;:::i;:::-;;;;21919:117;;;;21682:361;21600:443;;;:::o;9775:127::-;9849:7;9876:9;:18;9886:7;9876:18;;;;;;;;;;;;;;;;9869:25;;9775:127;;;:::o;2388:103::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2453:30:::1;2480:1;2453:18;:30::i;:::-;2388:103::o:0;20680:191::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20772:9:::1;20767:97;20791:8;;:15;;20787:1;:19;20767:97;;;20849:3;20828:5;:18;20834:8;;20843:1;20834:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20828:18;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;20808:3;;;;;:::i;:::-;;;;20767:97;;;;20680:191:::0;;;:::o;19375:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;1737:87::-;1783:7;1810:6;;;;;;;;;;;1803:13;;1737:87;:::o;19419:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;8703:104::-;8759:13;8792:7;8785:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8703:104;:::o;19346:22::-;;;;;;;;;;;;;:::o;12921:413::-;13014:4;13031:24;13058:11;:25;13070:12;:10;:12::i;:::-;13058:25;;;;;;;;;;;;;;;:34;13084:7;13058:34;;;;;;;;;;;;;;;;13031:61;;13131:15;13111:16;:35;;13103:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13224:67;13233:12;:10;:12::i;:::-;13247:7;13275:15;13256:16;:34;13224:8;:67::i;:::-;13322:4;13315:11;;;12921:413;;;;:::o;20263:101::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20353:3:::1;20335:5;:15;20341:8;20335:15;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;20263:101:::0;;:::o;10115:175::-;10201:4;10218:42;10228:12;:10;:12::i;:::-;10242:9;10253:6;10218:9;:42::i;:::-;10278:4;10271:11;;10115:175;;;;:::o;20879:68::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20936:3:::1;20931:2;;:8;;;;;;;;;;;;;;;;;;20879:68:::0;:::o;20372:191::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20464:9:::1;20459:97;20483:8;;:15;;20479:1;:19;20459:97;;;20541:3;20520:5;:18;20526:8;;20535:1;20526:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20520:18;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;20500:3;;;;;:::i;:::-;;;;20459:97;;;;20372:191:::0;;;:::o;10353:151::-;10442:7;10469:11;:18;10481:5;10469:18;;;;;;;;;;;;;;;:27;10488:7;10469:27;;;;;;;;;;;;;;;;10462:34;;10353:151;;;;:::o;2646:201::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2755:1:::1;2735:22;;:8;:22;;::::0;2727:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2811:28;2830:8;2811:18;:28::i;:::-;2646:201:::0;:::o;20571:101::-;1968:12;:10;:12::i;:::-;1957:23;;:7;:5;:7::i;:::-;:23;;;1949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20661:3:::1;20643:5;:15;20649:8;20643:15;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;20571:101:::0;;:::o;602:98::-;655:7;682:10;675:17;;602:98;:::o;16605:380::-;16758:1;16741:19;;:5;:19;;;16733:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16839:1;16820:21;;:7;:21;;;16812:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16923:6;16893:11;:18;16905:5;16893:18;;;;;;;;;;;;;;;:27;16912:7;16893:27;;;;;;;;;;;;;;;:36;;;;16961:7;16945:32;;16954:5;16945:32;;;16970:6;16945:32;;;;;;:::i;:::-;;;;;;;;16605:380;;;:::o;19655:493::-;19754:5;:9;19760:2;19754:9;;;;;;;;;;;;;;;;;;;;;;;;;19753:10;:26;;;;;19768:5;:11;19774:4;19768:11;;;;;;;;;;;;;;;;;;;;;;;;;19767:12;19753:26;19745:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19813:7;:5;:7::i;:::-;19805:15;;:4;:15;;;:41;;;;19839:7;:5;:7::i;:::-;19833:13;;:2;:13;;;19805:41;:75;;;;19875:4;19859:21;;:4;:21;;;19805:75;:107;;;;19907:4;19893:19;;:2;:19;;;19805:107;19802:193;;;19929:33;19945:4;19951:2;19955:6;19929:15;:33::i;:::-;19977:7;;19802:193;20010:2;;;;;;;;;;;20007:88;;;20050:4;20037:17;;:5;:11;20043:4;20037:11;;;;;;;;;;;;;;;;;;;;;;;;;:17;;;:36;;;;20069:4;20058:15;;:5;:9;20064:2;20058:9;;;;;;;;;;;;;;;;;;;;;;;;;:15;;;20037:36;20029:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;20007:88;20107:33;20123:4;20129:2;20133:6;20107:15;:33::i;:::-;19655:493;;;;:::o;14844:399::-;14947:1;14928:21;;:7;:21;;;14920:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14998:49;15027:1;15031:7;15040:6;14998:20;:49::i;:::-;15076:6;15060:12;;:22;;;;;;;:::i;:::-;;;;;;;;15115:6;15093:9;:18;15103:7;15093:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;15158:7;15137:37;;15154:1;15137:37;;;15167:6;15137:37;;;;;;:::i;:::-;;;;;;;;15187:48;15215:1;15219:7;15228:6;15187:19;:48::i;:::-;14844:399;;:::o;3007:191::-;3081:16;3100:6;;;;;;;;;;;3081:25;;3126:8;3117:6;;:17;;;;;;;;;;;;;;;;;;3181:8;3150:40;;3171:8;3150:40;;;;;;;;;;;;3070:128;3007:191;:::o;13824:733::-;13982:1;13964:20;;:6;:20;;;13956:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14066:1;14045:23;;:9;:23;;;14037:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14121:47;14142:6;14150:9;14161:6;14121:20;:47::i;:::-;14181:21;14205:9;:17;14215:6;14205:17;;;;;;;;;;;;;;;;14181:41;;14258:6;14241:13;:23;;14233:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14379:6;14363:13;:22;14343:9;:17;14353:6;14343:17;;;;;;;;;;;;;;;:42;;;;14431:6;14407:9;:20;14417:9;14407:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14472:9;14455:35;;14464:6;14455:35;;;14483:6;14455:35;;;;;;:::i;:::-;;;;;;;;14503:46;14523:6;14531:9;14542:6;14503:19;:46::i;:::-;13945:612;13824:733;;;:::o;17585:125::-;;;;:::o;18314:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:117::-;3907:1;3904;3897:12;3921:117;4030:1;4027;4020:12;4044:117;4153:1;4150;4143:12;4184:568;4257:8;4267:6;4317:3;4310:4;4302:6;4298:17;4294:27;4284:122;;4325:79;;:::i;:::-;4284:122;4438:6;4425:20;4415:30;;4468:18;4460:6;4457:30;4454:117;;;4490:79;;:::i;:::-;4454:117;4604:4;4596:6;4592:17;4580:29;;4658:3;4650:4;4642:6;4638:17;4628:8;4624:32;4621:41;4618:128;;;4665:79;;:::i;:::-;4618:128;4184:568;;;;;:::o;4775:::-;4848:8;4858:6;4908:3;4901:4;4893:6;4889:17;4885:27;4875:122;;4916:79;;:::i;:::-;4875:122;5029:6;5016:20;5006:30;;5059:18;5051:6;5048:30;5045:117;;;5081:79;;:::i;:::-;5045:117;5195:4;5187:6;5183:17;5171:29;;5249:3;5241:4;5233:6;5229:17;5219:8;5215:32;5212:41;5209:128;;;5256:79;;:::i;:::-;5209:128;4775:568;;;;;:::o;5349:934::-;5471:6;5479;5487;5495;5544:2;5532:9;5523:7;5519:23;5515:32;5512:119;;;5550:79;;:::i;:::-;5512:119;5698:1;5687:9;5683:17;5670:31;5728:18;5720:6;5717:30;5714:117;;;5750:79;;:::i;:::-;5714:117;5863:80;5935:7;5926:6;5915:9;5911:22;5863:80;:::i;:::-;5845:98;;;;5641:312;6020:2;6009:9;6005:18;5992:32;6051:18;6043:6;6040:30;6037:117;;;6073:79;;:::i;:::-;6037:117;6186:80;6258:7;6249:6;6238:9;6234:22;6186:80;:::i;:::-;6168:98;;;;5963:313;5349:934;;;;;;;:::o;6289:619::-;6366:6;6374;6382;6431:2;6419:9;6410:7;6406:23;6402:32;6399:119;;;6437:79;;:::i;:::-;6399:119;6557:1;6582:53;6627:7;6618:6;6607:9;6603:22;6582:53;:::i;:::-;6572:63;;6528:117;6684:2;6710:53;6755:7;6746:6;6735:9;6731:22;6710:53;:::i;:::-;6700:63;;6655:118;6812:2;6838:53;6883:7;6874:6;6863:9;6859:22;6838:53;:::i;:::-;6828:63;;6783:118;6289:619;;;;;:::o;6914:86::-;6949:7;6989:4;6982:5;6978:16;6967:27;;6914:86;;;:::o;7006:112::-;7089:22;7105:5;7089:22;:::i;:::-;7084:3;7077:35;7006:112;;:::o;7124:214::-;7213:4;7251:2;7240:9;7236:18;7228:26;;7264:67;7328:1;7317:9;7313:17;7304:6;7264:67;:::i;:::-;7124:214;;;;:::o;7344:704::-;7439:6;7447;7455;7504:2;7492:9;7483:7;7479:23;7475:32;7472:119;;;7510:79;;:::i;:::-;7472:119;7658:1;7647:9;7643:17;7630:31;7688:18;7680:6;7677:30;7674:117;;;7710:79;;:::i;:::-;7674:117;7823:80;7895:7;7886:6;7875:9;7871:22;7823:80;:::i;:::-;7805:98;;;;7601:312;7952:2;7978:53;8023:7;8014:6;8003:9;7999:22;7978:53;:::i;:::-;7968:63;;7923:118;7344:704;;;;;:::o;8054:329::-;8113:6;8162:2;8150:9;8141:7;8137:23;8133:32;8130:119;;;8168:79;;:::i;:::-;8130:119;8288:1;8313:53;8358:7;8349:6;8338:9;8334:22;8313:53;:::i;:::-;8303:63;;8259:117;8054:329;;;;:::o;8389:116::-;8459:21;8474:5;8459:21;:::i;:::-;8452:5;8449:32;8439:60;;8495:1;8492;8485:12;8439:60;8389:116;:::o;8511:133::-;8554:5;8592:6;8579:20;8570:29;;8608:30;8632:5;8608:30;:::i;:::-;8511:133;;;;:::o;8650:698::-;8742:6;8750;8758;8807:2;8795:9;8786:7;8782:23;8778:32;8775:119;;;8813:79;;:::i;:::-;8775:119;8961:1;8950:9;8946:17;8933:31;8991:18;8983:6;8980:30;8977:117;;;9013:79;;:::i;:::-;8977:117;9126:80;9198:7;9189:6;9178:9;9174:22;9126:80;:::i;:::-;9108:98;;;;8904:312;9255:2;9281:50;9323:7;9314:6;9303:9;9299:22;9281:50;:::i;:::-;9271:60;;9226:115;8650:698;;;;;:::o;9354:118::-;9441:24;9459:5;9441:24;:::i;:::-;9436:3;9429:37;9354:118;;:::o;9478:222::-;9571:4;9609:2;9598:9;9594:18;9586:26;;9622:71;9690:1;9679:9;9675:17;9666:6;9622:71;:::i;:::-;9478:222;;;;:::o;9706:468::-;9771:6;9779;9828:2;9816:9;9807:7;9803:23;9799:32;9796:119;;;9834:79;;:::i;:::-;9796:119;9954:1;9979:53;10024:7;10015:6;10004:9;10000:22;9979:53;:::i;:::-;9969:63;;9925:117;10081:2;10107:50;10149:7;10140:6;10129:9;10125:22;10107:50;:::i;:::-;10097:60;;10052:115;9706:468;;;;;:::o;10180:323::-;10236:6;10285:2;10273:9;10264:7;10260:23;10256:32;10253:119;;;10291:79;;:::i;:::-;10253:119;10411:1;10436:50;10478:7;10469:6;10458:9;10454:22;10436:50;:::i;:::-;10426:60;;10382:114;10180:323;;;;:::o;10509:474::-;10577:6;10585;10634:2;10622:9;10613:7;10609:23;10605:32;10602:119;;;10640:79;;:::i;:::-;10602:119;10760:1;10785:53;10830:7;10821:6;10810:9;10806:22;10785:53;:::i;:::-;10775:63;;10731:117;10887:2;10913:53;10958:7;10949:6;10938:9;10934:22;10913:53;:::i;:::-;10903:63;;10858:118;10509:474;;;;;:::o;10989:180::-;11037:77;11034:1;11027:88;11134:4;11131:1;11124:15;11158:4;11155:1;11148:15;11175:320;11219:6;11256:1;11250:4;11246:12;11236:22;;11303:1;11297:4;11293:12;11324:18;11314:81;;11380:4;11372:6;11368:17;11358:27;;11314:81;11442:2;11434:6;11431:14;11411:18;11408:38;11405:84;;11461:18;;:::i;:::-;11405:84;11226:269;11175:320;;;:::o;11501:232::-;11641:34;11637:1;11629:6;11625:14;11618:58;11710:15;11705:2;11697:6;11693:15;11686:40;11501:232;:::o;11739:366::-;11881:3;11902:67;11966:2;11961:3;11902:67;:::i;:::-;11895:74;;11978:93;12067:3;11978:93;:::i;:::-;12096:2;12091:3;12087:12;12080:19;;11739:366;;;:::o;12111:419::-;12277:4;12315:2;12304:9;12300:18;12292:26;;12364:9;12358:4;12354:20;12350:1;12339:9;12335:17;12328:47;12392:131;12518:4;12392:131;:::i;:::-;12384:139;;12111:419;;;:::o;12536:227::-;12676:34;12672:1;12664:6;12660:14;12653:58;12745:10;12740:2;12732:6;12728:15;12721:35;12536:227;:::o;12769:366::-;12911:3;12932:67;12996:2;12991:3;12932:67;:::i;:::-;12925:74;;13008:93;13097:3;13008:93;:::i;:::-;13126:2;13121:3;13117:12;13110:19;;12769:366;;;:::o;13141:419::-;13307:4;13345:2;13334:9;13330:18;13322:26;;13394:9;13388:4;13384:20;13380:1;13369:9;13365:17;13358:47;13422:131;13548:4;13422:131;:::i;:::-;13414:139;;13141:419;;;:::o;13566:180::-;13614:77;13611:1;13604:88;13711:4;13708:1;13701:15;13735:4;13732:1;13725:15;13752:180;13800:77;13797:1;13790:88;13897:4;13894:1;13887:15;13921:4;13918:1;13911:15;13938:191;13978:3;13997:20;14015:1;13997:20;:::i;:::-;13992:25;;14031:20;14049:1;14031:20;:::i;:::-;14026:25;;14074:1;14071;14067:9;14060:16;;14095:3;14092:1;14089:10;14086:36;;;14102:18;;:::i;:::-;14086:36;13938:191;;;;:::o;14135:233::-;14174:3;14197:24;14215:5;14197:24;:::i;:::-;14188:33;;14243:66;14236:5;14233:77;14230:103;;14313:18;;:::i;:::-;14230:103;14360:1;14353:5;14349:13;14342:20;;14135:233;;;:::o;14374:177::-;14514:29;14510:1;14502:6;14498:14;14491:53;14374:177;:::o;14557:366::-;14699:3;14720:67;14784:2;14779:3;14720:67;:::i;:::-;14713:74;;14796:93;14885:3;14796:93;:::i;:::-;14914:2;14909:3;14905:12;14898:19;;14557:366;;;:::o;14929:419::-;15095:4;15133:2;15122:9;15118:18;15110:26;;15182:9;15176:4;15172:20;15168:1;15157:9;15153:17;15146:47;15210:131;15336:4;15210:131;:::i;:::-;15202:139;;14929:419;;;:::o;15354:227::-;15494:34;15490:1;15482:6;15478:14;15471:58;15563:10;15558:2;15550:6;15546:15;15539:35;15354:227;:::o;15587:366::-;15729:3;15750:67;15814:2;15809:3;15750:67;:::i;:::-;15743:74;;15826:93;15915:3;15826:93;:::i;:::-;15944:2;15939:3;15935:12;15928:19;;15587:366;;;:::o;15959:419::-;16125:4;16163:2;16152:9;16148:18;16140:26;;16212:9;16206:4;16202:20;16198:1;16187:9;16183:17;16176:47;16240:131;16366:4;16240:131;:::i;:::-;16232:139;;15959:419;;;:::o;16384:182::-;16524:34;16520:1;16512:6;16508:14;16501:58;16384:182;:::o;16572:366::-;16714:3;16735:67;16799:2;16794:3;16735:67;:::i;:::-;16728:74;;16811:93;16900:3;16811:93;:::i;:::-;16929:2;16924:3;16920:12;16913:19;;16572:366;;;:::o;16944:419::-;17110:4;17148:2;17137:9;17133:18;17125:26;;17197:9;17191:4;17187:20;17183:1;17172:9;17168:17;17161:47;17225:131;17351:4;17225:131;:::i;:::-;17217:139;;16944:419;;;:::o;17369:233::-;17509:34;17505:1;17497:6;17493:14;17486:58;17578:16;17573:2;17565:6;17561:15;17554:41;17369:233;:::o;17608:366::-;17750:3;17771:67;17835:2;17830:3;17771:67;:::i;:::-;17764:74;;17847:93;17936:3;17847:93;:::i;:::-;17965:2;17960:3;17956:12;17949:19;;17608:366;;;:::o;17980:419::-;18146:4;18184:2;18173:9;18169:18;18161:26;;18233:9;18227:4;18223:20;18219:1;18208:9;18204:17;18197:47;18261:131;18387:4;18261:131;:::i;:::-;18253:139;;17980:419;;;:::o;18405:410::-;18445:7;18468:20;18486:1;18468:20;:::i;:::-;18463:25;;18502:20;18520:1;18502:20;:::i;:::-;18497:25;;18557:1;18554;18550:9;18579:30;18597:11;18579:30;:::i;:::-;18568:41;;18758:1;18749:7;18745:15;18742:1;18739:22;18719:1;18712:9;18692:83;18669:139;;18788:18;;:::i;:::-;18669:139;18453:362;18405:410;;;;:::o;18821:224::-;18961:34;18957:1;18949:6;18945:14;18938:58;19030:7;19025:2;19017:6;19013:15;19006:32;18821:224;:::o;19051:366::-;19193:3;19214:67;19278:2;19273:3;19214:67;:::i;:::-;19207:74;;19290:93;19379:3;19290:93;:::i;:::-;19408:2;19403:3;19399:12;19392:19;;19051:366;;;:::o;19423:419::-;19589:4;19627:2;19616:9;19612:18;19604:26;;19676:9;19670:4;19666:20;19662:1;19651:9;19647:17;19640:47;19704:131;19830:4;19704:131;:::i;:::-;19696:139;;19423:419;;;:::o;19848:225::-;19988:34;19984:1;19976:6;19972:14;19965:58;20057:8;20052:2;20044:6;20040:15;20033:33;19848:225;:::o;20079:366::-;20221:3;20242:67;20306:2;20301:3;20242:67;:::i;:::-;20235:74;;20318:93;20407:3;20318:93;:::i;:::-;20436:2;20431:3;20427:12;20420:19;;20079:366;;;:::o;20451:419::-;20617:4;20655:2;20644:9;20640:18;20632:26;;20704:9;20698:4;20694:20;20690:1;20679:9;20675:17;20668:47;20732:131;20858:4;20732:131;:::i;:::-;20724:139;;20451:419;;;:::o;20876:223::-;21016:34;21012:1;21004:6;21000:14;20993:58;21085:6;21080:2;21072:6;21068:15;21061:31;20876:223;:::o;21105:366::-;21247:3;21268:67;21332:2;21327:3;21268:67;:::i;:::-;21261:74;;21344:93;21433:3;21344:93;:::i;:::-;21462:2;21457:3;21453:12;21446:19;;21105:366;;;:::o;21477:419::-;21643:4;21681:2;21670:9;21666:18;21658:26;;21730:9;21724:4;21720:20;21716:1;21705:9;21701:17;21694:47;21758:131;21884:4;21758:131;:::i;:::-;21750:139;;21477:419;;;:::o;21902:221::-;22042:34;22038:1;22030:6;22026:14;22019:58;22111:4;22106:2;22098:6;22094:15;22087:29;21902:221;:::o;22129:366::-;22271:3;22292:67;22356:2;22351:3;22292:67;:::i;:::-;22285:74;;22368:93;22457:3;22368:93;:::i;:::-;22486:2;22481:3;22477:12;22470:19;;22129:366;;;:::o;22501:419::-;22667:4;22705:2;22694:9;22690:18;22682:26;;22754:9;22748:4;22744:20;22740:1;22729:9;22725:17;22718:47;22782:131;22908:4;22782:131;:::i;:::-;22774:139;;22501:419;;;:::o;22926:155::-;23066:7;23062:1;23054:6;23050:14;23043:31;22926:155;:::o;23087:365::-;23229:3;23250:66;23314:1;23309:3;23250:66;:::i;:::-;23243:73;;23325:93;23414:3;23325:93;:::i;:::-;23443:2;23438:3;23434:12;23427:19;;23087:365;;;:::o;23458:419::-;23624:4;23662:2;23651:9;23647:18;23639:26;;23711:9;23705:4;23701:20;23697:1;23686:9;23682:17;23675:47;23739:131;23865:4;23739:131;:::i;:::-;23731:139;;23458:419;;;:::o;23883:155::-;24023:7;24019:1;24011:6;24007:14;24000:31;23883:155;:::o;24044:365::-;24186:3;24207:66;24271:1;24266:3;24207:66;:::i;:::-;24200:73;;24282:93;24371:3;24282:93;:::i;:::-;24400:2;24395:3;24391:12;24384:19;;24044:365;;;:::o;24415:419::-;24581:4;24619:2;24608:9;24604:18;24596:26;;24668:9;24662:4;24658:20;24654:1;24643:9;24639:17;24632:47;24696:131;24822:4;24696:131;:::i;:::-;24688:139;;24415:419;;;:::o;24840:181::-;24980:33;24976:1;24968:6;24964:14;24957:57;24840:181;:::o;25027:366::-;25169:3;25190:67;25254:2;25249:3;25190:67;:::i;:::-;25183:74;;25266:93;25355:3;25266:93;:::i;:::-;25384:2;25379:3;25375:12;25368:19;;25027:366;;;:::o;25399:419::-;25565:4;25603:2;25592:9;25588:18;25580:26;;25652:9;25646:4;25642:20;25638:1;25627:9;25623:17;25616:47;25680:131;25806:4;25680:131;:::i;:::-;25672:139;;25399:419;;;:::o;25824:224::-;25964:34;25960:1;25952:6;25948:14;25941:58;26033:7;26028:2;26020:6;26016:15;26009:32;25824:224;:::o;26054:366::-;26196:3;26217:67;26281:2;26276:3;26217:67;:::i;:::-;26210:74;;26293:93;26382:3;26293:93;:::i;:::-;26411:2;26406:3;26402:12;26395:19;;26054:366;;;:::o;26426:419::-;26592:4;26630:2;26619:9;26615:18;26607:26;;26679:9;26673:4;26669:20;26665:1;26654:9;26650:17;26643:47;26707:131;26833:4;26707:131;:::i;:::-;26699:139;;26426:419;;;:::o;26851:222::-;26991:34;26987:1;26979:6;26975:14;26968:58;27060:5;27055:2;27047:6;27043:15;27036:30;26851:222;:::o;27079:366::-;27221:3;27242:67;27306:2;27301:3;27242:67;:::i;:::-;27235:74;;27318:93;27407:3;27318:93;:::i;:::-;27436:2;27431:3;27427:12;27420:19;;27079:366;;;:::o;27451:419::-;27617:4;27655:2;27644:9;27640:18;27632:26;;27704:9;27698:4;27694:20;27690:1;27679:9;27675:17;27668:47;27732:131;27858:4;27732:131;:::i;:::-;27724:139;;27451:419;;;:::o;27876:225::-;28016:34;28012:1;28004:6;28000:14;27993:58;28085:8;28080:2;28072:6;28068:15;28061:33;27876:225;:::o;28107:366::-;28249:3;28270:67;28334:2;28329:3;28270:67;:::i;:::-;28263:74;;28346:93;28435:3;28346:93;:::i;:::-;28464:2;28459:3;28455:12;28448:19;;28107:366;;;:::o;28479:419::-;28645:4;28683:2;28672:9;28668:18;28660:26;;28732:9;28726:4;28722:20;28718:1;28707:9;28703:17;28696:47;28760:131;28886:4;28760:131;:::i;:::-;28752:139;;28479:419;;;:::o
Swarm Source
ipfs://fede90865bf279b2122bc9aec1869935214d4485111001fea1f67286cd956fa1
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.