Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 83 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deposit Blub For | 15083151 | 754 days ago | IN | 0 ETH | 0.0012612 | ||||
Transfer Blub | 15078814 | 754 days ago | IN | 0 ETH | 0.00113357 | ||||
Transfer Blub | 15052402 | 758 days ago | IN | 0 ETH | 0.00314011 | ||||
Transfer Blub | 15045319 | 760 days ago | IN | 0 ETH | 0.00399208 | ||||
Transfer Blub | 15019082 | 764 days ago | IN | 0 ETH | 0.00227927 | ||||
Transfer Blub | 15018961 | 764 days ago | IN | 0 ETH | 0.00400415 | ||||
Deposit Blub For | 14985233 | 771 days ago | IN | 0 ETH | 0.00096314 | ||||
Deposit Blub For | 14985232 | 771 days ago | IN | 0 ETH | 0.00135427 | ||||
Deposit Blub For | 14979584 | 772 days ago | IN | 0 ETH | 0.00138834 | ||||
Deposit Blub For | 14979582 | 772 days ago | IN | 0 ETH | 0.00205834 | ||||
Deposit Blub For | 14973504 | 773 days ago | IN | 0 ETH | 0.00179003 | ||||
Deposit Blub For | 14973380 | 773 days ago | IN | 0 ETH | 0.00150133 | ||||
Deposit Blub For | 14787225 | 803 days ago | IN | 0 ETH | 0.00223725 | ||||
Deposit Blub For | 14752101 | 809 days ago | IN | 0 ETH | 0.00157996 | ||||
Deposit Blub For | 14739537 | 811 days ago | IN | 0 ETH | 0.00109828 | ||||
Transfer Blub | 14734784 | 812 days ago | IN | 0 ETH | 0.00203113 | ||||
Transfer Blub | 14727553 | 813 days ago | IN | 0 ETH | 0.00161707 | ||||
Transfer Blub | 14727523 | 813 days ago | IN | 0 ETH | 0.00226637 | ||||
Transfer Blub | 14727115 | 813 days ago | IN | 0 ETH | 0.00231963 | ||||
Deposit Blub For | 14725992 | 813 days ago | IN | 0 ETH | 0.00130815 | ||||
Deposit Blub For | 14724931 | 813 days ago | IN | 0 ETH | 0.00133285 | ||||
Transfer Blub | 14723351 | 814 days ago | IN | 0 ETH | 0.00374906 | ||||
Transfer Blub | 14723290 | 814 days ago | IN | 0 ETH | 0.00382366 | ||||
Deposit Blub For | 14720837 | 814 days ago | IN | 0 ETH | 0.00166591 | ||||
Deposit Blub For | 14720600 | 814 days ago | IN | 0 ETH | 0.00252447 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
InGameBlub
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-08 */ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @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 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 Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } /** * @dev Interface for checking active staked balance of a user. */ interface IBlubSource { function getAccumulatedAmount(address staker) external view returns (uint256); } /** * @dev Interface for ERC-20 $BLUB functions that are required for in-game BLUB. */ interface ITradableBlub is IERC20 { function _authorisedMint(address sender, uint256 amount) external; function _authorisedBurn(address sender, uint256 amount) external; } /** * @dev Implementation of in-game BLUB. */ contract InGameBlub is ReentrancyGuard, Ownable { IBlubSource public BlubSource; ITradableBlub public tradableBlub; uint256 public MAX_SUPPLY; uint256 public constant MAX_TAX_VALUE = 100; uint256 public spendTaxAmount; uint256 public withdrawTaxAmount; uint256 public taxesDistributed; uint256 public activeTaxCollectedAmount; bool public tokenCapSet; bool public withdrawTaxCollectionStopped; bool public spendTaxCollectionStopped; bool public isPaused; bool public isDepositPaused; bool public isWithdrawPaused; bool public isTransferPaused; mapping (address => bool) private _isAuthorised; address[] public authorisedLog; mapping(address => uint256) public depositedAmount; mapping(address => uint256) public spentAmount; modifier onlyAuthorised { require(_isAuthorised[_msgSender()], "Not Authorised"); _; } modifier whenNotPaused { require(!isPaused, "Transfers paused!"); _; } event Withdraw(address indexed userAddress, uint256 amount, uint256 tax); event Deposit(address indexed userAddress, uint256 amount); event DepositFor(address indexed caller, address indexed userAddress, uint256 amount); event Spend(address indexed caller, address indexed userAddress, uint256 amount, uint256 tax); event ClaimTax(address indexed caller, address indexed userAddress, uint256 amount); event InternalTransfer(address indexed from, address indexed to, uint256 amount); constructor(address _source) { _isAuthorised[_msgSender()] = true; isPaused = true; isTransferPaused = true; isDepositPaused = true; isWithdrawPaused = true; withdrawTaxAmount = 25; spendTaxAmount = 25; BlubSource = IBlubSource(_source); } /** * @dev Returns current spendable balance of a specific user. This balance can be spent by user for other collections without * withdrawal to ERC-20 Blub OR can be withdrawn to ERC-20 Blub. */ function getUserBalance(address user) public view returns (uint256) { return (BlubSource.getAccumulatedAmount(user) + depositedAmount[user] - spentAmount[user]); } /** * @dev Function to deposit ERC-20 Blub to the game balance. */ function depositBlub(uint256 amount) public nonReentrant whenNotPaused { require(!isDepositPaused, "Deposit Paused"); require(tradableBlub.balanceOf(_msgSender()) >= amount, "Insufficient balance"); tradableBlub._authorisedBurn(_msgSender(), amount); depositedAmount[_msgSender()] += amount; emit Deposit( _msgSender(), amount ); } /** * @dev Function to withdraw game Blub to ERC-20 Blub. */ function withdrawBlub(uint256 amount) public nonReentrant whenNotPaused { require(!isWithdrawPaused, "Withdraw Paused"); require(getUserBalance(_msgSender()) >= amount, "Insufficient balance"); uint256 tax = withdrawTaxCollectionStopped ? 0 : (amount * withdrawTaxAmount) / 100; spentAmount[_msgSender()] += amount; activeTaxCollectedAmount += tax; tradableBlub._authorisedMint(_msgSender(), (amount - tax)); emit Withdraw( _msgSender(), amount, tax ); } /** * @dev Function to transfer game Blub from one account to another. */ function transferBlub(address to, uint256 amount) public nonReentrant whenNotPaused { require(!isTransferPaused, "Transfer Paused"); require(getUserBalance(_msgSender()) >= amount, "Insufficient balance"); spentAmount[_msgSender()] += amount; depositedAmount[to] += amount; emit InternalTransfer( _msgSender(), to, amount ); } /** * @dev Function to spend user balance. Can be called by other authorised contracts. To be used for internal purchases of other NFTs, etc. */ function spendBlub(address user, uint256 amount) external onlyAuthorised nonReentrant { require(getUserBalance(user) >= amount, "Insufficient balance"); uint256 tax = spendTaxCollectionStopped ? 0 : (amount * spendTaxAmount) / 100; spentAmount[user] += amount; activeTaxCollectedAmount += tax; emit Spend( _msgSender(), user, amount, tax ); } /** * @dev Function to deposit tokens to a user balance. Can be only called by an authorised contracts. */ function depositBlubFor(address user, uint256 amount) public onlyAuthorised nonReentrant { _depositBlubFor(user, amount); } /** * @dev Function to distribute tokens to the user balances. Can be only called by an authorised users. */ function distributeBlub(address[] memory user, uint256[] memory amount) public onlyAuthorised nonReentrant { require(user.length == amount.length, "Wrong arrays passed"); for (uint256 i; i < user.length; i++) { _depositBlubFor(user[i], amount[i]); } } /** * @dev Function to distribute a constant amount of tokens to the user balances. Can be only called by an authorised users. */ function distributeBlubConstant(address[] memory user, uint256 amount) public onlyAuthorised nonReentrant { for (uint256 i; i < user.length; i++) { _depositBlubFor(user[i], amount); } } function _depositBlubFor(address user, uint256 amount) internal { require(user != address(0), "Deposit to 0 address"); depositedAmount[user] += amount; emit DepositFor( _msgSender(), user, amount ); } /** * @dev Function to mint tokens to a user balance. Can be only called by an authorised contracts. */ function mintFor(address user, uint256 amount) external onlyAuthorised nonReentrant { if (tokenCapSet) require(tradableBlub.totalSupply() + amount <= MAX_SUPPLY, "You try to mint more than max supply"); tradableBlub._authorisedMint(user, amount); } /** * @dev Function to claim tokens from the tax accumulated pot. Can be only called by an authorised contracts. */ function claimBlubTax(address user, uint256 amount) public onlyAuthorised nonReentrant { require(activeTaxCollectedAmount >= amount, "Insufficiend tax balance"); activeTaxCollectedAmount -= amount; depositedAmount[user] += amount; taxesDistributed += amount; emit ClaimTax( _msgSender(), user, amount ); } /** * @dev Function returns maxSupply set by admin. By default returns error (Max supply is not set). */ function getMaxSupply() public view returns (uint256) { require(tokenCapSet, "Max supply is not set"); return MAX_SUPPLY; } /* ADMIN FUNCTIONS */ /** * @dev Function allows admin to set total supply of Blub token. */ function setTokenCap(uint256 newTokenCap) public onlyOwner { require(tradableBlub.totalSupply() < newTokenCap, "Value is smaller than the number of existing tokens"); require(!tokenCapSet, "Token cap has been already set"); MAX_SUPPLY = newTokenCap; } /** * @dev Function stops any further minting of Blub. */ function lockTokenCapForever(bool _lock) public onlyOwner { require(!tokenCapSet, "Token cap has been locked"); tokenCapSet = _lock; } /** * @dev Function allows admin add authorised address. The function also logs what addresses were authorised for transparancy. */ function authorise(address addressToAuth) public onlyOwner { _isAuthorised[addressToAuth] = true; authorisedLog.push(addressToAuth); } /** * @dev Function allows admin add unauthorised address. */ function unauthorise(address addressToUnAuth) public onlyOwner { _isAuthorised[addressToUnAuth] = false; } /** * @dev Function allows admin update the address of staking address. */ function changeBlubSourceContract(address _source) public onlyOwner { BlubSource = IBlubSource(_source); authorise(_source); } /** * @dev Function allows admin update the address of staking address. */ function changeTradableBlubContract(address _newTradableBlub) public onlyOwner { tradableBlub = ITradableBlub(_newTradableBlub); authorise(_newTradableBlub); } /** * @dev Function allows admin to update limit of tax on withdraw. */ function updateWithdrawTaxAmount(uint256 _taxAmount) public onlyOwner { require(_taxAmount < MAX_TAX_VALUE, "Wrong value passed"); withdrawTaxAmount = _taxAmount; } /** * @dev Function allows admin to update tax amount on spend. */ function updateSpendTaxAmount(uint256 _taxAmount) public onlyOwner { require(_taxAmount < MAX_TAX_VALUE, "Wrong value passed"); spendTaxAmount = _taxAmount; } /** * @dev Function allows admin to stop tax collection on withdraw. */ function stopTaxCollectionOnWithdraw(bool _stop) public onlyOwner { withdrawTaxCollectionStopped = _stop; } /** * @dev Function allows admin to stop tax collection on spend. */ function stopTaxCollectionOnSpend(bool _stop) public onlyOwner { spendTaxCollectionStopped = _stop; } /** * @dev Function allows admin to pause all in game Blub transfactions. */ function pauseGameBlub(bool _pause) public onlyOwner { isPaused = _pause; } /** * @dev Function allows admin to pause in game Blub transfers. */ function pauseTransfers(bool _pause) public onlyOwner { isTransferPaused = _pause; } /** * @dev Function allows admin to pause in game Blub withdraw. */ function pauseWithdraw(bool _pause) public onlyOwner { isWithdrawPaused = _pause; } /** * @dev Function allows admin to pause in game Blub deposit. */ function pauseDeposits(bool _pause) public onlyOwner { isDepositPaused = _pause; } /** * @dev Function allows admin to withdraw ETH accidentally dropped to the contract. */ function rescue() external onlyOwner { payable(owner()).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_source","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DepositFor","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":"amount","type":"uint256"}],"name":"InternalTransfer","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":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"Spend","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"BlubSource","outputs":[{"internalType":"contract IBlubSource","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_TAX_VALUE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeTaxCollectedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addressToAuth","type":"address"}],"name":"authorise","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"authorisedLog","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_source","type":"address"}],"name":"changeBlubSourceContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTradableBlub","type":"address"}],"name":"changeTradableBlubContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimBlubTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositBlub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositBlubFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"user","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"distributeBlub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"user","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distributeBlubConstant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isDepositPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTransferPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isWithdrawPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_lock","type":"bool"}],"name":"lockTokenCapForever","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_pause","type":"bool"}],"name":"pauseDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_pause","type":"bool"}],"name":"pauseGameBlub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_pause","type":"bool"}],"name":"pauseTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_pause","type":"bool"}],"name":"pauseWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTokenCap","type":"uint256"}],"name":"setTokenCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"spendBlub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"spendTaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"spendTaxCollectionStopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"spentAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_stop","type":"bool"}],"name":"stopTaxCollectionOnSpend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_stop","type":"bool"}],"name":"stopTaxCollectionOnWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"taxesDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenCapSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradableBlub","outputs":[{"internalType":"contract ITradableBlub","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferBlub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressToUnAuth","type":"address"}],"name":"unauthorise","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxAmount","type":"uint256"}],"name":"updateSpendTaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxAmount","type":"uint256"}],"name":"updateWithdrawTaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawBlub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawTaxCollectionStopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620024d2380380620024d2833981016040819052620000349162000151565b60016000556200004d62000047620000fb565b620000ff565b6001600a60006200005d620000fb565b6001600160a01b0390811682526020820192909252604001600020805460ff19169215159290921790915560098054650100000000006401000000006601000000000000630100000063ff000000199094169390931760ff60301b19169290921760ff60201b19169190911760ff60281b191617905560196006819055600555600280546001600160a01b0319169290911691909117905562000181565b3390565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121562000163578081fd5b81516001600160a01b03811681146200017a578182fd5b9392505050565b61234180620001916000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c806374071c1c11610167578063c82bc61d116100ce578063f11aafe111610087578063f11aafe114610527578063f2adb6371461053a578063f2fde38b14610542578063f560d0b214610555578063fdd46c431461055d578063fec061531461057057610295565b8063c82bc61d146104b5578063da1919b3146104c8578063dc6f75fe146104db578063e4208fdb146104ee578063e6bcc16e14610501578063ebd462cb1461051457610295565b80639a25ad7c116101205780639a25ad7c1461046f5780639d724bd014610477578063a1a1ef431461047f578063a777f21e14610487578063b187bd261461049a578063ba558e77146104a257610295565b806374071c1c1461041157806376272e9e146104245780637e22e39d1461042c57806380833d78146104345780638d3da8d9146104475780638da5cb5b1461045a57610295565b806351a255661161020b5780636d031d0a116101c45780636d031d0a146103b55780636d70099e146103c85780636f92a74a146103db578063710cf8e6146103ee578063715018a6146103f6578063738b62e5146103fe57610295565b806351a255661461034e57806359d7d9de1461036157806362df74e114610374578063651808811461038757806366e6c8af1461039a57806367800b5f146103ad57610295565b806332935a2d1161025d57806332935a2d146102f257806332cb6b0c14610305578063434b42d01461030d57806347734892146103205780634a4643f7146103335780634c0f38c21461034657610295565b80631fbe19791461029a57806320076ee6146102a4578063200847dd146102c25780632041baf1146102d75780632854bc7e146102df575b600080fd5b6102a2610578565b005b6102ac610603565b6040516102b991906121f1565b60405180910390f35b6102ca610608565b6040516102b99190611e47565b6102ac610611565b6102a26102ed366004611dea565b610617565b6102a2610300366004611d87565b610717565b6102ac6107dd565b6102a261031b366004611dea565b6107e3565b6102ac61032e366004611c84565b610a00565b6102ac610341366004611c84565b610ac0565b6102ac610ad2565b6102a261035c366004611dca565b610afe565b6102a261036f366004611dca565b610b57565b6102a2610382366004611ca5565b610bb2565b6102a2610395366004611ca5565b610c32565b6102a26103a8366004611c84565b610d79565b6102ca610e1e565b6102ac6103c3366004611c84565b610e30565b6102a26103d6366004611ca5565b610e42565b6102a26103e9366004611dea565b610fb5565b6102ca611019565b6102a2611027565b6102a261040c366004611dca565b611072565b6102a261041f366004611cce565b6110d1565b6102ac6111d5565b6102ca6111db565b6102a2610442366004611c84565b6111ea565b6102a2610455366004611dca565b61124a565b6104626112a7565b6040516102b99190611e1a565b6102ac6112b6565b6104626112bc565b6102ca6112cb565b6102a2610495366004611c84565b6112db565b6102ca61133e565b6102a26104b0366004611dea565b61134e565b6104626104c3366004611dea565b61154b565b6102a26104d6366004611ca5565b611575565b6102a26104e9366004611ca5565b61170c565b6102a26104fc366004611c84565b61186a565b6102a261050f366004611dea565b6118cd565b6102a2610522366004611dca565b611931565b6102a2610535366004611dca565b611992565b6104626119f2565b6102a2610550366004611c84565b611a01565b6102ca611a6f565b6102a261056b366004611dca565b611a80565b6102ac611af5565b610580611afb565b6001600160a01b03166105916112a7565b6001600160a01b0316146105c05760405162461bcd60e51b81526004016105b79061204b565b60405180910390fd5b6105c86112a7565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610600573d6000803e3d6000fd5b50565b606481565b60095460ff1681565b60085481565b61061f611afb565b6001600160a01b03166106306112a7565b6001600160a01b0316146106565760405162461bcd60e51b81526004016105b79061204b565b600354604080516318160ddd60e01b8152905183926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561069a57600080fd5b505afa1580156106ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d29190611e02565b106106ef5760405162461bcd60e51b81526004016105b790612080565b60095460ff16156107125760405162461bcd60e51b81526004016105b790611f88565b600455565b600a6000610723611afb565b6001600160a01b0316815260208101919091526040016000205460ff1661075c5760405162461bcd60e51b81526004016105b790611e7a565b6002600054141561077f5760405162461bcd60e51b81526004016105b7906121ba565b600260009081555b82518110156107d3576107c18382815181106107b357634e487b7160e01b600052603260045260246000fd5b602002602001015183611aff565b806107cb816122c4565b915050610787565b5050600160005550565b60045481565b600260005414156108065760405162461bcd60e51b81526004016105b7906121ba565b60026000556009546301000000900460ff16156108355760405162461bcd60e51b81526004016105b790612162565b600954640100000000900460ff16156108605760405162461bcd60e51b81526004016105b790611e52565b60035481906001600160a01b03166370a0823161087b611afb565b6040518263ffffffff1660e01b81526004016108979190611e1a565b60206040518083038186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190611e02565b10156109055760405162461bcd60e51b81526004016105b790611f5a565b6003546001600160a01b0316634063367861091e611afb565b836040518363ffffffff1660e01b815260040161093c929190611e2e565b600060405180830381600087803b15801561095657600080fd5b505af115801561096a573d6000803e3d6000fd5b5050505080600c600061097b611afb565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109aa9190612256565b909155506109b89050611afb565b6001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c826040516109f091906121f1565b60405180910390a2506001600055565b6001600160a01b038082166000908152600d6020908152604080832054600c909252808320546002549151630412966760e01b81529394929390929190911690630412966790610a54908790600401611e1a565b60206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611e02565b610aae9190612256565b610ab891906122ad565b90505b919050565b600c6020526000908152604090205481565b60095460009060ff16610af75760405162461bcd60e51b81526004016105b7906120fc565b5060045490565b610b06611afb565b6001600160a01b0316610b176112a7565b6001600160a01b031614610b3d5760405162461bcd60e51b81526004016105b79061204b565b600980549115156101000261ff0019909216919091179055565b610b5f611afb565b6001600160a01b0316610b706112a7565b6001600160a01b031614610b965760405162461bcd60e51b81526004016105b79061204b565b60098054911515620100000262ff000019909216919091179055565b600a6000610bbe611afb565b6001600160a01b0316815260208101919091526040016000205460ff16610bf75760405162461bcd60e51b81526004016105b790611e7a565b60026000541415610c1a5760405162461bcd60e51b81526004016105b7906121ba565b6002600055610c298282611aff565b50506001600055565b600a6000610c3e611afb565b6001600160a01b0316815260208101919091526040016000205460ff16610c775760405162461bcd60e51b81526004016105b790611e7a565b60026000541415610c9a5760405162461bcd60e51b81526004016105b7906121ba565b6002600055600854811115610cc15760405162461bcd60e51b81526004016105b790611fbf565b8060086000828254610cd391906122ad565b90915550506001600160a01b0382166000908152600c602052604081208054839290610d00908490612256565b925050819055508060076000828254610d199190612256565b90915550506001600160a01b038216610d30611afb565b6001600160a01b03167f1ad2283cc65e3e122c0a874bda25abbd844e8ae88fa9512b4849ee1b58b6570d83604051610d6891906121f1565b60405180910390a350506001600055565b610d81611afb565b6001600160a01b0316610d926112a7565b6001600160a01b031614610db85760405162461bcd60e51b81526004016105b79061204b565b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b60095465010000000000900460ff1681565b600d6020526000908152604090205481565b600a6000610e4e611afb565b6001600160a01b0316815260208101919091526040016000205460ff16610e875760405162461bcd60e51b81526004016105b790611e7a565b60026000541415610eaa5760405162461bcd60e51b81526004016105b7906121ba565b600260005580610eb983610a00565b1015610ed75760405162461bcd60e51b81526004016105b790611f5a565b60095460009062010000900460ff16610f0957606460055483610efa919061228e565b610f04919061226e565b610f0c565b60005b6001600160a01b0384166000908152600d6020526040812080549293508492909190610f39908490612256565b925050819055508060086000828254610f529190612256565b90915550506001600160a01b038316610f69611afb565b6001600160a01b03167fed8cfe3600cacf009dc67354491d44da19a77f26a4aed42181ba6824ccb35d728484604051610fa39291906121fa565b60405180910390a35050600160005550565b610fbd611afb565b6001600160a01b0316610fce6112a7565b6001600160a01b031614610ff45760405162461bcd60e51b81526004016105b79061204b565b606481106110145760405162461bcd60e51b81526004016105b790611ff6565b600555565b600954610100900460ff1681565b61102f611afb565b6001600160a01b03166110406112a7565b6001600160a01b0316146110665760405162461bcd60e51b81526004016105b79061204b565b6110706000611ba8565b565b61107a611afb565b6001600160a01b031661108b6112a7565b6001600160a01b0316146110b15760405162461bcd60e51b81526004016105b79061204b565b600980549115156401000000000264ff0000000019909216919091179055565b600a60006110dd611afb565b6001600160a01b0316815260208101919091526040016000205460ff166111165760405162461bcd60e51b81526004016105b790611e7a565b600260005414156111395760405162461bcd60e51b81526004016105b7906121ba565b6002600055805182511461115f5760405162461bcd60e51b81526004016105b79061218d565b60005b82518110156107d3576111c383828151811061118e57634e487b7160e01b600052603260045260246000fd5b60200260200101518383815181106111b657634e487b7160e01b600052603260045260246000fd5b6020026020010151611aff565b806111cd816122c4565b915050611162565b60075481565b60095462010000900460ff1681565b6111f2611afb565b6001600160a01b03166112036112a7565b6001600160a01b0316146112295760405162461bcd60e51b81526004016105b79061204b565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b611252611afb565b6001600160a01b03166112636112a7565b6001600160a01b0316146112895760405162461bcd60e51b81526004016105b79061204b565b6009805491151563010000000263ff00000019909216919091179055565b6001546001600160a01b031690565b60065481565b6003546001600160a01b031681565b600954600160301b900460ff1681565b6112e3611afb565b6001600160a01b03166112f46112a7565b6001600160a01b03161461131a5760405162461bcd60e51b81526004016105b79061204b565b600380546001600160a01b0319166001600160a01b03831617905561060081610d79565b6009546301000000900460ff1681565b600260005414156113715760405162461bcd60e51b81526004016105b7906121ba565b60026000556009546301000000900460ff16156113a05760405162461bcd60e51b81526004016105b790612162565b60095465010000000000900460ff16156113cc5760405162461bcd60e51b81526004016105b790612022565b806113d861032e611afb565b10156113f65760405162461bcd60e51b81526004016105b790611f5a565b600954600090610100900460ff1661142757606460065483611418919061228e565b611422919061226e565b61142a565b60005b905081600d6000611439611afb565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546114689190612256565b9250508190555080600860008282546114819190612256565b90915550506003546001600160a01b031663c513b9e361149f611afb565b6114a984866122ad565b6040518363ffffffff1660e01b81526004016114c6929190611e2e565b600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050611500611afb565b6001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568838360405161153a9291906121fa565b60405180910390a250506001600055565b600b818154811061155b57600080fd5b6000918252602090912001546001600160a01b0316905081565b600a6000611581611afb565b6001600160a01b0316815260208101919091526040016000205460ff166115ba5760405162461bcd60e51b81526004016105b790611e7a565b600260005414156115dd5760405162461bcd60e51b81526004016105b7906121ba565b600260005560095460ff161561169f5760045481600360009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561163f57600080fd5b505afa158015611653573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116779190611e02565b6116819190612256565b111561169f5760405162461bcd60e51b81526004016105b790611f16565b60035460405163c513b9e360e01b81526001600160a01b039091169063c513b9e3906116d19085908590600401611e2e565b600060405180830381600087803b1580156116eb57600080fd5b505af11580156116ff573d6000803e3d6000fd5b5050600160005550505050565b6002600054141561172f5760405162461bcd60e51b81526004016105b7906121ba565b60026000556009546301000000900460ff161561175e5760405162461bcd60e51b81526004016105b790612162565b600954600160301b900460ff16156117885760405162461bcd60e51b81526004016105b7906120d3565b8061179461032e611afb565b10156117b25760405162461bcd60e51b81526004016105b790611f5a565b80600d60006117bf611afb565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546117ee9190612256565b90915550506001600160a01b0382166000908152600c60205260408120805483929061181b908490612256565b90915550506001600160a01b038216611832611afb565b6001600160a01b03167fe2080c8fc8d86c864d8dc081fadaebf2be7191086615e786f954420f13ed122a83604051610d6891906121f1565b611872611afb565b6001600160a01b03166118836112a7565b6001600160a01b0316146118a95760405162461bcd60e51b81526004016105b79061204b565b600280546001600160a01b0319166001600160a01b03831617905561060081610d79565b6118d5611afb565b6001600160a01b03166118e66112a7565b6001600160a01b03161461190c5760405162461bcd60e51b81526004016105b79061204b565b6064811061192c5760405162461bcd60e51b81526004016105b790611ff6565b600655565b611939611afb565b6001600160a01b031661194a6112a7565b6001600160a01b0316146119705760405162461bcd60e51b81526004016105b79061204b565b60098054911515650100000000000265ff000000000019909216919091179055565b61199a611afb565b6001600160a01b03166119ab6112a7565b6001600160a01b0316146119d15760405162461bcd60e51b81526004016105b79061204b565b60098054911515600160301b0266ff00000000000019909216919091179055565b6002546001600160a01b031681565b611a09611afb565b6001600160a01b0316611a1a6112a7565b6001600160a01b031614611a405760405162461bcd60e51b81526004016105b79061204b565b6001600160a01b038116611a665760405162461bcd60e51b81526004016105b790611ea2565b61060081611ba8565b600954640100000000900460ff1681565b611a88611afb565b6001600160a01b0316611a996112a7565b6001600160a01b031614611abf5760405162461bcd60e51b81526004016105b79061204b565b60095460ff1615611ae25760405162461bcd60e51b81526004016105b79061212b565b6009805460ff1916911515919091179055565b60055481565b3390565b6001600160a01b038216611b255760405162461bcd60e51b81526004016105b790611ee8565b6001600160a01b0382166000908152600c602052604081208054839290611b4d908490612256565b90915550506001600160a01b038216611b64611afb565b6001600160a01b03167f6b64443f4cc3aac2df66fff76675a29dc321ce9efebffb006f528db1690179a083604051611b9c91906121f1565b60405180910390a35050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80356001600160a01b0381168114610abb57600080fd5b600082601f830112611c21578081fd5b81356020611c36611c3183612232565b612208565b8281528181019085830183850287018401881015611c52578586fd5b855b85811015611c7757611c6582611bfa565b84529284019290840190600101611c54565b5090979650505050505050565b600060208284031215611c95578081fd5b611c9e82611bfa565b9392505050565b60008060408385031215611cb7578081fd5b611cc083611bfa565b946020939093013593505050565b60008060408385031215611ce0578182fd5b823567ffffffffffffffff80821115611cf7578384fd5b611d0386838701611c11565b9350602091508185013581811115611d19578384fd5b85019050601f81018613611d2b578283fd5b8035611d39611c3182612232565b81815283810190838501858402850186018a1015611d55578687fd5b8694505b83851015611d77578035835260019490940193918501918501611d59565b5080955050505050509250929050565b60008060408385031215611d99578182fd5b823567ffffffffffffffff811115611daf578283fd5b611dbb85828601611c11565b95602094909401359450505050565b600060208284031215611ddb578081fd5b81358015158114611c9e578182fd5b600060208284031215611dfb578081fd5b5035919050565b600060208284031215611e13578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600e908201526d11195c1bdcda5d0814185d5cd95960921b604082015260600190565b6020808252600e908201526d139bdd08105d5d1a1bdc9a5cd95960921b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601490820152734465706f73697420746f2030206164647265737360601b604082015260600190565b60208082526024908201527f596f752074727920746f206d696e74206d6f7265207468616e206d617820737560408201526370706c7960e01b606082015260800190565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b6020808252601e908201527f546f6b656e2063617020686173206265656e20616c7265616479207365740000604082015260600190565b60208082526018908201527f496e73756666696369656e64207461782062616c616e63650000000000000000604082015260600190565b60208082526012908201527115dc9bdb99c81d985b1d59481c185cdcd95960721b604082015260600190565b6020808252600f908201526e15da5d1a191c985dc814185d5cd959608a1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526033908201527f56616c756520697320736d616c6c6572207468616e20746865206e756d626572604082015272206f66206578697374696e6720746f6b656e7360681b606082015260800190565b6020808252600f908201526e151c985b9cd9995c8814185d5cd959608a1b604082015260600190565b60208082526015908201527413585e081cdd5c1c1b1e481a5cc81b9bdd081cd95d605a1b604082015260600190565b60208082526019908201527f546f6b656e2063617020686173206265656e206c6f636b656400000000000000604082015260600190565b6020808252601190820152705472616e7366657273207061757365642160781b604082015260600190565b60208082526013908201527215dc9bdb99c8185c9c985e5cc81c185cdcd959606a1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b90815260200190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561222a5761222a6122f5565b604052919050565b600067ffffffffffffffff82111561224c5761224c6122f5565b5060209081020190565b60008219821115612269576122696122df565b500190565b60008261228957634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156122a8576122a86122df565b500290565b6000828210156122bf576122bf6122df565b500390565b60006000198214156122d8576122d86122df565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220cbe2100812bd05b0288e1beb16347b05de5075c37ad243d8be2d345b578dc8c664736f6c63430008000033000000000000000000000000d665215893ce709b72951a816d157be616899cd2
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102955760003560e01c806374071c1c11610167578063c82bc61d116100ce578063f11aafe111610087578063f11aafe114610527578063f2adb6371461053a578063f2fde38b14610542578063f560d0b214610555578063fdd46c431461055d578063fec061531461057057610295565b8063c82bc61d146104b5578063da1919b3146104c8578063dc6f75fe146104db578063e4208fdb146104ee578063e6bcc16e14610501578063ebd462cb1461051457610295565b80639a25ad7c116101205780639a25ad7c1461046f5780639d724bd014610477578063a1a1ef431461047f578063a777f21e14610487578063b187bd261461049a578063ba558e77146104a257610295565b806374071c1c1461041157806376272e9e146104245780637e22e39d1461042c57806380833d78146104345780638d3da8d9146104475780638da5cb5b1461045a57610295565b806351a255661161020b5780636d031d0a116101c45780636d031d0a146103b55780636d70099e146103c85780636f92a74a146103db578063710cf8e6146103ee578063715018a6146103f6578063738b62e5146103fe57610295565b806351a255661461034e57806359d7d9de1461036157806362df74e114610374578063651808811461038757806366e6c8af1461039a57806367800b5f146103ad57610295565b806332935a2d1161025d57806332935a2d146102f257806332cb6b0c14610305578063434b42d01461030d57806347734892146103205780634a4643f7146103335780634c0f38c21461034657610295565b80631fbe19791461029a57806320076ee6146102a4578063200847dd146102c25780632041baf1146102d75780632854bc7e146102df575b600080fd5b6102a2610578565b005b6102ac610603565b6040516102b991906121f1565b60405180910390f35b6102ca610608565b6040516102b99190611e47565b6102ac610611565b6102a26102ed366004611dea565b610617565b6102a2610300366004611d87565b610717565b6102ac6107dd565b6102a261031b366004611dea565b6107e3565b6102ac61032e366004611c84565b610a00565b6102ac610341366004611c84565b610ac0565b6102ac610ad2565b6102a261035c366004611dca565b610afe565b6102a261036f366004611dca565b610b57565b6102a2610382366004611ca5565b610bb2565b6102a2610395366004611ca5565b610c32565b6102a26103a8366004611c84565b610d79565b6102ca610e1e565b6102ac6103c3366004611c84565b610e30565b6102a26103d6366004611ca5565b610e42565b6102a26103e9366004611dea565b610fb5565b6102ca611019565b6102a2611027565b6102a261040c366004611dca565b611072565b6102a261041f366004611cce565b6110d1565b6102ac6111d5565b6102ca6111db565b6102a2610442366004611c84565b6111ea565b6102a2610455366004611dca565b61124a565b6104626112a7565b6040516102b99190611e1a565b6102ac6112b6565b6104626112bc565b6102ca6112cb565b6102a2610495366004611c84565b6112db565b6102ca61133e565b6102a26104b0366004611dea565b61134e565b6104626104c3366004611dea565b61154b565b6102a26104d6366004611ca5565b611575565b6102a26104e9366004611ca5565b61170c565b6102a26104fc366004611c84565b61186a565b6102a261050f366004611dea565b6118cd565b6102a2610522366004611dca565b611931565b6102a2610535366004611dca565b611992565b6104626119f2565b6102a2610550366004611c84565b611a01565b6102ca611a6f565b6102a261056b366004611dca565b611a80565b6102ac611af5565b610580611afb565b6001600160a01b03166105916112a7565b6001600160a01b0316146105c05760405162461bcd60e51b81526004016105b79061204b565b60405180910390fd5b6105c86112a7565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610600573d6000803e3d6000fd5b50565b606481565b60095460ff1681565b60085481565b61061f611afb565b6001600160a01b03166106306112a7565b6001600160a01b0316146106565760405162461bcd60e51b81526004016105b79061204b565b600354604080516318160ddd60e01b8152905183926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561069a57600080fd5b505afa1580156106ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d29190611e02565b106106ef5760405162461bcd60e51b81526004016105b790612080565b60095460ff16156107125760405162461bcd60e51b81526004016105b790611f88565b600455565b600a6000610723611afb565b6001600160a01b0316815260208101919091526040016000205460ff1661075c5760405162461bcd60e51b81526004016105b790611e7a565b6002600054141561077f5760405162461bcd60e51b81526004016105b7906121ba565b600260009081555b82518110156107d3576107c18382815181106107b357634e487b7160e01b600052603260045260246000fd5b602002602001015183611aff565b806107cb816122c4565b915050610787565b5050600160005550565b60045481565b600260005414156108065760405162461bcd60e51b81526004016105b7906121ba565b60026000556009546301000000900460ff16156108355760405162461bcd60e51b81526004016105b790612162565b600954640100000000900460ff16156108605760405162461bcd60e51b81526004016105b790611e52565b60035481906001600160a01b03166370a0823161087b611afb565b6040518263ffffffff1660e01b81526004016108979190611e1a565b60206040518083038186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190611e02565b10156109055760405162461bcd60e51b81526004016105b790611f5a565b6003546001600160a01b0316634063367861091e611afb565b836040518363ffffffff1660e01b815260040161093c929190611e2e565b600060405180830381600087803b15801561095657600080fd5b505af115801561096a573d6000803e3d6000fd5b5050505080600c600061097b611afb565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109aa9190612256565b909155506109b89050611afb565b6001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c826040516109f091906121f1565b60405180910390a2506001600055565b6001600160a01b038082166000908152600d6020908152604080832054600c909252808320546002549151630412966760e01b81529394929390929190911690630412966790610a54908790600401611e1a565b60206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611e02565b610aae9190612256565b610ab891906122ad565b90505b919050565b600c6020526000908152604090205481565b60095460009060ff16610af75760405162461bcd60e51b81526004016105b7906120fc565b5060045490565b610b06611afb565b6001600160a01b0316610b176112a7565b6001600160a01b031614610b3d5760405162461bcd60e51b81526004016105b79061204b565b600980549115156101000261ff0019909216919091179055565b610b5f611afb565b6001600160a01b0316610b706112a7565b6001600160a01b031614610b965760405162461bcd60e51b81526004016105b79061204b565b60098054911515620100000262ff000019909216919091179055565b600a6000610bbe611afb565b6001600160a01b0316815260208101919091526040016000205460ff16610bf75760405162461bcd60e51b81526004016105b790611e7a565b60026000541415610c1a5760405162461bcd60e51b81526004016105b7906121ba565b6002600055610c298282611aff565b50506001600055565b600a6000610c3e611afb565b6001600160a01b0316815260208101919091526040016000205460ff16610c775760405162461bcd60e51b81526004016105b790611e7a565b60026000541415610c9a5760405162461bcd60e51b81526004016105b7906121ba565b6002600055600854811115610cc15760405162461bcd60e51b81526004016105b790611fbf565b8060086000828254610cd391906122ad565b90915550506001600160a01b0382166000908152600c602052604081208054839290610d00908490612256565b925050819055508060076000828254610d199190612256565b90915550506001600160a01b038216610d30611afb565b6001600160a01b03167f1ad2283cc65e3e122c0a874bda25abbd844e8ae88fa9512b4849ee1b58b6570d83604051610d6891906121f1565b60405180910390a350506001600055565b610d81611afb565b6001600160a01b0316610d926112a7565b6001600160a01b031614610db85760405162461bcd60e51b81526004016105b79061204b565b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b60095465010000000000900460ff1681565b600d6020526000908152604090205481565b600a6000610e4e611afb565b6001600160a01b0316815260208101919091526040016000205460ff16610e875760405162461bcd60e51b81526004016105b790611e7a565b60026000541415610eaa5760405162461bcd60e51b81526004016105b7906121ba565b600260005580610eb983610a00565b1015610ed75760405162461bcd60e51b81526004016105b790611f5a565b60095460009062010000900460ff16610f0957606460055483610efa919061228e565b610f04919061226e565b610f0c565b60005b6001600160a01b0384166000908152600d6020526040812080549293508492909190610f39908490612256565b925050819055508060086000828254610f529190612256565b90915550506001600160a01b038316610f69611afb565b6001600160a01b03167fed8cfe3600cacf009dc67354491d44da19a77f26a4aed42181ba6824ccb35d728484604051610fa39291906121fa565b60405180910390a35050600160005550565b610fbd611afb565b6001600160a01b0316610fce6112a7565b6001600160a01b031614610ff45760405162461bcd60e51b81526004016105b79061204b565b606481106110145760405162461bcd60e51b81526004016105b790611ff6565b600555565b600954610100900460ff1681565b61102f611afb565b6001600160a01b03166110406112a7565b6001600160a01b0316146110665760405162461bcd60e51b81526004016105b79061204b565b6110706000611ba8565b565b61107a611afb565b6001600160a01b031661108b6112a7565b6001600160a01b0316146110b15760405162461bcd60e51b81526004016105b79061204b565b600980549115156401000000000264ff0000000019909216919091179055565b600a60006110dd611afb565b6001600160a01b0316815260208101919091526040016000205460ff166111165760405162461bcd60e51b81526004016105b790611e7a565b600260005414156111395760405162461bcd60e51b81526004016105b7906121ba565b6002600055805182511461115f5760405162461bcd60e51b81526004016105b79061218d565b60005b82518110156107d3576111c383828151811061118e57634e487b7160e01b600052603260045260246000fd5b60200260200101518383815181106111b657634e487b7160e01b600052603260045260246000fd5b6020026020010151611aff565b806111cd816122c4565b915050611162565b60075481565b60095462010000900460ff1681565b6111f2611afb565b6001600160a01b03166112036112a7565b6001600160a01b0316146112295760405162461bcd60e51b81526004016105b79061204b565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b611252611afb565b6001600160a01b03166112636112a7565b6001600160a01b0316146112895760405162461bcd60e51b81526004016105b79061204b565b6009805491151563010000000263ff00000019909216919091179055565b6001546001600160a01b031690565b60065481565b6003546001600160a01b031681565b600954600160301b900460ff1681565b6112e3611afb565b6001600160a01b03166112f46112a7565b6001600160a01b03161461131a5760405162461bcd60e51b81526004016105b79061204b565b600380546001600160a01b0319166001600160a01b03831617905561060081610d79565b6009546301000000900460ff1681565b600260005414156113715760405162461bcd60e51b81526004016105b7906121ba565b60026000556009546301000000900460ff16156113a05760405162461bcd60e51b81526004016105b790612162565b60095465010000000000900460ff16156113cc5760405162461bcd60e51b81526004016105b790612022565b806113d861032e611afb565b10156113f65760405162461bcd60e51b81526004016105b790611f5a565b600954600090610100900460ff1661142757606460065483611418919061228e565b611422919061226e565b61142a565b60005b905081600d6000611439611afb565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546114689190612256565b9250508190555080600860008282546114819190612256565b90915550506003546001600160a01b031663c513b9e361149f611afb565b6114a984866122ad565b6040518363ffffffff1660e01b81526004016114c6929190611e2e565b600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050611500611afb565b6001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568838360405161153a9291906121fa565b60405180910390a250506001600055565b600b818154811061155b57600080fd5b6000918252602090912001546001600160a01b0316905081565b600a6000611581611afb565b6001600160a01b0316815260208101919091526040016000205460ff166115ba5760405162461bcd60e51b81526004016105b790611e7a565b600260005414156115dd5760405162461bcd60e51b81526004016105b7906121ba565b600260005560095460ff161561169f5760045481600360009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561163f57600080fd5b505afa158015611653573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116779190611e02565b6116819190612256565b111561169f5760405162461bcd60e51b81526004016105b790611f16565b60035460405163c513b9e360e01b81526001600160a01b039091169063c513b9e3906116d19085908590600401611e2e565b600060405180830381600087803b1580156116eb57600080fd5b505af11580156116ff573d6000803e3d6000fd5b5050600160005550505050565b6002600054141561172f5760405162461bcd60e51b81526004016105b7906121ba565b60026000556009546301000000900460ff161561175e5760405162461bcd60e51b81526004016105b790612162565b600954600160301b900460ff16156117885760405162461bcd60e51b81526004016105b7906120d3565b8061179461032e611afb565b10156117b25760405162461bcd60e51b81526004016105b790611f5a565b80600d60006117bf611afb565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546117ee9190612256565b90915550506001600160a01b0382166000908152600c60205260408120805483929061181b908490612256565b90915550506001600160a01b038216611832611afb565b6001600160a01b03167fe2080c8fc8d86c864d8dc081fadaebf2be7191086615e786f954420f13ed122a83604051610d6891906121f1565b611872611afb565b6001600160a01b03166118836112a7565b6001600160a01b0316146118a95760405162461bcd60e51b81526004016105b79061204b565b600280546001600160a01b0319166001600160a01b03831617905561060081610d79565b6118d5611afb565b6001600160a01b03166118e66112a7565b6001600160a01b03161461190c5760405162461bcd60e51b81526004016105b79061204b565b6064811061192c5760405162461bcd60e51b81526004016105b790611ff6565b600655565b611939611afb565b6001600160a01b031661194a6112a7565b6001600160a01b0316146119705760405162461bcd60e51b81526004016105b79061204b565b60098054911515650100000000000265ff000000000019909216919091179055565b61199a611afb565b6001600160a01b03166119ab6112a7565b6001600160a01b0316146119d15760405162461bcd60e51b81526004016105b79061204b565b60098054911515600160301b0266ff00000000000019909216919091179055565b6002546001600160a01b031681565b611a09611afb565b6001600160a01b0316611a1a6112a7565b6001600160a01b031614611a405760405162461bcd60e51b81526004016105b79061204b565b6001600160a01b038116611a665760405162461bcd60e51b81526004016105b790611ea2565b61060081611ba8565b600954640100000000900460ff1681565b611a88611afb565b6001600160a01b0316611a996112a7565b6001600160a01b031614611abf5760405162461bcd60e51b81526004016105b79061204b565b60095460ff1615611ae25760405162461bcd60e51b81526004016105b79061212b565b6009805460ff1916911515919091179055565b60055481565b3390565b6001600160a01b038216611b255760405162461bcd60e51b81526004016105b790611ee8565b6001600160a01b0382166000908152600c602052604081208054839290611b4d908490612256565b90915550506001600160a01b038216611b64611afb565b6001600160a01b03167f6b64443f4cc3aac2df66fff76675a29dc321ce9efebffb006f528db1690179a083604051611b9c91906121f1565b60405180910390a35050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80356001600160a01b0381168114610abb57600080fd5b600082601f830112611c21578081fd5b81356020611c36611c3183612232565b612208565b8281528181019085830183850287018401881015611c52578586fd5b855b85811015611c7757611c6582611bfa565b84529284019290840190600101611c54565b5090979650505050505050565b600060208284031215611c95578081fd5b611c9e82611bfa565b9392505050565b60008060408385031215611cb7578081fd5b611cc083611bfa565b946020939093013593505050565b60008060408385031215611ce0578182fd5b823567ffffffffffffffff80821115611cf7578384fd5b611d0386838701611c11565b9350602091508185013581811115611d19578384fd5b85019050601f81018613611d2b578283fd5b8035611d39611c3182612232565b81815283810190838501858402850186018a1015611d55578687fd5b8694505b83851015611d77578035835260019490940193918501918501611d59565b5080955050505050509250929050565b60008060408385031215611d99578182fd5b823567ffffffffffffffff811115611daf578283fd5b611dbb85828601611c11565b95602094909401359450505050565b600060208284031215611ddb578081fd5b81358015158114611c9e578182fd5b600060208284031215611dfb578081fd5b5035919050565b600060208284031215611e13578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600e908201526d11195c1bdcda5d0814185d5cd95960921b604082015260600190565b6020808252600e908201526d139bdd08105d5d1a1bdc9a5cd95960921b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601490820152734465706f73697420746f2030206164647265737360601b604082015260600190565b60208082526024908201527f596f752074727920746f206d696e74206d6f7265207468616e206d617820737560408201526370706c7960e01b606082015260800190565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b6020808252601e908201527f546f6b656e2063617020686173206265656e20616c7265616479207365740000604082015260600190565b60208082526018908201527f496e73756666696369656e64207461782062616c616e63650000000000000000604082015260600190565b60208082526012908201527115dc9bdb99c81d985b1d59481c185cdcd95960721b604082015260600190565b6020808252600f908201526e15da5d1a191c985dc814185d5cd959608a1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526033908201527f56616c756520697320736d616c6c6572207468616e20746865206e756d626572604082015272206f66206578697374696e6720746f6b656e7360681b606082015260800190565b6020808252600f908201526e151c985b9cd9995c8814185d5cd959608a1b604082015260600190565b60208082526015908201527413585e081cdd5c1c1b1e481a5cc81b9bdd081cd95d605a1b604082015260600190565b60208082526019908201527f546f6b656e2063617020686173206265656e206c6f636b656400000000000000604082015260600190565b6020808252601190820152705472616e7366657273207061757365642160781b604082015260600190565b60208082526013908201527215dc9bdb99c8185c9c985e5cc81c185cdcd959606a1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b90815260200190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561222a5761222a6122f5565b604052919050565b600067ffffffffffffffff82111561224c5761224c6122f5565b5060209081020190565b60008219821115612269576122696122df565b500190565b60008261228957634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156122a8576122a86122df565b500290565b6000828210156122bf576122bf6122df565b500390565b60006000198214156122d8576122d86122df565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220cbe2100812bd05b0288e1beb16347b05de5075c37ad243d8be2d345b578dc8c664736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d665215893ce709b72951a816d157be616899cd2
-----Decoded View---------------
Arg [0] : _source (address): 0xD665215893CE709B72951A816d157Be616899cd2
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d665215893ce709b72951a816d157be616899cd2
Deployed Bytecode Sourcemap
9119:10606:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19620:102;;;:::i;:::-;;9284:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9499:23;;;:::i;:::-;;;;;;;:::i;9451:39::-;;;:::i;16255:279::-;;;;;;:::i;:::-;;:::i;14451:213::-;;;;;;:::i;:::-;;:::i;9252:25::-;;;:::i;11485:400::-;;;;;;:::i;:::-;;:::i;11220:175::-;;;;;;:::i;:::-;;:::i;9850:50::-;;;;;;:::i;:::-;;:::i;15978:142::-;;;:::i;18438:119::-;;;;;;:::i;:::-;;:::i;18649:113::-;;;;;;:::i;:::-;;:::i;13743:135::-;;;;;;:::i;:::-;;:::i;15467:383::-;;;;;;:::i;:::-;;:::i;16923:153::-;;;;;;:::i;:::-;;:::i;9685:28::-;;;:::i;9907:46::-;;;;;;:::i;:::-;;:::i;13184:429::-;;;;;;:::i;:::-;;:::i;18166:177::-;;;;;;:::i;:::-;;:::i;9531:40::-;;;:::i;5192:103::-;;;:::i;19413:94::-;;;;;;:::i;:::-;;:::i;14010:288::-;;;;;;:::i;:::-;;:::i;9413:31::-;;;:::i;9578:37::-;;;:::i;17161:118::-;;;;;;:::i;:::-;;:::i;18862:87::-;;;;;;:::i;:::-;;:::i;4541:::-;;;:::i;:::-;;;;;;;:::i;9372:32::-;;;:::i;9210:33::-;;;:::i;9720:28::-;;;:::i;17620:178::-;;;;;;:::i;:::-;;:::i;9624:20::-;;;:::i;11969:546::-;;;;;;:::i;:::-;;:::i;9811:30::-;;;;;;:::i;:::-;;:::i;15061:267::-;;;;;;:::i;:::-;;:::i;12612:404::-;;;;;;:::i;:::-;;:::i;17377:145::-;;;;;;:::i;:::-;;:::i;17893:183::-;;;;;;:::i;:::-;;:::i;19228:95::-;;;;;;:::i;:::-;;:::i;19041:96::-;;;;;;:::i;:::-;;:::i;9174:29::-;;;:::i;5450:201::-;;;;;;:::i;:::-;;:::i;9651:27::-;;;:::i;16615:153::-;;;;;;:::i;:::-;;:::i;9336:29::-;;;:::i;19620:102::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;;;;;;;;;19674:7:::1;:5;:7::i;:::-;-1:-1:-1::0;;;;;19666:25:0::1;:48;19692:21;19666:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;19620:102::o:0;9284:43::-;9324:3;9284:43;:::o;9499:23::-;;;;;;:::o;9451:39::-;;;;:::o;16255:279::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;16331:12:::1;::::0;:26:::1;::::0;;-1:-1:-1;;;16331:26:0;;;;16360:11;;-1:-1:-1;;;;;16331:12:0::1;::::0;:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;16323:104;;;;-1:-1:-1::0;;;16323:104:0::1;;;;;;;:::i;:::-;16445:11;::::0;::::1;;16444:12;16436:55;;;;-1:-1:-1::0;;;16436:55:0::1;;;;;;;:::i;:::-;16502:10;:24:::0;16255:279::o;14451:213::-;10003:13;:27;10017:12;:10;:12::i;:::-;-1:-1:-1;;;;;10003:27:0;;;;;;;;;;;;-1:-1:-1;10003:27:0;;;;9995:54;;;;-1:-1:-1;;;9995:54:0;;;;;;;:::i;:::-;7660:1:::1;8258:7;;:19;;8250:63;;;;-1:-1:-1::0;;;8250:63:0::1;;;;;;;:::i;:::-;7660:1;8391:7;:18:::0;;;14566:91:::2;14586:4;:11;14582:1;:15;14566:91;;;14615:32;14631:4;14636:1;14631:7;;;;;;-1:-1:-1::0;;;14631:7:0::2;;;;;;;;;;;;;;;14640:6;14615:15;:32::i;:::-;14599:3:::0;::::2;::::0;::::2;:::i;:::-;;;;14566:91;;;-1:-1:-1::0;;7616:1:0::1;8570:7;:22:::0;-1:-1:-1;14451:213:0:o;9252:25::-;;;;:::o;11485:400::-;7660:1;8258:7;;:19;;8250:63;;;;-1:-1:-1;;;8250:63:0;;;;;;;:::i;:::-;7660:1;8391:7;:18;10116:8:::1;::::0;;;::::1;;;10115:9;10107:39;;;;-1:-1:-1::0;;;10107:39:0::1;;;;;;;:::i;:::-;11574:15:::2;::::0;;;::::2;;;11573:16;11565:43;;;;-1:-1:-1::0;;;11565:43:0::2;;;;;;;:::i;:::-;11625:12;::::0;11665:6;;-1:-1:-1;;;;;11625:12:0::2;:22;11648:12;:10;:12::i;:::-;11625:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;11617:79;;;;-1:-1:-1::0;;;11617:79:0::2;;;;;;;:::i;:::-;11707:12;::::0;-1:-1:-1;;;;;11707:12:0::2;:28;11736:12;:10;:12::i;:::-;11750:6;11707:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11799:6;11766:15;:29;11782:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;11766:29:0::2;-1:-1:-1::0;;;;;11766:29:0::2;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;11839:12:0::2;::::0;-1:-1:-1;11839:10:0::2;:12::i;:::-;-1:-1:-1::0;;;;;11821:56:0::2;;11862:6;11821:56;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;7616:1:0;8570:7;:22;11485:400::o;11220:175::-;-1:-1:-1;;;;;11369:17:0;;;11279:7;11369:17;;;:11;:17;;;;;;;;;11345:15;:21;;;;;;;11305:10;;:37;;-1:-1:-1;;;11305:37:0;;11279:7;;11369:17;;11345:21;;11305:10;;;;;:31;;:37;;11381:4;;11305:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;:81;;;;:::i;:::-;11297:90;;11220:175;;;;:::o;9850:50::-;;;;;;;;;;;;;:::o;15978:142::-;16049:11;;16023:7;;16049:11;;16041:45;;;;-1:-1:-1;;;16041:45:0;;;;;;;:::i;:::-;-1:-1:-1;16102:10:0;;15978:142;:::o;18438:119::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;18513:28:::1;:36:::0;;;::::1;;;;-1:-1:-1::0;;18513:36:0;;::::1;::::0;;;::::1;::::0;;18438:119::o;18649:113::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;18721:25:::1;:33:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18721:33:0;;::::1;::::0;;;::::1;::::0;;18649:113::o;13743:135::-;10003:13;:27;10017:12;:10;:12::i;:::-;-1:-1:-1;;;;;10003:27:0;;;;;;;;;;;;-1:-1:-1;10003:27:0;;;;9995:54;;;;-1:-1:-1;;;9995:54:0;;;;;;;:::i;:::-;7660:1:::1;8258:7;;:19;;8250:63;;;;-1:-1:-1::0;;;8250:63:0::1;;;;;;;:::i;:::-;7660:1;8391:7;:18:::0;13841:29:::2;13857:4:::0;13863:6;13841:15:::2;:29::i;:::-;-1:-1:-1::0;;7616:1:0::1;8570:7;:22:::0;13743:135::o;15467:383::-;10003:13;:27;10017:12;:10;:12::i;:::-;-1:-1:-1;;;;;10003:27:0;;;;;;;;;;;;-1:-1:-1;10003:27:0;;;;9995:54;;;;-1:-1:-1;;;9995:54:0;;;;;;;:::i;:::-;7660:1:::1;8258:7;;:19;;8250:63;;;;-1:-1:-1::0;;;8250:63:0::1;;;;;;;:::i;:::-;7660:1;8391:7;:18:::0;15571:24:::2;::::0;:34;-1:-1:-1;15571:34:0::2;15563:71;;;;-1:-1:-1::0;;;15563:71:0::2;;;;;;;:::i;:::-;15673:6;15645:24;;:34;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;15688:21:0;::::2;;::::0;;;:15:::2;:21;::::0;;;;:31;;15713:6;;15688:21;:31:::2;::::0;15713:6;;15688:31:::2;:::i;:::-;;;;;;;;15748:6;15728:16;;:26;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;15770:72:0;::::2;15789:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;15770:72:0::2;;15827:6;15770:72;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;7616:1:0::1;8570:7;:22:::0;15467:383::o;16923:153::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16991:28:0::1;;::::0;;;:13:::1;:28;::::0;;;;:35;;-1:-1:-1;;16991:35:0::1;17022:4;16991:35:::0;;::::1;::::0;;;17035:13:::1;:33:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;17035:33:0::1;::::0;;::::1;::::0;;16923:153::o;9685:28::-;;;;;;;;;:::o;9907:46::-;;;;;;;;;;;;;:::o;13184:429::-;10003:13;:27;10017:12;:10;:12::i;:::-;-1:-1:-1;;;;;10003:27:0;;;;;;;;;;;;-1:-1:-1;10003:27:0;;;;9995:54;;;;-1:-1:-1;;;9995:54:0;;;;;;;:::i;:::-;7660:1:::1;8258:7;;:19;;8250:63;;;;-1:-1:-1::0;;;8250:63:0::1;;;;;;;:::i;:::-;7660:1;8391:7;:18:::0;13311:6;13287:20:::2;13302:4:::0;13287:14:::2;:20::i;:::-;:30;;13279:63;;;;-1:-1:-1::0;;;13279:63:0::2;;;;;;;:::i;:::-;13365:25;::::0;13351:11:::2;::::0;13365:25;;::::2;;;:63;;13425:3;13407:14;;13398:6;:23;;;;:::i;:::-;13397:31;;;;:::i;:::-;13365:63;;;13393:1;13365:63;-1:-1:-1::0;;;;;13439:17:0;::::2;;::::0;;;:11:::2;:17;::::0;;;;:27;;13351:77;;-1:-1:-1;13460:6:0;;13439:17;;;:27:::2;::::0;13460:6;;13439:27:::2;:::i;:::-;;;;;;;;13503:3;13475:24;;:31;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;13522:83:0;::::2;13538:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;13522:83:0::2;;13576:6;13593:3;13522:83;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;7616:1:0::1;8570:7;:22:::0;-1:-1:-1;13184:429:0:o;18166:177::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;9324:3:::1;18250:10;:26;18242:57;;;;-1:-1:-1::0;;;18242:57:0::1;;;;;;;:::i;:::-;18308:14;:27:::0;18166:177::o;9531:40::-;;;;;;;;;:::o;5192:103::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;5257:30:::1;5284:1;5257:18;:30::i;:::-;5192:103::o:0;19413:94::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;19475:15:::1;:24:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;19475:24:0;;::::1;::::0;;;::::1;::::0;;19413:94::o;14010:288::-;10003:13;:27;10017:12;:10;:12::i;:::-;-1:-1:-1;;;;;10003:27:0;;;;;;;;;;;;-1:-1:-1;10003:27:0;;;;9995:54;;;;-1:-1:-1;;;9995:54:0;;;;;;;:::i;:::-;7660:1:::1;8258:7;;:19;;8250:63;;;;-1:-1:-1::0;;;8250:63:0::1;;;;;;;:::i;:::-;7660:1;8391:7;:18:::0;14149:13;;14134:11;;:28:::2;14126:60;;;;-1:-1:-1::0;;;14126:60:0::2;;;;;;;:::i;:::-;14202:9;14197:94;14217:4;:11;14213:1;:15;14197:94;;;14246:35;14262:4;14267:1;14262:7;;;;;;-1:-1:-1::0;;;14262:7:0::2;;;;;;;;;;;;;;;14271:6;14278:1;14271:9;;;;;;-1:-1:-1::0;;;14271:9:0::2;;;;;;;;;;;;;;;14246:15;:35::i;:::-;14230:3:::0;::::2;::::0;::::2;:::i;:::-;;;;14197:94;;9413:31:::0;;;;:::o;9578:37::-;;;;;;;;;:::o;17161:118::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17233:30:0::1;17266:5;17233:30:::0;;;:13:::1;:30;::::0;;;;:38;;-1:-1:-1;;17233:38:0::1;::::0;;17161:118::o;18862:87::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;18924:8:::1;:17:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18924:17:0;;::::1;::::0;;;::::1;::::0;;18862:87::o;4541:::-;4614:6;;-1:-1:-1;;;;;4614:6:0;4541:87;:::o;9372:32::-;;;;:::o;9210:33::-;;;-1:-1:-1;;;;;9210:33:0;;:::o;9720:28::-;;;-1:-1:-1;;;9720:28:0;;;;;:::o;17620:178::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;17708:12:::1;:46:::0;;-1:-1:-1;;;;;;17708:46:0::1;-1:-1:-1::0;;;;;17708:46:0;::::1;;::::0;;17763:27:::1;17708:46:::0;17763:9:::1;:27::i;9624:20::-:0;;;;;;;;;:::o;11969:546::-;7660:1;8258:7;;:19;;8250:63;;;;-1:-1:-1;;;8250:63:0;;;;;;;:::i;:::-;7660:1;8391:7;:18;10116:8:::1;::::0;;;::::1;;;10115:9;10107:39;;;;-1:-1:-1::0;;;10107:39:0::1;;;;;;;:::i;:::-;12059:16:::2;::::0;;;::::2;;;12058:17;12050:45;;;;-1:-1:-1::0;;;12050:45:0::2;;;;;;;:::i;:::-;12144:6;12112:28;12127:12;:10;:12::i;12112:28::-;:38;;12104:71;;;;-1:-1:-1::0;;;12104:71:0::2;;;;;;;:::i;:::-;12198:28;::::0;12184:11:::2;::::0;12198:28:::2;::::0;::::2;;;:69;;12264:3;12243:17;;12234:6;:26;;;;:::i;:::-;12233:34;;;;:::i;:::-;12198:69;;;12229:1;12198:69;12184:83;;12307:6;12278:11;:25;12290:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;12278:25:0::2;-1:-1:-1::0;;;;;12278:25:0::2;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;12350:3;12322:24;;:31;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;12362:12:0::2;::::0;-1:-1:-1;;;;;12362:12:0::2;:28;12391:12;:10;:12::i;:::-;12406;12415:3:::0;12406:6;:12:::2;:::i;:::-;12362:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;12455:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;12436:71:0::2;;12478:6;12495:3;12436:71;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;7616:1:0;8570:7;:22;11969:546::o;9811:30::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9811:30:0;;-1:-1:-1;9811:30:0;:::o;15061:267::-;10003:13;:27;10017:12;:10;:12::i;:::-;-1:-1:-1;;;;;10003:27:0;;;;;;;;;;;;-1:-1:-1;10003:27:0;;;;9995:54;;;;-1:-1:-1;;;9995:54:0;;;;;;;:::i;:::-;7660:1:::1;8258:7;;:19;;8250:63;;;;-1:-1:-1::0;;;8250:63:0::1;;;;;;;:::i;:::-;7660:1;8391:7;:18:::0;15158:11:::2;::::0;::::2;;15154:115;;;15218:10;;15208:6;15179:12;;;;;;;;;-1:-1:-1::0;;;;;15179:12:0::2;-1:-1:-1::0;;;;;15179:24:0::2;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;;;;:::i;:::-;:49;;15171:98;;;;-1:-1:-1::0;;;15171:98:0::2;;;;;;;:::i;:::-;15278:12;::::0;:42:::2;::::0;-1:-1:-1;;;15278:42:0;;-1:-1:-1;;;;;15278:12:0;;::::2;::::0;:28:::2;::::0;:42:::2;::::0;15307:4;;15313:6;;15278:42:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;7616:1:0::1;8570:7;:22:::0;-1:-1:-1;;;;15061:267:0:o;12612:404::-;7660:1;8258:7;;:19;;8250:63;;;;-1:-1:-1;;;8250:63:0;;;;;;;:::i;:::-;7660:1;8391:7;:18;10116:8:::1;::::0;;;::::1;;;10115:9;10107:39;;;;-1:-1:-1::0;;;10107:39:0::1;;;;;;;:::i;:::-;12714:16:::2;::::0;-1:-1:-1;;;12714:16:0;::::2;;;12713:17;12705:45;;;;-1:-1:-1::0;;;12705:45:0::2;;;;;;;:::i;:::-;12799:6;12767:28;12782:12;:10;:12::i;12767:28::-;:38;;12759:71;;;;-1:-1:-1::0;;;12759:71:0::2;;;;;;;:::i;:::-;12870:6;12841:11;:25;12853:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;12841:25:0::2;-1:-1:-1::0;;;;;12841:25:0::2;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;12885:19:0;::::2;;::::0;;;:15:::2;:19;::::0;;;;:29;;12908:6;;12885:19;:29:::2;::::0;12908:6;;12885:29:::2;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;12930:78:0;::::2;12957:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;12930:78:0::2;;12993:6;12930:78;;;;;;:::i;17377:145::-:0;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;17454:10:::1;:33:::0;;-1:-1:-1;;;;;;17454:33:0::1;-1:-1:-1::0;;;;;17454:33:0;::::1;;::::0;;17496:18:::1;17454:33:::0;17496:9:::1;:18::i;17893:183::-:0;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;9324:3:::1;17980:10;:26;17972:57;;;;-1:-1:-1::0;;;17972:57:0::1;;;;;;;:::i;:::-;18038:17;:30:::0;17893:183::o;19228:95::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;19290:16:::1;:25:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;19290:25:0;;::::1;::::0;;;::::1;::::0;;19228:95::o;19041:96::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;19104:16:::1;:25:::0;;;::::1;;-1:-1:-1::0;;;19104:25:0::1;-1:-1:-1::0;;19104:25:0;;::::1;::::0;;;::::1;::::0;;19041:96::o;9174:29::-;;;-1:-1:-1;;;;;9174:29:0;;:::o;5450:201::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5539:22:0;::::1;5531:73;;;;-1:-1:-1::0;;;5531:73:0::1;;;;;;;:::i;:::-;5615:28;5634:8;5615:18;:28::i;9651:27::-:0;;;;;;;;;:::o;16615:153::-;4772:12;:10;:12::i;:::-;-1:-1:-1;;;;;4761:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4761:23:0;;4753:68;;;;-1:-1:-1;;;4753:68:0;;;;;;;:::i;:::-;16691:11:::1;::::0;::::1;;16690:12;16682:50;;;;-1:-1:-1::0;;;16682:50:0::1;;;;;;;:::i;:::-;16741:11;:19:::0;;-1:-1:-1;;16741:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16615:153::o;9336:29::-;;;;:::o;3408:98::-;3488:10;3408:98;:::o;14672:262::-;-1:-1:-1;;;;;14753:18:0;;14745:51;;;;-1:-1:-1;;;14745:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14805:21:0;;;;;;:15;:21;;;;;:31;;14830:6;;14805:21;:31;;14830:6;;14805:31;:::i;:::-;;;;-1:-1:-1;;;;;;;14852:74:0;;14873:12;:10;:12::i;:::-;-1:-1:-1;;;;;14852:74:0;;14911:6;14852:74;;;;;;:::i;:::-;;;;;;;;14672:262;;:::o;5811:191::-;5904:6;;;-1:-1:-1;;;;;5921:17:0;;;-1:-1:-1;;;;;;5921:17:0;;;;;;;5954:40;;5904:6;;;5921:17;5904:6;;5954:40;;5885:16;;5954:40;5811:191;;:::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:713;;307:3;300:4;292:6;288:17;284:27;274:2;;329:5;322;315:20;274:2;369:6;356:20;395:4;419:65;434:49;480:2;434:49;:::i;:::-;419:65;:::i;:::-;518:15;;;549:12;;;;581:15;;;627:11;;;615:24;;611:33;;608:42;-1:-1:-1;605:2:1;;;667:5;660;653:20;605:2;693:5;707:171;721:2;718:1;715:9;707:171;;;778:25;799:3;778:25;:::i;:::-;766:38;;824:12;;;;856;;;;739:1;732:9;707:171;;;-1:-1:-1;896:5:1;;264:643;-1:-1:-1;;;;;;;264:643:1:o;912:198::-;;1024:2;1012:9;1003:7;999:23;995:32;992:2;;;1045:6;1037;1030:22;992:2;1073:31;1094:9;1073:31;:::i;:::-;1063:41;982:128;-1:-1:-1;;;982:128:1:o;1115:266::-;;;1244:2;1232:9;1223:7;1219:23;1215:32;1212:2;;;1265:6;1257;1250:22;1212:2;1293:31;1314:9;1293:31;:::i;:::-;1283:41;1371:2;1356:18;;;;1343:32;;-1:-1:-1;;;1202:179:1:o;1386:1216::-;;;1565:2;1553:9;1544:7;1540:23;1536:32;1533:2;;;1586:6;1578;1571:22;1533:2;1631:9;1618:23;1660:18;1701:2;1693:6;1690:14;1687:2;;;1722:6;1714;1707:22;1687:2;1750:67;1809:7;1800:6;1789:9;1785:22;1750:67;:::i;:::-;1740:77;;1836:2;1826:12;;1891:2;1880:9;1876:18;1863:32;1920:2;1910:8;1907:16;1904:2;;;1941:6;1933;1926:22;1904:2;1969:24;;;-1:-1:-1;2024:4:1;2016:13;;2012:27;-1:-1:-1;2002:2:1;;2058:6;2050;2043:22;2002:2;2099;2086:16;2122:65;2137:49;2183:2;2137:49;:::i;2122:65::-;2221:15;;;2252:12;;;;2284:11;;;2322;;;2314:20;;2310:29;;2307:42;-1:-1:-1;2304:2:1;;;2367:6;2359;2352:22;2304:2;2394:6;2385:15;;2409:163;2423:2;2420:1;2417:9;2409:163;;;2480:17;;2468:30;;2441:1;2434:9;;;;;2518:12;;;;2550;;2409:163;;;2413:3;2591:5;2581:15;;;;;;;1523:1079;;;;;:::o;2607:442::-;;;2761:2;2749:9;2740:7;2736:23;2732:32;2729:2;;;2782:6;2774;2767:22;2729:2;2827:9;2814:23;2860:18;2852:6;2849:30;2846:2;;;2897:6;2889;2882:22;2846:2;2925:67;2984:7;2975:6;2964:9;2960:22;2925:67;:::i;:::-;2915:77;3039:2;3024:18;;;;3011:32;;-1:-1:-1;;;;2719:330:1:o;3054:293::-;;3163:2;3151:9;3142:7;3138:23;3134:32;3131:2;;;3184:6;3176;3169:22;3131:2;3228:9;3215:23;3281:5;3274:13;3267:21;3260:5;3257:32;3247:2;;3308:6;3300;3293:22;3352:190;;3464:2;3452:9;3443:7;3439:23;3435:32;3432:2;;;3485:6;3477;3470:22;3432:2;-1:-1:-1;3513:23:1;;3422:120;-1:-1:-1;3422:120:1:o;3547:194::-;;3670:2;3658:9;3649:7;3645:23;3641:32;3638:2;;;3691:6;3683;3676:22;3638:2;-1:-1:-1;3719:16:1;;3628:113;-1:-1:-1;3628:113:1:o;3746:203::-;-1:-1:-1;;;;;3910:32:1;;;;3892:51;;3880:2;3865:18;;3847:102::o;3954:274::-;-1:-1:-1;;;;;4146:32:1;;;;4128:51;;4210:2;4195:18;;4188:34;4116:2;4101:18;;4083:145::o;4233:187::-;4398:14;;4391:22;4373:41;;4361:2;4346:18;;4328:92::o;4881:338::-;5083:2;5065:21;;;5122:2;5102:18;;;5095:30;-1:-1:-1;;;5156:2:1;5141:18;;5134:44;5210:2;5195:18;;5055:164::o;5224:338::-;5426:2;5408:21;;;5465:2;5445:18;;;5438:30;-1:-1:-1;;;5499:2:1;5484:18;;5477:44;5553:2;5538:18;;5398:164::o;5567:402::-;5769:2;5751:21;;;5808:2;5788:18;;;5781:30;5847:34;5842:2;5827:18;;5820:62;-1:-1:-1;;;5913:2:1;5898:18;;5891:36;5959:3;5944:19;;5741:228::o;5974:344::-;6176:2;6158:21;;;6215:2;6195:18;;;6188:30;-1:-1:-1;;;6249:2:1;6234:18;;6227:50;6309:2;6294:18;;6148:170::o;6323:400::-;6525:2;6507:21;;;6564:2;6544:18;;;6537:30;6603:34;6598:2;6583:18;;6576:62;-1:-1:-1;;;6669:2:1;6654:18;;6647:34;6713:3;6698:19;;6497:226::o;6728:344::-;6930:2;6912:21;;;6969:2;6949:18;;;6942:30;-1:-1:-1;;;7003:2:1;6988:18;;6981:50;7063:2;7048:18;;6902:170::o;7077:354::-;7279:2;7261:21;;;7318:2;7298:18;;;7291:30;7357:32;7352:2;7337:18;;7330:60;7422:2;7407:18;;7251:180::o;7436:348::-;7638:2;7620:21;;;7677:2;7657:18;;;7650:30;7716:26;7711:2;7696:18;;7689:54;7775:2;7760:18;;7610:174::o;7789:342::-;7991:2;7973:21;;;8030:2;8010:18;;;8003:30;-1:-1:-1;;;8064:2:1;8049:18;;8042:48;8122:2;8107:18;;7963:168::o;8136:339::-;8338:2;8320:21;;;8377:2;8357:18;;;8350:30;-1:-1:-1;;;8411:2:1;8396:18;;8389:45;8466:2;8451:18;;8310:165::o;8480:356::-;8682:2;8664:21;;;8701:18;;;8694:30;8760:34;8755:2;8740:18;;8733:62;8827:2;8812:18;;8654:182::o;8841:415::-;9043:2;9025:21;;;9082:2;9062:18;;;9055:30;9121:34;9116:2;9101:18;;9094:62;-1:-1:-1;;;9187:2:1;9172:18;;9165:49;9246:3;9231:19;;9015:241::o;9261:339::-;9463:2;9445:21;;;9502:2;9482:18;;;9475:30;-1:-1:-1;;;9536:2:1;9521:18;;9514:45;9591:2;9576:18;;9435:165::o;9605:345::-;9807:2;9789:21;;;9846:2;9826:18;;;9819:30;-1:-1:-1;;;9880:2:1;9865:18;;9858:51;9941:2;9926:18;;9779:171::o;9955:349::-;10157:2;10139:21;;;10196:2;10176:18;;;10169:30;10235:27;10230:2;10215:18;;10208:55;10295:2;10280:18;;10129:175::o;10309:341::-;10511:2;10493:21;;;10550:2;10530:18;;;10523:30;-1:-1:-1;;;10584:2:1;10569:18;;10562:47;10641:2;10626:18;;10483:167::o;10655:343::-;10857:2;10839:21;;;10896:2;10876:18;;;10869:30;-1:-1:-1;;;10930:2:1;10915:18;;10908:49;10989:2;10974:18;;10829:169::o;11003:355::-;11205:2;11187:21;;;11244:2;11224:18;;;11217:30;11283:33;11278:2;11263:18;;11256:61;11349:2;11334:18;;11177:181::o;11363:177::-;11509:25;;;11497:2;11482:18;;11464:76::o;11545:248::-;11719:25;;;11775:2;11760:18;;11753:34;11707:2;11692:18;;11674:119::o;11798:251::-;11868:2;11862:9;11898:17;;;11945:18;11930:34;;11966:22;;;11927:62;11924:2;;;11992:18;;:::i;:::-;12028:2;12021:22;11842:207;;-1:-1:-1;11842:207:1:o;12054:192::-;;12153:18;12145:6;12142:30;12139:2;;;12175:18;;:::i;:::-;-1:-1:-1;12235:4:1;12216:17;;;12212:28;;12129:117::o;12251:128::-;;12322:1;12318:6;12315:1;12312:13;12309:2;;;12328:18;;:::i;:::-;-1:-1:-1;12364:9:1;;12299:80::o;12384:217::-;;12450:1;12440:2;;-1:-1:-1;;;12475:31:1;;12529:4;12526:1;12519:15;12557:4;12482:1;12547:15;12440:2;-1:-1:-1;12586:9:1;;12430:171::o;12606:168::-;;12712:1;12708;12704:6;12700:14;12697:1;12694:21;12689:1;12682:9;12675:17;12671:45;12668:2;;;12719:18;;:::i;:::-;-1:-1:-1;12759:9:1;;12658:116::o;12779:125::-;;12847:1;12844;12841:8;12838:2;;;12852:18;;:::i;:::-;-1:-1:-1;12889:9:1;;12828:76::o;12909:135::-;;-1:-1:-1;;12969:17:1;;12966:2;;;12989:18;;:::i;:::-;-1:-1:-1;13036:1:1;13025:13;;12956:88::o;13049:127::-;13110:10;13105:3;13101:20;13098:1;13091:31;13141:4;13138:1;13131:15;13165:4;13162:1;13155:15;13181:127;13242:10;13237:3;13233:20;13230:1;13223:31;13273:4;13270:1;13263:15;13297:4;13294:1;13287:15
Swarm Source
ipfs://cbe2100812bd05b0288e1beb16347b05de5075c37ad243d8be2d345b578dc8c6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.