ERC-20
Overview
Max Total Supply
3,337,500 PEPESO
Holders
293
Market
Price
$0.00 @ 0.000000 FTM
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,000 PEPESOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Pepeso
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at ftmscan.com on 2023-01-08 */ // SPDX-License-Identifier: MIT // File: Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) 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; } } // File: Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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 Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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); } } // File: IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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 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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } // File: IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File: ERC20.sol // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @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 9; } /** * @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: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, 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}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, 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) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, 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) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * 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: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, 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 Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: Pepeso.sol pragma solidity ^0.8.9; contract Pepeso is ERC20, Ownable { uint256 public claimAmount; mapping(address => bool) public freeClaimTaken; bool public publicMintStatus = false; uint256 decimalFigure = 9; uint256 publicSaleCost = 0 ether; constructor() ERC20("Pepeso", "PEPESO") {} function mint(address to, uint256 amount) public onlyOwner { _mint(to, amount); } function airdrop(address[] calldata to, uint256[] calldata amount) public onlyOwner { require(to.length == amount.length, "Address quantity and amount quantity are not equal"); for(uint256 x = 0; x < to.length; x++){ _mint(to[x], amount[x]); } } function burn(uint256 amount) public { transferFrom(msg.sender, address(0), amount); } function freeClaim() public { require(freeClaimTaken[msg.sender] != true, "Already claimed"); _mint(msg.sender, claimAmount); freeClaimTaken[msg.sender] = true; } function publicMint(address to, uint256 amount) public payable { require(publicMintStatus == true, "Public mint paused"); require(msg.value >= publicSaleCost * amount , "Not enough funds sent"); _mint(to, amount * 10 ** decimalFigure); } function togglePublicMintStatus() public onlyOwner { if(publicMintStatus==false){ publicMintStatus = true; }else{ publicMintStatus = false; } } function withdraw() public onlyOwner{ (bool main, ) = payable(owner()).call{value: address(this).balance}(""); require(main); } function setClaimAmount(uint256 _claimAmount) public onlyOwner{ claimAmount = _claimAmount; } function setDecimalFigure(uint256 _decimalFigure) public onlyOwner{ decimalFigure = _decimalFigure; } function setPublicSaleCost(uint256 _publicSaleCost) public onlyOwner{ publicSaleCost = _publicSaleCost; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"to","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"freeClaimTaken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"publicMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"publicMintStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claimAmount","type":"uint256"}],"name":"setClaimAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_decimalFigure","type":"uint256"}],"name":"setDecimalFigure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_publicSaleCost","type":"uint256"}],"name":"setPublicSaleCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"togglePublicMintStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526000600860006101000a81548160ff021916908315150217905550600980556000600a553480156200003557600080fd5b506040518060400160405280600681526020017f50657065736f00000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f50455045534f00000000000000000000000000000000000000000000000000008152508160039081620000b3919062000436565b508060049081620000c5919062000436565b505050620000e8620000dc620000ee60201b60201c565b620000f660201b60201c565b6200051d565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200023e57607f821691505b602082108103620002545762000253620001f6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200027f565b620002ca86836200027f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000317620003116200030b84620002e2565b620002ec565b620002e2565b9050919050565b6000819050919050565b6200033383620002f6565b6200034b62000342826200031e565b8484546200028c565b825550505050565b600090565b6200036262000353565b6200036f81848462000328565b505050565b5b8181101562000397576200038b60008262000358565b60018101905062000375565b5050565b601f821115620003e657620003b0816200025a565b620003bb846200026f565b81016020851015620003cb578190505b620003e3620003da856200026f565b83018262000374565b50505b505050565b600082821c905092915050565b60006200040b60001984600802620003eb565b1980831691505092915050565b6000620004268383620003f8565b9150826002028217905092915050565b6200044182620001bc565b67ffffffffffffffff8111156200045d576200045c620001c7565b5b62000469825462000225565b620004768282856200039b565b600060209050601f831160018114620004ae576000841562000499578287015190505b620004a5858262000418565b86555062000515565b601f198416620004be866200025a565b60005b82811015620004e857848901518255600182019150602085019450602081019050620004c1565b8683101562000508578489015162000504601f891682620003f8565b8355505b6001600288020188555050505b505050505050565b6124ce806200052d6000396000f3fe60806040526004361061019c5760003560e01c8063830953ab116100ec578063a9059cbb1161008a578063d2aec00a11610064578063d2aec00a146105a7578063dd62ed3e146105d0578063e88d3b3e1461060d578063f2fde38b146106245761019c565b8063a9059cbb14610525578063b1c7ef0c14610562578063ce6df2b91461058b5761019c565b806395d89b41116100c657806395d89b411461046957806397f5ec6714610494578063a457c2d7146104ab578063a72e5535146104e85761019c565b8063830953ab146103ea5780638da5cb5b146104155780638dbb7c06146104405761019c565b8063395093511161015957806342966c681161013357806342966c6814610344578063672434821461036d57806370a0823114610396578063715018a6146103d35761019c565b806339509351146102c75780633ccfd60b1461030457806340c10f191461031b5761019c565b806306fdde03146101a1578063095ea7b3146101cc57806318160ddd1461020957806323b872dd146102345780632620237014610271578063313ce5671461029c575b600080fd5b3480156101ad57600080fd5b506101b661064d565b6040516101c39190611656565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611716565b6106df565b6040516102009190611771565b60405180910390f35b34801561021557600080fd5b5061021e610702565b60405161022b919061179b565b60405180910390f35b34801561024057600080fd5b5061025b600480360381019061025691906117b6565b61070c565b6040516102689190611771565b60405180910390f35b34801561027d57600080fd5b5061028661073b565b6040516102939190611771565b60405180910390f35b3480156102a857600080fd5b506102b161074e565b6040516102be9190611825565b60405180910390f35b3480156102d357600080fd5b506102ee60048036038101906102e99190611716565b610757565b6040516102fb9190611771565b60405180910390f35b34801561031057600080fd5b5061031961078e565b005b34801561032757600080fd5b50610342600480360381019061033d9190611716565b610816565b005b34801561035057600080fd5b5061036b60048036038101906103669190611840565b61082c565b005b34801561037957600080fd5b50610394600480360381019061038f9190611928565b61083c565b005b3480156103a257600080fd5b506103bd60048036038101906103b891906119a9565b6108fe565b6040516103ca919061179b565b60405180910390f35b3480156103df57600080fd5b506103e8610946565b005b3480156103f657600080fd5b506103ff61095a565b60405161040c919061179b565b60405180910390f35b34801561042157600080fd5b5061042a610960565b60405161043791906119e5565b60405180910390f35b34801561044c57600080fd5b5061046760048036038101906104629190611840565b61098a565b005b34801561047557600080fd5b5061047e61099c565b60405161048b9190611656565b60405180910390f35b3480156104a057600080fd5b506104a9610a2e565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190611716565b610a8f565b6040516104df9190611771565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a91906119a9565b610b06565b60405161051c9190611771565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190611716565b610b26565b6040516105599190611771565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190611840565b610b49565b005b6105a560048036038101906105a09190611716565b610b5b565b005b3480156105b357600080fd5b506105ce60048036038101906105c99190611840565b610c28565b005b3480156105dc57600080fd5b506105f760048036038101906105f29190611a00565b610c3a565b604051610604919061179b565b60405180910390f35b34801561061957600080fd5b50610622610cc1565b005b34801561063057600080fd5b5061064b600480360381019061064691906119a9565b610dba565b005b60606003805461065c90611a6f565b80601f016020809104026020016040519081016040528092919081815260200182805461068890611a6f565b80156106d55780601f106106aa576101008083540402835291602001916106d5565b820191906000526020600020905b8154815290600101906020018083116106b857829003601f168201915b5050505050905090565b6000806106ea610e3d565b90506106f7818585610e45565b600191505092915050565b6000600254905090565b600080610717610e3d565b905061072485828561100e565b61072f85858561109a565b60019150509392505050565b600860009054906101000a900460ff1681565b60006009905090565b600080610762610e3d565b90506107838185856107748589610c3a565b61077e9190611acf565b610e45565b600191505092915050565b610796611319565b60006107a0610960565b73ffffffffffffffffffffffffffffffffffffffff16476040516107c390611b34565b60006040518083038185875af1925050503d8060008114610800576040519150601f19603f3d011682016040523d82523d6000602084013e610805565b606091505b505090508061081357600080fd5b50565b61081e611319565b6108288282611397565b5050565b6108383360008361070c565b5050565b610844611319565b81819050848490501461088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088390611bbb565b60405180910390fd5b60005b848490508110156108f7576108e48585838181106108b0576108af611bdb565b5b90506020020160208101906108c591906119a9565b8484848181106108d8576108d7611bdb565b5b90506020020135611397565b80806108ef90611c0a565b91505061088f565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094e611319565b61095860006114f6565b565b60065481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610992611319565b80600a8190555050565b6060600480546109ab90611a6f565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790611a6f565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050505050905090565b610a36611319565b60001515600860009054906101000a900460ff16151503610a71576001600860006101000a81548160ff021916908315150217905550610a8d565b6000600860006101000a81548160ff0219169083151502179055505b565b600080610a9a610e3d565b90506000610aa88286610c3a565b905083811015610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae490611cc4565b60405180910390fd5b610afa8286868403610e45565b60019250505092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b600080610b31610e3d565b9050610b3e81858561109a565b600191505092915050565b610b51611319565b8060068190555050565b60011515600860009054906101000a900460ff16151514610bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba890611d30565b60405180910390fd5b80600a54610bbf9190611d50565b341015610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf890611dde565b60405180910390fd5b610c2482600954600a610c149190611f31565b83610c1f9190611d50565b611397565b5050565b610c30611319565b8060098190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60011515600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90611fc8565b60405180910390fd5b610d6033600654611397565b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b610dc2611319565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e289061205a565b60405180910390fd5b610e3a816114f6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab906120ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a9061217e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611001919061179b565b60405180910390a3505050565b600061101a8484610c3a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110945781811015611086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107d906121ea565b60405180910390fd5b6110938484848403610e45565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111009061227c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f9061230e565b60405180910390fd5b6111838383836115bc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611209576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611200906123a0565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461129c9190611acf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611300919061179b565b60405180910390a36113138484846115c1565b50505050565b611321610e3d565b73ffffffffffffffffffffffffffffffffffffffff1661133f610960565b73ffffffffffffffffffffffffffffffffffffffff1614611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c9061240c565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fd90612478565b60405180910390fd5b611412600083836115bc565b80600260008282546114249190611acf565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114799190611acf565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114de919061179b565b60405180910390a36114f2600083836115c1565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116005780820151818401526020810190506115e5565b60008484015250505050565b6000601f19601f8301169050919050565b6000611628826115c6565b61163281856115d1565b93506116428185602086016115e2565b61164b8161160c565b840191505092915050565b60006020820190508181036000830152611670818461161d565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116ad82611682565b9050919050565b6116bd816116a2565b81146116c857600080fd5b50565b6000813590506116da816116b4565b92915050565b6000819050919050565b6116f3816116e0565b81146116fe57600080fd5b50565b600081359050611710816116ea565b92915050565b6000806040838503121561172d5761172c611678565b5b600061173b858286016116cb565b925050602061174c85828601611701565b9150509250929050565b60008115159050919050565b61176b81611756565b82525050565b60006020820190506117866000830184611762565b92915050565b611795816116e0565b82525050565b60006020820190506117b0600083018461178c565b92915050565b6000806000606084860312156117cf576117ce611678565b5b60006117dd868287016116cb565b93505060206117ee868287016116cb565b92505060406117ff86828701611701565b9150509250925092565b600060ff82169050919050565b61181f81611809565b82525050565b600060208201905061183a6000830184611816565b92915050565b60006020828403121561185657611855611678565b5b600061186484828501611701565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126118925761189161186d565b5b8235905067ffffffffffffffff8111156118af576118ae611872565b5b6020830191508360208202830111156118cb576118ca611877565b5b9250929050565b60008083601f8401126118e8576118e761186d565b5b8235905067ffffffffffffffff81111561190557611904611872565b5b60208301915083602082028301111561192157611920611877565b5b9250929050565b6000806000806040858703121561194257611941611678565b5b600085013567ffffffffffffffff8111156119605761195f61167d565b5b61196c8782880161187c565b9450945050602085013567ffffffffffffffff81111561198f5761198e61167d565b5b61199b878288016118d2565b925092505092959194509250565b6000602082840312156119bf576119be611678565b5b60006119cd848285016116cb565b91505092915050565b6119df816116a2565b82525050565b60006020820190506119fa60008301846119d6565b92915050565b60008060408385031215611a1757611a16611678565b5b6000611a25858286016116cb565b9250506020611a36858286016116cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8757607f821691505b602082108103611a9a57611a99611a40565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ada826116e0565b9150611ae5836116e0565b9250828201905080821115611afd57611afc611aa0565b5b92915050565b600081905092915050565b50565b6000611b1e600083611b03565b9150611b2982611b0e565b600082019050919050565b6000611b3f82611b11565b9150819050919050565b7f41646472657373207175616e7469747920616e6420616d6f756e74207175616e60008201527f7469747920617265206e6f7420657175616c0000000000000000000000000000602082015250565b6000611ba56032836115d1565b9150611bb082611b49565b604082019050919050565b60006020820190508181036000830152611bd481611b98565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611c15826116e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c4757611c46611aa0565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611cae6025836115d1565b9150611cb982611c52565b604082019050919050565b60006020820190508181036000830152611cdd81611ca1565b9050919050565b7f5075626c6963206d696e74207061757365640000000000000000000000000000600082015250565b6000611d1a6012836115d1565b9150611d2582611ce4565b602082019050919050565b60006020820190508181036000830152611d4981611d0d565b9050919050565b6000611d5b826116e0565b9150611d66836116e0565b9250828202611d74816116e0565b91508282048414831517611d8b57611d8a611aa0565b5b5092915050565b7f4e6f7420656e6f7567682066756e64732073656e740000000000000000000000600082015250565b6000611dc86015836115d1565b9150611dd382611d92565b602082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611e5557808604811115611e3157611e30611aa0565b5b6001851615611e405780820291505b8081029050611e4e85611dfe565b9450611e15565b94509492505050565b600082611e6e5760019050611f2a565b81611e7c5760009050611f2a565b8160018114611e925760028114611e9c57611ecb565b6001915050611f2a565b60ff841115611eae57611ead611aa0565b5b8360020a915084821115611ec557611ec4611aa0565b5b50611f2a565b5060208310610133831016604e8410600b8410161715611f005782820a905083811115611efb57611efa611aa0565b5b611f2a565b611f0d8484846001611e0b565b92509050818404811115611f2457611f23611aa0565b5b81810290505b9392505050565b6000611f3c826116e0565b9150611f47836116e0565b9250611f747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e5e565b905092915050565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000611fb2600f836115d1565b9150611fbd82611f7c565b602082019050919050565b60006020820190508181036000830152611fe181611fa5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120446026836115d1565b915061204f82611fe8565b604082019050919050565b6000602082019050818103600083015261207381612037565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120d66024836115d1565b91506120e18261207a565b604082019050919050565b60006020820190508181036000830152612105816120c9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121686022836115d1565b91506121738261210c565b604082019050919050565b600060208201905081810360008301526121978161215b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006121d4601d836115d1565b91506121df8261219e565b602082019050919050565b60006020820190508181036000830152612203816121c7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122666025836115d1565b91506122718261220a565b604082019050919050565b6000602082019050818103600083015261229581612259565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006122f86023836115d1565b91506123038261229c565b604082019050919050565b60006020820190508181036000830152612327816122eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061238a6026836115d1565b91506123958261232e565b604082019050919050565b600060208201905081810360008301526123b98161237d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123f66020836115d1565b9150612401826123c0565b602082019050919050565b60006020820190508181036000830152612425816123e9565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612462601f836115d1565b915061246d8261242c565b602082019050919050565b6000602082019050818103600083015261249181612455565b905091905056fea264697066735822122075d83622f23f05d46c170f3f0a7b7948e0cff3474eebe288ae3724ff3c3f927564736f6c63430008110033
Deployed Bytecode
0x60806040526004361061019c5760003560e01c8063830953ab116100ec578063a9059cbb1161008a578063d2aec00a11610064578063d2aec00a146105a7578063dd62ed3e146105d0578063e88d3b3e1461060d578063f2fde38b146106245761019c565b8063a9059cbb14610525578063b1c7ef0c14610562578063ce6df2b91461058b5761019c565b806395d89b41116100c657806395d89b411461046957806397f5ec6714610494578063a457c2d7146104ab578063a72e5535146104e85761019c565b8063830953ab146103ea5780638da5cb5b146104155780638dbb7c06146104405761019c565b8063395093511161015957806342966c681161013357806342966c6814610344578063672434821461036d57806370a0823114610396578063715018a6146103d35761019c565b806339509351146102c75780633ccfd60b1461030457806340c10f191461031b5761019c565b806306fdde03146101a1578063095ea7b3146101cc57806318160ddd1461020957806323b872dd146102345780632620237014610271578063313ce5671461029c575b600080fd5b3480156101ad57600080fd5b506101b661064d565b6040516101c39190611656565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611716565b6106df565b6040516102009190611771565b60405180910390f35b34801561021557600080fd5b5061021e610702565b60405161022b919061179b565b60405180910390f35b34801561024057600080fd5b5061025b600480360381019061025691906117b6565b61070c565b6040516102689190611771565b60405180910390f35b34801561027d57600080fd5b5061028661073b565b6040516102939190611771565b60405180910390f35b3480156102a857600080fd5b506102b161074e565b6040516102be9190611825565b60405180910390f35b3480156102d357600080fd5b506102ee60048036038101906102e99190611716565b610757565b6040516102fb9190611771565b60405180910390f35b34801561031057600080fd5b5061031961078e565b005b34801561032757600080fd5b50610342600480360381019061033d9190611716565b610816565b005b34801561035057600080fd5b5061036b60048036038101906103669190611840565b61082c565b005b34801561037957600080fd5b50610394600480360381019061038f9190611928565b61083c565b005b3480156103a257600080fd5b506103bd60048036038101906103b891906119a9565b6108fe565b6040516103ca919061179b565b60405180910390f35b3480156103df57600080fd5b506103e8610946565b005b3480156103f657600080fd5b506103ff61095a565b60405161040c919061179b565b60405180910390f35b34801561042157600080fd5b5061042a610960565b60405161043791906119e5565b60405180910390f35b34801561044c57600080fd5b5061046760048036038101906104629190611840565b61098a565b005b34801561047557600080fd5b5061047e61099c565b60405161048b9190611656565b60405180910390f35b3480156104a057600080fd5b506104a9610a2e565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190611716565b610a8f565b6040516104df9190611771565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a91906119a9565b610b06565b60405161051c9190611771565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190611716565b610b26565b6040516105599190611771565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190611840565b610b49565b005b6105a560048036038101906105a09190611716565b610b5b565b005b3480156105b357600080fd5b506105ce60048036038101906105c99190611840565b610c28565b005b3480156105dc57600080fd5b506105f760048036038101906105f29190611a00565b610c3a565b604051610604919061179b565b60405180910390f35b34801561061957600080fd5b50610622610cc1565b005b34801561063057600080fd5b5061064b600480360381019061064691906119a9565b610dba565b005b60606003805461065c90611a6f565b80601f016020809104026020016040519081016040528092919081815260200182805461068890611a6f565b80156106d55780601f106106aa576101008083540402835291602001916106d5565b820191906000526020600020905b8154815290600101906020018083116106b857829003601f168201915b5050505050905090565b6000806106ea610e3d565b90506106f7818585610e45565b600191505092915050565b6000600254905090565b600080610717610e3d565b905061072485828561100e565b61072f85858561109a565b60019150509392505050565b600860009054906101000a900460ff1681565b60006009905090565b600080610762610e3d565b90506107838185856107748589610c3a565b61077e9190611acf565b610e45565b600191505092915050565b610796611319565b60006107a0610960565b73ffffffffffffffffffffffffffffffffffffffff16476040516107c390611b34565b60006040518083038185875af1925050503d8060008114610800576040519150601f19603f3d011682016040523d82523d6000602084013e610805565b606091505b505090508061081357600080fd5b50565b61081e611319565b6108288282611397565b5050565b6108383360008361070c565b5050565b610844611319565b81819050848490501461088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088390611bbb565b60405180910390fd5b60005b848490508110156108f7576108e48585838181106108b0576108af611bdb565b5b90506020020160208101906108c591906119a9565b8484848181106108d8576108d7611bdb565b5b90506020020135611397565b80806108ef90611c0a565b91505061088f565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094e611319565b61095860006114f6565b565b60065481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610992611319565b80600a8190555050565b6060600480546109ab90611a6f565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790611a6f565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050505050905090565b610a36611319565b60001515600860009054906101000a900460ff16151503610a71576001600860006101000a81548160ff021916908315150217905550610a8d565b6000600860006101000a81548160ff0219169083151502179055505b565b600080610a9a610e3d565b90506000610aa88286610c3a565b905083811015610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae490611cc4565b60405180910390fd5b610afa8286868403610e45565b60019250505092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b600080610b31610e3d565b9050610b3e81858561109a565b600191505092915050565b610b51611319565b8060068190555050565b60011515600860009054906101000a900460ff16151514610bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba890611d30565b60405180910390fd5b80600a54610bbf9190611d50565b341015610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf890611dde565b60405180910390fd5b610c2482600954600a610c149190611f31565b83610c1f9190611d50565b611397565b5050565b610c30611319565b8060098190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60011515600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90611fc8565b60405180910390fd5b610d6033600654611397565b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b610dc2611319565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e289061205a565b60405180910390fd5b610e3a816114f6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab906120ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a9061217e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611001919061179b565b60405180910390a3505050565b600061101a8484610c3a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110945781811015611086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107d906121ea565b60405180910390fd5b6110938484848403610e45565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111009061227c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f9061230e565b60405180910390fd5b6111838383836115bc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611209576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611200906123a0565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461129c9190611acf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611300919061179b565b60405180910390a36113138484846115c1565b50505050565b611321610e3d565b73ffffffffffffffffffffffffffffffffffffffff1661133f610960565b73ffffffffffffffffffffffffffffffffffffffff1614611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c9061240c565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fd90612478565b60405180910390fd5b611412600083836115bc565b80600260008282546114249190611acf565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114799190611acf565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114de919061179b565b60405180910390a36114f2600083836115c1565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116005780820151818401526020810190506115e5565b60008484015250505050565b6000601f19601f8301169050919050565b6000611628826115c6565b61163281856115d1565b93506116428185602086016115e2565b61164b8161160c565b840191505092915050565b60006020820190508181036000830152611670818461161d565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116ad82611682565b9050919050565b6116bd816116a2565b81146116c857600080fd5b50565b6000813590506116da816116b4565b92915050565b6000819050919050565b6116f3816116e0565b81146116fe57600080fd5b50565b600081359050611710816116ea565b92915050565b6000806040838503121561172d5761172c611678565b5b600061173b858286016116cb565b925050602061174c85828601611701565b9150509250929050565b60008115159050919050565b61176b81611756565b82525050565b60006020820190506117866000830184611762565b92915050565b611795816116e0565b82525050565b60006020820190506117b0600083018461178c565b92915050565b6000806000606084860312156117cf576117ce611678565b5b60006117dd868287016116cb565b93505060206117ee868287016116cb565b92505060406117ff86828701611701565b9150509250925092565b600060ff82169050919050565b61181f81611809565b82525050565b600060208201905061183a6000830184611816565b92915050565b60006020828403121561185657611855611678565b5b600061186484828501611701565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126118925761189161186d565b5b8235905067ffffffffffffffff8111156118af576118ae611872565b5b6020830191508360208202830111156118cb576118ca611877565b5b9250929050565b60008083601f8401126118e8576118e761186d565b5b8235905067ffffffffffffffff81111561190557611904611872565b5b60208301915083602082028301111561192157611920611877565b5b9250929050565b6000806000806040858703121561194257611941611678565b5b600085013567ffffffffffffffff8111156119605761195f61167d565b5b61196c8782880161187c565b9450945050602085013567ffffffffffffffff81111561198f5761198e61167d565b5b61199b878288016118d2565b925092505092959194509250565b6000602082840312156119bf576119be611678565b5b60006119cd848285016116cb565b91505092915050565b6119df816116a2565b82525050565b60006020820190506119fa60008301846119d6565b92915050565b60008060408385031215611a1757611a16611678565b5b6000611a25858286016116cb565b9250506020611a36858286016116cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8757607f821691505b602082108103611a9a57611a99611a40565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ada826116e0565b9150611ae5836116e0565b9250828201905080821115611afd57611afc611aa0565b5b92915050565b600081905092915050565b50565b6000611b1e600083611b03565b9150611b2982611b0e565b600082019050919050565b6000611b3f82611b11565b9150819050919050565b7f41646472657373207175616e7469747920616e6420616d6f756e74207175616e60008201527f7469747920617265206e6f7420657175616c0000000000000000000000000000602082015250565b6000611ba56032836115d1565b9150611bb082611b49565b604082019050919050565b60006020820190508181036000830152611bd481611b98565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611c15826116e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c4757611c46611aa0565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611cae6025836115d1565b9150611cb982611c52565b604082019050919050565b60006020820190508181036000830152611cdd81611ca1565b9050919050565b7f5075626c6963206d696e74207061757365640000000000000000000000000000600082015250565b6000611d1a6012836115d1565b9150611d2582611ce4565b602082019050919050565b60006020820190508181036000830152611d4981611d0d565b9050919050565b6000611d5b826116e0565b9150611d66836116e0565b9250828202611d74816116e0565b91508282048414831517611d8b57611d8a611aa0565b5b5092915050565b7f4e6f7420656e6f7567682066756e64732073656e740000000000000000000000600082015250565b6000611dc86015836115d1565b9150611dd382611d92565b602082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611e5557808604811115611e3157611e30611aa0565b5b6001851615611e405780820291505b8081029050611e4e85611dfe565b9450611e15565b94509492505050565b600082611e6e5760019050611f2a565b81611e7c5760009050611f2a565b8160018114611e925760028114611e9c57611ecb565b6001915050611f2a565b60ff841115611eae57611ead611aa0565b5b8360020a915084821115611ec557611ec4611aa0565b5b50611f2a565b5060208310610133831016604e8410600b8410161715611f005782820a905083811115611efb57611efa611aa0565b5b611f2a565b611f0d8484846001611e0b565b92509050818404811115611f2457611f23611aa0565b5b81810290505b9392505050565b6000611f3c826116e0565b9150611f47836116e0565b9250611f747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e5e565b905092915050565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000611fb2600f836115d1565b9150611fbd82611f7c565b602082019050919050565b60006020820190508181036000830152611fe181611fa5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120446026836115d1565b915061204f82611fe8565b604082019050919050565b6000602082019050818103600083015261207381612037565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120d66024836115d1565b91506120e18261207a565b604082019050919050565b60006020820190508181036000830152612105816120c9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121686022836115d1565b91506121738261210c565b604082019050919050565b600060208201905081810360008301526121978161215b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006121d4601d836115d1565b91506121df8261219e565b602082019050919050565b60006020820190508181036000830152612203816121c7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122666025836115d1565b91506122718261220a565b604082019050919050565b6000602082019050818103600083015261229581612259565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006122f86023836115d1565b91506123038261229c565b604082019050919050565b60006020820190508181036000830152612327816122eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061238a6026836115d1565b91506123958261232e565b604082019050919050565b600060208201905081810360008301526123b98161237d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123f66020836115d1565b9150612401826123c0565b602082019050919050565b60006020820190508181036000830152612425816123e9565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612462601f836115d1565b915061246d8261242c565b602082019050919050565b6000602082019050818103600083015261249181612455565b905091905056fea264697066735822122075d83622f23f05d46c170f3f0a7b7948e0cff3474eebe288ae3724ff3c3f927564736f6c63430008110033
Deployed Bytecode Sourcemap
20043:1989:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9202:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11552:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10321:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12333:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20172:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10164:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13037:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21526:142;;;;;;;;;;;;;:::i;:::-;;20338:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20731:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20441:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10492:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2746:103;;;;;;;;;;;;;:::i;:::-;;20086:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2098:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21910:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9421:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21318:197;;;;;;;;;;;;;:::i;:::-;;13778:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20119:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10825:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21676:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21041:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21787:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11081:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20839:194;;;;;;;;;;;;;:::i;:::-;;3004:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9202:100;9256:13;9289:5;9282:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9202:100;:::o;11552:201::-;11635:4;11652:13;11668:12;:10;:12::i;:::-;11652:28;;11691:32;11700:5;11707:7;11716:6;11691:8;:32::i;:::-;11741:4;11734:11;;;11552:201;;;;:::o;10321:108::-;10382:7;10409:12;;10402:19;;10321:108;:::o;12333:295::-;12464:4;12481:15;12499:12;:10;:12::i;:::-;12481:30;;12522:38;12538:4;12544:7;12553:6;12522:15;:38::i;:::-;12571:27;12581:4;12587:2;12591:6;12571:9;:27::i;:::-;12616:4;12609:11;;;12333:295;;;;;:::o;20172:36::-;;;;;;;;;;;;;:::o;10164:92::-;10222:5;10247:1;10240:8;;10164:92;:::o;13037:238::-;13125:4;13142:13;13158:12;:10;:12::i;:::-;13142:28;;13181:64;13190:5;13197:7;13234:10;13206:25;13216:5;13223:7;13206:9;:25::i;:::-;:38;;;;:::i;:::-;13181:8;:64::i;:::-;13263:4;13256:11;;;13037:238;;;;:::o;21526:142::-;1984:13;:11;:13::i;:::-;21570:9:::1;21593:7;:5;:7::i;:::-;21585:21;;21614;21585:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21569:71;;;21655:4;21647:13;;;::::0;::::1;;21562:106;21526:142::o:0;20338:95::-;1984:13;:11;:13::i;:::-;20408:17:::1;20414:2;20418:6;20408:5;:17::i;:::-;20338:95:::0;;:::o;20731:100::-;20779:44;20792:10;20812:1;20816:6;20779:12;:44::i;:::-;;20731:100;:::o;20441:282::-;1984:13;:11;:13::i;:::-;20555:6:::1;;:13;;20542:2;;:9;;:26;20534:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;20637:9;20633:83;20656:2;;:9;;20652:1;:13;20633:83;;;20683:23;20689:2;;20692:1;20689:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20696:6;;20703:1;20696:9;;;;;;;:::i;:::-;;;;;;;;20683:5;:23::i;:::-;20667:3;;;;;:::i;:::-;;;;20633:83;;;;20441:282:::0;;;;:::o;10492:127::-;10566:7;10593:9;:18;10603:7;10593:18;;;;;;;;;;;;;;;;10586:25;;10492:127;;;:::o;2746:103::-;1984:13;:11;:13::i;:::-;2811:30:::1;2838:1;2811:18;:30::i;:::-;2746:103::o:0;20086:26::-;;;;:::o;2098:87::-;2144:7;2171:6;;;;;;;;;;;2164:13;;2098:87;:::o;21910:115::-;1984:13;:11;:13::i;:::-;22002:15:::1;21985:14;:32;;;;21910:115:::0;:::o;9421:104::-;9477:13;9510:7;9503:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9421:104;:::o;21318:197::-;1984:13;:11;:13::i;:::-;21409:5:::1;21391:23;;:16;;;;;;;;;;;:23;;::::0;21388:120:::1;;21445:4;21426:16;;:23;;;;;;;;;;;;;;;;;;21388:120;;;21493:5;21474:16;;:24;;;;;;;;;;;;;;;;;;21388:120;21318:197::o:0;13778:436::-;13871:4;13888:13;13904:12;:10;:12::i;:::-;13888:28;;13927:24;13954:25;13964:5;13971:7;13954:9;:25::i;:::-;13927:52;;14018:15;13998:16;:35;;13990:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14111:60;14120:5;14127:7;14155:15;14136:16;:34;14111:8;:60::i;:::-;14202:4;14195:11;;;;13778:436;;;;:::o;20119:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;10825:193::-;10904:4;10921:13;10937:12;:10;:12::i;:::-;10921:28;;10960;10970:5;10977:2;10981:6;10960:9;:28::i;:::-;11006:4;10999:11;;;10825:193;;;;:::o;21676:103::-;1984:13;:11;:13::i;:::-;21759:12:::1;21745:11;:26;;;;21676:103:::0;:::o;21041:269::-;21143:4;21123:24;;:16;;;;;;;;;;;:24;;;21115:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;21219:6;21202:14;;:23;;;;:::i;:::-;21189:9;:36;;21181:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21263:39;21269:2;21288:13;;21282:2;:19;;;;:::i;:::-;21273:6;:28;;;;:::i;:::-;21263:5;:39::i;:::-;21041:269;;:::o;21787:111::-;1984:13;:11;:13::i;:::-;21876:14:::1;21860:13;:30;;;;21787:111:::0;:::o;11081:151::-;11170:7;11197:11;:18;11209:5;11197:18;;;;;;;;;;;;;;;:27;11216:7;11197:27;;;;;;;;;;;;;;;;11190:34;;11081:151;;;;:::o;20839:194::-;20916:4;20886:34;;:14;:26;20901:10;20886:26;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;20878:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;20951:30;20957:10;20969:11;;20951:5;:30::i;:::-;21021:4;20992:14;:26;21007:10;20992:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;20839:194::o;3004:201::-;1984:13;:11;:13::i;:::-;3113:1:::1;3093:22;;:8;:22;;::::0;3085:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3169:28;3188:8;3169:18;:28::i;:::-;3004:201:::0;:::o;682:98::-;735:7;762:10;755:17;;682:98;:::o;17403:380::-;17556:1;17539:19;;:5;:19;;;17531:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17637:1;17618:21;;:7;:21;;;17610:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17721:6;17691:11;:18;17703:5;17691:18;;;;;;;;;;;;;;;:27;17710:7;17691:27;;;;;;;;;;;;;;;:36;;;;17759:7;17743:32;;17752:5;17743:32;;;17768:6;17743:32;;;;;;:::i;:::-;;;;;;;;17403:380;;;:::o;18074:453::-;18209:24;18236:25;18246:5;18253:7;18236:9;:25::i;:::-;18209:52;;18296:17;18276:16;:37;18272:248;;18358:6;18338:16;:26;;18330:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18442:51;18451:5;18458:7;18486:6;18467:16;:25;18442:8;:51::i;:::-;18272:248;18198:329;18074:453;;;:::o;14684:671::-;14831:1;14815:18;;:4;:18;;;14807:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14908:1;14894:16;;:2;:16;;;14886:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14963:38;14984:4;14990:2;14994:6;14963:20;:38::i;:::-;15014:19;15036:9;:15;15046:4;15036:15;;;;;;;;;;;;;;;;15014:37;;15085:6;15070:11;:21;;15062:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15202:6;15188:11;:20;15170:9;:15;15180:4;15170:15;;;;;;;;;;;;;;;:38;;;;15247:6;15230:9;:13;15240:2;15230:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;15286:2;15271:26;;15280:4;15271:26;;;15290:6;15271:26;;;;;;:::i;:::-;;;;;;;;15310:37;15330:4;15336:2;15340:6;15310:19;:37::i;:::-;14796:559;14684:671;;;:::o;2263:132::-;2338:12;:10;:12::i;:::-;2327:23;;:7;:5;:7::i;:::-;:23;;;2319:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2263:132::o;15642:399::-;15745:1;15726:21;;:7;:21;;;15718:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;15796:49;15825:1;15829:7;15838:6;15796:20;:49::i;:::-;15874:6;15858:12;;:22;;;;;;;:::i;:::-;;;;;;;;15913:6;15891:9;:18;15901:7;15891:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;15956:7;15935:37;;15952:1;15935:37;;;15965:6;15935:37;;;;;;:::i;:::-;;;;;;;;15985:48;16013:1;16017:7;16026:6;15985:19;:48::i;:::-;15642:399;;:::o;3365:191::-;3439:16;3458:6;;;;;;;;;;;3439:25;;3484:8;3475:6;;:17;;;;;;;;;;;;;;;;;;3539:8;3508:40;;3529:8;3508:40;;;;;;;;;;;;3428:128;3365:191;:::o;19127:125::-;;;;:::o;19856: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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:117::-;5297:1;5294;5287:12;5311:117;5420:1;5417;5410:12;5434:117;5543:1;5540;5533:12;5574:568;5647:8;5657:6;5707:3;5700:4;5692:6;5688:17;5684:27;5674:122;;5715:79;;:::i;:::-;5674:122;5828:6;5815:20;5805:30;;5858:18;5850:6;5847:30;5844:117;;;5880:79;;:::i;:::-;5844:117;5994:4;5986:6;5982:17;5970:29;;6048:3;6040:4;6032:6;6028:17;6018:8;6014:32;6011:41;6008:128;;;6055:79;;:::i;:::-;6008:128;5574:568;;;;;:::o;6165:::-;6238:8;6248:6;6298:3;6291:4;6283:6;6279:17;6275:27;6265:122;;6306:79;;:::i;:::-;6265:122;6419:6;6406:20;6396:30;;6449:18;6441:6;6438:30;6435:117;;;6471:79;;:::i;:::-;6435:117;6585:4;6577:6;6573:17;6561:29;;6639:3;6631:4;6623:6;6619:17;6609:8;6605:32;6602:41;6599:128;;;6646:79;;:::i;:::-;6599:128;6165:568;;;;;:::o;6739:934::-;6861:6;6869;6877;6885;6934:2;6922:9;6913:7;6909:23;6905:32;6902:119;;;6940:79;;:::i;:::-;6902:119;7088:1;7077:9;7073:17;7060:31;7118:18;7110:6;7107:30;7104:117;;;7140:79;;:::i;:::-;7104:117;7253:80;7325:7;7316:6;7305:9;7301:22;7253:80;:::i;:::-;7235:98;;;;7031:312;7410:2;7399:9;7395:18;7382:32;7441:18;7433:6;7430:30;7427:117;;;7463:79;;:::i;:::-;7427:117;7576:80;7648:7;7639:6;7628:9;7624:22;7576:80;:::i;:::-;7558:98;;;;7353:313;6739:934;;;;;;;:::o;7679:329::-;7738:6;7787:2;7775:9;7766:7;7762:23;7758:32;7755:119;;;7793:79;;:::i;:::-;7755:119;7913:1;7938:53;7983:7;7974:6;7963:9;7959:22;7938:53;:::i;:::-;7928:63;;7884:117;7679:329;;;;:::o;8014:118::-;8101:24;8119:5;8101:24;:::i;:::-;8096:3;8089:37;8014:118;;:::o;8138:222::-;8231:4;8269:2;8258:9;8254:18;8246:26;;8282:71;8350:1;8339:9;8335:17;8326:6;8282:71;:::i;:::-;8138:222;;;;:::o;8366:474::-;8434:6;8442;8491:2;8479:9;8470:7;8466:23;8462:32;8459:119;;;8497:79;;:::i;:::-;8459:119;8617:1;8642:53;8687:7;8678:6;8667:9;8663:22;8642:53;:::i;:::-;8632:63;;8588:117;8744:2;8770:53;8815:7;8806:6;8795:9;8791:22;8770:53;:::i;:::-;8760:63;;8715:118;8366:474;;;;;:::o;8846:180::-;8894:77;8891:1;8884:88;8991:4;8988:1;8981:15;9015:4;9012:1;9005:15;9032:320;9076:6;9113:1;9107:4;9103:12;9093:22;;9160:1;9154:4;9150:12;9181:18;9171:81;;9237:4;9229:6;9225:17;9215:27;;9171:81;9299:2;9291:6;9288:14;9268:18;9265:38;9262:84;;9318:18;;:::i;:::-;9262:84;9083:269;9032:320;;;:::o;9358:180::-;9406:77;9403:1;9396:88;9503:4;9500:1;9493:15;9527:4;9524:1;9517:15;9544:191;9584:3;9603:20;9621:1;9603:20;:::i;:::-;9598:25;;9637:20;9655:1;9637:20;:::i;:::-;9632:25;;9680:1;9677;9673:9;9666:16;;9701:3;9698:1;9695:10;9692:36;;;9708:18;;:::i;:::-;9692:36;9544:191;;;;:::o;9741:147::-;9842:11;9879:3;9864:18;;9741:147;;;;:::o;9894:114::-;;:::o;10014:398::-;10173:3;10194:83;10275:1;10270:3;10194:83;:::i;:::-;10187:90;;10286:93;10375:3;10286:93;:::i;:::-;10404:1;10399:3;10395:11;10388:18;;10014:398;;;:::o;10418:379::-;10602:3;10624:147;10767:3;10624:147;:::i;:::-;10617:154;;10788:3;10781:10;;10418:379;;;:::o;10803:237::-;10943:34;10939:1;10931:6;10927:14;10920:58;11012:20;11007:2;10999:6;10995:15;10988:45;10803:237;:::o;11046:366::-;11188:3;11209:67;11273:2;11268:3;11209:67;:::i;:::-;11202:74;;11285:93;11374:3;11285:93;:::i;:::-;11403:2;11398:3;11394:12;11387:19;;11046:366;;;:::o;11418:419::-;11584:4;11622:2;11611:9;11607:18;11599:26;;11671:9;11665:4;11661:20;11657:1;11646:9;11642:17;11635:47;11699:131;11825:4;11699:131;:::i;:::-;11691:139;;11418:419;;;:::o;11843:180::-;11891:77;11888:1;11881:88;11988:4;11985:1;11978:15;12012:4;12009:1;12002:15;12029:233;12068:3;12091:24;12109:5;12091:24;:::i;:::-;12082:33;;12137:66;12130:5;12127:77;12124:103;;12207:18;;:::i;:::-;12124:103;12254:1;12247:5;12243:13;12236:20;;12029:233;;;:::o;12268:224::-;12408:34;12404:1;12396:6;12392:14;12385:58;12477:7;12472:2;12464:6;12460:15;12453:32;12268:224;:::o;12498:366::-;12640:3;12661:67;12725:2;12720:3;12661:67;:::i;:::-;12654:74;;12737:93;12826:3;12737:93;:::i;:::-;12855:2;12850:3;12846:12;12839:19;;12498:366;;;:::o;12870:419::-;13036:4;13074:2;13063:9;13059:18;13051:26;;13123:9;13117:4;13113:20;13109:1;13098:9;13094:17;13087:47;13151:131;13277:4;13151:131;:::i;:::-;13143:139;;12870:419;;;:::o;13295:168::-;13435:20;13431:1;13423:6;13419:14;13412:44;13295:168;:::o;13469:366::-;13611:3;13632:67;13696:2;13691:3;13632:67;:::i;:::-;13625:74;;13708:93;13797:3;13708:93;:::i;:::-;13826:2;13821:3;13817:12;13810:19;;13469:366;;;:::o;13841:419::-;14007:4;14045:2;14034:9;14030:18;14022:26;;14094:9;14088:4;14084:20;14080:1;14069:9;14065:17;14058:47;14122:131;14248:4;14122:131;:::i;:::-;14114:139;;13841:419;;;:::o;14266:410::-;14306:7;14329:20;14347:1;14329:20;:::i;:::-;14324:25;;14363:20;14381:1;14363:20;:::i;:::-;14358:25;;14418:1;14415;14411:9;14440:30;14458:11;14440:30;:::i;:::-;14429:41;;14619:1;14610:7;14606:15;14603:1;14600:22;14580:1;14573:9;14553:83;14530:139;;14649:18;;:::i;:::-;14530:139;14314:362;14266:410;;;;:::o;14682:171::-;14822:23;14818:1;14810:6;14806:14;14799:47;14682:171;:::o;14859:366::-;15001:3;15022:67;15086:2;15081:3;15022:67;:::i;:::-;15015:74;;15098:93;15187:3;15098:93;:::i;:::-;15216:2;15211:3;15207:12;15200:19;;14859:366;;;:::o;15231:419::-;15397:4;15435:2;15424:9;15420:18;15412:26;;15484:9;15478:4;15474:20;15470:1;15459:9;15455:17;15448:47;15512:131;15638:4;15512:131;:::i;:::-;15504:139;;15231:419;;;:::o;15656:102::-;15698:8;15745:5;15742:1;15738:13;15717:34;;15656:102;;;:::o;15764:848::-;15825:5;15832:4;15856:6;15847:15;;15880:5;15871:14;;15894:712;15915:1;15905:8;15902:15;15894:712;;;16010:4;16005:3;16001:14;15995:4;15992:24;15989:50;;;16019:18;;:::i;:::-;15989:50;16069:1;16059:8;16055:16;16052:451;;;16484:4;16477:5;16473:16;16464:25;;16052:451;16534:4;16528;16524:15;16516:23;;16564:32;16587:8;16564:32;:::i;:::-;16552:44;;15894:712;;;15764:848;;;;;;;:::o;16618:1073::-;16672:5;16863:8;16853:40;;16884:1;16875:10;;16886:5;;16853:40;16912:4;16902:36;;16929:1;16920:10;;16931:5;;16902:36;16998:4;17046:1;17041:27;;;;17082:1;17077:191;;;;16991:277;;17041:27;17059:1;17050:10;;17061:5;;;17077:191;17122:3;17112:8;17109:17;17106:43;;;17129:18;;:::i;:::-;17106:43;17178:8;17175:1;17171:16;17162:25;;17213:3;17206:5;17203:14;17200:40;;;17220:18;;:::i;:::-;17200:40;17253:5;;;16991:277;;17377:2;17367:8;17364:16;17358:3;17352:4;17349:13;17345:36;17327:2;17317:8;17314:16;17309:2;17303:4;17300:12;17296:35;17280:111;17277:246;;;17433:8;17427:4;17423:19;17414:28;;17468:3;17461:5;17458:14;17455:40;;;17475:18;;:::i;:::-;17455:40;17508:5;;17277:246;17548:42;17586:3;17576:8;17570:4;17567:1;17548:42;:::i;:::-;17533:57;;;;17622:4;17617:3;17613:14;17606:5;17603:25;17600:51;;;17631:18;;:::i;:::-;17600:51;17680:4;17673:5;17669:16;17660:25;;16618:1073;;;;;;:::o;17697:285::-;17757:5;17781:23;17799:4;17781:23;:::i;:::-;17773:31;;17825:27;17843:8;17825:27;:::i;:::-;17813:39;;17871:104;17908:66;17898:8;17892:4;17871:104;:::i;:::-;17862:113;;17697:285;;;;:::o;17988:165::-;18128:17;18124:1;18116:6;18112:14;18105:41;17988:165;:::o;18159:366::-;18301:3;18322:67;18386:2;18381:3;18322:67;:::i;:::-;18315:74;;18398:93;18487:3;18398:93;:::i;:::-;18516:2;18511:3;18507:12;18500:19;;18159:366;;;:::o;18531:419::-;18697:4;18735:2;18724:9;18720:18;18712:26;;18784:9;18778:4;18774:20;18770:1;18759:9;18755:17;18748:47;18812:131;18938:4;18812:131;:::i;:::-;18804:139;;18531:419;;;:::o;18956:225::-;19096:34;19092:1;19084:6;19080:14;19073:58;19165:8;19160:2;19152:6;19148:15;19141:33;18956:225;:::o;19187:366::-;19329:3;19350:67;19414:2;19409:3;19350:67;:::i;:::-;19343:74;;19426:93;19515:3;19426:93;:::i;:::-;19544:2;19539:3;19535:12;19528:19;;19187:366;;;:::o;19559:419::-;19725:4;19763:2;19752:9;19748:18;19740:26;;19812:9;19806:4;19802:20;19798:1;19787:9;19783:17;19776:47;19840:131;19966:4;19840:131;:::i;:::-;19832:139;;19559:419;;;:::o;19984:223::-;20124:34;20120:1;20112:6;20108:14;20101:58;20193:6;20188:2;20180:6;20176:15;20169:31;19984:223;:::o;20213:366::-;20355:3;20376:67;20440:2;20435:3;20376:67;:::i;:::-;20369:74;;20452:93;20541:3;20452:93;:::i;:::-;20570:2;20565:3;20561:12;20554:19;;20213:366;;;:::o;20585:419::-;20751:4;20789:2;20778:9;20774:18;20766:26;;20838:9;20832:4;20828:20;20824:1;20813:9;20809:17;20802:47;20866:131;20992:4;20866:131;:::i;:::-;20858:139;;20585:419;;;:::o;21010:221::-;21150:34;21146:1;21138:6;21134:14;21127:58;21219:4;21214:2;21206:6;21202:15;21195:29;21010:221;:::o;21237:366::-;21379:3;21400:67;21464:2;21459:3;21400:67;:::i;:::-;21393:74;;21476:93;21565:3;21476:93;:::i;:::-;21594:2;21589:3;21585:12;21578:19;;21237:366;;;:::o;21609:419::-;21775:4;21813:2;21802:9;21798:18;21790:26;;21862:9;21856:4;21852:20;21848:1;21837:9;21833:17;21826:47;21890:131;22016:4;21890:131;:::i;:::-;21882:139;;21609:419;;;:::o;22034:179::-;22174:31;22170:1;22162:6;22158:14;22151:55;22034:179;:::o;22219:366::-;22361:3;22382:67;22446:2;22441:3;22382:67;:::i;:::-;22375:74;;22458:93;22547:3;22458:93;:::i;:::-;22576:2;22571:3;22567:12;22560:19;;22219:366;;;:::o;22591:419::-;22757:4;22795:2;22784:9;22780:18;22772:26;;22844:9;22838:4;22834:20;22830:1;22819:9;22815:17;22808:47;22872:131;22998:4;22872:131;:::i;:::-;22864:139;;22591:419;;;:::o;23016:224::-;23156:34;23152:1;23144:6;23140:14;23133:58;23225:7;23220:2;23212:6;23208:15;23201:32;23016:224;:::o;23246:366::-;23388:3;23409:67;23473:2;23468:3;23409:67;:::i;:::-;23402:74;;23485:93;23574:3;23485:93;:::i;:::-;23603:2;23598:3;23594:12;23587:19;;23246:366;;;:::o;23618:419::-;23784:4;23822:2;23811:9;23807:18;23799:26;;23871:9;23865:4;23861:20;23857:1;23846:9;23842:17;23835:47;23899:131;24025:4;23899:131;:::i;:::-;23891:139;;23618:419;;;:::o;24043:222::-;24183:34;24179:1;24171:6;24167:14;24160:58;24252:5;24247:2;24239:6;24235:15;24228:30;24043:222;:::o;24271:366::-;24413:3;24434:67;24498:2;24493:3;24434:67;:::i;:::-;24427:74;;24510:93;24599:3;24510:93;:::i;:::-;24628:2;24623:3;24619:12;24612:19;;24271:366;;;:::o;24643:419::-;24809:4;24847:2;24836:9;24832:18;24824:26;;24896:9;24890:4;24886:20;24882:1;24871:9;24867:17;24860:47;24924:131;25050:4;24924:131;:::i;:::-;24916:139;;24643:419;;;:::o;25068:225::-;25208:34;25204:1;25196:6;25192:14;25185:58;25277:8;25272:2;25264:6;25260:15;25253:33;25068:225;:::o;25299:366::-;25441:3;25462:67;25526:2;25521:3;25462:67;:::i;:::-;25455:74;;25538:93;25627:3;25538:93;:::i;:::-;25656:2;25651:3;25647:12;25640:19;;25299:366;;;:::o;25671:419::-;25837:4;25875:2;25864:9;25860:18;25852:26;;25924:9;25918:4;25914:20;25910:1;25899:9;25895:17;25888:47;25952:131;26078:4;25952:131;:::i;:::-;25944:139;;25671:419;;;:::o;26096:182::-;26236:34;26232:1;26224:6;26220:14;26213:58;26096:182;:::o;26284:366::-;26426:3;26447:67;26511:2;26506:3;26447:67;:::i;:::-;26440:74;;26523:93;26612:3;26523:93;:::i;:::-;26641:2;26636:3;26632:12;26625:19;;26284:366;;;:::o;26656:419::-;26822:4;26860:2;26849:9;26845:18;26837:26;;26909:9;26903:4;26899:20;26895:1;26884:9;26880:17;26873:47;26937:131;27063:4;26937:131;:::i;:::-;26929:139;;26656:419;;;:::o;27081:181::-;27221:33;27217:1;27209:6;27205:14;27198:57;27081:181;:::o;27268:366::-;27410:3;27431:67;27495:2;27490:3;27431:67;:::i;:::-;27424:74;;27507:93;27596:3;27507:93;:::i;:::-;27625:2;27620:3;27616:12;27609:19;;27268:366;;;:::o;27640:419::-;27806:4;27844:2;27833:9;27829:18;27821:26;;27893:9;27887:4;27883:20;27879:1;27868:9;27864:17;27857:47;27921:131;28047:4;27921:131;:::i;:::-;27913:139;;27640:419;;;:::o
Swarm Source
ipfs://75d83622f23f05d46c170f3f0a7b7948e0cff3474eebe288ae3724ff3c3f9275
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.