Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 64 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18167690 | 412 days ago | IN | 0 ETH | 0.00038325 | ||||
Approve | 17557846 | 498 days ago | IN | 0 ETH | 0.00109078 | ||||
Approve | 17549516 | 499 days ago | IN | 0 ETH | 0.0005751 | ||||
Approve | 17549355 | 499 days ago | IN | 0 ETH | 0.00057 | ||||
Approve | 17549166 | 499 days ago | IN | 0 ETH | 0.00035547 | ||||
Approve | 17549044 | 499 days ago | IN | 0 ETH | 0.00062413 | ||||
Approve | 17548841 | 499 days ago | IN | 0 ETH | 0.00066587 | ||||
Approve | 17548830 | 499 days ago | IN | 0 ETH | 0.00041798 | ||||
Approve | 17548810 | 499 days ago | IN | 0 ETH | 0.00067934 | ||||
Approve | 17548795 | 499 days ago | IN | 0 ETH | 0.00064511 | ||||
Approve | 17548794 | 499 days ago | IN | 0 ETH | 0.00068305 | ||||
Approve | 17548788 | 499 days ago | IN | 0 ETH | 0.00061199 | ||||
Approve | 17548787 | 499 days ago | IN | 0 ETH | 0.00039107 | ||||
Approve | 17548786 | 499 days ago | IN | 0 ETH | 0.00063426 | ||||
Approve | 17548780 | 499 days ago | IN | 0 ETH | 0.00069344 | ||||
Approve | 17548776 | 499 days ago | IN | 0 ETH | 0.00076627 | ||||
Approve | 17548771 | 499 days ago | IN | 0 ETH | 0.00073278 | ||||
Approve | 17548754 | 499 days ago | IN | 0 ETH | 0.00073251 | ||||
Approve | 17548725 | 499 days ago | IN | 0 ETH | 0.00064666 | ||||
Approve | 17548718 | 499 days ago | IN | 0 ETH | 0.00062463 | ||||
Approve | 17548708 | 499 days ago | IN | 0 ETH | 0.00063063 | ||||
Approve | 17548690 | 499 days ago | IN | 0 ETH | 0.00091174 | ||||
Approve | 17548688 | 499 days ago | IN | 0 ETH | 0.00060711 | ||||
Approve | 17548667 | 499 days ago | IN | 0 ETH | 0.00072929 | ||||
Approve | 17548664 | 499 days ago | IN | 0 ETH | 0.00063507 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
17549358 | 499 days ago | 0.00283783 ETH | ||||
17549358 | 499 days ago | 0.00268062 ETH | ||||
17548906 | 499 days ago | 0.00315226 ETH | ||||
17548906 | 499 days ago | 0.00305416 ETH | ||||
17548833 | 499 days ago | 0.00334847 ETH | ||||
17548833 | 499 days ago | 0.00327451 ETH | ||||
17548810 | 499 days ago | 0.00349637 ETH | ||||
17548810 | 499 days ago | 0.00313332 ETH | ||||
17548810 | 499 days ago | 0.00422247 ETH | ||||
17548810 | 499 days ago | 0.00382873 ETH | ||||
17548787 | 499 days ago | 0.00500995 ETH | ||||
17548787 | 499 days ago | 0.00461448 ETH | ||||
17548786 | 499 days ago | 0.00580089 ETH | ||||
17548786 | 499 days ago | 0.00538184 ETH | ||||
17548784 | 499 days ago | 0.00580089 ETH | ||||
17548784 | 499 days ago | 0.00538184 ETH | ||||
17548780 | 499 days ago | 0.00663899 ETH | ||||
17548780 | 499 days ago | 0.0064983 ETH | ||||
17548778 | 499 days ago | 0.00692036 ETH | ||||
17548778 | 499 days ago | 0.00678309 ETH | ||||
17548776 | 499 days ago | 0.0071949 ETH | ||||
17548776 | 499 days ago | 0.00703431 ETH | ||||
17548774 | 499 days ago | 0.00751606 ETH | ||||
17548774 | 499 days ago | 0.00674443 ETH | ||||
17548763 | 499 days ago | 0.00905933 ETH |
Loading...
Loading
Contract Name:
EverPluto
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-24 */ // Website: https://everpluto.xyz/ // Twitter: https://twitter.com/everplutoeth // Telegram: https://t.me/EverPlutoETH // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: everpluto.sol //SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address UNISWAP_V2_PAIR); } contract EverPluto is IERC20, Ownable { /* -------------------------------------------------------------------------- */ /* events */ /* -------------------------------------------------------------------------- */ event Reflect(uint256 amountReflected, uint256 newTotalProportion); /* -------------------------------------------------------------------------- */ /* constants */ /* -------------------------------------------------------------------------- */ address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; uint256 constant MAX_FEE = 10; /* -------------------------------------------------------------------------- */ /* states */ /* -------------------------------------------------------------------------- */ IUniswapV2Router02 public constant UNISWAP_V2_ROUTER = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address public immutable UNISWAP_V2_PAIR; struct Fee { uint8 reflection; uint8 marketing; uint8 lp; uint8 buyback; uint8 burn; uint128 total; } string _name = "EverPluto"; string _symbol = "PLUTO"; uint256 _totalSupply = 1_000_000_000_000 ether; uint256 public _maxTxAmount = _totalSupply * 2 / 100; /* rOwned = ratio of tokens owned relative to circulating supply (NOT total supply, since circulating <= total) */ mapping(address => uint256) public _rOwned; uint256 public _totalProportion = _totalSupply; mapping(address => mapping(address => uint256)) _allowances; bool public limitsEnabled = false; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; Fee public buyFee = Fee({reflection: 2, marketing: 1, lp: 1, buyback: 1, burn: 0, total: 5}); Fee public sellFee = Fee({reflection: 2, marketing: 3, lp: 3, buyback: 2, burn: 0, total: 10}); address private marketingFeeReceiver; address private lpFeeReceiver; address private buybackFeeReceiver; bool public claimingFees = true; uint256 public swapThreshold = (_totalSupply * 2) / 1000; bool inSwap; mapping(address => bool) public blacklists; /* -------------------------------------------------------------------------- */ /* modifiers */ /* -------------------------------------------------------------------------- */ modifier swapping() { inSwap = true; _; inSwap = false; } /* -------------------------------------------------------------------------- */ /* constructor */ /* -------------------------------------------------------------------------- */ constructor() { // create uniswap pair address _uniswapPair = IUniswapV2Factory(UNISWAP_V2_ROUTER.factory()).createPair(address(this), UNISWAP_V2_ROUTER.WETH()); UNISWAP_V2_PAIR = _uniswapPair; _allowances[address(this)][address(UNISWAP_V2_ROUTER)] = type(uint256).max; _allowances[address(this)][tx.origin] = type(uint256).max; isTxLimitExempt[address(this)] = true; isTxLimitExempt[address(UNISWAP_V2_ROUTER)] = true; isTxLimitExempt[_uniswapPair] = true; isTxLimitExempt[tx.origin] = true; isFeeExempt[tx.origin] = true; marketingFeeReceiver = 0x5e7F57cD4dE91D3F273a546e021fB9ACc98f7c8D; lpFeeReceiver = 0x5bc3F37d65C23e62E5cd341Ff6585E8ebA82358b; buybackFeeReceiver = 0xeB41B28C903075D7A7700664d7AA8875F0d3e469; _rOwned[tx.origin] = _totalSupply; emit Transfer(address(0), tx.origin, _totalSupply); } receive() external payable {} /* -------------------------------------------------------------------------- */ /* ERC20 */ /* -------------------------------------------------------------------------- */ function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { require(_allowances[sender][msg.sender] >= amount, "ERC20: insufficient allowance"); _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return _transferFrom(sender, recipient, amount); } /* -------------------------------------------------------------------------- */ /* views */ /* -------------------------------------------------------------------------- */ function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure returns (uint8) { return 18; } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory) { return _symbol; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function tokensToProportion(uint256 tokens) public view returns (uint256) { return tokens * _totalProportion / _totalSupply; } function tokenFromReflection(uint256 proportion) public view returns (uint256) { return proportion * _totalSupply / _totalProportion; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO); } /* -------------------------------------------------------------------------- */ /* owners */ /* -------------------------------------------------------------------------- */ function clearStuckBalance() external onlyOwner { (bool success,) = payable(msg.sender).call{value: address(this).balance}(""); require(success); } function clearStuckToken() external onlyOwner { _transferFrom(address(this), msg.sender, balanceOf(address(this))); } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { claimingFees = _enabled; swapThreshold = _amount; } function changeFees( uint8 reflectionFeeBuy, uint8 marketingFeeBuy, uint8 lpFeeBuy, uint8 buybackFeeBuy, uint8 burnFeeBuy, uint8 reflectionFeeSell, uint8 marketingFeeSell, uint8 lpFeeSell, uint8 buybackFeeSell, uint8 burnFeeSell ) external onlyOwner { uint128 __totalBuyFee = reflectionFeeBuy + marketingFeeBuy + lpFeeBuy + buybackFeeBuy + burnFeeBuy; uint128 __totalSellFee = reflectionFeeSell + marketingFeeSell + lpFeeSell + buybackFeeSell + burnFeeSell; require(__totalBuyFee <= MAX_FEE, "Buy fees too high"); require(__totalSellFee <= MAX_FEE, "Sell fees too high"); buyFee = Fee({ reflection: reflectionFeeBuy, marketing: reflectionFeeBuy, lp: reflectionFeeBuy, buyback: reflectionFeeBuy, burn: burnFeeBuy, total: __totalBuyFee }); sellFee = Fee({ reflection: reflectionFeeSell, marketing: reflectionFeeSell, lp: reflectionFeeSell, buyback: reflectionFeeSell, burn: burnFeeSell, total: __totalSellFee }); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setFeeReceivers(address m_, address lp_, address b_) external onlyOwner { marketingFeeReceiver = m_; lpFeeReceiver = lp_; buybackFeeReceiver = b_; } function setMaxTxBasisPoint(uint256 p_) external onlyOwner { _maxTxAmount = _totalSupply * p_ / 10000; } function setLimitsEnabled(bool e_) external onlyOwner { limitsEnabled = e_; } function blacklist(address _address, bool _isBlacklisting) external onlyOwner { blacklists[_address] = _isBlacklisting; } /* -------------------------------------------------------------------------- */ /* private */ /* -------------------------------------------------------------------------- */ function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(!blacklists[recipient] && !blacklists[sender], "Blacklisted"); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if (limitsEnabled && !isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } if (_shouldSwapBack()) { _swapBack(); } uint256 proportionAmount = tokensToProportion(amount); require(_rOwned[sender] >= proportionAmount, "Insufficient Balance"); _rOwned[sender] = _rOwned[sender] - proportionAmount; uint256 proportionReceived = _shouldTakeFee(sender, recipient) ? _takeFeeInProportions(sender == UNISWAP_V2_PAIR ? true : false, sender, proportionAmount) : proportionAmount; _rOwned[recipient] = _rOwned[recipient] + proportionReceived; emit Transfer(sender, recipient, tokenFromReflection(proportionReceived)); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { uint256 proportionAmount = tokensToProportion(amount); require(_rOwned[sender] >= proportionAmount, "Insufficient Balance"); _rOwned[sender] = _rOwned[sender] - proportionAmount; _rOwned[recipient] = _rOwned[recipient] + proportionAmount; emit Transfer(sender, recipient, amount); return true; } function _takeFeeInProportions(bool buying, address sender, uint256 proportionAmount) internal returns (uint256) { Fee memory __buyFee = buyFee; Fee memory __sellFee = sellFee; uint256 proportionFeeAmount = buying == true ? proportionAmount * __buyFee.total / 100 : proportionAmount * __sellFee.total / 100; // reflect uint256 proportionReflected = buying == true ? proportionFeeAmount * __buyFee.reflection / __buyFee.total : proportionFeeAmount * __sellFee.reflection / __sellFee.total; _totalProportion = _totalProportion - proportionReflected; // take fees uint256 _proportionToContract = proportionFeeAmount - proportionReflected; if (_proportionToContract > 0) { _rOwned[address(this)] = _rOwned[address(this)] + _proportionToContract; emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract)); } emit Reflect(proportionReflected, _totalProportion); return proportionAmount - proportionFeeAmount; } function _shouldSwapBack() internal view returns (bool) { return msg.sender != UNISWAP_V2_PAIR && !inSwap && claimingFees && balanceOf(address(this)) >= swapThreshold; } function _swapBack() internal swapping { Fee memory __sellFee = sellFee; uint256 __swapThreshold = swapThreshold; uint256 amountToBurn = __swapThreshold * __sellFee.burn / __sellFee.total; uint256 amountToSwap = __swapThreshold - amountToBurn; approve(address(UNISWAP_V2_ROUTER), amountToSwap); // burn _transferFrom(address(this), DEAD, amountToBurn); // swap address[] memory path = new address[](2); path[0] = address(this); path[1] = UNISWAP_V2_ROUTER.WETH(); UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalSwapFee = __sellFee.total - __sellFee.reflection - __sellFee.burn; uint256 amountETHMarketing = amountETH * __sellFee.marketing / totalSwapFee; uint256 amountETHLP = amountETH * __sellFee.lp / totalSwapFee; uint256 amountETHBuyback = amountETH * __sellFee.buyback / totalSwapFee; // send (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(lpFeeReceiver).call{value: amountETHLP}(""); (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHBuyback}(""); } function _shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","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":[],"name":"UNISWAP_V2_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_V2_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"reflectionFeeBuy","type":"uint8"},{"internalType":"uint8","name":"marketingFeeBuy","type":"uint8"},{"internalType":"uint8","name":"lpFeeBuy","type":"uint8"},{"internalType":"uint8","name":"buybackFeeBuy","type":"uint8"},{"internalType":"uint8","name":"burnFeeBuy","type":"uint8"},{"internalType":"uint8","name":"reflectionFeeSell","type":"uint8"},{"internalType":"uint8","name":"marketingFeeSell","type":"uint8"},{"internalType":"uint8","name":"lpFeeSell","type":"uint8"},{"internalType":"uint8","name":"buybackFeeSell","type":"uint8"},{"internalType":"uint8","name":"burnFeeSell","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimingFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"m_","type":"address"},{"internalType":"address","name":"lp_","type":"address"},{"internalType":"address","name":"b_","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e_","type":"bool"}],"name":"setLimitsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"p_","type":"uint256"}],"name":"setMaxTxBasisPoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600960a09081526845766572506c75746f60b81b60c0526001906200002a908262000543565b50604080518082019091526005815264504c55544f60d81b602082015260029062000056908262000543565b506c0c9f2c9cd04674edea40000000600355606460035460026200007b91906200060b565b62000087919062000635565b6004556003805460068190556008805460ff191690556040805160c080820183526002808352600160208085018290528486018290526060808601929092525f6080808701829052600560a097880152600b8054650500010101026001600160a81b031991821617909155885196870189528587529286018a90529685019890985290830182905293820195909552600a910152600c8054650a00020303029216919091179055600f805460ff60a01b1916600160a01b1790556103e8916200015191906200060b565b6200015d919062000635565b6010553480156200016c575f80fd5b50620001783362000454565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f0919062000655565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000250573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000276919062000655565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002e7919062000655565b6001600160a01b0381166080819052305f818152600760209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845282528083205f19908190553280855282852091909155938352600a8252808320805460ff1990811660019081179092557fc90215bb1b0ac6bfa50a3c02c4b559c695b6a8e828048a88e327592fc55c5d2c80548216831790559584528184208054871682179055848452818420805487168217905560098352818420805490961617909455600d80546001600160a01b0319908116735e7f57cd4de91d3f273a546e021fb9acc98f7c8d17909155600e80548216735bc3f37d65c23e62e5cd341ff6585e8eba82358b179055600f805490911673eb41b28c903075d7a7700664d7aa8875f0d3e469179055600354600582528483208190559351938452939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000684565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004cc57607f821691505b602082108103620004eb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200053e575f81815260208120601f850160051c81016020861015620005195750805b601f850160051c820191505b818110156200053a5782815560010162000525565b5050505b505050565b81516001600160401b038111156200055f576200055f620004a3565b6200057781620005708454620004b7565b84620004f1565b602080601f831160018114620005ad575f8415620005955750858301515b5f19600386901b1c1916600185901b1785556200053a565b5f85815260208120601f198616915b82811015620005dd57888601518255948401946001909101908401620005bc565b5085821015620005fb57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820281158282048414176200062f57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826200065057634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000666575f80fd5b81516001600160a01b03811681146200067d575f80fd5b9392505050565b608051611fc9620006ab5f395f818161072e015281816111c601526114700152611fc95ff3fe608060405260043610610215575f3560e01c8063571ac8b01161011e578063b0f7ec38116100a8578063df20fd491161006d578063df20fd49146106c0578063e186ec74146106df578063f2fde38b146106fe578063f40acc3d1461071d578063f84ba65d14610750575f80fd5b8063b0f7ec381461060a578063c38a31de1461062a578063d7c0103214610649578063d85a282814610668578063dd62ed3e1461067c575f80fd5b80637d1db4a5116100ee5780637d1db4a51461056b5780638da5cb5b1461058057806395d89b41146105b0578063a82ed9ec146105c4578063a9059cbb146105eb575f80fd5b8063571ac8b0146104fa578063658d4b7f1461051957806370a0823114610538578063715018a614610557575f80fd5b80632b14ca561161019f578063364333f41161016f578063364333f414610436578063404e51291461044c57806341aea9de1461046b57806345ce53651461048a57806347062402146104a9575f80fd5b80632b14ca561461034d5780632d838119146103e3578063313ce567146104025780633582ad231461041d575f80fd5b806316c02129116101e557806316c02129146102c357806317800287146102f157806318160ddd1461030657806323b872dd1461031a5780632b112e4914610339575f80fd5b80630445b6671461022057806306fdde0314610248578063095ea7b3146102695780630cfc15f914610298575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b5061023560105481565b6040519081526020015b60405180910390f35b348015610253575f80fd5b5061025c61076f565b60405161023f9190611b57565b348015610274575f80fd5b50610288610283366004611bb6565b6107ff565b604051901515815260200161023f565b3480156102a3575f80fd5b506102356102b2366004611be0565b60056020525f908152604090205481565b3480156102ce575f80fd5b506102886102dd366004611be0565b60126020525f908152604090205460ff1681565b3480156102fc575f80fd5b5061023560065481565b348015610311575f80fd5b50600354610235565b348015610325575f80fd5b50610288610334366004611bfb565b61086b565b348015610344575f80fd5b50610235610973565b348015610358575f80fd5b50600c5461039e9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b6040805160ff9788168152958716602087015293861693850193909352908416606084015290921660808201526001600160801b0390911660a082015260c00161023f565b3480156103ee575f80fd5b506102356103fd366004611c39565b6109a4565b34801561040d575f80fd5b506040516012815260200161023f565b348015610428575f80fd5b506008546102889060ff1681565b348015610441575f80fd5b5061044a6109c0565b005b348015610457575f80fd5b5061044a610466366004611c64565b610a1c565b348015610476575f80fd5b5061044a610485366004611c97565b610a4e565b348015610495575f80fd5b506102356104a4366004611c39565b610a69565b3480156104b4575f80fd5b50600b5461039e9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b348015610505575f80fd5b50610288610514366004611be0565b610a7b565b348015610524575f80fd5b5061044a610533366004611c64565b610a87565b348015610543575f80fd5b50610235610552366004611be0565b610ab9565b348015610562575f80fd5b5061044a610ada565b348015610576575f80fd5b5061023560045481565b34801561058b575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161023f565b3480156105bb575f80fd5b5061025c610aed565b3480156105cf575f80fd5b50610598737a250d5630b4cf539739df2c5dacb4c659f2488d81565b3480156105f6575f80fd5b50610288610605366004611bb6565b610afc565b348015610615575f80fd5b50600f5461028890600160a01b900460ff1681565b348015610635575f80fd5b5061044a610644366004611cc0565b610b08565b348015610654575f80fd5b5061044a610663366004611d74565b610e45565b348015610673575f80fd5b5061044a610e8c565b348015610687575f80fd5b50610235610696366004611dbc565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156106cb575f80fd5b5061044a6106da366004611df3565b610ea7565b3480156106ea575f80fd5b5061044a6106f9366004611c39565b610ed1565b348015610709575f80fd5b5061044a610718366004611be0565b610efa565b348015610728575f80fd5b506105987f000000000000000000000000000000000000000000000000000000000000000081565b34801561075b575f80fd5b5061044a61076a366004611c64565b610f70565b60606001805461077e90611e0d565b80601f01602080910402602001604051908101604052809291908181526020018280546107aa90611e0d565b80156107f55780601f106107cc576101008083540402835291602001916107f5565b820191905f5260205f20905b8154815290600101906020018083116107d857829003601f168201915b5050505050905090565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108599086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f191461095e576001600160a01b0384165f90815260076020908152604080832033845290915290205482111561090c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b0384165f90815260076020908152604080832033845290915290205461093a908390611e59565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b610969848484610fa2565b90505b9392505050565b5f61097d5f610ab9565b61098861dead610ab9565b6003546109959190611e59565b61099f9190611e59565b905090565b5f600654600354836109b69190611e6c565b6108659190611e83565b6109c8611298565b6040515f90339047908381818185875af1925050503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b5050905080610a19575f80fd5b50565b610a24611298565b6001600160a01b03919091165f908152601260205260409020805460ff1916911515919091179055565b610a56611298565b6008805460ff1916911515919091179055565b5f600354600654836109b69190611e6c565b5f610865825f196107ff565b610a8f611298565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b6001600160a01b0381165f90815260056020526040812054610865906109a4565b610ae2611298565b610aeb5f6112f1565b565b60606002805461077e90611e0d565b5f61096c338484610fa2565b610b10611298565b5f86888a610b1e8d8f611ea2565b610b289190611ea2565b610b329190611ea2565b610b3c9190611ea2565b60ff1690505f828486610b4f898b611ea2565b610b599190611ea2565b610b639190611ea2565b610b6d9190611ea2565b60ff169050600a826001600160801b03161115610bc05760405162461bcd60e51b8152602060048201526011602482015270084eaf240cccacae640e8dede40d0d2ced607b1b6044820152606401610903565b600a816001600160801b03161115610c0f5760405162461bcd60e51b81526020600482015260126024820152710a6cad8d840cccacae640e8dede40d0d2ced60731b6044820152606401610903565b6040518060c001604052808d60ff1681526020018d60ff1681526020018d60ff1681526020018d60ff1681526020018960ff168152602001836001600160801b0316815250600b5f820151815f015f6101000a81548160ff021916908360ff1602179055506020820151815f0160016101000a81548160ff021916908360ff1602179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151815f0160036101000a81548160ff021916908360ff1602179055506080820151815f0160046101000a81548160ff021916908360ff16021790555060a0820151815f0160056101000a8154816001600160801b0302191690836001600160801b031602179055509050506040518060c001604052808860ff1681526020018860ff1681526020018860ff1681526020018860ff1681526020018460ff168152602001826001600160801b0316815250600c5f820151815f015f6101000a81548160ff021916908360ff1602179055506020820151815f0160016101000a81548160ff021916908360ff1602179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151815f0160036101000a81548160ff021916908360ff1602179055506080820151815f0160046101000a81548160ff021916908360ff16021790555060a0820151815f0160056101000a8154816001600160801b0302191690836001600160801b03160217905550905050505050505050505050505050565b610e4d611298565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f8054919093169116179055565b610e94611298565b610a193033610ea230610ab9565b610fa2565b610eaf611298565b600f8054921515600160a01b0260ff60a01b1990931692909217909155601055565b610ed9611298565b61271081600354610eea9190611e6c565b610ef49190611e83565b60045550565b610f02611298565b6001600160a01b038116610f675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610903565b610a19816112f1565b610f78611298565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b0382165f9081526012602052604081205460ff16158015610fe257506001600160a01b0384165f9081526012602052604090205460ff16155b61101c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610903565b60115460ff161561103957611032848484611340565b905061096c565b60085460ff16801561106357506001600160a01b0384165f908152600a602052604090205460ff16155b801561108757506001600160a01b0383165f908152600a602052604090205460ff16155b156110ef576004548211156110ef5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610903565b6110f7611464565b15611104576111046114d0565b5f61110e83610a69565b6001600160a01b0386165f9081526005602052604090205490915081111561116f5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610903565b6001600160a01b0385165f90815260056020526040902054611192908290611e59565b6001600160a01b0386165f908152600560205260408120919091556111b786866118a7565b6111c1578161120d565b61120d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614611203575f611206565b60015b87846118eb565b6001600160a01b0386165f90815260056020526040902054909150611233908290611ebb565b6001600160a01b038087165f8181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127b846109a4565b60405190815260200160405180910390a350600195945050505050565b5f546001600160a01b03163314610aeb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610903565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8061134b83610a69565b6001600160a01b0386165f908152600560205260409020549091508111156113ac5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610903565b6001600160a01b0385165f908152600560205260409020546113cf908290611e59565b6001600160a01b038087165f9081526005602052604080822093909355908616815220546113fe908290611ebb565b6001600160a01b038086165f8181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114519087815260200190565b60405180910390a3506001949350505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906114a1575060115460ff16155b80156114b65750600f54600160a01b900460ff165b801561099f57506010546114c930610ab9565b1015905090565b60118054600160ff199091161790556040805160c081018252600c5460ff80821683526101008204811660208401526201000082048116938301939093526301000000810483166060830152640100000000810490921660808201819052600160281b9092046001600160801b031660a0820181905260105491925f91906115589084611e6c565b6115629190611e83565b90505f61156f8284611e59565b905061158f737a250d5630b4cf539739df2c5dacb4c659f2488d826107ff565b5061159d3061dead84610fa2565b506040805160028082526060820183525f9260208301908036833701905050905030815f815181106115d1576115d1611ece565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611641573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116659190611ee2565b8160018151811061167857611678611ece565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906116cf9085905f90869030904290600401611efd565b5f604051808303815f87803b1580156116e6575f80fd5b505af11580156116f8573d5f803e3d5ffd5b505050505f4790505f866080015160ff16875f015160ff168860a0015161171f9190611f6c565b6117299190611f6c565b6001600160801b031690505f81886020015160ff16846117499190611e6c565b6117539190611e83565b90505f82896040015160ff168561176a9190611e6c565b6117749190611e83565b90505f838a6060015160ff168661178b9190611e6c565b6117959190611e83565b600d546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146117e4576040519150601f19603f3d011682016040523d82523d5f602084013e6117e9565b606091505b5050600e546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611836576040519150601f19603f3d011682016040523d82523d5f602084013e61183b565b606091505b5050600f546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611888576040519150601f19603f3d011682016040523d82523d5f602084013e61188d565b606091505b50506011805460ff19169055505050505050505050505050565b6001600160a01b0382165f9081526009602052604081205460ff1615801561096c5750506001600160a01b03165f9081526009602052604090205460ff1615919050565b6040805160c08082018352600b5460ff8082168452610100808304821660208087019190915262010000808504841687890152630100000080860485166060808a019190915264010000000080880487166080808c01919091526001600160801b03600160281b998a9004811660a0808e01919091528d519b8c018e52600c54808b168d529889048a16978c019790975294870488169b8a019b909b529185048616908801528304909316968501969096529190910416928101929092525f91828615156001146119e05760648260a001516001600160801b0316866119d19190611e6c565b6119db9190611e83565b611a05565b60648360a001516001600160801b0316866119fb9190611e6c565b611a059190611e83565b90505f600188151514611a41578260a001516001600160801b0316835f015160ff1683611a329190611e6c565b611a3c9190611e83565b611a6b565b8360a001516001600160801b0316845f015160ff1683611a619190611e6c565b611a6b9190611e83565b905080600654611a7b9190611e59565b6006555f611a898284611e59565b90508015611b0357305f90815260056020526040902054611aab908290611ebb565b305f818152600560205260409020919091556001600160a01b0389167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611af1846109a4565b60405190815260200160405180910390a35b6006546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a1611b4a8388611e59565b9998505050505050505050565b5f6020808352835180828501525f5b81811015611b8257858101830151858201604001528201611b66565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a19575f80fd5b5f8060408385031215611bc7575f80fd5b8235611bd281611ba2565b946020939093013593505050565b5f60208284031215611bf0575f80fd5b813561096c81611ba2565b5f805f60608486031215611c0d575f80fd5b8335611c1881611ba2565b92506020840135611c2881611ba2565b929592945050506040919091013590565b5f60208284031215611c49575f80fd5b5035919050565b80358015158114611c5f575f80fd5b919050565b5f8060408385031215611c75575f80fd5b8235611c8081611ba2565b9150611c8e60208401611c50565b90509250929050565b5f60208284031215611ca7575f80fd5b61096c82611c50565b803560ff81168114611c5f575f80fd5b5f805f805f805f805f806101408b8d031215611cda575f80fd5b611ce38b611cb0565b9950611cf160208c01611cb0565b9850611cff60408c01611cb0565b9750611d0d60608c01611cb0565b9650611d1b60808c01611cb0565b9550611d2960a08c01611cb0565b9450611d3760c08c01611cb0565b9350611d4560e08c01611cb0565b9250611d546101008c01611cb0565b9150611d636101208c01611cb0565b90509295989b9194979a5092959850565b5f805f60608486031215611d86575f80fd5b8335611d9181611ba2565b92506020840135611da181611ba2565b91506040840135611db181611ba2565b809150509250925092565b5f8060408385031215611dcd575f80fd5b8235611dd881611ba2565b91506020830135611de881611ba2565b809150509250929050565b5f8060408385031215611e04575f80fd5b611bd283611c50565b600181811c90821680611e2157607f821691505b602082108103611e3f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561086557610865611e45565b808202811582820484141761086557610865611e45565b5f82611e9d57634e487b7160e01b5f52601260045260245ffd5b500490565b60ff818116838216019081111561086557610865611e45565b8082018082111561086557610865611e45565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ef2575f80fd5b815161096c81611ba2565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f4b5784516001600160a01b031683529383019391830191600101611f26565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160801b03828116828216039080821115611f8c57611f8c611e45565b509291505056fea26469706673582212203e91f5f3a46e4308eb343f16fa17e7e3d3277186d0b4b4b590676b326d770c0464736f6c63430008140033
Deployed Bytecode
0x608060405260043610610215575f3560e01c8063571ac8b01161011e578063b0f7ec38116100a8578063df20fd491161006d578063df20fd49146106c0578063e186ec74146106df578063f2fde38b146106fe578063f40acc3d1461071d578063f84ba65d14610750575f80fd5b8063b0f7ec381461060a578063c38a31de1461062a578063d7c0103214610649578063d85a282814610668578063dd62ed3e1461067c575f80fd5b80637d1db4a5116100ee5780637d1db4a51461056b5780638da5cb5b1461058057806395d89b41146105b0578063a82ed9ec146105c4578063a9059cbb146105eb575f80fd5b8063571ac8b0146104fa578063658d4b7f1461051957806370a0823114610538578063715018a614610557575f80fd5b80632b14ca561161019f578063364333f41161016f578063364333f414610436578063404e51291461044c57806341aea9de1461046b57806345ce53651461048a57806347062402146104a9575f80fd5b80632b14ca561461034d5780632d838119146103e3578063313ce567146104025780633582ad231461041d575f80fd5b806316c02129116101e557806316c02129146102c357806317800287146102f157806318160ddd1461030657806323b872dd1461031a5780632b112e4914610339575f80fd5b80630445b6671461022057806306fdde0314610248578063095ea7b3146102695780630cfc15f914610298575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b5061023560105481565b6040519081526020015b60405180910390f35b348015610253575f80fd5b5061025c61076f565b60405161023f9190611b57565b348015610274575f80fd5b50610288610283366004611bb6565b6107ff565b604051901515815260200161023f565b3480156102a3575f80fd5b506102356102b2366004611be0565b60056020525f908152604090205481565b3480156102ce575f80fd5b506102886102dd366004611be0565b60126020525f908152604090205460ff1681565b3480156102fc575f80fd5b5061023560065481565b348015610311575f80fd5b50600354610235565b348015610325575f80fd5b50610288610334366004611bfb565b61086b565b348015610344575f80fd5b50610235610973565b348015610358575f80fd5b50600c5461039e9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b6040805160ff9788168152958716602087015293861693850193909352908416606084015290921660808201526001600160801b0390911660a082015260c00161023f565b3480156103ee575f80fd5b506102356103fd366004611c39565b6109a4565b34801561040d575f80fd5b506040516012815260200161023f565b348015610428575f80fd5b506008546102889060ff1681565b348015610441575f80fd5b5061044a6109c0565b005b348015610457575f80fd5b5061044a610466366004611c64565b610a1c565b348015610476575f80fd5b5061044a610485366004611c97565b610a4e565b348015610495575f80fd5b506102356104a4366004611c39565b610a69565b3480156104b4575f80fd5b50600b5461039e9060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b348015610505575f80fd5b50610288610514366004611be0565b610a7b565b348015610524575f80fd5b5061044a610533366004611c64565b610a87565b348015610543575f80fd5b50610235610552366004611be0565b610ab9565b348015610562575f80fd5b5061044a610ada565b348015610576575f80fd5b5061023560045481565b34801561058b575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161023f565b3480156105bb575f80fd5b5061025c610aed565b3480156105cf575f80fd5b50610598737a250d5630b4cf539739df2c5dacb4c659f2488d81565b3480156105f6575f80fd5b50610288610605366004611bb6565b610afc565b348015610615575f80fd5b50600f5461028890600160a01b900460ff1681565b348015610635575f80fd5b5061044a610644366004611cc0565b610b08565b348015610654575f80fd5b5061044a610663366004611d74565b610e45565b348015610673575f80fd5b5061044a610e8c565b348015610687575f80fd5b50610235610696366004611dbc565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156106cb575f80fd5b5061044a6106da366004611df3565b610ea7565b3480156106ea575f80fd5b5061044a6106f9366004611c39565b610ed1565b348015610709575f80fd5b5061044a610718366004611be0565b610efa565b348015610728575f80fd5b506105987f0000000000000000000000007ca9926cab4ff23df648f5ee84ffbff86812786c81565b34801561075b575f80fd5b5061044a61076a366004611c64565b610f70565b60606001805461077e90611e0d565b80601f01602080910402602001604051908101604052809291908181526020018280546107aa90611e0d565b80156107f55780601f106107cc576101008083540402835291602001916107f5565b820191905f5260205f20905b8154815290600101906020018083116107d857829003601f168201915b5050505050905090565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108599086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f191461095e576001600160a01b0384165f90815260076020908152604080832033845290915290205482111561090c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b0384165f90815260076020908152604080832033845290915290205461093a908390611e59565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b610969848484610fa2565b90505b9392505050565b5f61097d5f610ab9565b61098861dead610ab9565b6003546109959190611e59565b61099f9190611e59565b905090565b5f600654600354836109b69190611e6c565b6108659190611e83565b6109c8611298565b6040515f90339047908381818185875af1925050503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b5050905080610a19575f80fd5b50565b610a24611298565b6001600160a01b03919091165f908152601260205260409020805460ff1916911515919091179055565b610a56611298565b6008805460ff1916911515919091179055565b5f600354600654836109b69190611e6c565b5f610865825f196107ff565b610a8f611298565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b6001600160a01b0381165f90815260056020526040812054610865906109a4565b610ae2611298565b610aeb5f6112f1565b565b60606002805461077e90611e0d565b5f61096c338484610fa2565b610b10611298565b5f86888a610b1e8d8f611ea2565b610b289190611ea2565b610b329190611ea2565b610b3c9190611ea2565b60ff1690505f828486610b4f898b611ea2565b610b599190611ea2565b610b639190611ea2565b610b6d9190611ea2565b60ff169050600a826001600160801b03161115610bc05760405162461bcd60e51b8152602060048201526011602482015270084eaf240cccacae640e8dede40d0d2ced607b1b6044820152606401610903565b600a816001600160801b03161115610c0f5760405162461bcd60e51b81526020600482015260126024820152710a6cad8d840cccacae640e8dede40d0d2ced60731b6044820152606401610903565b6040518060c001604052808d60ff1681526020018d60ff1681526020018d60ff1681526020018d60ff1681526020018960ff168152602001836001600160801b0316815250600b5f820151815f015f6101000a81548160ff021916908360ff1602179055506020820151815f0160016101000a81548160ff021916908360ff1602179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151815f0160036101000a81548160ff021916908360ff1602179055506080820151815f0160046101000a81548160ff021916908360ff16021790555060a0820151815f0160056101000a8154816001600160801b0302191690836001600160801b031602179055509050506040518060c001604052808860ff1681526020018860ff1681526020018860ff1681526020018860ff1681526020018460ff168152602001826001600160801b0316815250600c5f820151815f015f6101000a81548160ff021916908360ff1602179055506020820151815f0160016101000a81548160ff021916908360ff1602179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151815f0160036101000a81548160ff021916908360ff1602179055506080820151815f0160046101000a81548160ff021916908360ff16021790555060a0820151815f0160056101000a8154816001600160801b0302191690836001600160801b03160217905550905050505050505050505050505050565b610e4d611298565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f8054919093169116179055565b610e94611298565b610a193033610ea230610ab9565b610fa2565b610eaf611298565b600f8054921515600160a01b0260ff60a01b1990931692909217909155601055565b610ed9611298565b61271081600354610eea9190611e6c565b610ef49190611e83565b60045550565b610f02611298565b6001600160a01b038116610f675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610903565b610a19816112f1565b610f78611298565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b0382165f9081526012602052604081205460ff16158015610fe257506001600160a01b0384165f9081526012602052604090205460ff16155b61101c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610903565b60115460ff161561103957611032848484611340565b905061096c565b60085460ff16801561106357506001600160a01b0384165f908152600a602052604090205460ff16155b801561108757506001600160a01b0383165f908152600a602052604090205460ff16155b156110ef576004548211156110ef5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610903565b6110f7611464565b15611104576111046114d0565b5f61110e83610a69565b6001600160a01b0386165f9081526005602052604090205490915081111561116f5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610903565b6001600160a01b0385165f90815260056020526040902054611192908290611e59565b6001600160a01b0386165f908152600560205260408120919091556111b786866118a7565b6111c1578161120d565b61120d7f0000000000000000000000007ca9926cab4ff23df648f5ee84ffbff86812786c6001600160a01b0316876001600160a01b031614611203575f611206565b60015b87846118eb565b6001600160a01b0386165f90815260056020526040902054909150611233908290611ebb565b6001600160a01b038087165f8181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127b846109a4565b60405190815260200160405180910390a350600195945050505050565b5f546001600160a01b03163314610aeb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610903565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8061134b83610a69565b6001600160a01b0386165f908152600560205260409020549091508111156113ac5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610903565b6001600160a01b0385165f908152600560205260409020546113cf908290611e59565b6001600160a01b038087165f9081526005602052604080822093909355908616815220546113fe908290611ebb565b6001600160a01b038086165f8181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114519087815260200190565b60405180910390a3506001949350505050565b5f336001600160a01b037f0000000000000000000000007ca9926cab4ff23df648f5ee84ffbff86812786c16148015906114a1575060115460ff16155b80156114b65750600f54600160a01b900460ff165b801561099f57506010546114c930610ab9565b1015905090565b60118054600160ff199091161790556040805160c081018252600c5460ff80821683526101008204811660208401526201000082048116938301939093526301000000810483166060830152640100000000810490921660808201819052600160281b9092046001600160801b031660a0820181905260105491925f91906115589084611e6c565b6115629190611e83565b90505f61156f8284611e59565b905061158f737a250d5630b4cf539739df2c5dacb4c659f2488d826107ff565b5061159d3061dead84610fa2565b506040805160028082526060820183525f9260208301908036833701905050905030815f815181106115d1576115d1611ece565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611641573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116659190611ee2565b8160018151811061167857611678611ece565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906116cf9085905f90869030904290600401611efd565b5f604051808303815f87803b1580156116e6575f80fd5b505af11580156116f8573d5f803e3d5ffd5b505050505f4790505f866080015160ff16875f015160ff168860a0015161171f9190611f6c565b6117299190611f6c565b6001600160801b031690505f81886020015160ff16846117499190611e6c565b6117539190611e83565b90505f82896040015160ff168561176a9190611e6c565b6117749190611e83565b90505f838a6060015160ff168661178b9190611e6c565b6117959190611e83565b600d546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146117e4576040519150601f19603f3d011682016040523d82523d5f602084013e6117e9565b606091505b5050600e546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611836576040519150601f19603f3d011682016040523d82523d5f602084013e61183b565b606091505b5050600f546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611888576040519150601f19603f3d011682016040523d82523d5f602084013e61188d565b606091505b50506011805460ff19169055505050505050505050505050565b6001600160a01b0382165f9081526009602052604081205460ff1615801561096c5750506001600160a01b03165f9081526009602052604090205460ff1615919050565b6040805160c08082018352600b5460ff8082168452610100808304821660208087019190915262010000808504841687890152630100000080860485166060808a019190915264010000000080880487166080808c01919091526001600160801b03600160281b998a9004811660a0808e01919091528d519b8c018e52600c54808b168d529889048a16978c019790975294870488169b8a019b909b529185048616908801528304909316968501969096529190910416928101929092525f91828615156001146119e05760648260a001516001600160801b0316866119d19190611e6c565b6119db9190611e83565b611a05565b60648360a001516001600160801b0316866119fb9190611e6c565b611a059190611e83565b90505f600188151514611a41578260a001516001600160801b0316835f015160ff1683611a329190611e6c565b611a3c9190611e83565b611a6b565b8360a001516001600160801b0316845f015160ff1683611a619190611e6c565b611a6b9190611e83565b905080600654611a7b9190611e59565b6006555f611a898284611e59565b90508015611b0357305f90815260056020526040902054611aab908290611ebb565b305f818152600560205260409020919091556001600160a01b0389167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611af1846109a4565b60405190815260200160405180910390a35b6006546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a1611b4a8388611e59565b9998505050505050505050565b5f6020808352835180828501525f5b81811015611b8257858101830151858201604001528201611b66565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a19575f80fd5b5f8060408385031215611bc7575f80fd5b8235611bd281611ba2565b946020939093013593505050565b5f60208284031215611bf0575f80fd5b813561096c81611ba2565b5f805f60608486031215611c0d575f80fd5b8335611c1881611ba2565b92506020840135611c2881611ba2565b929592945050506040919091013590565b5f60208284031215611c49575f80fd5b5035919050565b80358015158114611c5f575f80fd5b919050565b5f8060408385031215611c75575f80fd5b8235611c8081611ba2565b9150611c8e60208401611c50565b90509250929050565b5f60208284031215611ca7575f80fd5b61096c82611c50565b803560ff81168114611c5f575f80fd5b5f805f805f805f805f806101408b8d031215611cda575f80fd5b611ce38b611cb0565b9950611cf160208c01611cb0565b9850611cff60408c01611cb0565b9750611d0d60608c01611cb0565b9650611d1b60808c01611cb0565b9550611d2960a08c01611cb0565b9450611d3760c08c01611cb0565b9350611d4560e08c01611cb0565b9250611d546101008c01611cb0565b9150611d636101208c01611cb0565b90509295989b9194979a5092959850565b5f805f60608486031215611d86575f80fd5b8335611d9181611ba2565b92506020840135611da181611ba2565b91506040840135611db181611ba2565b809150509250925092565b5f8060408385031215611dcd575f80fd5b8235611dd881611ba2565b91506020830135611de881611ba2565b809150509250929050565b5f8060408385031215611e04575f80fd5b611bd283611c50565b600181811c90821680611e2157607f821691505b602082108103611e3f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561086557610865611e45565b808202811582820484141761086557610865611e45565b5f82611e9d57634e487b7160e01b5f52601260045260245ffd5b500490565b60ff818116838216019081111561086557610865611e45565b8082018082111561086557610865611e45565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ef2575f80fd5b815161096c81611ba2565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f4b5784516001600160a01b031683529383019391830191600101611f26565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160801b03828116828216039080821115611f8c57611f8c611e45565b509291505056fea26469706673582212203e91f5f3a46e4308eb343f16fa17e7e3d3277186d0b4b4b590676b326d770c0464736f6c63430008140033
Deployed Bytecode Sourcemap
7158:14356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9554:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;9554:56:0;;;;;;;;12988:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11567:216::-;;;;;;;;;;-1:-1:-1;11567:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;11567:216:0;1205:187:1;8888:42:0;;;;;;;;;;-1:-1:-1;8888:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;9635;;;;;;;;;;-1:-1:-1;9635:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8937:46;;;;;;;;;;;;;;;;12792:102;;;;;;;;;;-1:-1:-1;12874:12:0;;12792:102;;12085:441;;;;;;;;;;-1:-1:-1;12085:441:0;;;;;:::i;:::-;;:::i;13784:136::-;;;;;;;;;;;;;:::i;9291:94::-;;;;;;;;;;-1:-1:-1;9291:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9291:94:0;;-1:-1:-1;;;;;9291:94:0;;;;;;;2407:4:1;2395:17;;;2377:36;;2449:17;;;2444:2;2429:18;;2422:45;2503:17;;;2483:18;;;2476:45;;;;2557:17;;;2552:2;2537:18;;2530:45;2612:17;;;2606:3;2591:19;;2584:46;-1:-1:-1;;;;;2667:47:1;;;2661:3;2646:19;;2639:76;2364:3;2349:19;9291:94:0;2110:611:1;13627:149:0;;;;;;;;;;-1:-1:-1;13627:149:0;;;;;:::i;:::-;;:::i;12902:78::-;;;;;;;;;;-1:-1:-1;12902:78:0;;12970:2;3053:36:1;;3041:2;3026:18;12902:78:0;2911:184:1;9060:33:0;;;;;;;;;;-1:-1:-1;9060:33:0;;;;;;;;14186:170;;;;;;;;;;;;;:::i;:::-;;16605:135;;;;;;;;;;-1:-1:-1;16605:135:0;;;;;:::i;:::-;;:::i;16506:91::-;;;;;;;;;;-1:-1:-1;16506:91:0;;;;;:::i;:::-;;:::i;13479:140::-;;;;;;;;;;-1:-1:-1;13479:140:0;;;;;:::i;:::-;;:::i;9192:92::-;;;;;;;;;;-1:-1:-1;9192:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9192:92:0;;-1:-1:-1;;;;;9192:92:0;;;11791:122;;;;;;;;;;-1:-1:-1;11791:122:0;;;;;:::i;:::-;;:::i;15921:119::-;;;;;;;;;;-1:-1:-1;15921:119:0;;;;;:::i;:::-;;:::i;13178:138::-;;;;;;;;;;-1:-1:-1;13178:138:0;;;;;:::i;:::-;;:::i;5740:103::-;;;;;;;;;;;;;:::i;8707:52::-;;;;;;;;;;;;;;;;5099:87;;;;;;;;;;-1:-1:-1;5145:7:0;5172:6;-1:-1:-1;;;;;5172:6:0;5099:87;;;-1:-1:-1;;;;;3934:32:1;;;3916:51;;3904:2;3889:18;5099:87:0;3770:203:1;13081:89:0;;;;;;;;;;;;;:::i;8238:126::-;;;;;;;;;;;;8321:42;8238:126;;11921:156;;;;;;;;;;-1:-1:-1;11921:156:0;;;;;:::i;:::-;;:::i;9516:31::-;;;;;;;;;;-1:-1:-1;9516:31:0;;;;-1:-1:-1;;;9516:31:0;;;;;;14667:1246;;;;;;;;;;-1:-1:-1;14667:1246:0;;;;;:::i;:::-;;:::i;16183:189::-;;;;;;;;;;-1:-1:-1;16183:189:0;;;;;:::i;:::-;;:::i;14364:131::-;;;;;;;;;;;;;:::i;13324:147::-;;;;;;;;;;-1:-1:-1;13324:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;13435:19:0;;;13408:7;13435:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;13324:147;14503:156;;;;;;;;;;-1:-1:-1;14503:156:0;;;;;:::i;:::-;;:::i;16380:118::-;;;;;;;;;;-1:-1:-1;16380:118:0;;;;;:::i;:::-;;:::i;5998:201::-;;;;;;;;;;-1:-1:-1;5998:201:0;;;;;:::i;:::-;;:::i;8371:40::-;;;;;;;;;;;;;;;16048:127;;;;;;;;;;-1:-1:-1;16048:127:0;;;;;:::i;:::-;;:::i;12988:85::-;13027:13;13060:5;13053:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12988:85;:::o;11567:216::-;11671:10;11642:4;11659:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;11659:32:0;;;;;;;;;;:41;;;11716:37;11642:4;;11659:32;;11716:37;;;;11694:6;160:25:1;;148:2;133:18;;14:177;11716:37:0;;;;;;;;-1:-1:-1;11771:4:0;11567:216;;;;;:::o;12085:441::-;-1:-1:-1;;;;;12206:19:0;;12185:4;12206:19;;;:11;:19;;;;;;;;12226:10;12206:31;;;;;;;;-1:-1:-1;;12206:52:0;12202:257;;-1:-1:-1;;;;;12283:19:0;;;;;;:11;:19;;;;;;;;12303:10;12283:31;;;;;;;;:41;-1:-1:-1;12283:41:0;12275:83;;;;-1:-1:-1;;;12275:83:0;;6964:2:1;12275:83:0;;;6946:21:1;7003:2;6983:18;;;6976:30;7042:31;7022:18;;;7015:59;7091:18;;12275:83:0;;;;;;;;;-1:-1:-1;;;;;12407:19:0;;;;;;:11;:19;;;;;;;;12427:10;12407:31;;;;;;;;:40;;12441:6;;12407:40;:::i;:::-;-1:-1:-1;;;;;12373:19:0;;;;;;:11;:19;;;;;;;;12393:10;12373:31;;;;;;;:74;12202:257;12478:40;12492:6;12500:9;12511:6;12478:13;:40::i;:::-;12471:47;;12085:441;;;;;;:::o;13784:136::-;13837:7;13897:15;7891:42;13897:9;:15::i;:::-;13879;7818:42;13879:9;:15::i;:::-;13864:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;13857:55;;13784:136;:::o;13627:149::-;13697:7;13752:16;;13737:12;;13724:10;:25;;;;:::i;:::-;:44;;;;:::i;14186:170::-;4985:13;:11;:13::i;:::-;14263:58:::1;::::0;14246:12:::1;::::0;14271:10:::1;::::0;14295:21:::1;::::0;14246:12;14263:58;14246:12;14263:58;14295:21;14271:10;14263:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14245:76;;;14340:7;14332:16;;;::::0;::::1;;14234:122;14186:170::o:0;16605:135::-;4985:13;:11;:13::i;:::-;-1:-1:-1;;;;;16694:20:0;;;::::1;;::::0;;;:10:::1;:20;::::0;;;;:38;;-1:-1:-1;;16694:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16605:135::o;16506:91::-;4985:13;:11;:13::i;:::-;16571::::1;:18:::0;;-1:-1:-1;;16571:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16506:91::o;13479:140::-;13544:7;13599:12;;13580:16;;13571:6;:25;;;;:::i;11791:122::-;11846:4;11870:35;11878:7;-1:-1:-1;;11870:7:0;:35::i;15921:119::-;4985:13;:11;:13::i;:::-;-1:-1:-1;;;;;16004:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16004:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15921:119::o;13178:138::-;-1:-1:-1;;;;;13291:16:0;;13244:7;13291:16;;;:7;:16;;;;;;13271:37;;:19;:37::i;5740:103::-;4985:13;:11;:13::i;:::-;5805:30:::1;5832:1;5805:18;:30::i;:::-;5740:103::o:0;13081:89::-;13122:13;13155:7;13148:14;;;;;:::i;11921:156::-;12001:4;12025:44;12039:10;12051:9;12062:6;12025:13;:44::i;14667:1246::-;4985:13;:11;:13::i;:::-;15023:21:::1;15111:10:::0;15095:13;15084:8;15047:34:::1;15066:15:::0;15047:16;:34:::1;:::i;:::-;:45;;;;:::i;:::-;:61;;;;:::i;:::-;:74;;;;:::i;:::-;15023:98;;::::0;-1:-1:-1;15132:22:0::1;15225:11:::0;15208:14;15196:9;15157:36:::1;15177:16:::0;15157:17;:36:::1;:::i;:::-;:48;;;;:::i;:::-;:65;;;;:::i;:::-;:79;;;;:::i;:::-;15132:104;;;;7969:2;15257:13;-1:-1:-1::0;;;;;15257:24:0::1;;;15249:54;;;::::0;-1:-1:-1;;;15249:54:0;;8345:2:1;15249:54:0::1;::::0;::::1;8327:21:1::0;8384:2;8364:18;;;8357:30;-1:-1:-1;;;8403:18:1;;;8396:47;8460:18;;15249:54:0::1;8143:341:1::0;15249:54:0::1;7969:2;15322:14;-1:-1:-1::0;;;;;15322:25:0::1;;;15314:56;;;::::0;-1:-1:-1;;;15314:56:0;;8691:2:1;15314:56:0::1;::::0;::::1;8673:21:1::0;8730:2;8710:18;;;8703:30;-1:-1:-1;;;8749:18:1;;;8742:48;8807:18;;15314:56:0::1;8489:342:1::0;15314:56:0::1;15392:242;;;;;;;;15423:16;15392:242;;;;;;15465:16;15392:242;;;;;;15500:16;15392:242;;;;;;15540:16;15392:242;;;;;;15577:10;15392:242;;;;;;15609:13;-1:-1:-1::0;;;;;15392:242:0::1;;;::::0;15383:6:::1;:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15383:251:0::1;;;;;-1:-1:-1::0;;;;;15383:251:0::1;;;;;;;;;15657:248;;;;;;;;15688:17;15657:248;;;;;;15731:17;15657:248;;;;;;15767:17;15657:248;;;;;;15808:17;15657:248;;;;;;15846:11;15657:248;;;;;;15879:14;-1:-1:-1::0;;;;;15657:248:0::1;;;::::0;15647:7:::1;:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15647:258:0::1;;;;;-1:-1:-1::0;;;;;15647:258:0::1;;;;;;;;;15012:901;;14667:1246:::0;;;;;;;;;;:::o;16183:189::-;4985:13;:11;:13::i;:::-;16275:20:::1;:25:::0;;-1:-1:-1;;;;;16275:25:0;;::::1;-1:-1:-1::0;;;;;;16275:25:0;;::::1;;::::0;;;16311:13:::1;:19:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;16341:18:::1;:23:::0;;;;;::::1;::::0;::::1;;::::0;;16183:189::o;14364:131::-;4985:13;:11;:13::i;:::-;14421:66:::1;14443:4;14450:10;14462:24;14480:4;14462:9;:24::i;:::-;14421:13;:66::i;14503:156::-:0;4985:13;:11;:13::i;:::-;14594:12:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;14594:23:0::1;-1:-1:-1::0;;;;14594:23:0;;::::1;::::0;;;::::1;::::0;;;14628:13:::1;:23:::0;14503:156::o;16380:118::-;4985:13;:11;:13::i;:::-;16485:5:::1;16480:2;16465:12;;:17;;;;:::i;:::-;:25;;;;:::i;:::-;16450:12;:40:::0;-1:-1:-1;16380:118:0:o;5998:201::-;4985:13;:11;:13::i;:::-;-1:-1:-1;;;;;6087:22:0;::::1;6079:73;;;::::0;-1:-1:-1;;;6079:73:0;;9038:2:1;6079:73:0::1;::::0;::::1;9020:21:1::0;9077:2;9057:18;;;9050:30;9116:34;9096:18;;;9089:62;-1:-1:-1;;;9167:18:1;;;9160:36;9213:19;;6079:73:0::1;8836:402:1::0;6079:73:0::1;6163:28;6182:8;6163:18;:28::i;16048:127::-:0;4985:13;:11;:13::i;:::-;-1:-1:-1;;;;;16135:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16135:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16048:127::o;17006:1149::-;-1:-1:-1;;;;;17124:21:0;;17098:4;17124:21;;;:10;:21;;;;;;;;17123:22;:45;;;;-1:-1:-1;;;;;;17150:18:0;;;;;;:10;:18;;;;;;;;17149:19;17123:45;17115:69;;;;-1:-1:-1;;;17115:69:0;;9445:2:1;17115:69:0;;;9427:21:1;9484:2;9464:18;;;9457:30;-1:-1:-1;;;9503:18:1;;;9496:41;9554:18;;17115:69:0;9243:335:1;17115:69:0;17201:6;;;;17197:87;;;17231:41;17246:6;17254:9;17265:6;17231:14;:41::i;:::-;17224:48;;;;17197:87;17300:13;;;;:41;;;;-1:-1:-1;;;;;;17318:23:0;;;;;;:15;:23;;;;;;;;17317:24;17300:41;:72;;;;-1:-1:-1;;;;;;17346:26:0;;;;;;:15;:26;;;;;;;;17345:27;17300:72;17296:180;;;17407:12;;17397:6;:22;;17389:75;;;;-1:-1:-1;;;17389:75:0;;9785:2:1;17389:75:0;;;9767:21:1;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;-1:-1:-1;;;9914:18:1;;;9907:38;9962:19;;17389:75:0;9583:404:1;17389:75:0;17492:17;:15;:17::i;:::-;17488:61;;;17526:11;:9;:11::i;:::-;17561:24;17588:26;17607:6;17588:18;:26::i;:::-;-1:-1:-1;;;;;17633:15:0;;;;;;:7;:15;;;;;;17561:53;;-1:-1:-1;17633:35:0;-1:-1:-1;17633:35:0;17625:68;;;;-1:-1:-1;;;17625:68:0;;10194:2:1;17625:68:0;;;10176:21:1;10233:2;10213:18;;;10206:30;-1:-1:-1;;;10252:18:1;;;10245:50;10312:18;;17625:68:0;9992:344:1;17625:68:0;-1:-1:-1;;;;;17722:15:0;;;;;;:7;:15;;;;;;:34;;17740:16;;17722:34;:::i;:::-;-1:-1:-1;;;;;17704:15:0;;;;;;:7;:15;;;;;:52;;;;17798:33;17712:6;17821:9;17798:14;:33::i;:::-;:170;;17952:16;17798:170;;;17847:89;17879:15;-1:-1:-1;;;;;17869:25:0;:6;-1:-1:-1;;;;;17869:25:0;;:40;;17904:5;17869:40;;;17897:4;17869:40;17911:6;17919:16;17847:21;:89::i;:::-;-1:-1:-1;;;;;18000:18:0;;;;;;:7;:18;;;;;;17769:199;;-1:-1:-1;18000:39:0;;17769:199;;18000:39;:::i;:::-;-1:-1:-1;;;;;17979:18:0;;;;;;;:7;:18;;;;;:60;;;;18057:68;;;18085:39;18105:18;18085:19;:39::i;:::-;18057:68;;160:25:1;;;148:2;133:18;18057:68:0;;;;;;;-1:-1:-1;18143:4:0;;17006:1149;-1:-1:-1;;;;;17006:1149:0:o;5264:132::-;5145:7;5172:6;-1:-1:-1;;;;;5172:6:0;3730:10;5328:23;5320:68;;;;-1:-1:-1;;;5320:68:0;;10673:2:1;5320:68:0;;;10655:21:1;;;10692:18;;;10685:30;10751:34;10731:18;;;10724:62;10803:18;;5320:68:0;10471:356:1;6359:191:0;6433:16;6452:6;;-1:-1:-1;;;;;6469:17:0;;;-1:-1:-1;;;;;;6469:17:0;;;;;;6502:40;;6452:6;;;;;;;6502:40;;6433:16;6502:40;6422:128;6359:191;:::o;18163:455::-;18256:4;18273:24;18300:26;18319:6;18300:18;:26::i;:::-;-1:-1:-1;;;;;18345:15:0;;;;;;:7;:15;;;;;;18273:53;;-1:-1:-1;18345:35:0;-1:-1:-1;18345:35:0;18337:68;;;;-1:-1:-1;;;18337:68:0;;10194:2:1;18337:68:0;;;10176:21:1;10233:2;10213:18;;;10206:30;-1:-1:-1;;;10252:18:1;;;10245:50;10312:18;;18337:68:0;9992:344:1;18337:68:0;-1:-1:-1;;;;;18434:15:0;;;;;;:7;:15;;;;;;:34;;18452:16;;18434:34;:::i;:::-;-1:-1:-1;;;;;18416:15:0;;;;;;;:7;:15;;;;;;:52;;;;18500:18;;;;;;;:37;;18521:16;;18500:37;:::i;:::-;-1:-1:-1;;;;;18479:18:0;;;;;;;:7;:18;;;;;;;:58;;;;18553:35;;;;;;;;;;18581:6;160:25:1;;148:2;133:18;;14:177;18553:35:0;;;;;;;;-1:-1:-1;18606:4:0;;18163:455;-1:-1:-1;;;;18163:455:0:o;19749:183::-;19799:4;19823:10;-1:-1:-1;;;;;19837:15:0;19823:29;;;;;:40;;-1:-1:-1;19857:6:0;;;;19856:7;19823:40;:56;;;;-1:-1:-1;19867:12:0;;-1:-1:-1;;;19867:12:0;;;;19823:56;:101;;;;;19911:13;;19883:24;19901:4;19883:9;:24::i;:::-;:41;;19816:108;;19749:183;:::o;19940:1402::-;9975:6;:13;;9984:4;-1:-1:-1;;9975:13:0;;;;;;19990:30:::1;::::0;;::::1;::::0;::::1;::::0;;20013:7:::1;19990:30:::0;9975:13;19990:30;;::::1;::::0;;9975:13;19990:30;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;19990:30:0;;::::1;-1:-1:-1::0;;;;;19990:30:0::1;::::0;;;;;;20059:13:::1;::::0;19990:30;;-1:-1:-1;;19990:30:0;20106:32:::1;::::0;20059:13;20106:32:::1;:::i;:::-;:50;;;;:::i;:::-;20083:73:::0;-1:-1:-1;20167:20:0::1;20190:30;20083:73:::0;20190:15;:30:::1;:::i;:::-;20167:53;;20231:49;8321:42;20267:12;20231:7;:49::i;:::-;;20310:48;20332:4;7818:42;20345:12;20310:13;:48::i;:::-;-1:-1:-1::0;20412:16:0::1;::::0;;20426:1:::1;20412:16:::0;;;;;::::1;::::0;;20388:21:::1;::::0;20412:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20412:16:0::1;20388:40;;20457:4;20439;20444:1;20439:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;20439:23:0::1;;;-1:-1:-1::0;;;;;20439:23:0::1;;;::::0;::::1;8321:42;-1:-1:-1::0;;;;;20483:22:0::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20473:4;20478:1;20473:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20473:34:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:34;20520:147:::1;::::0;-1:-1:-1;;;20520:147:0;;8321:42:::1;::::0;20520:68:::1;::::0;:147:::1;::::0;20603:12;;20617:1:::1;::::0;20620:4;;20634::::1;::::0;20641:15:::1;::::0;20520:147:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20680:17;20700:21;20680:41;;20734:20;20798:9;:14;;;20757:55;;20775:9;:20;;;20757:38;;:9;:15;;;:38;;;;:::i;:::-;:55;;;;:::i;:::-;-1:-1:-1::0;;;;;20734:78:0::1;;;20823:26;20886:12;20864:9;:19;;;20852:31;;:9;:31;;;;:::i;:::-;:46;;;;:::i;:::-;20823:75;;20909:19;20958:12;20943:9;:12;;;20931:24;;:9;:24;;;;:::i;:::-;:39;;;;:::i;:::-;20909:61;;20981:24;21040:12;21020:9;:17;;;21008:29;;:9;:29;;;;:::i;:::-;:44;;;;:::i;:::-;21111:20;::::0;21103:65:::1;::::0;20981:71;;-1:-1:-1;21083:15:0::1;::::0;-1:-1:-1;;;;;21111:20:0;;::::1;::::0;21145:18;;21083:15;21103:65;21083:15;21103:65;21145:18;21111:20;21103:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;21203:13:0::1;::::0;21195:51:::1;::::0;21082:86;;-1:-1:-1;;;;;;21203:13:0::1;::::0;21230:11;;21195:51:::1;::::0;;;21230:11;21203:13;21195:51:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;21281:18:0::1;::::0;21273:61:::1;::::0;21179:67;;-1:-1:-1;;;;;;21281:18:0::1;::::0;21313:16;;21273:61:::1;::::0;;;21313:16;21281:18;21273:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;10011:6:0;:14;;-1:-1:-1;;10011:14:0;;;-1:-1:-1;;;;;;;;;;;;19940:1402:0:o;21350:161::-;-1:-1:-1;;;;;21457:19:0;;21432:4;21457:19;;;:11;:19;;;;;;;;21456:20;:47;;;;-1:-1:-1;;;;;;;21481:22:0;;;;;:11;:22;;;;;;;;21480:23;;21350:161;-1:-1:-1;21350:161:0:o;18626:1115::-;18750:28;;;;;;;;;18772:6;18750:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;18750:28:0;;;;;;;;;;;;;;18789:30;;;;;;;18812:7;18789:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18730:7;;;18875:14;;;18750:28;18875:14;:99;;18971:3;18953:9;:15;;;-1:-1:-1;;;;;18934:34:0;:16;:34;;;;:::i;:::-;:40;;;;:::i;:::-;18875:99;;;18928:3;18911:8;:14;;;-1:-1:-1;;;;;18892:33:0;:16;:33;;;;:::i;:::-;:39;;;;:::i;:::-;18832:142;-1:-1:-1;19007:27:0;19047:4;19037:14;;;;:164;;19186:9;:15;;;-1:-1:-1;;;;;19141:60:0;19163:9;:20;;;19141:42;;:19;:42;;;;:::i;:::-;:60;;;;:::i;:::-;19037:164;;;19111:8;:14;;;-1:-1:-1;;;;;19067:58:0;19089:8;:19;;;19067:41;;:19;:41;;;;:::i;:::-;:58;;;;:::i;:::-;19007:194;;19252:19;19233:16;;:38;;;;:::i;:::-;19214:16;:57;19306:29;19338:41;19360:19;19338;:41;:::i;:::-;19306:73;-1:-1:-1;19394:25:0;;19390:226;;19477:4;19461:22;;;;:7;:22;;;;;;:46;;19486:21;;19461:46;:::i;:::-;19452:4;19436:22;;;;:7;:22;;;;;:71;;;;-1:-1:-1;;;;;19529:75:0;;;19561:42;19581:21;19561:19;:42::i;:::-;19529:75;;160:25:1;;;148:2;133:18;19529:75:0;;;;;;;19390:226;19660:16;;19631:46;;;12716:25:1;;;12772:2;12757:18;;12750:34;;;;19631:46:0;;12689:18:1;19631:46:0;;;;;;;19695:38;19714:19;19695:16;:38;:::i;:::-;19688:45;18626:1115;-1:-1:-1;;;;;;;;;18626:1115:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2726:180::-;2785:6;2838:2;2826:9;2817:7;2813:23;2809:32;2806:52;;;2854:1;2851;2844:12;2806:52;-1:-1:-1;2877:23:1;;2726:180;-1:-1:-1;2726:180:1:o;3100:160::-;3165:20;;3221:13;;3214:21;3204:32;;3194:60;;3250:1;3247;3240:12;3194:60;3100:160;;;:::o;3265:315::-;3330:6;3338;3391:2;3379:9;3370:7;3366:23;3362:32;3359:52;;;3407:1;3404;3397:12;3359:52;3446:9;3433:23;3465:31;3490:5;3465:31;:::i;:::-;3515:5;-1:-1:-1;3539:35:1;3570:2;3555:18;;3539:35;:::i;:::-;3529:45;;3265:315;;;;;:::o;3585:180::-;3641:6;3694:2;3682:9;3673:7;3669:23;3665:32;3662:52;;;3710:1;3707;3700:12;3662:52;3733:26;3749:9;3733:26;:::i;4212:156::-;4278:20;;4338:4;4327:16;;4317:27;;4307:55;;4358:1;4355;4348:12;4373:819;4493:6;4501;4509;4517;4525;4533;4541;4549;4557;4565;4618:3;4606:9;4597:7;4593:23;4589:33;4586:53;;;4635:1;4632;4625:12;4586:53;4658:27;4675:9;4658:27;:::i;:::-;4648:37;;4704:36;4736:2;4725:9;4721:18;4704:36;:::i;:::-;4694:46;;4759:36;4791:2;4780:9;4776:18;4759:36;:::i;:::-;4749:46;;4814:36;4846:2;4835:9;4831:18;4814:36;:::i;:::-;4804:46;;4869:37;4901:3;4890:9;4886:19;4869:37;:::i;:::-;4859:47;;4925:37;4957:3;4946:9;4942:19;4925:37;:::i;:::-;4915:47;;4981:37;5013:3;5002:9;4998:19;4981:37;:::i;:::-;4971:47;;5037:37;5069:3;5058:9;5054:19;5037:37;:::i;:::-;5027:47;;5093:37;5125:3;5114:9;5110:19;5093:37;:::i;:::-;5083:47;;5149:37;5181:3;5170:9;5166:19;5149:37;:::i;:::-;5139:47;;4373:819;;;;;;;;;;;;;:::o;5197:529::-;5274:6;5282;5290;5343:2;5331:9;5322:7;5318:23;5314:32;5311:52;;;5359:1;5356;5349:12;5311:52;5398:9;5385:23;5417:31;5442:5;5417:31;:::i;:::-;5467:5;-1:-1:-1;5524:2:1;5509:18;;5496:32;5537:33;5496:32;5537:33;:::i;:::-;5589:7;-1:-1:-1;5648:2:1;5633:18;;5620:32;5661:33;5620:32;5661:33;:::i;:::-;5713:7;5703:17;;;5197:529;;;;;:::o;5731:388::-;5799:6;5807;5860:2;5848:9;5839:7;5835:23;5831:32;5828:52;;;5876:1;5873;5866:12;5828:52;5915:9;5902:23;5934:31;5959:5;5934:31;:::i;:::-;5984:5;-1:-1:-1;6041:2:1;6026:18;;6013:32;6054:33;6013:32;6054:33;:::i;:::-;6106:7;6096:17;;;5731:388;;;;;:::o;6124:248::-;6189:6;6197;6250:2;6238:9;6229:7;6225:23;6221:32;6218:52;;;6266:1;6263;6256:12;6218:52;6289:26;6305:9;6289:26;:::i;6377:380::-;6456:1;6452:12;;;;6499;;;6520:61;;6574:4;6566:6;6562:17;6552:27;;6520:61;6627:2;6619:6;6616:14;6596:18;6593:38;6590:161;;6673:10;6668:3;6664:20;6661:1;6654:31;6708:4;6705:1;6698:15;6736:4;6733:1;6726:15;6590:161;;6377:380;;;:::o;7120:127::-;7181:10;7176:3;7172:20;7169:1;7162:31;7212:4;7209:1;7202:15;7236:4;7233:1;7226:15;7252:128;7319:9;;;7340:11;;;7337:37;;;7354:18;;:::i;7385:168::-;7458:9;;;7489;;7506:15;;;7500:22;;7486:37;7476:71;;7527:18;;:::i;7558:217::-;7598:1;7624;7614:132;;7668:10;7663:3;7659:20;7656:1;7649:31;7703:4;7700:1;7693:15;7731:4;7728:1;7721:15;7614:132;-1:-1:-1;7760:9:1;;7558:217::o;7990:148::-;8078:4;8057:12;;;8071;;;8053:31;;8096:13;;8093:39;;;8112:18;;:::i;10341:125::-;10406:9;;;10427:10;;;10424:36;;;10440:18;;:::i;10964:127::-;11025:10;11020:3;11016:20;11013:1;11006:31;11056:4;11053:1;11046:15;11080:4;11077:1;11070:15;11096:251;11166:6;11219:2;11207:9;11198:7;11194:23;11190:32;11187:52;;;11235:1;11232;11225:12;11187:52;11267:9;11261:16;11286:31;11311:5;11286:31;:::i;11352:980::-;11614:4;11662:3;11651:9;11647:19;11693:6;11682:9;11675:25;11719:2;11757:6;11752:2;11741:9;11737:18;11730:34;11800:3;11795:2;11784:9;11780:18;11773:31;11824:6;11859;11853:13;11890:6;11882;11875:22;11928:3;11917:9;11913:19;11906:26;;11967:2;11959:6;11955:15;11941:29;;11988:1;11998:195;12012:6;12009:1;12006:13;11998:195;;;12077:13;;-1:-1:-1;;;;;12073:39:1;12061:52;;12168:15;;;;12133:12;;;;12109:1;12027:9;11998:195;;;-1:-1:-1;;;;;;;12249:32:1;;;;12244:2;12229:18;;12222:60;-1:-1:-1;;;12313:3:1;12298:19;12291:35;12210:3;11352:980;-1:-1:-1;;;11352:980:1:o;12337:200::-;-1:-1:-1;;;;;12473:10:1;;;12461;;;12457:27;;12496:12;;;12493:38;;;12511:18;;:::i;:::-;12493:38;12337:200;;;;:::o
Swarm Source
ipfs://3e91f5f3a46e4308eb343f16fa17e7e3d3277186d0b4b4b590676b326d770c04
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,407.12 | 0.00141892 | $3.42 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.