ERC-20
Overview
Max Total Supply
1,000,000,000 ANTIJEET
Holders
116
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000000000001 ANTIJEETValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AntiJeet
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.19; // // .:-------::. // :=+#%%%%%%%%%%%%%%%%*+-. // :=#%%%%%%%%%%######%%%%%%%%%%*-. // .=#%%%%%%*+++*##%%%%%##*++=*#%%%%%%*- // :*%%%%%#+:.-#%%%%%%%%%%%%%%%%+..-+#%%%%%=. // .*%%%%%+: .#%%%%%%%%%%%%%%%%%%%%- -*%%%%%= // =%%%%%%- #%%%%%%%%%%*-+:+-:+--%%- :+%%%%#: // *%%%%%%%%#- *%%%%%%%%%%+=:*:+==*#+%%% :#%%%%= // .#%%%%-=#%%%%%#*#%%%%%%%%%%%%%%%%%%%%%%= +%%%%+ // #%%%#: -*%%%%%+::-=+*#@@@@@@@%@@@@@@@%- =%%%%+ // *%%%%: .*#%%%%#- :*%%%%%%%%%%%%%%%%*-. =%%%%- // :%%%%- - -*%%%%%+:::----*##%%%#*+=-+-=+*+. *%%%# // *%%%# - :*%%%%%*==+==::..:=++-. : :%%%%- // %%%%+ : .=#%%%%%#=+. -++*- : #%%%* // .%%%%- : . -#%%%%%#: :..-:- -. *%%%# // :%%%%- :. .: ::+%%%%%#- -. :: :. *%%%# // .%%%%= : = -+#%%%%%+:+ :: - #%%%* // #%%%# : .- .:- -*%%%%%#-::: .%%%%= // -%%%%: : ..:: := ==-=*%%%%%#+ +%%%%. // #%%%# : . :=:::-:===*#%%%%%+. :%%%%= // :%%%%* =+- .-- . ..=*%%%%%*- :%%%%* // -%%%%#. =%%%%+--: .::.:==: .=#%%%%#= :%%%%#. // :#%%%%=+*%@@@%%%%%#=. . #%%*=: -*%%%%%%%%%*. // *%%%%%%%@@@@@@%%%%%%*: -=-=#%%%@@@%%*+++%%%%%%= // -%%%%%%%@@@@@@%%%@%%%*:=@@@%%%%@@@@@@@%%%%%%%*: // *#%%%%%%#+++++++++++++++++++++++#%%%%%%%*: // -*%%%%%%#+-. .:=+#%%%%%#+: // .=*%%%%%%%%%#***++**##%%%%%%%%#+- // .:=*#%%%%%%%%%%%%%%%%%##+-. // ..:-=+++++++==-:. // // ░█████╗░███╗░░██╗████████╗██╗░░░░░██╗███████╗███████╗████████╗ // ██╔══██╗████╗░██║╚══██╔══╝██║░░░░░██║██╔════╝██╔════╝╚══██╔══╝ // ███████║██╔██╗██║░░░██║░░░██║░░░░░██║█████╗░░█████╗░░░░░██║░░░ // ██╔══██║██║╚████║░░░██║░░░██║██╗░░██║██╔══╝░░██╔══╝░░░░░██║░░░ // ██║░░██║██║░╚███║░░░██║░░░██║╚█████╔╝███████╗███████╗░░░██║░░░ // ╚═╝░░╚═╝╚═╝░░╚══╝░░░╚═╝░░░╚═╝░╚════╝░╚══════╝╚══════╝░░░╚═╝░░░ // https://antijeet.xyz // https://twitter.com/AntiJeetETH // https://t.me/AntiJeetETH import "openzeppelin-contracts-master/openzeppelin-contracts-master/contracts/token/ERC20/IERC20.sol"; import "openzeppelin-contracts-master/openzeppelin-contracts-master/contracts/access/Ownable.sol"; 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 AntiJeet is IERC20, Ownable { event Reflect(uint256 amountReflected, uint256 newTotalProportion); address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; uint256 constant MAX_FEE = 20; 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 = "AntiJeet"; string _symbol = "ANTIJEET"; uint256 _totalSupply = 1_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 = true; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; Fee public buyFee = Fee({reflection: 0, marketing: 0, lp: 0, buyback: 0, burn: 0, total: 0}); Fee public sellFee = Fee({reflection: 10, marketing: 5, lp: 2, buyback: 2, burn: 1, total: 20}); 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; modifier swapping() { inSwap = true; _; inSwap = false; } constructor() Ownable(msg.sender) { // 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 = 0xde103E305E7912876F6BF92CBdd41F73757510D4; lpFeeReceiver = 0xBB4b347f0148623Bf5632fE0ea2566204c758Ab9; buybackFeeReceiver = 0xfF368bBB432c4bF385cA91570C713560A45fFeA4; _rOwned[tx.origin] = _totalSupply; emit Transfer(address(0), tx.origin, _totalSupply); } receive() external payable {} 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); } 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); } 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; } 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]; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.19; import "../utils/Context.sol"; /** * @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(address initialOwner) { _transferOwnership(initialOwner); } /** * @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); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.19; /** * @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); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.19; /** * @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; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
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
60a06040526040518060400160405280600881526020017f416e74694a656574000000000000000000000000000000000000000000000000815250600190816200004a919062000d97565b506040518060400160405280600881526020017f414e54494a4545540000000000000000000000000000000000000000000000008152506002908162000091919062000d97565b506b033b2e3c9fd0803ce800000060035560646002600354620000b5919062000ead565b620000c1919062000f27565b6004556003546006556001600860006101000a81548160ff0219169083151502179055506040518060c00160405280600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815260200160006fffffffffffffffffffffffffffffffff16815250600b60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506040518060c00160405280600a60ff168152602001600560ff168152602001600260ff168152602001600260ff168152602001600160ff16815260200160146fffffffffffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506001600f60146101000a81548160ff0219169083151502179055506103e860026003546200038c919062000ead565b62000398919062000f27565b601055348015620003a857600080fd5b5033620003bb8162000a5960201b60201c565b506000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200041e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000444919062000fc9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e6919062000fc9565b6040518363ffffffff1660e01b8152600401620005059291906200100c565b6020604051808303816000875af115801562000525573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200054b919062000fc9565b90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073de103e305e7912876f6bf92cbdd41f73757510d4600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bb4b347f0148623bf5632fe0ea2566204c758ab9600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ff368bbb432c4bf385ca91570c713560a45ffea4600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000a4a91906200104a565b60405180910390a35062001067565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b9f57607f821691505b60208210810362000bb55762000bb462000b57565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000be0565b62000c2b868362000be0565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c7862000c7262000c6c8462000c43565b62000c4d565b62000c43565b9050919050565b6000819050919050565b62000c948362000c57565b62000cac62000ca38262000c7f565b84845462000bed565b825550505050565b600090565b62000cc362000cb4565b62000cd081848462000c89565b505050565b5b8181101562000cf85762000cec60008262000cb9565b60018101905062000cd6565b5050565b601f82111562000d475762000d118162000bbb565b62000d1c8462000bd0565b8101602085101562000d2c578190505b62000d4462000d3b8562000bd0565b83018262000cd5565b50505b505050565b600082821c905092915050565b600062000d6c6000198460080262000d4c565b1980831691505092915050565b600062000d87838362000d59565b9150826002028217905092915050565b62000da28262000b1d565b67ffffffffffffffff81111562000dbe5762000dbd62000b28565b5b62000dca825462000b86565b62000dd782828562000cfc565b600060209050601f83116001811462000e0f576000841562000dfa578287015190505b62000e06858262000d79565b86555062000e76565b601f19841662000e1f8662000bbb565b60005b8281101562000e495784890151825560018201915060208501945060208101905062000e22565b8683101562000e69578489015162000e65601f89168262000d59565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000eba8262000c43565b915062000ec78362000c43565b925082820262000ed78162000c43565b9150828204841483151762000ef15762000ef062000e7e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f348262000c43565b915062000f418362000c43565b92508262000f545762000f5362000ef8565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f918262000f64565b9050919050565b62000fa38162000f84565b811462000faf57600080fd5b50565b60008151905062000fc38162000f98565b92915050565b60006020828403121562000fe25762000fe162000f5f565b5b600062000ff28482850162000fb2565b91505092915050565b620010068162000f84565b82525050565b600060408201905062001023600083018562000ffb565b62001032602083018462000ffb565b9392505050565b620010448162000c43565b82525050565b600060208201905062001061600083018462001039565b92915050565b608051613ac862001091600039600081816117b901528181611b9f01526120700152613ac86000f3fe60806040526004361061021e5760003560e01c8063571ac8b011610123578063b0f7ec38116100ab578063df20fd491161006f578063df20fd4914610802578063e186ec741461082b578063f2fde38b14610854578063f40acc3d1461087d578063f84ba65d146108a857610225565b8063b0f7ec3814610731578063c38a31de1461075c578063d7c0103214610785578063d85a2828146107ae578063dd62ed3e146107c557610225565b80637d1db4a5116100f25780637d1db4a5146106485780638da5cb5b1461067357806395d89b411461069e578063a82ed9ec146106c9578063a9059cbb146106f457610225565b8063571ac8b01461058e578063658d4b7f146105cb57806370a08231146105f4578063715018a61461063157610225565b80632b14ca56116101a6578063364333f411610175578063364333f4146104b8578063404e5129146104cf57806341aea9de146104f857806345ce536514610521578063470624021461055e57610225565b80632b14ca56146103f55780632d83811914610425578063313ce567146104625780633582ad231461048d57610225565b806316c02129116101ed57806316c02129146102fa578063178002871461033757806318160ddd1461036257806323b872dd1461038d5780632b112e49146103ca57610225565b80630445b6671461022a57806306fdde0314610255578063095ea7b3146102805780630cfc15f9146102bd57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f6108d1565b60405161024c9190612c15565b60405180910390f35b34801561026157600080fd5b5061026a6108d7565b6040516102779190612cc0565b60405180910390f35b34801561028c57600080fd5b506102a760048036038101906102a29190612d71565b610969565b6040516102b49190612dcc565b60405180910390f35b3480156102c957600080fd5b506102e460048036038101906102df9190612de7565b610a5b565b6040516102f19190612c15565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190612de7565b610a73565b60405161032e9190612dcc565b60405180910390f35b34801561034357600080fd5b5061034c610a93565b6040516103599190612c15565b60405180910390f35b34801561036e57600080fd5b50610377610a99565b6040516103849190612c15565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af9190612e14565b610aa3565b6040516103c19190612dcc565b60405180910390f35b3480156103d657600080fd5b506103df610d24565b6040516103ec9190612c15565b60405180910390f35b34801561040157600080fd5b5061040a610d57565b60405161041c96959493929190612eae565b60405180910390f35b34801561043157600080fd5b5061044c60048036038101906104479190612f0f565b610dde565b6040516104599190612c15565b60405180910390f35b34801561046e57600080fd5b50610477610e02565b6040516104849190612f3c565b60405180910390f35b34801561049957600080fd5b506104a2610e0b565b6040516104af9190612dcc565b60405180910390f35b3480156104c457600080fd5b506104cd610e1e565b005b3480156104db57600080fd5b506104f660048036038101906104f19190612f83565b610e9f565b005b34801561050457600080fd5b5061051f600480360381019061051a9190612fc3565b610f02565b005b34801561052d57600080fd5b5061054860048036038101906105439190612f0f565b610f27565b6040516105559190612c15565b60405180910390f35b34801561056a57600080fd5b50610573610f4b565b60405161058596959493929190612eae565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190612de7565b610fd2565b6040516105c29190612dcc565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed9190612f83565b611005565b005b34801561060057600080fd5b5061061b60048036038101906106169190612de7565b611068565b6040516106289190612c15565b60405180910390f35b34801561063d57600080fd5b506106466110b9565b005b34801561065457600080fd5b5061065d6110cd565b60405161066a9190612c15565b60405180910390f35b34801561067f57600080fd5b506106886110d3565b6040516106959190612fff565b60405180910390f35b3480156106aa57600080fd5b506106b36110fc565b6040516106c09190612cc0565b60405180910390f35b3480156106d557600080fd5b506106de61118e565b6040516106eb9190613079565b60405180910390f35b34801561070057600080fd5b5061071b60048036038101906107169190612d71565b6111a6565b6040516107289190612dcc565b60405180910390f35b34801561073d57600080fd5b506107466111bb565b6040516107539190612dcc565b60405180910390f35b34801561076857600080fd5b50610783600480360381019061077e91906130c0565b6111ce565b005b34801561079157600080fd5b506107ac60048036038101906107a7919061319f565b611566565b005b3480156107ba57600080fd5b506107c3611636565b005b3480156107d157600080fd5b506107ec60048036038101906107e791906131f2565b611654565b6040516107f99190612c15565b60405180910390f35b34801561080e57600080fd5b5061082960048036038101906108249190613232565b6116db565b005b34801561083757600080fd5b50610852600480360381019061084d9190612f0f565b611708565b005b34801561086057600080fd5b5061087b60048036038101906108769190612de7565b611734565b005b34801561088957600080fd5b506108926117b7565b60405161089f9190612fff565b60405180910390f35b3480156108b457600080fd5b506108cf60048036038101906108ca9190612f83565b6117db565b005b60105481565b6060600180546108e6906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610912906132a1565b801561095f5780601f106109345761010080835404028352916020019161095f565b820191906000526020600020905b81548152906001019060200180831161094257829003601f168201915b5050505050905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a499190612c15565b60405180910390a36001905092915050565b60056020528060005260406000206000915090505481565b60126020528060005260406000206000915054906101000a900460ff1681565b60065481565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d105781600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe9061331e565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c8f919061336d565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d1b84848461183e565b90509392505050565b6000610d306000611068565b610d3b61dead611068565b600354610d48919061336d565b610d52919061336d565b905090565b600c8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b600060065460035483610df191906133a1565b610dfb9190613412565b9050919050565b60006012905090565b600860009054906101000a900460ff1681565b610e26611d0d565b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610e4c90613474565b60006040518083038185875af1925050503d8060008114610e89576040519150601f19603f3d011682016040523d82523d6000602084013e610e8e565b606091505b5050905080610e9c57600080fd5b50565b610ea7611d0d565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f0a611d0d565b80600860006101000a81548160ff02191690831515021790555050565b600060035460065483610f3a91906133a1565b610f449190613412565b9050919050565b600b8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b6000610ffe827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610969565b9050919050565b61100d611d0d565b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006110b2600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dde565b9050919050565b6110c1611d0d565b6110cb6000611d8b565b565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461110b906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054611137906132a1565b80156111845780601f1061115957610100808354040283529160200191611184565b820191906000526020600020905b81548152906001019060200180831161116757829003601f168201915b5050505050905090565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006111b333848461183e565b905092915050565b600f60149054906101000a900460ff1681565b6111d6611d0d565b600086888a8c8e6111e79190613489565b6111f19190613489565b6111fb9190613489565b6112059190613489565b60ff1690506000828486888a61121b9190613489565b6112259190613489565b61122f9190613489565b6112399190613489565b60ff1690506014826fffffffffffffffffffffffffffffffff161115611294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128b9061350a565b60405180910390fd5b6014816fffffffffffffffffffffffffffffffff1611156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190613576565b60405180910390fd5b6040518060c001604052808d60ff1681526020018d60ff1681526020018d60ff1681526020018d60ff1681526020018960ff168152602001836fffffffffffffffffffffffffffffffff16815250600b60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050506040518060c001604052808860ff1681526020018860ff1681526020018860ff1681526020018860ff1681526020018460ff168152602001826fffffffffffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050505050505050505050505050565b61156e611d0d565b82600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61163e611d0d565b611651303361164c30611068565b61183e565b50565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116e3611d0d565b81600f60146101000a81548160ff021916908315150217905550806010819055505050565b611710611d0d565b6127108160035461172191906133a1565b61172b9190613412565b60048190555050565b61173c611d0d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290613608565b60405180910390fd5b6117b481611d8b565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b6117e3611d0d565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118e45750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a90613674565b60405180910390fd5b601160009054906101000a900460ff161561194a57611943848484611e4f565b9050611d06565b600860009054906101000a900460ff1680156119b05750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a065750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a5157600454821115611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4790613706565b60405180910390fd5b5b611a5961206c565b15611a6757611a6661210a565b5b6000611a7283610f27565b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed90613772565b60405180910390fd5b80600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b41919061336d565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b9086866126ff565b611b9a5781611c02565b611c017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611bf7576000611bfa565b60015b87846127ad565b5b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4f9190613792565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cea84610dde565b604051611cf79190612c15565b60405180910390a36001925050505b9392505050565b611d15612bf4565b73ffffffffffffffffffffffffffffffffffffffff16611d336110d3565b73ffffffffffffffffffffffffffffffffffffffff1614611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8090613812565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611e5b83610f27565b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed690613772565b60405180910390fd5b80600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2a919061336d565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb89190613792565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120589190612c15565b60405180910390a360019150509392505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120d75750601160009054906101000a900460ff16155b80156120ef5750600f60149054906101000a900460ff165b8015612105575060105461210230611068565b10155b905090565b6001601160006101000a81548160ff0219169083151502179055506000600c6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000601054905060008260a001516fffffffffffffffffffffffffffffffff16836080015160ff168361224491906133a1565b61224e9190613412565b90506000818361225e919061336d565b905061227e737a250d5630b4cf539739df2c5dacb4c659f2488d82610969565b5061228c3061dead8461183e565b506000600267ffffffffffffffff8111156122aa576122a9613832565b5b6040519080825280602002602001820160405280156122d85781602001602082028036833780820191505090505b50905030816000815181106122f0576122ef613861565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ad91906138a5565b816001815181106123c1576123c0613861565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124519594939291906139cb565b600060405180830381600087803b15801561246b57600080fd5b505af115801561247f573d6000803e3d6000fd5b5050505060004790506000866080015160ff16876000015160ff168860a001516124a99190613a25565b6124b39190613a25565b6fffffffffffffffffffffffffffffffff169050600081886020015160ff16846124dd91906133a1565b6124e79190613412565b9050600082896040015160ff16856124ff91906133a1565b6125099190613412565b90506000838a6060015160ff168661252191906133a1565b61252b9190613412565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405161257590613474565b60006040518083038185875af1925050503d80600081146125b2576040519150601f19603f3d011682016040523d82523d6000602084013e6125b7565b606091505b50509050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161260190613474565b60006040518083038185875af1925050503d806000811461263e576040519150601f19603f3d011682016040523d82523d6000602084013e612643565b606091505b505080915050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161268f90613474565b60006040518083038185875af1925050503d80600081146126cc576040519150601f19603f3d011682016040523d82523d6000602084013e6126d1565b606091505b50508091505050505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127a55750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080600b6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000600c6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600060011515871515146129c75760648260a001516fffffffffffffffffffffffffffffffff16866129b891906133a1565b6129c29190613412565b6129f6565b60648360a001516fffffffffffffffffffffffffffffffff16866129eb91906133a1565b6129f59190613412565b5b905060006001151588151514612a3f578260a001516fffffffffffffffffffffffffffffffff16836000015160ff1683612a3091906133a1565b612a3a9190613412565b612a74565b8360a001516fffffffffffffffffffffffffffffffff16846000015160ff1683612a6991906133a1565b612a739190613412565b5b905080600654612a84919061336d565b60068190555060008183612a98919061336d565b90506000811115612b9f5780600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aee9190613792565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612b8984610dde565b604051612b969190612c15565b60405180910390a35b7fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac82600654604051612bd2929190613a69565b60405180910390a18287612be6919061336d565b955050505050509392505050565b600033905090565b6000819050919050565b612c0f81612bfc565b82525050565b6000602082019050612c2a6000830184612c06565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c6a578082015181840152602081019050612c4f565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c9282612c30565b612c9c8185612c3b565b9350612cac818560208601612c4c565b612cb581612c76565b840191505092915050565b60006020820190508181036000830152612cda8184612c87565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d1282612ce7565b9050919050565b612d2281612d07565b8114612d2d57600080fd5b50565b600081359050612d3f81612d19565b92915050565b612d4e81612bfc565b8114612d5957600080fd5b50565b600081359050612d6b81612d45565b92915050565b60008060408385031215612d8857612d87612ce2565b5b6000612d9685828601612d30565b9250506020612da785828601612d5c565b9150509250929050565b60008115159050919050565b612dc681612db1565b82525050565b6000602082019050612de16000830184612dbd565b92915050565b600060208284031215612dfd57612dfc612ce2565b5b6000612e0b84828501612d30565b91505092915050565b600080600060608486031215612e2d57612e2c612ce2565b5b6000612e3b86828701612d30565b9350506020612e4c86828701612d30565b9250506040612e5d86828701612d5c565b9150509250925092565b600060ff82169050919050565b612e7d81612e67565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b612ea881612e83565b82525050565b600060c082019050612ec36000830189612e74565b612ed06020830188612e74565b612edd6040830187612e74565b612eea6060830186612e74565b612ef76080830185612e74565b612f0460a0830184612e9f565b979650505050505050565b600060208284031215612f2557612f24612ce2565b5b6000612f3384828501612d5c565b91505092915050565b6000602082019050612f516000830184612e74565b92915050565b612f6081612db1565b8114612f6b57600080fd5b50565b600081359050612f7d81612f57565b92915050565b60008060408385031215612f9a57612f99612ce2565b5b6000612fa885828601612d30565b9250506020612fb985828601612f6e565b9150509250929050565b600060208284031215612fd957612fd8612ce2565b5b6000612fe784828501612f6e565b91505092915050565b612ff981612d07565b82525050565b60006020820190506130146000830184612ff0565b92915050565b6000819050919050565b600061303f61303a61303584612ce7565b61301a565b612ce7565b9050919050565b600061305182613024565b9050919050565b600061306382613046565b9050919050565b61307381613058565b82525050565b600060208201905061308e600083018461306a565b92915050565b61309d81612e67565b81146130a857600080fd5b50565b6000813590506130ba81613094565b92915050565b6000806000806000806000806000806101408b8d0312156130e4576130e3612ce2565b5b60006130f28d828e016130ab565b9a505060206131038d828e016130ab565b99505060406131148d828e016130ab565b98505060606131258d828e016130ab565b97505060806131368d828e016130ab565b96505060a06131478d828e016130ab565b95505060c06131588d828e016130ab565b94505060e06131698d828e016130ab565b93505061010061317b8d828e016130ab565b92505061012061318d8d828e016130ab565b9150509295989b9194979a5092959850565b6000806000606084860312156131b8576131b7612ce2565b5b60006131c686828701612d30565b93505060206131d786828701612d30565b92505060406131e886828701612d30565b9150509250925092565b6000806040838503121561320957613208612ce2565b5b600061321785828601612d30565b925050602061322885828601612d30565b9150509250929050565b6000806040838503121561324957613248612ce2565b5b600061325785828601612f6e565b925050602061326885828601612d5c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132b957607f821691505b6020821081036132cc576132cb613272565b5b50919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613308601d83612c3b565b9150613313826132d2565b602082019050919050565b60006020820190508181036000830152613337816132fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061337882612bfc565b915061338383612bfc565b925082820390508181111561339b5761339a61333e565b5b92915050565b60006133ac82612bfc565b91506133b783612bfc565b92508282026133c581612bfc565b915082820484148315176133dc576133db61333e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061341d82612bfc565b915061342883612bfc565b925082613438576134376133e3565b5b828204905092915050565b600081905092915050565b50565b600061345e600083613443565b91506134698261344e565b600082019050919050565b600061347f82613451565b9150819050919050565b600061349482612e67565b915061349f83612e67565b9250828201905060ff8111156134b8576134b761333e565b5b92915050565b7f427579206665657320746f6f2068696768000000000000000000000000000000600082015250565b60006134f4601183612c3b565b91506134ff826134be565b602082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b7f53656c6c206665657320746f6f20686967680000000000000000000000000000600082015250565b6000613560601283612c3b565b915061356b8261352a565b602082019050919050565b6000602082019050818103600083015261358f81613553565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135f2602683612c3b565b91506135fd82613596565b604082019050919050565b60006020820190508181036000830152613621816135e5565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061365e600b83612c3b565b915061366982613628565b602082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006136f0602883612c3b565b91506136fb82613694565b604082019050919050565b6000602082019050818103600083015261371f816136e3565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b600061375c601483612c3b565b915061376782613726565b602082019050919050565b6000602082019050818103600083015261378b8161374f565b9050919050565b600061379d82612bfc565b91506137a883612bfc565b92508282019050808211156137c0576137bf61333e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137fc602083612c3b565b9150613807826137c6565b602082019050919050565b6000602082019050818103600083015261382b816137ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061389f81612d19565b92915050565b6000602082840312156138bb576138ba612ce2565b5b60006138c984828501613890565b91505092915050565b6000819050919050565b60006138f76138f26138ed846138d2565b61301a565b612bfc565b9050919050565b613907816138dc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61394281612d07565b82525050565b60006139548383613939565b60208301905092915050565b6000602082019050919050565b60006139788261390d565b6139828185613918565b935061398d83613929565b8060005b838110156139be5781516139a58882613948565b97506139b083613960565b925050600181019050613991565b5085935050505092915050565b600060a0820190506139e06000830188612c06565b6139ed60208301876138fe565b81810360408301526139ff818661396d565b9050613a0e6060830185612ff0565b613a1b6080830184612c06565b9695505050505050565b6000613a3082612e83565b9150613a3b83612e83565b925082820390506fffffffffffffffffffffffffffffffff811115613a6357613a6261333e565b5b92915050565b6000604082019050613a7e6000830185612c06565b613a8b6020830184612c06565b939250505056fea2646970667358221220afdd919657ef81a5b2642d1c4f63867c7f7eb65e3a912a45e490105afe7c16ff64736f6c63430008130033
Deployed Bytecode
0x60806040526004361061021e5760003560e01c8063571ac8b011610123578063b0f7ec38116100ab578063df20fd491161006f578063df20fd4914610802578063e186ec741461082b578063f2fde38b14610854578063f40acc3d1461087d578063f84ba65d146108a857610225565b8063b0f7ec3814610731578063c38a31de1461075c578063d7c0103214610785578063d85a2828146107ae578063dd62ed3e146107c557610225565b80637d1db4a5116100f25780637d1db4a5146106485780638da5cb5b1461067357806395d89b411461069e578063a82ed9ec146106c9578063a9059cbb146106f457610225565b8063571ac8b01461058e578063658d4b7f146105cb57806370a08231146105f4578063715018a61461063157610225565b80632b14ca56116101a6578063364333f411610175578063364333f4146104b8578063404e5129146104cf57806341aea9de146104f857806345ce536514610521578063470624021461055e57610225565b80632b14ca56146103f55780632d83811914610425578063313ce567146104625780633582ad231461048d57610225565b806316c02129116101ed57806316c02129146102fa578063178002871461033757806318160ddd1461036257806323b872dd1461038d5780632b112e49146103ca57610225565b80630445b6671461022a57806306fdde0314610255578063095ea7b3146102805780630cfc15f9146102bd57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f6108d1565b60405161024c9190612c15565b60405180910390f35b34801561026157600080fd5b5061026a6108d7565b6040516102779190612cc0565b60405180910390f35b34801561028c57600080fd5b506102a760048036038101906102a29190612d71565b610969565b6040516102b49190612dcc565b60405180910390f35b3480156102c957600080fd5b506102e460048036038101906102df9190612de7565b610a5b565b6040516102f19190612c15565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190612de7565b610a73565b60405161032e9190612dcc565b60405180910390f35b34801561034357600080fd5b5061034c610a93565b6040516103599190612c15565b60405180910390f35b34801561036e57600080fd5b50610377610a99565b6040516103849190612c15565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af9190612e14565b610aa3565b6040516103c19190612dcc565b60405180910390f35b3480156103d657600080fd5b506103df610d24565b6040516103ec9190612c15565b60405180910390f35b34801561040157600080fd5b5061040a610d57565b60405161041c96959493929190612eae565b60405180910390f35b34801561043157600080fd5b5061044c60048036038101906104479190612f0f565b610dde565b6040516104599190612c15565b60405180910390f35b34801561046e57600080fd5b50610477610e02565b6040516104849190612f3c565b60405180910390f35b34801561049957600080fd5b506104a2610e0b565b6040516104af9190612dcc565b60405180910390f35b3480156104c457600080fd5b506104cd610e1e565b005b3480156104db57600080fd5b506104f660048036038101906104f19190612f83565b610e9f565b005b34801561050457600080fd5b5061051f600480360381019061051a9190612fc3565b610f02565b005b34801561052d57600080fd5b5061054860048036038101906105439190612f0f565b610f27565b6040516105559190612c15565b60405180910390f35b34801561056a57600080fd5b50610573610f4b565b60405161058596959493929190612eae565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190612de7565b610fd2565b6040516105c29190612dcc565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed9190612f83565b611005565b005b34801561060057600080fd5b5061061b60048036038101906106169190612de7565b611068565b6040516106289190612c15565b60405180910390f35b34801561063d57600080fd5b506106466110b9565b005b34801561065457600080fd5b5061065d6110cd565b60405161066a9190612c15565b60405180910390f35b34801561067f57600080fd5b506106886110d3565b6040516106959190612fff565b60405180910390f35b3480156106aa57600080fd5b506106b36110fc565b6040516106c09190612cc0565b60405180910390f35b3480156106d557600080fd5b506106de61118e565b6040516106eb9190613079565b60405180910390f35b34801561070057600080fd5b5061071b60048036038101906107169190612d71565b6111a6565b6040516107289190612dcc565b60405180910390f35b34801561073d57600080fd5b506107466111bb565b6040516107539190612dcc565b60405180910390f35b34801561076857600080fd5b50610783600480360381019061077e91906130c0565b6111ce565b005b34801561079157600080fd5b506107ac60048036038101906107a7919061319f565b611566565b005b3480156107ba57600080fd5b506107c3611636565b005b3480156107d157600080fd5b506107ec60048036038101906107e791906131f2565b611654565b6040516107f99190612c15565b60405180910390f35b34801561080e57600080fd5b5061082960048036038101906108249190613232565b6116db565b005b34801561083757600080fd5b50610852600480360381019061084d9190612f0f565b611708565b005b34801561086057600080fd5b5061087b60048036038101906108769190612de7565b611734565b005b34801561088957600080fd5b506108926117b7565b60405161089f9190612fff565b60405180910390f35b3480156108b457600080fd5b506108cf60048036038101906108ca9190612f83565b6117db565b005b60105481565b6060600180546108e6906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610912906132a1565b801561095f5780601f106109345761010080835404028352916020019161095f565b820191906000526020600020905b81548152906001019060200180831161094257829003601f168201915b5050505050905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a499190612c15565b60405180910390a36001905092915050565b60056020528060005260406000206000915090505481565b60126020528060005260406000206000915054906101000a900460ff1681565b60065481565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d105781600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe9061331e565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c8f919061336d565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d1b84848461183e565b90509392505050565b6000610d306000611068565b610d3b61dead611068565b600354610d48919061336d565b610d52919061336d565b905090565b600c8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b600060065460035483610df191906133a1565b610dfb9190613412565b9050919050565b60006012905090565b600860009054906101000a900460ff1681565b610e26611d0d565b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610e4c90613474565b60006040518083038185875af1925050503d8060008114610e89576040519150601f19603f3d011682016040523d82523d6000602084013e610e8e565b606091505b5050905080610e9c57600080fd5b50565b610ea7611d0d565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f0a611d0d565b80600860006101000a81548160ff02191690831515021790555050565b600060035460065483610f3a91906133a1565b610f449190613412565b9050919050565b600b8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b6000610ffe827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610969565b9050919050565b61100d611d0d565b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006110b2600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dde565b9050919050565b6110c1611d0d565b6110cb6000611d8b565b565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461110b906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054611137906132a1565b80156111845780601f1061115957610100808354040283529160200191611184565b820191906000526020600020905b81548152906001019060200180831161116757829003601f168201915b5050505050905090565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006111b333848461183e565b905092915050565b600f60149054906101000a900460ff1681565b6111d6611d0d565b600086888a8c8e6111e79190613489565b6111f19190613489565b6111fb9190613489565b6112059190613489565b60ff1690506000828486888a61121b9190613489565b6112259190613489565b61122f9190613489565b6112399190613489565b60ff1690506014826fffffffffffffffffffffffffffffffff161115611294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128b9061350a565b60405180910390fd5b6014816fffffffffffffffffffffffffffffffff1611156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190613576565b60405180910390fd5b6040518060c001604052808d60ff1681526020018d60ff1681526020018d60ff1681526020018d60ff1681526020018960ff168152602001836fffffffffffffffffffffffffffffffff16815250600b60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050506040518060c001604052808860ff1681526020018860ff1681526020018860ff1681526020018860ff1681526020018460ff168152602001826fffffffffffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050505050505050505050505050565b61156e611d0d565b82600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61163e611d0d565b611651303361164c30611068565b61183e565b50565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116e3611d0d565b81600f60146101000a81548160ff021916908315150217905550806010819055505050565b611710611d0d565b6127108160035461172191906133a1565b61172b9190613412565b60048190555050565b61173c611d0d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290613608565b60405180910390fd5b6117b481611d8b565b50565b7f0000000000000000000000001a9317fee75880b141aef3ce7d545f2b9e309cfd81565b6117e3611d0d565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118e45750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a90613674565b60405180910390fd5b601160009054906101000a900460ff161561194a57611943848484611e4f565b9050611d06565b600860009054906101000a900460ff1680156119b05750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a065750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a5157600454821115611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4790613706565b60405180910390fd5b5b611a5961206c565b15611a6757611a6661210a565b5b6000611a7283610f27565b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed90613772565b60405180910390fd5b80600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b41919061336d565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b9086866126ff565b611b9a5781611c02565b611c017f0000000000000000000000001a9317fee75880b141aef3ce7d545f2b9e309cfd73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611bf7576000611bfa565b60015b87846127ad565b5b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4f9190613792565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cea84610dde565b604051611cf79190612c15565b60405180910390a36001925050505b9392505050565b611d15612bf4565b73ffffffffffffffffffffffffffffffffffffffff16611d336110d3565b73ffffffffffffffffffffffffffffffffffffffff1614611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8090613812565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611e5b83610f27565b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed690613772565b60405180910390fd5b80600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2a919061336d565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb89190613792565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120589190612c15565b60405180910390a360019150509392505050565b60007f0000000000000000000000001a9317fee75880b141aef3ce7d545f2b9e309cfd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120d75750601160009054906101000a900460ff16155b80156120ef5750600f60149054906101000a900460ff165b8015612105575060105461210230611068565b10155b905090565b6001601160006101000a81548160ff0219169083151502179055506000600c6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000601054905060008260a001516fffffffffffffffffffffffffffffffff16836080015160ff168361224491906133a1565b61224e9190613412565b90506000818361225e919061336d565b905061227e737a250d5630b4cf539739df2c5dacb4c659f2488d82610969565b5061228c3061dead8461183e565b506000600267ffffffffffffffff8111156122aa576122a9613832565b5b6040519080825280602002602001820160405280156122d85781602001602082028036833780820191505090505b50905030816000815181106122f0576122ef613861565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ad91906138a5565b816001815181106123c1576123c0613861565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124519594939291906139cb565b600060405180830381600087803b15801561246b57600080fd5b505af115801561247f573d6000803e3d6000fd5b5050505060004790506000866080015160ff16876000015160ff168860a001516124a99190613a25565b6124b39190613a25565b6fffffffffffffffffffffffffffffffff169050600081886020015160ff16846124dd91906133a1565b6124e79190613412565b9050600082896040015160ff16856124ff91906133a1565b6125099190613412565b90506000838a6060015160ff168661252191906133a1565b61252b9190613412565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405161257590613474565b60006040518083038185875af1925050503d80600081146125b2576040519150601f19603f3d011682016040523d82523d6000602084013e6125b7565b606091505b50509050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161260190613474565b60006040518083038185875af1925050503d806000811461263e576040519150601f19603f3d011682016040523d82523d6000602084013e612643565b606091505b505080915050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161268f90613474565b60006040518083038185875af1925050503d80600081146126cc576040519150601f19603f3d011682016040523d82523d6000602084013e6126d1565b606091505b50508091505050505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127a55750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080600b6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000600c6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600060011515871515146129c75760648260a001516fffffffffffffffffffffffffffffffff16866129b891906133a1565b6129c29190613412565b6129f6565b60648360a001516fffffffffffffffffffffffffffffffff16866129eb91906133a1565b6129f59190613412565b5b905060006001151588151514612a3f578260a001516fffffffffffffffffffffffffffffffff16836000015160ff1683612a3091906133a1565b612a3a9190613412565b612a74565b8360a001516fffffffffffffffffffffffffffffffff16846000015160ff1683612a6991906133a1565b612a739190613412565b5b905080600654612a84919061336d565b60068190555060008183612a98919061336d565b90506000811115612b9f5780600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aee9190613792565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612b8984610dde565b604051612b969190612c15565b60405180910390a35b7fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac82600654604051612bd2929190613a69565b60405180910390a18287612be6919061336d565b955050505050509392505050565b600033905090565b6000819050919050565b612c0f81612bfc565b82525050565b6000602082019050612c2a6000830184612c06565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c6a578082015181840152602081019050612c4f565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c9282612c30565b612c9c8185612c3b565b9350612cac818560208601612c4c565b612cb581612c76565b840191505092915050565b60006020820190508181036000830152612cda8184612c87565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d1282612ce7565b9050919050565b612d2281612d07565b8114612d2d57600080fd5b50565b600081359050612d3f81612d19565b92915050565b612d4e81612bfc565b8114612d5957600080fd5b50565b600081359050612d6b81612d45565b92915050565b60008060408385031215612d8857612d87612ce2565b5b6000612d9685828601612d30565b9250506020612da785828601612d5c565b9150509250929050565b60008115159050919050565b612dc681612db1565b82525050565b6000602082019050612de16000830184612dbd565b92915050565b600060208284031215612dfd57612dfc612ce2565b5b6000612e0b84828501612d30565b91505092915050565b600080600060608486031215612e2d57612e2c612ce2565b5b6000612e3b86828701612d30565b9350506020612e4c86828701612d30565b9250506040612e5d86828701612d5c565b9150509250925092565b600060ff82169050919050565b612e7d81612e67565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b612ea881612e83565b82525050565b600060c082019050612ec36000830189612e74565b612ed06020830188612e74565b612edd6040830187612e74565b612eea6060830186612e74565b612ef76080830185612e74565b612f0460a0830184612e9f565b979650505050505050565b600060208284031215612f2557612f24612ce2565b5b6000612f3384828501612d5c565b91505092915050565b6000602082019050612f516000830184612e74565b92915050565b612f6081612db1565b8114612f6b57600080fd5b50565b600081359050612f7d81612f57565b92915050565b60008060408385031215612f9a57612f99612ce2565b5b6000612fa885828601612d30565b9250506020612fb985828601612f6e565b9150509250929050565b600060208284031215612fd957612fd8612ce2565b5b6000612fe784828501612f6e565b91505092915050565b612ff981612d07565b82525050565b60006020820190506130146000830184612ff0565b92915050565b6000819050919050565b600061303f61303a61303584612ce7565b61301a565b612ce7565b9050919050565b600061305182613024565b9050919050565b600061306382613046565b9050919050565b61307381613058565b82525050565b600060208201905061308e600083018461306a565b92915050565b61309d81612e67565b81146130a857600080fd5b50565b6000813590506130ba81613094565b92915050565b6000806000806000806000806000806101408b8d0312156130e4576130e3612ce2565b5b60006130f28d828e016130ab565b9a505060206131038d828e016130ab565b99505060406131148d828e016130ab565b98505060606131258d828e016130ab565b97505060806131368d828e016130ab565b96505060a06131478d828e016130ab565b95505060c06131588d828e016130ab565b94505060e06131698d828e016130ab565b93505061010061317b8d828e016130ab565b92505061012061318d8d828e016130ab565b9150509295989b9194979a5092959850565b6000806000606084860312156131b8576131b7612ce2565b5b60006131c686828701612d30565b93505060206131d786828701612d30565b92505060406131e886828701612d30565b9150509250925092565b6000806040838503121561320957613208612ce2565b5b600061321785828601612d30565b925050602061322885828601612d30565b9150509250929050565b6000806040838503121561324957613248612ce2565b5b600061325785828601612f6e565b925050602061326885828601612d5c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132b957607f821691505b6020821081036132cc576132cb613272565b5b50919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613308601d83612c3b565b9150613313826132d2565b602082019050919050565b60006020820190508181036000830152613337816132fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061337882612bfc565b915061338383612bfc565b925082820390508181111561339b5761339a61333e565b5b92915050565b60006133ac82612bfc565b91506133b783612bfc565b92508282026133c581612bfc565b915082820484148315176133dc576133db61333e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061341d82612bfc565b915061342883612bfc565b925082613438576134376133e3565b5b828204905092915050565b600081905092915050565b50565b600061345e600083613443565b91506134698261344e565b600082019050919050565b600061347f82613451565b9150819050919050565b600061349482612e67565b915061349f83612e67565b9250828201905060ff8111156134b8576134b761333e565b5b92915050565b7f427579206665657320746f6f2068696768000000000000000000000000000000600082015250565b60006134f4601183612c3b565b91506134ff826134be565b602082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b7f53656c6c206665657320746f6f20686967680000000000000000000000000000600082015250565b6000613560601283612c3b565b915061356b8261352a565b602082019050919050565b6000602082019050818103600083015261358f81613553565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135f2602683612c3b565b91506135fd82613596565b604082019050919050565b60006020820190508181036000830152613621816135e5565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061365e600b83612c3b565b915061366982613628565b602082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006136f0602883612c3b565b91506136fb82613694565b604082019050919050565b6000602082019050818103600083015261371f816136e3565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b600061375c601483612c3b565b915061376782613726565b602082019050919050565b6000602082019050818103600083015261378b8161374f565b9050919050565b600061379d82612bfc565b91506137a883612bfc565b92508282019050808211156137c0576137bf61333e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137fc602083612c3b565b9150613807826137c6565b602082019050919050565b6000602082019050818103600083015261382b816137ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061389f81612d19565b92915050565b6000602082840312156138bb576138ba612ce2565b5b60006138c984828501613890565b91505092915050565b6000819050919050565b60006138f76138f26138ed846138d2565b61301a565b612bfc565b9050919050565b613907816138dc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61394281612d07565b82525050565b60006139548383613939565b60208301905092915050565b6000602082019050919050565b60006139788261390d565b6139828185613918565b935061398d83613929565b8060005b838110156139be5781516139a58882613948565b97506139b083613960565b925050600181019050613991565b5085935050505092915050565b600060a0820190506139e06000830188612c06565b6139ed60208301876138fe565b81810360408301526139ff818661396d565b9050613a0e6060830185612ff0565b613a1b6080830184612c06565b9695505050505050565b6000613a3082612e83565b9150613a3b83612e83565b925082820390506fffffffffffffffffffffffffffffffff811115613a6357613a6261333e565b5b92915050565b6000604082019050613a7e6000830185612c06565b613a8b6020830184612c06565b939250505056fea2646970667358221220afdd919657ef81a5b2642d1c4f63867c7f7eb65e3a912a45e490105afe7c16ff64736f6c63430008130033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.