Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 313 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21133198 | 7 days ago | IN | 0 ETH | 0.00061086 | ||||
Transfer | 21004299 | 25 days ago | IN | 0 ETH | 0.00051501 | ||||
Transfer | 20891080 | 41 days ago | IN | 0 ETH | 0.00039212 | ||||
Transfer | 20886980 | 41 days ago | IN | 0 ETH | 0.00076298 | ||||
Approve | 20880045 | 42 days ago | IN | 0 ETH | 0.00055212 | ||||
Approve | 20880034 | 42 days ago | IN | 0 ETH | 0.00100318 | ||||
Approve | 19974077 | 169 days ago | IN | 0 ETH | 0.00048751 | ||||
Approve | 19948137 | 172 days ago | IN | 0 ETH | 0.00038834 | ||||
Approve | 19932178 | 175 days ago | IN | 0 ETH | 0.00039454 | ||||
Approve | 19928968 | 175 days ago | IN | 0 ETH | 0.00031663 | ||||
Transfer | 19927534 | 175 days ago | IN | 0 ETH | 0.00065664 | ||||
Transfer | 19924576 | 176 days ago | IN | 0 ETH | 0.00053327 | ||||
Approve | 19911814 | 178 days ago | IN | 0 ETH | 0.00072602 | ||||
Approve | 19902116 | 179 days ago | IN | 0 ETH | 0.00020387 | ||||
Transfer | 19842855 | 187 days ago | IN | 0 ETH | 0.00036243 | ||||
Transfer | 19818469 | 191 days ago | IN | 0 ETH | 0.00051269 | ||||
Transfer | 19774586 | 197 days ago | IN | 0 ETH | 0.0005788 | ||||
Transfer | 19774011 | 197 days ago | IN | 0 ETH | 0.00113483 | ||||
Transfer | 19738784 | 202 days ago | IN | 0 ETH | 0.00053378 | ||||
Transfer | 19738779 | 202 days ago | IN | 0 ETH | 0.00050123 | ||||
Transfer | 19697240 | 208 days ago | IN | 0 ETH | 0.00074448 | ||||
Transfer | 19697128 | 208 days ago | IN | 0 ETH | 0.00066492 | ||||
Transfer | 19697110 | 208 days ago | IN | 0 ETH | 0.0007238 | ||||
Transfer | 19697075 | 208 days ago | IN | 0 ETH | 0.00067571 | ||||
Transfer | 19697007 | 208 days ago | IN | 0 ETH | 0.00068681 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
OCCoin
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Standard Json-Input format)
// contracts/OCCoin.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; contract OCCoin is ERC20Capped, ERC20Burnable { address payable public owner; uint256 public blockReward; constructor(uint256 cap, uint256 reward) ERC20("OCCoin", "OCC") ERC20Capped(cap * (10 ** decimals())) { owner = payable(msg.sender); _mint(owner, 180000000000000 * (10 ** decimals())); blockReward = reward * (10 ** decimals()); } function _mint(address account, uint256 amount) internal virtual override(ERC20Capped, ERC20) { require(ERC20.totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded"); super._mint(account, amount); } function _mintMinerReward() internal { _mint(block.coinbase, blockReward); } function _beforeTokenTransfer(address from, address to, uint256 value) internal virtual override { if(from != address(0) && to != block.coinbase && block.coinbase != address(0)){ _mintMinerReward(); } super._beforeTokenTransfer(from, to, value); } function setReward(uint256 reward) public onlyOwner { blockReward = reward * (10 ** decimals()); } function destroy() public onlyOwner { selfdestruct(owner); } modifier onlyOwner { require (msg.sender == owner, "only the owner can call this function!"); _; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol) pragma solidity ^0.8.0; import "../ERC20.sol"; import "../../../utils/Context.sol"; /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) public virtual { _spendAllowance(account, _msgSender(), amount); _burn(account, amount); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/ERC20Capped.sol) pragma solidity ^0.8.0; import "../ERC20.sol"; /** * @dev Extension of {ERC20} that adds a cap to the supply of tokens. */ abstract contract ERC20Capped is ERC20 { uint256 private immutable _cap; /** * @dev Sets the value of the `cap`. This value is immutable, it can only be * set once during construction. */ constructor(uint256 cap_) { require(cap_ > 0, "ERC20Capped: cap is 0"); _cap = cap_; } /** * @dev Returns the cap on the token's total supply. */ function cap() public view virtual returns (uint256) { return _cap; } /** * @dev See {ERC20-_mint}. */ function _mint(address account, uint256 amount) internal virtual override { require(ERC20.totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded"); super._mint(account, amount); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; import "./IERC20.sol"; import "./extensions/IERC20Metadata.sol"; import "../../utils/Context.sol"; /** * @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.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `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; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _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; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _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; // Overflow not possible: amount <= accountBalance <= totalSupply. _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 {} }
// SPDX-License-Identifier: MIT // 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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; import "../IERC20.sol"; /** * @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); }
// SPDX-License-Identifier: MIT // 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); }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"cap","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockReward","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cap","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":"destroy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"setReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]
Contract Creation Code
60a06040523480156200001157600080fd5b5060405162002c9638038062002c96833981810160405281019062000037919062000605565b620000476200022160201b60201c565b600a620000559190620007dc565b826200006291906200082d565b6040518060400160405280600681526020017f4f43436f696e00000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4f434300000000000000000000000000000000000000000000000000000000008152508160039081620000df919062000ae8565b508060049081620000f1919062000ae8565b505050600081116200013a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001319062000c30565b60405180910390fd5b80608081815250505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001e8600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620001bb6200022160201b60201c565b600a620001c99190620007dc565b65a3b5840f4000620001dc91906200082d565b6200022a60201b60201c565b620001f86200022160201b60201c565b600a620002069190620007dc565b816200021391906200082d565b600681905550505062000d9f565b60006012905090565b6200023a620002bb60201b60201c565b8162000250620002c560201b620004561760201c565b6200025c919062000c52565b1115620002a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002979062000cdd565b60405180910390fd5b620002b78282620002cf60201b620008cf1760201c565b5050565b6000608051905090565b6000600254905090565b620002df620002bb60201b60201c565b81620002f5620002c560201b620004561760201c565b62000301919062000c52565b111562000345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200033c9062000cdd565b60405180910390fd5b6200035c82826200036060201b620009391760201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003c99062000d4f565b60405180910390fd5b620003e660008383620004cd60201b60201c565b8060026000828254620003fa919062000c52565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004ad919062000d82565b60405180910390a3620004c960008383620005a560201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200053757504173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620005715750600073ffffffffffffffffffffffffffffffffffffffff164173ffffffffffffffffffffffffffffffffffffffff1614155b15620005885762000587620005aa60201b60201c565b5b620005a0838383620005c060201b62000a8f1760201c565b505050565b505050565b620005be416006546200022a60201b60201c565b565b505050565b600080fd5b6000819050919050565b620005df81620005ca565b8114620005eb57600080fd5b50565b600081519050620005ff81620005d4565b92915050565b600080604083850312156200061f576200061e620005c5565b5b60006200062f85828601620005ee565b92505060206200064285828601620005ee565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006da57808604811115620006b257620006b16200064c565b5b6001851615620006c25780820291505b8081029050620006d2856200067b565b945062000692565b94509492505050565b600082620006f55760019050620007c8565b81620007055760009050620007c8565b81600181146200071e576002811462000729576200075f565b6001915050620007c8565b60ff8411156200073e576200073d6200064c565b5b8360020a9150848211156200075857620007576200064c565b5b50620007c8565b5060208310610133831016604e8410600b8410161715620007995782820a9050838111156200079357620007926200064c565b5b620007c8565b620007a8848484600162000688565b92509050818404811115620007c257620007c16200064c565b5b81810290505b9392505050565b600060ff82169050919050565b6000620007e982620005ca565b9150620007f683620007cf565b9250620008257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006e3565b905092915050565b60006200083a82620005ca565b91506200084783620005ca565b92508282026200085781620005ca565b915082820484148315176200087157620008706200064c565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008fa57607f821691505b60208210810362000910576200090f620008b2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200097a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200093b565b6200098686836200093b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620009c9620009c3620009bd84620005ca565b6200099e565b620005ca565b9050919050565b6000819050919050565b620009e583620009a8565b620009fd620009f482620009d0565b84845462000948565b825550505050565b600090565b62000a1462000a05565b62000a21818484620009da565b505050565b5b8181101562000a495762000a3d60008262000a0a565b60018101905062000a27565b5050565b601f82111562000a985762000a628162000916565b62000a6d846200092b565b8101602085101562000a7d578190505b62000a9562000a8c856200092b565b83018262000a26565b50505b505050565b600082821c905092915050565b600062000abd6000198460080262000a9d565b1980831691505092915050565b600062000ad8838362000aaa565b9150826002028217905092915050565b62000af38262000878565b67ffffffffffffffff81111562000b0f5762000b0e62000883565b5b62000b1b8254620008e1565b62000b2882828562000a4d565b600060209050601f83116001811462000b60576000841562000b4b578287015190505b62000b57858262000aca565b86555062000bc7565b601f19841662000b708662000916565b60005b8281101562000b9a5784890151825560018201915060208501945060208101905062000b73565b8683101562000bba578489015162000bb6601f89168262000aaa565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332304361707065643a2063617020697320300000000000000000000000600082015250565b600062000c1860158362000bcf565b915062000c258262000be0565b602082019050919050565b6000602082019050818103600083015262000c4b8162000c09565b9050919050565b600062000c5f82620005ca565b915062000c6c83620005ca565b925082820190508082111562000c875762000c866200064c565b5b92915050565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b600062000cc560198362000bcf565b915062000cd28262000c8d565b602082019050919050565b6000602082019050818103600083015262000cf88162000cb6565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000d37601f8362000bcf565b915062000d448262000cff565b602082019050919050565b6000602082019050818103600083015262000d6a8162000d28565b9050919050565b62000d7c81620005ca565b82525050565b600060208201905062000d99600083018462000d71565b92915050565b608051611edb62000dbb60003960006105540152611edb6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806342966c68116100a25780638da5cb5b116100715780638da5cb5b146102cf57806395d89b41146102ed578063a457c2d71461030b578063a9059cbb1461033b578063dd62ed3e1461036b57610116565b806342966c681461025d57806370a082311461027957806379cc6790146102a957806383197ef0146102c557610116565b806323b872dd116100e957806323b872dd146101a5578063293be456146101d5578063313ce567146101f1578063355274ea1461020f578063395093511461022d57610116565b806306fdde031461011b578063095ea7b3146101395780630ac168a11461016957806318160ddd14610187575b600080fd5b61012361039b565b6040516101309190611301565b60405180910390f35b610153600480360381019061014e91906113bc565b61042d565b6040516101609190611417565b60405180910390f35b610171610450565b60405161017e9190611441565b60405180910390f35b61018f610456565b60405161019c9190611441565b60405180910390f35b6101bf60048036038101906101ba919061145c565b610460565b6040516101cc9190611417565b60405180910390f35b6101ef60048036038101906101ea91906114af565b61048f565b005b6101f9610547565b60405161020691906114f8565b60405180910390f35b610217610550565b6040516102249190611441565b60405180910390f35b610247600480360381019061024291906113bc565b610578565b6040516102549190611417565b60405180910390f35b610277600480360381019061027291906114af565b6105af565b005b610293600480360381019061028e9190611513565b6105c3565b6040516102a09190611441565b60405180910390f35b6102c360048036038101906102be91906113bc565b61060b565b005b6102cd61062b565b005b6102d76106f6565b6040516102e49190611561565b60405180910390f35b6102f561071c565b6040516103029190611301565b60405180910390f35b610325600480360381019061032091906113bc565b6107ae565b6040516103329190611417565b60405180910390f35b610355600480360381019061035091906113bc565b610825565b6040516103629190611417565b60405180910390f35b6103856004803603810190610380919061157c565b610848565b6040516103929190611441565b60405180910390f35b6060600380546103aa906115eb565b80601f01602080910402602001604051908101604052809291908181526020018280546103d6906115eb565b80156104235780601f106103f857610100808354040283529160200191610423565b820191906000526020600020905b81548152906001019060200180831161040657829003601f168201915b5050505050905090565b600080610438610a94565b9050610445818585610a9c565b600191505092915050565b60065481565b6000600254905090565b60008061046b610a94565b9050610478858285610c65565b610483858585610cf1565b60019150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105169061168e565b60405180910390fd5b610527610547565b600a6105339190611810565b8161053e919061185b565b60068190555050565b60006012905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b600080610583610a94565b90506105a48185856105958589610848565b61059f919061189d565b610a9c565b600191505092915050565b6105c06105ba610a94565b82610f67565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61061d82610617610a94565b83610c65565b6106278282610f67565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b29061168e565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461072b906115eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610757906115eb565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b5050505050905090565b6000806107b9610a94565b905060006107c78286610848565b90508381101561080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390611943565b60405180910390fd5b6108198286868403610a9c565b60019250505092915050565b600080610830610a94565b905061083d818585610cf1565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108d7610550565b816108e0610456565b6108ea919061189d565b111561092b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610922906119af565b60405180910390fd5b6109358282610939565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f90611a1b565b60405180910390fd5b6109b460008383611134565b80600260008282546109c6919061189d565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a779190611441565b60405180910390a3610a8b600083836111f4565b5050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0290611aad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7190611b3f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c589190611441565b60405180910390a3505050565b6000610c718484610848565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ceb5781811015610cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd490611bab565b60405180910390fd5b610cea8484848403610a9c565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790611c3d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611ccf565b60405180910390fd5b610dda838383611134565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5790611d61565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f4e9190611441565b60405180910390a3610f618484846111f4565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90611df3565b60405180910390fd5b610fe282600083611134565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90611e85565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161111b9190611441565b60405180910390a361112f836000846111f4565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561119d57504173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111d65750600073ffffffffffffffffffffffffffffffffffffffff164173ffffffffffffffffffffffffffffffffffffffff1614155b156111e4576111e36111f9565b5b6111ef838383610a8f565b505050565b505050565b61120541600654611207565b565b61120f610550565b81611218610456565b611222919061189d565b1115611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a906119af565b60405180910390fd5b61126d82826108cf565b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156112ab578082015181840152602081019050611290565b60008484015250505050565b6000601f19601f8301169050919050565b60006112d382611271565b6112dd818561127c565b93506112ed81856020860161128d565b6112f6816112b7565b840191505092915050565b6000602082019050818103600083015261131b81846112c8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061135382611328565b9050919050565b61136381611348565b811461136e57600080fd5b50565b6000813590506113808161135a565b92915050565b6000819050919050565b61139981611386565b81146113a457600080fd5b50565b6000813590506113b681611390565b92915050565b600080604083850312156113d3576113d2611323565b5b60006113e185828601611371565b92505060206113f2858286016113a7565b9150509250929050565b60008115159050919050565b611411816113fc565b82525050565b600060208201905061142c6000830184611408565b92915050565b61143b81611386565b82525050565b60006020820190506114566000830184611432565b92915050565b60008060006060848603121561147557611474611323565b5b600061148386828701611371565b935050602061149486828701611371565b92505060406114a5868287016113a7565b9150509250925092565b6000602082840312156114c5576114c4611323565b5b60006114d3848285016113a7565b91505092915050565b600060ff82169050919050565b6114f2816114dc565b82525050565b600060208201905061150d60008301846114e9565b92915050565b60006020828403121561152957611528611323565b5b600061153784828501611371565b91505092915050565b600061154b82611328565b9050919050565b61155b81611540565b82525050565b60006020820190506115766000830184611552565b92915050565b6000806040838503121561159357611592611323565b5b60006115a185828601611371565b92505060206115b285828601611371565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061160357607f821691505b602082108103611616576116156115bc565b5b50919050565b7f6f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e60008201527f6374696f6e210000000000000000000000000000000000000000000000000000602082015250565b600061167860268361127c565b91506116838261161c565b604082019050919050565b600060208201905081810360008301526116a78161166b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611734578086048111156117105761170f6116ae565b5b600185161561171f5780820291505b808102905061172d856116dd565b94506116f4565b94509492505050565b60008261174d5760019050611809565b8161175b5760009050611809565b8160018114611771576002811461177b576117aa565b6001915050611809565b60ff84111561178d5761178c6116ae565b5b8360020a9150848211156117a4576117a36116ae565b5b50611809565b5060208310610133831016604e8410600b84101617156117df5782820a9050838111156117da576117d96116ae565b5b611809565b6117ec84848460016116ea565b92509050818404811115611803576118026116ae565b5b81810290505b9392505050565b600061181b82611386565b9150611826836114dc565b92506118537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461173d565b905092915050565b600061186682611386565b915061187183611386565b925082820261187f81611386565b91508282048414831517611896576118956116ae565b5b5092915050565b60006118a882611386565b91506118b383611386565b92508282019050808211156118cb576118ca6116ae565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061192d60258361127c565b9150611938826118d1565b604082019050919050565b6000602082019050818103600083015261195c81611920565b9050919050565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b600061199960198361127c565b91506119a482611963565b602082019050919050565b600060208201905081810360008301526119c88161198c565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611a05601f8361127c565b9150611a10826119cf565b602082019050919050565b60006020820190508181036000830152611a34816119f8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611a9760248361127c565b9150611aa282611a3b565b604082019050919050565b60006020820190508181036000830152611ac681611a8a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611b2960228361127c565b9150611b3482611acd565b604082019050919050565b60006020820190508181036000830152611b5881611b1c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611b95601d8361127c565b9150611ba082611b5f565b602082019050919050565b60006020820190508181036000830152611bc481611b88565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c2760258361127c565b9150611c3282611bcb565b604082019050919050565b60006020820190508181036000830152611c5681611c1a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611cb960238361127c565b9150611cc482611c5d565b604082019050919050565b60006020820190508181036000830152611ce881611cac565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611d4b60268361127c565b9150611d5682611cef565b604082019050919050565b60006020820190508181036000830152611d7a81611d3e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ddd60218361127c565b9150611de882611d81565b604082019050919050565b60006020820190508181036000830152611e0c81611dd0565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e6f60228361127c565b9150611e7a82611e13565b604082019050919050565b60006020820190508181036000830152611e9e81611e62565b905091905056fea26469706673582212205bcb2a3d755a669ab4a5b178359e20634d9a16320f6d9d06fc92426a5931058f64736f6c634300081100330000000000000000000000000000000000000000000000000000befe6f6720000000000000000000000000000000000000000000000000000000000000000007
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c806342966c68116100a25780638da5cb5b116100715780638da5cb5b146102cf57806395d89b41146102ed578063a457c2d71461030b578063a9059cbb1461033b578063dd62ed3e1461036b57610116565b806342966c681461025d57806370a082311461027957806379cc6790146102a957806383197ef0146102c557610116565b806323b872dd116100e957806323b872dd146101a5578063293be456146101d5578063313ce567146101f1578063355274ea1461020f578063395093511461022d57610116565b806306fdde031461011b578063095ea7b3146101395780630ac168a11461016957806318160ddd14610187575b600080fd5b61012361039b565b6040516101309190611301565b60405180910390f35b610153600480360381019061014e91906113bc565b61042d565b6040516101609190611417565b60405180910390f35b610171610450565b60405161017e9190611441565b60405180910390f35b61018f610456565b60405161019c9190611441565b60405180910390f35b6101bf60048036038101906101ba919061145c565b610460565b6040516101cc9190611417565b60405180910390f35b6101ef60048036038101906101ea91906114af565b61048f565b005b6101f9610547565b60405161020691906114f8565b60405180910390f35b610217610550565b6040516102249190611441565b60405180910390f35b610247600480360381019061024291906113bc565b610578565b6040516102549190611417565b60405180910390f35b610277600480360381019061027291906114af565b6105af565b005b610293600480360381019061028e9190611513565b6105c3565b6040516102a09190611441565b60405180910390f35b6102c360048036038101906102be91906113bc565b61060b565b005b6102cd61062b565b005b6102d76106f6565b6040516102e49190611561565b60405180910390f35b6102f561071c565b6040516103029190611301565b60405180910390f35b610325600480360381019061032091906113bc565b6107ae565b6040516103329190611417565b60405180910390f35b610355600480360381019061035091906113bc565b610825565b6040516103629190611417565b60405180910390f35b6103856004803603810190610380919061157c565b610848565b6040516103929190611441565b60405180910390f35b6060600380546103aa906115eb565b80601f01602080910402602001604051908101604052809291908181526020018280546103d6906115eb565b80156104235780601f106103f857610100808354040283529160200191610423565b820191906000526020600020905b81548152906001019060200180831161040657829003601f168201915b5050505050905090565b600080610438610a94565b9050610445818585610a9c565b600191505092915050565b60065481565b6000600254905090565b60008061046b610a94565b9050610478858285610c65565b610483858585610cf1565b60019150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105169061168e565b60405180910390fd5b610527610547565b600a6105339190611810565b8161053e919061185b565b60068190555050565b60006012905090565b60007f0000000000000000000000000000000000000a5a9298a2d9cbeb2a2880000000905090565b600080610583610a94565b90506105a48185856105958589610848565b61059f919061189d565b610a9c565b600191505092915050565b6105c06105ba610a94565b82610f67565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61061d82610617610a94565b83610c65565b6106278282610f67565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b29061168e565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461072b906115eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610757906115eb565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b5050505050905090565b6000806107b9610a94565b905060006107c78286610848565b90508381101561080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390611943565b60405180910390fd5b6108198286868403610a9c565b60019250505092915050565b600080610830610a94565b905061083d818585610cf1565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108d7610550565b816108e0610456565b6108ea919061189d565b111561092b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610922906119af565b60405180910390fd5b6109358282610939565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f90611a1b565b60405180910390fd5b6109b460008383611134565b80600260008282546109c6919061189d565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a779190611441565b60405180910390a3610a8b600083836111f4565b5050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0290611aad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7190611b3f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c589190611441565b60405180910390a3505050565b6000610c718484610848565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ceb5781811015610cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd490611bab565b60405180910390fd5b610cea8484848403610a9c565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790611c3d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611ccf565b60405180910390fd5b610dda838383611134565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5790611d61565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f4e9190611441565b60405180910390a3610f618484846111f4565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90611df3565b60405180910390fd5b610fe282600083611134565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90611e85565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161111b9190611441565b60405180910390a361112f836000846111f4565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561119d57504173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111d65750600073ffffffffffffffffffffffffffffffffffffffff164173ffffffffffffffffffffffffffffffffffffffff1614155b156111e4576111e36111f9565b5b6111ef838383610a8f565b505050565b505050565b61120541600654611207565b565b61120f610550565b81611218610456565b611222919061189d565b1115611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a906119af565b60405180910390fd5b61126d82826108cf565b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156112ab578082015181840152602081019050611290565b60008484015250505050565b6000601f19601f8301169050919050565b60006112d382611271565b6112dd818561127c565b93506112ed81856020860161128d565b6112f6816112b7565b840191505092915050565b6000602082019050818103600083015261131b81846112c8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061135382611328565b9050919050565b61136381611348565b811461136e57600080fd5b50565b6000813590506113808161135a565b92915050565b6000819050919050565b61139981611386565b81146113a457600080fd5b50565b6000813590506113b681611390565b92915050565b600080604083850312156113d3576113d2611323565b5b60006113e185828601611371565b92505060206113f2858286016113a7565b9150509250929050565b60008115159050919050565b611411816113fc565b82525050565b600060208201905061142c6000830184611408565b92915050565b61143b81611386565b82525050565b60006020820190506114566000830184611432565b92915050565b60008060006060848603121561147557611474611323565b5b600061148386828701611371565b935050602061149486828701611371565b92505060406114a5868287016113a7565b9150509250925092565b6000602082840312156114c5576114c4611323565b5b60006114d3848285016113a7565b91505092915050565b600060ff82169050919050565b6114f2816114dc565b82525050565b600060208201905061150d60008301846114e9565b92915050565b60006020828403121561152957611528611323565b5b600061153784828501611371565b91505092915050565b600061154b82611328565b9050919050565b61155b81611540565b82525050565b60006020820190506115766000830184611552565b92915050565b6000806040838503121561159357611592611323565b5b60006115a185828601611371565b92505060206115b285828601611371565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061160357607f821691505b602082108103611616576116156115bc565b5b50919050565b7f6f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e60008201527f6374696f6e210000000000000000000000000000000000000000000000000000602082015250565b600061167860268361127c565b91506116838261161c565b604082019050919050565b600060208201905081810360008301526116a78161166b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611734578086048111156117105761170f6116ae565b5b600185161561171f5780820291505b808102905061172d856116dd565b94506116f4565b94509492505050565b60008261174d5760019050611809565b8161175b5760009050611809565b8160018114611771576002811461177b576117aa565b6001915050611809565b60ff84111561178d5761178c6116ae565b5b8360020a9150848211156117a4576117a36116ae565b5b50611809565b5060208310610133831016604e8410600b84101617156117df5782820a9050838111156117da576117d96116ae565b5b611809565b6117ec84848460016116ea565b92509050818404811115611803576118026116ae565b5b81810290505b9392505050565b600061181b82611386565b9150611826836114dc565b92506118537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461173d565b905092915050565b600061186682611386565b915061187183611386565b925082820261187f81611386565b91508282048414831517611896576118956116ae565b5b5092915050565b60006118a882611386565b91506118b383611386565b92508282019050808211156118cb576118ca6116ae565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061192d60258361127c565b9150611938826118d1565b604082019050919050565b6000602082019050818103600083015261195c81611920565b9050919050565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b600061199960198361127c565b91506119a482611963565b602082019050919050565b600060208201905081810360008301526119c88161198c565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611a05601f8361127c565b9150611a10826119cf565b602082019050919050565b60006020820190508181036000830152611a34816119f8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611a9760248361127c565b9150611aa282611a3b565b604082019050919050565b60006020820190508181036000830152611ac681611a8a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611b2960228361127c565b9150611b3482611acd565b604082019050919050565b60006020820190508181036000830152611b5881611b1c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611b95601d8361127c565b9150611ba082611b5f565b602082019050919050565b60006020820190508181036000830152611bc481611b88565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c2760258361127c565b9150611c3282611bcb565b604082019050919050565b60006020820190508181036000830152611c5681611c1a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611cb960238361127c565b9150611cc482611c5d565b604082019050919050565b60006020820190508181036000830152611ce881611cac565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611d4b60268361127c565b9150611d5682611cef565b604082019050919050565b60006020820190508181036000830152611d7a81611d3e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ddd60218361127c565b9150611de882611d81565b604082019050919050565b60006020820190508181036000830152611e0c81611dd0565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e6f60228361127c565b9150611e7a82611e13565b604082019050919050565b60006020820190508181036000830152611e9e81611e62565b905091905056fea26469706673582212205bcb2a3d755a669ab4a5b178359e20634d9a16320f6d9d06fc92426a5931058f64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000befe6f6720000000000000000000000000000000000000000000000000000000000000000007
-----Decoded View---------------
Arg [0] : cap (uint256): 210000000000000
Arg [1] : reward (uint256): 7
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000befe6f672000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000007
Deployed Bytecode Sourcemap
297:1351:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;385:26:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3242:106:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5190:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1322:112:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3091:91:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;635:81:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:234:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;578:89:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3406:125:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;973:161:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1442:74:6;;;:::i;:::-;;350:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2365:102:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6592:427;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3727:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2154:98;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;4530:13;4546:12;:10;:12::i;:::-;4530:28;;4568:32;4577:5;4584:7;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;:::o;385:26:6:-;;;;:::o;3242:106:0:-;3303:7;3329:12;;3322:19;;3242:106;:::o;5190:286::-;5317:4;5333:15;5351:12;:10;:12::i;:::-;5333:30;;5373:38;5389:4;5395:7;5404:6;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;5465:4;5458:11;;;5190:286;;;;;:::o;1322:112:6:-;1577:5;;;;;;;;;;;1563:19;;:10;:19;;;1554:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1415:10:::1;:8;:10::i;:::-;1409:2;:16;;;;:::i;:::-;1399:6;:27;;;;:::i;:::-;1385:11;:41;;;;1322:112:::0;:::o;3091:91:0:-;3149:5;3173:2;3166:9;;3091:91;:::o;635:81:3:-;679:7;705:4;698:11;;635:81;:::o;5871:234:0:-;5959:4;5975:13;5991:12;:10;:12::i;:::-;5975:28;;6013:64;6022:5;6029:7;6066:10;6038:25;6048:5;6055:7;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;:::-;6094:4;6087:11;;;5871:234;;;;:::o;578:89:2:-;633:27;639:12;:10;:12::i;:::-;653:6;633:5;:27::i;:::-;578:89;:::o;3406:125:0:-;3480:7;3506:9;:18;3516:7;3506:18;;;;;;;;;;;;;;;;3499:25;;3406:125;;;:::o;973:161:2:-;1049:46;1065:7;1074:12;:10;:12::i;:::-;1088:6;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;1442:74:6:-;1577:5;;;;;;;;;;;1563:19;;:10;:19;;;1554:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1502:5:::1;;;;;;;;;;;1489:19;;;350:28:::0;;;;;;;;;;;;;:::o;2365:102:0:-;2421:13;2453:7;2446:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2365:102;:::o;6592:427::-;6685:4;6701:13;6717:12;:10;:12::i;:::-;6701:28;;6739:24;6766:25;6776:5;6783:7;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;:::-;7008:4;7001:11;;;;6592:427;;;;:::o;3727:189::-;3806:4;3822:13;3838:12;:10;:12::i;:::-;3822:28;;3860;3870:5;3877:2;3881:6;3860:9;:28::i;:::-;3905:4;3898:11;;;3727:189;;;;:::o;3974:149::-;4063:7;4089:11;:18;4101:5;4089:18;;;;;;;;;;;;;;;:27;4108:7;4089:27;;;;;;;;;;;;;;;;4082:34;;3974:149;;;;:::o;769:204:3:-;893:5;:3;:5::i;:::-;883:6;861:19;:17;:19::i;:::-;:28;;;;:::i;:::-;:37;;853:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;938:28;950:7;959:6;938:11;:28::i;:::-;769:204;;:::o;8567:535:0:-;8669:1;8650:21;;:7;:21;;;8642:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8718:49;8747:1;8751:7;8760:6;8718:20;:49::i;:::-;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;;;;;8968:6;8946:9;:18;8956:7;8946:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;9020:7;8999:37;;9016:1;8999:37;;;9029:6;8999:37;;;;;;:::i;:::-;;;;;;;;9047:48;9075:1;9079:7;9088:6;9047:19;:48::i;:::-;8567:535;;:::o;12180:121::-;;;;:::o;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;10504:370:0:-;10652:1;10635:19;;:5;:19;;;10627:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10732:1;10713:21;;:7;:21;;;10705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10814:6;10784:11;:18;10796:5;10784:18;;;;;;;;;;;;;;;:27;10803:7;10784:27;;;;;;;;;;;;;;;:36;;;;10851:7;10835:32;;10844:5;10835:32;;;10860:6;10835:32;;;;;;:::i;:::-;;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;11371:17;11351:16;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11347:243;11275:321;11155:441;;;:::o;7473:818::-;7615:1;7599:18;;:4;:18;;;7591:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7691:1;7677:16;;:2;:16;;;7669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7744:38;7765:4;7771:2;7775:6;7744:20;:38::i;:::-;7793:19;7815:9;:15;7825:4;7815:15;;;;;;;;;;;;;;;;7793:37;;7863:6;7848:11;:21;;7840:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7978:6;7964:11;:20;7946:9;:15;7956:4;7946:15;;;;;;;;;;;;;;;:38;;;;8178:6;8161:9;:13;8171:2;8161:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;8225:2;8210:26;;8219:4;8210:26;;;8229:6;8210:26;;;;;;:::i;:::-;;;;;;;;8247:37;8267:4;8273:2;8277:6;8247:19;:37::i;:::-;7581:710;7473:818;;;:::o;9422:659::-;9524:1;9505:21;;:7;:21;;;9497:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9575:49;9596:7;9613:1;9617:6;9575:20;:49::i;:::-;9635:22;9660:9;:18;9670:7;9660:18;;;;;;;;;;;;;;;;9635:43;;9714:6;9696:14;:24;;9688:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9831:6;9814:14;:23;9793:9;:18;9803:7;9793:18;;;;;;;;;;;;;;;:44;;;;9946:6;9930:12;;:22;;;;;;;;;;;10004:1;9978:37;;9987:7;9978:37;;;10008:6;9978:37;;;;;;:::i;:::-;;;;;;;;10026:48;10046:7;10063:1;10067:6;10026:19;:48::i;:::-;9487:594;9422:659;;:::o;1022:292:6:-;1149:1;1133:18;;:4;:18;;;;:42;;;;;1161:14;1155:20;;:2;:20;;;;1133:42;:74;;;;;1205:1;1179:28;;:14;:28;;;;1133:74;1130:123;;;1223:18;:16;:18::i;:::-;1130:123;1263:43;1290:4;1296:2;1300:5;1263:26;:43::i;:::-;1022:292;;;:::o;12889:120:0:-;;;;:::o;924:90:6:-;972:34;978:14;994:11;;972:5;:34::i;:::-;924:90::o;689:227::-;834:5;:3;:5::i;:::-;824:6;802:19;:17;:19::i;:::-;:28;;;;:::i;:::-;:37;;794:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;880:28;892:7;901:6;880:11;:28::i;:::-;689:227;;:::o;7:99:7:-;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;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:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:104::-;5568:7;5597:24;5615:5;5597:24;:::i;:::-;5586:35;;5523:104;;;:::o;5633:142::-;5736:32;5762:5;5736:32;:::i;:::-;5731:3;5724:45;5633:142;;:::o;5781:254::-;5890:4;5928:2;5917:9;5913:18;5905:26;;5941:87;6025:1;6014:9;6010:17;6001:6;5941:87;:::i;:::-;5781:254;;;;:::o;6041:474::-;6109:6;6117;6166:2;6154:9;6145:7;6141:23;6137:32;6134:119;;;6172:79;;:::i;:::-;6134:119;6292:1;6317:53;6362:7;6353:6;6342:9;6338:22;6317:53;:::i;:::-;6307:63;;6263:117;6419:2;6445:53;6490:7;6481:6;6470:9;6466:22;6445:53;:::i;:::-;6435:63;;6390:118;6041:474;;;;;:::o;6521:180::-;6569:77;6566:1;6559:88;6666:4;6663:1;6656:15;6690:4;6687:1;6680:15;6707:320;6751:6;6788:1;6782:4;6778:12;6768:22;;6835:1;6829:4;6825:12;6856:18;6846:81;;6912:4;6904:6;6900:17;6890:27;;6846:81;6974:2;6966:6;6963:14;6943:18;6940:38;6937:84;;6993:18;;:::i;:::-;6937:84;6758:269;6707:320;;;:::o;7033:225::-;7173:34;7169:1;7161:6;7157:14;7150:58;7242:8;7237:2;7229:6;7225:15;7218:33;7033:225;:::o;7264:366::-;7406:3;7427:67;7491:2;7486:3;7427:67;:::i;:::-;7420:74;;7503:93;7592:3;7503:93;:::i;:::-;7621:2;7616:3;7612:12;7605:19;;7264:366;;;:::o;7636:419::-;7802:4;7840:2;7829:9;7825:18;7817:26;;7889:9;7883:4;7879:20;7875:1;7864:9;7860:17;7853:47;7917:131;8043:4;7917:131;:::i;:::-;7909:139;;7636:419;;;:::o;8061:180::-;8109:77;8106:1;8099:88;8206:4;8203:1;8196:15;8230:4;8227:1;8220:15;8247:102;8289:8;8336:5;8333:1;8329:13;8308:34;;8247:102;;;:::o;8355:848::-;8416:5;8423:4;8447:6;8438:15;;8471:5;8462:14;;8485:712;8506:1;8496:8;8493:15;8485:712;;;8601:4;8596:3;8592:14;8586:4;8583:24;8580:50;;;8610:18;;:::i;:::-;8580:50;8660:1;8650:8;8646:16;8643:451;;;9075:4;9068:5;9064:16;9055:25;;8643:451;9125:4;9119;9115:15;9107:23;;9155:32;9178:8;9155:32;:::i;:::-;9143:44;;8485:712;;;8355:848;;;;;;;:::o;9209:1073::-;9263:5;9454:8;9444:40;;9475:1;9466:10;;9477:5;;9444:40;9503:4;9493:36;;9520:1;9511:10;;9522:5;;9493:36;9589:4;9637:1;9632:27;;;;9673:1;9668:191;;;;9582:277;;9632:27;9650:1;9641:10;;9652:5;;;9668:191;9713:3;9703:8;9700:17;9697:43;;;9720:18;;:::i;:::-;9697:43;9769:8;9766:1;9762:16;9753:25;;9804:3;9797:5;9794:14;9791:40;;;9811:18;;:::i;:::-;9791:40;9844:5;;;9582:277;;9968:2;9958:8;9955:16;9949:3;9943:4;9940:13;9936:36;9918:2;9908:8;9905:16;9900:2;9894:4;9891:12;9887:35;9871:111;9868:246;;;10024:8;10018:4;10014:19;10005:28;;10059:3;10052:5;10049:14;10046:40;;;10066:18;;:::i;:::-;10046:40;10099:5;;9868:246;10139:42;10177:3;10167:8;10161:4;10158:1;10139:42;:::i;:::-;10124:57;;;;10213:4;10208:3;10204:14;10197:5;10194:25;10191:51;;;10222:18;;:::i;:::-;10191:51;10271:4;10264:5;10260:16;10251:25;;9209:1073;;;;;;:::o;10288:281::-;10346:5;10370:23;10388:4;10370:23;:::i;:::-;10362:31;;10414:25;10430:8;10414:25;:::i;:::-;10402:37;;10458:104;10495:66;10485:8;10479:4;10458:104;:::i;:::-;10449:113;;10288:281;;;;:::o;10575:410::-;10615:7;10638:20;10656:1;10638:20;:::i;:::-;10633:25;;10672:20;10690:1;10672:20;:::i;:::-;10667:25;;10727:1;10724;10720:9;10749:30;10767:11;10749:30;:::i;:::-;10738:41;;10928:1;10919:7;10915:15;10912:1;10909:22;10889:1;10882:9;10862:83;10839:139;;10958:18;;:::i;:::-;10839:139;10623:362;10575:410;;;;:::o;10991:191::-;11031:3;11050:20;11068:1;11050:20;:::i;:::-;11045:25;;11084:20;11102:1;11084:20;:::i;:::-;11079:25;;11127:1;11124;11120:9;11113:16;;11148:3;11145:1;11142:10;11139:36;;;11155:18;;:::i;:::-;11139:36;10991:191;;;;:::o;11188:224::-;11328:34;11324:1;11316:6;11312:14;11305:58;11397:7;11392:2;11384:6;11380:15;11373:32;11188:224;:::o;11418:366::-;11560:3;11581:67;11645:2;11640:3;11581:67;:::i;:::-;11574:74;;11657:93;11746:3;11657:93;:::i;:::-;11775:2;11770:3;11766:12;11759:19;;11418:366;;;:::o;11790:419::-;11956:4;11994:2;11983:9;11979:18;11971:26;;12043:9;12037:4;12033:20;12029:1;12018:9;12014:17;12007:47;12071:131;12197:4;12071:131;:::i;:::-;12063:139;;11790:419;;;:::o;12215:175::-;12355:27;12351:1;12343:6;12339:14;12332:51;12215:175;:::o;12396:366::-;12538:3;12559:67;12623:2;12618:3;12559:67;:::i;:::-;12552:74;;12635:93;12724:3;12635:93;:::i;:::-;12753:2;12748:3;12744:12;12737:19;;12396:366;;;:::o;12768:419::-;12934:4;12972:2;12961:9;12957:18;12949:26;;13021:9;13015:4;13011:20;13007:1;12996:9;12992:17;12985:47;13049:131;13175:4;13049:131;:::i;:::-;13041:139;;12768:419;;;:::o;13193:181::-;13333:33;13329:1;13321:6;13317:14;13310:57;13193:181;:::o;13380:366::-;13522:3;13543:67;13607:2;13602:3;13543:67;:::i;:::-;13536:74;;13619:93;13708:3;13619:93;:::i;:::-;13737:2;13732:3;13728:12;13721:19;;13380:366;;;:::o;13752:419::-;13918:4;13956:2;13945:9;13941:18;13933:26;;14005:9;13999:4;13995:20;13991:1;13980:9;13976:17;13969:47;14033:131;14159:4;14033:131;:::i;:::-;14025:139;;13752:419;;;:::o;14177:223::-;14317:34;14313:1;14305:6;14301:14;14294:58;14386:6;14381:2;14373:6;14369:15;14362:31;14177:223;:::o;14406:366::-;14548:3;14569:67;14633:2;14628:3;14569:67;:::i;:::-;14562:74;;14645:93;14734:3;14645:93;:::i;:::-;14763:2;14758:3;14754:12;14747:19;;14406:366;;;:::o;14778:419::-;14944:4;14982:2;14971:9;14967:18;14959:26;;15031:9;15025:4;15021:20;15017:1;15006:9;15002:17;14995:47;15059:131;15185:4;15059:131;:::i;:::-;15051:139;;14778:419;;;:::o;15203:221::-;15343:34;15339:1;15331:6;15327:14;15320:58;15412:4;15407:2;15399:6;15395:15;15388:29;15203:221;:::o;15430:366::-;15572:3;15593:67;15657:2;15652:3;15593:67;:::i;:::-;15586:74;;15669:93;15758:3;15669:93;:::i;:::-;15787:2;15782:3;15778:12;15771:19;;15430:366;;;:::o;15802:419::-;15968:4;16006:2;15995:9;15991:18;15983:26;;16055:9;16049:4;16045:20;16041:1;16030:9;16026:17;16019:47;16083:131;16209:4;16083:131;:::i;:::-;16075:139;;15802:419;;;:::o;16227:179::-;16367:31;16363:1;16355:6;16351:14;16344:55;16227:179;:::o;16412:366::-;16554:3;16575:67;16639:2;16634:3;16575:67;:::i;:::-;16568:74;;16651:93;16740:3;16651:93;:::i;:::-;16769:2;16764:3;16760:12;16753:19;;16412:366;;;:::o;16784:419::-;16950:4;16988:2;16977:9;16973:18;16965:26;;17037:9;17031:4;17027:20;17023:1;17012:9;17008:17;17001:47;17065:131;17191:4;17065:131;:::i;:::-;17057:139;;16784:419;;;:::o;17209:224::-;17349:34;17345:1;17337:6;17333:14;17326:58;17418:7;17413:2;17405:6;17401:15;17394:32;17209:224;:::o;17439:366::-;17581:3;17602:67;17666:2;17661:3;17602:67;:::i;:::-;17595:74;;17678:93;17767:3;17678:93;:::i;:::-;17796:2;17791:3;17787:12;17780:19;;17439:366;;;:::o;17811:419::-;17977:4;18015:2;18004:9;18000:18;17992:26;;18064:9;18058:4;18054:20;18050:1;18039:9;18035:17;18028:47;18092:131;18218:4;18092:131;:::i;:::-;18084:139;;17811:419;;;:::o;18236:222::-;18376:34;18372:1;18364:6;18360:14;18353:58;18445:5;18440:2;18432:6;18428:15;18421:30;18236:222;:::o;18464:366::-;18606:3;18627:67;18691:2;18686:3;18627:67;:::i;:::-;18620:74;;18703:93;18792:3;18703:93;:::i;:::-;18821:2;18816:3;18812:12;18805:19;;18464:366;;;:::o;18836:419::-;19002:4;19040:2;19029:9;19025:18;19017:26;;19089:9;19083:4;19079:20;19075:1;19064:9;19060:17;19053:47;19117:131;19243:4;19117:131;:::i;:::-;19109:139;;18836:419;;;:::o;19261:225::-;19401:34;19397:1;19389:6;19385:14;19378:58;19470:8;19465:2;19457:6;19453:15;19446:33;19261:225;:::o;19492:366::-;19634:3;19655:67;19719:2;19714:3;19655:67;:::i;:::-;19648:74;;19731:93;19820:3;19731:93;:::i;:::-;19849:2;19844:3;19840:12;19833:19;;19492:366;;;:::o;19864:419::-;20030:4;20068:2;20057:9;20053:18;20045:26;;20117:9;20111:4;20107:20;20103:1;20092:9;20088:17;20081:47;20145:131;20271:4;20145:131;:::i;:::-;20137:139;;19864:419;;;:::o;20289:220::-;20429:34;20425:1;20417:6;20413:14;20406:58;20498:3;20493:2;20485:6;20481:15;20474:28;20289:220;:::o;20515:366::-;20657:3;20678:67;20742:2;20737:3;20678:67;:::i;:::-;20671:74;;20754:93;20843:3;20754:93;:::i;:::-;20872:2;20867:3;20863:12;20856:19;;20515:366;;;:::o;20887:419::-;21053:4;21091:2;21080:9;21076:18;21068:26;;21140:9;21134:4;21130:20;21126:1;21115:9;21111:17;21104:47;21168:131;21294:4;21168:131;:::i;:::-;21160:139;;20887:419;;;:::o;21312:221::-;21452:34;21448:1;21440:6;21436:14;21429:58;21521:4;21516:2;21508:6;21504:15;21497:29;21312:221;:::o;21539:366::-;21681:3;21702:67;21766:2;21761:3;21702:67;:::i;:::-;21695:74;;21778:93;21867:3;21778:93;:::i;:::-;21896:2;21891:3;21887:12;21880:19;;21539:366;;;:::o;21911:419::-;22077:4;22115:2;22104:9;22100:18;22092:26;;22164:9;22158:4;22154:20;22150:1;22139:9;22135:17;22128:47;22192:131;22318:4;22192:131;:::i;:::-;22184:139;;21911:419;;;:::o
Swarm Source
ipfs://5bcb2a3d755a669ab4a5b178359e20634d9a16320f6d9d06fc92426a5931058f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.