ERC-20
Overview
Max Total Supply
100,000,000 NERO
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,791,000 NEROValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NERO
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; // $NERO abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } contract NERO is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Nero"; string private constant _symbol = "NERO"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10 ** 9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 10; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 40; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _burnFee = 0; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping(address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x70E019746949670dea5Be582B9A08FFaE924CC18); address payable private _marketingAddress = payable(0x70E019746949670dea5Be582B9A08FFaE924CC18); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 2000000 * 10 ** 9; uint256 public _maxWalletSize = 2000000 * 10 ** 9; uint256 public _swapTokensAtAmount = 200000 * 10 ** 9; uint256 public burnStartAt = block.timestamp + 90 hours; uint256 public burnEndsAt = burnStartAt + 8760 hours; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); // uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection( uint256 rAmount ) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; _burnFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require( from == owner(), "TOKEN: This account cannot send tokens until trading is enabled" ); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require( !bots[from] && !bots[to], "TOKEN: Your account is blacklisted!" ); if (to != uniswapV2Pair) { require( balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!" ); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if (contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if ( canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; _burnFee =0; //Transfer Tokens if ( (_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair) ) { takeFee = false; } else { //Set Fee for Buys if (from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; uint256 currentBlockTimeStamp = block.timestamp; if (currentBlockTimeStamp >= burnStartAt && currentBlockTimeStamp <= burnEndsAt) { _burnFee = _getBurnFee(); } } } _tokenTransfer(from, to, amount, takeFee); } // If the holder didn't make a purchase yet or the purchase was over 30 minutes ago, there is no burn fee function _getBurnFee() private view returns (uint256) { // Time since contract creation in hours uint256 timeSinceCreation = (block.timestamp - burnStartAt) / 1 hours; // Calculate burn fee based on time since contract creation if (timeSinceCreation < 72) { return 20; } else if (timeSinceCreation < 168) { return 16; } else if (timeSinceCreation < 240) { return 12; } else if (timeSinceCreation < 480) { return 8; } else if (timeSinceCreation < 720) { return 4; } else { return 2; } } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require( _msgSender() == _developmentAddress || _msgSender() == _marketingAddress ); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require( _msgSender() == _developmentAddress || _msgSender() == _marketingAddress ); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 rBurn, uint256 tTransferAmount, uint256 tFee, uint256 tTeam, uint256 tBurn ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); if (tBurn > 0) { emit Transfer(sender, address(0), tBurn); } emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues( uint256 tAmount ) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256 ) { ( uint256 tTransferAmount, uint256 tFee, uint256 tTeam, uint256 tBurn ) = _getTValues(tAmount, _redisFee, _taxFee, _burnFee); uint256 currentRate = _getRate(); ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 rBurn ) = _getRValues(tAmount, tFee, tTeam, tBurn, currentRate); return ( rAmount, rTransferAmount, rFee, rBurn, tTransferAmount, tFee, tTeam, tBurn ); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee, uint256 burnFee ) private pure returns (uint256, uint256, uint256, uint256) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 bAmount = tAmount.mul(burnFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam).sub(bAmount); return (tTransferAmount, tFee, tTeam, bAmount); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 tBurn, uint256 currentRate ) private pure returns (uint256, uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rBurn = tBurn.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam).sub(rBurn); return (rAmount, rTransferAmount, rFee, rBurn); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee( uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell ) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold( uint256 swapTokensAtAmount ) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees( address[] calldata accounts, bool excluded ) public onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
{ "optimizer": { "enabled": true, "runs": 200 }, "viaIR": true, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnEndsAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnStartAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060409080825234620002f75760008054336001600160a01b031991821681178355909290827f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a367012a74c07c69ffff19928360065582600855600a60095582600a556028600b5582600c556028600d5582600e5582600f5560286010557370e019746949670dea5be582b9a08ffae924cc18808260135416176013558160145416176014556201000160a01b62ffffff60a01b19601654161760165566071afd498d00008060175560185565b5e620f480006019556204f1a04201804211620002e35780601a556301e625204201809111620002e357601b553383526020936002855285842055737a250d5630b4cf539739df2c5dacb4c659f2488d8082601554161760155563c45a015560e01b83528483600481845afa9283156200028e579085918594620002ba575b5086516315ab88c960e31b81529190829060049082905afa9081156200028e5784918691839162000298575b5087516364e329cb60e11b81523060048201526001600160a01b039182166024820152909490928391604491839188165af19081156200028e5790839185916200025a575b5016906016541617601655808254168252600583528382209060ff1991600183825416179055308352848320600183825416179055806013541683528483206001838254161790556014541682526001848320918254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83519267016345785d8a000084523393a351611b219081620003588239f35b6200027f9150863d881162000286575b620002768183620002fc565b81019062000336565b38620001c0565b503d6200026a565b86513d86823e3d90fd5b620002b39150823d84116200028657620002768183620002fc565b386200017b565b82919450620002da906004933d84116200028657620002768183620002fc565b9390916200014f565b634e487b7160e01b84526011600452602484fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200032057604052565b634e487b7160e01b600052604160045260246000fd5b90816020910312620002f757516001600160a01b0381168103620002f7579056fe60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c908162b8cf2a14610b2c5750806306fdde0314610af0578063095ea7b314610ac65780631694505e14610a9d57806318160ddd14610a7a57806323b872dd146109c75780632fd689e3146109a8578063313ce5671461098c57806349bd5a5e146109635780636b9990531461091a5780636d8aa8f8146108cc5780636fc3eaec1461088357806370a0823114610842578063715018a6146107e657806374010ece146107b85780637d1db4a5146107995780637f2feddc1461076157806387805a79146107425780638d3aebcf146107235780638da5cb5b146106fb5780638f70ccf7146106aa5780638f9a55c01461068b57806395d89b411461064b57806398a5c3151461061d578063a2a957bb146105dd578063a9059cbb146105ac578063bfd792841461056e578063c3c8cd80146103a1578063c492f046146102d0578063dd62ed3e14610284578063ea1644d5146102525763f2fde38b03610011573461024e57602036600319011261024e576101a2610cb4565b8354916001600160a01b03808416926101bc338514610d38565b169384156101fc57505082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36001600160a01b03191617815580f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b8382346102805760203660031901126102805761027960018060a01b038354163314610d38565b3560185580f35b5080fd5b503461024e578160031936011261024e57602092826102a1610cb4565b916102aa610cca565b6001600160a01b0393841682529386522091166000908152908352819020549051908152f35b50903461024e578060031936011261024e5781359167ffffffffffffffff9081841161039d573660238501121561039d57830135908111610399576024916005368484831b87010111610395578335938415158095036103905786546001600160a01b0396949594906103469088163314610d38565b60ff889516945b868110610358578880f35b8281851b830101359088821680920361038c57610387918a5284602052858a208760ff19825416179055611932565b61034d565b8980fd5b600080fd5b8580fd5b8380fd5b8480fd5b509190346102805781600319360112610280576013546001600160a01b039190821633148015610561575b1561024e573083526020600281526103e682852054610dce565b9260ff60a81b1995600160a81b87601654161760165583519261040884610c76565b6002845280840192853685373061041e866118c5565b52806015541686516315ab88c960e31b815283818681855afa908115610557579089918b9161051b575b509161046292846104588a6118e8565b9116905230610ea2565b806015541694853b156105175796939192889593875198899663791ac94760e01b885260a488019388015287602488015260a060448801525180925260c48601939287905b8382106104f85750505050508383809230606483015242608483015203925af19081156104ef57506104e0575b50906016541660165580f35b6104e990610c30565b386104d4565b513d84823e3d90fd5b8451811686528b98508a975094820194938201936001909101906104a7565b8880fd5b809250858092503d8311610550575b6105348183610c92565b8101031261038c5751828116810361038c578890610462610448565b503d61052a565b88513d8c823e3d90fd5b50816014541633146103cc565b5050346102805760203660031901126102805760209160ff9082906001600160a01b03610599610cb4565b1681526011855220541690519015158152f35b5050346102805780600319360112610280576020906105d66105cc610cb4565b6024359033610fb1565b5160018152f35b8382346102805760803660031901126102805761060460018060a01b038354163314610d38565b35600855602435600a55604435600955606435600b5580f35b8382346102805760203660031901126102805761064460018060a01b038354163314610d38565b3560195580f35b50903461024e578260031936011261024e57610687925080519161066e83610c5a565b8252634e45524f60e01b60208301525191829182610ce0565b0390f35b5050346102805781600319360112610280576020906018549051908152f35b83346106f85760203660031901126106f8576106c4610d29565b6106d860018060a01b038354163314610d38565b6016805460ff60a01b191691151560a01b60ff60a01b1691909117905580f35b80fd5b505034610280578160031936011261028057905490516001600160a01b039091168152602090f35b505034610280578160031936011261028057602090601b549051908152f35b505034610280578160031936011261028057602090601a549051908152f35b5050346102805760203660031901126102805760209181906001600160a01b03610789610cb4565b1681526012845220549051908152f35b5050346102805781600319360112610280576020906017549051908152f35b838234610280576020366003190112610280576107df60018060a01b038354163314610d38565b3560175580f35b83346106f857806003193601126106f8578054816001600160a01b03821661080f338214610d38565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36001600160a01b031916815580f35b5050346102805760203660031901126102805760209161087c9082906001600160a01b0361086e610cb4565b168152600285522054610dce565b9051908152f35b83346106f857806003193601126106f857601354336001600160a01b03918216149081156108be575b50156106f8576108bb476118f8565b80f35b9050601454163314826108ac565b83346106f85760203660031901126106f8576108e6610d29565b6108fa60018060a01b038354163314610d38565b6016805460ff60b01b191691151560b01b60ff60b01b1691909117905580f35b50503461028057602036600319011261028057610935610cb4565b82546001600160a01b03919061094e9083163314610d38565b16825260116020528120805460ff1916905580f35b50503461028057816003193601126102805760165490516001600160a01b039091168152602090f35b5050346102805781600319360112610280576020905160098152f35b5050346102805781600319360112610280576020906019549051908152f35b503461024e57606036600319011261024e57602092610a726105d692846109ec610cb4565b936109f5610cca565b92610a04604435809588610fb1565b6001600160a01b03861682528852818120338252885220548551610a6d90610a2b81610c76565b602881527f45524332303a207472616e7366657220616d6f756e742065786365656473206189820152676c6c6f77616e636560c01b8882015282841115610d83565b610dab565b903390610ea2565b5050346102805781600319360112610280576020905167016345785d8a00008152f35b50503461028057816003193601126102805760155490516001600160a01b039091168152602090f35b5050346102805780600319360112610280576020906105d6610ae6610cb4565b6024359033610ea2565b50903461024e578260031936011261024e576106879250805191610b1383610c5a565b8252634e65726f60e01b60208301525191829182610ce0565b8493915034610399576020908160031936011261039d57833567ffffffffffffffff94858211610c2c5736602383011215610c2c5781810135958611610c19575060059480861b90610b8085830185610c92565b835260248484019183010191368311610c1557602401905b828210610bf657505085546001600160a01b03929150610bbb9083163314610d38565b855b8151811015610bf25780861b82018401518316875260118452848720805460ff19166001179055610bed90611932565b610bbd565b8680f35b81356001600160a01b0381168103610517578152908401908401610b98565b8780fd5b634e487b7160e01b875260419052602486fd5b8680fd5b67ffffffffffffffff8111610c4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610c4457604052565b6060810190811067ffffffffffffffff821117610c4457604052565b90601f8019910116810190811067ffffffffffffffff821117610c4457604052565b600435906001600160a01b038216820361039057565b602435906001600160a01b038216820361039057565b6020808252825181830181905290939260005b828110610d1557505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610cf3565b60043590811515820361039057565b15610d3f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610d8b5750565b60405162461bcd60e51b8152908190610da79060048301610ce0565b0390fd5b91908203918211610db857565b634e487b7160e01b600052601160045260246000fd5b6006548111610e2a57610e2790610de3611a94565b90610e22604051610df381610c5a565b601a815279536166654d6174683a206469766973696f6e206279207a65726f60301b6020820152831515610d83565b610e82565b90565b60405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608490fd5b8115610e8c570490565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03908116918215610f535716918215610f035760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260048252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b91908201809211610db857565b600092916001600160a01b03918216919082156118125781169283156117c157801561176a5781855416808414158091819261175f575b50611343575b5060019085600e5583865260209283926005845260409160ff838a2054168015611333575b8015611311575b15611288575050865b15968761127b575b85600c5493600d5486600e54966110429084611a18565b865161104d81610c5a565b601a815279536166654d6174683a206469766973696f6e206279207a65726f60301b928391015260649004916110839084611a18565b8189885161109081610c5a565b601a8152015260649004966110a59084611a18565b908887516110b281610c5a565b601a8152015260649004918551966110c988610c5a565b601e88527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000097888a820152828411159061110291610d83565b838161110e8585610dab565b90611118916119d1565b90611122916119d1565b9761112b611a94565b928361113691611a18565b906111418486611a18565b9361114c8185611a18565b906111579088611a18565b918a519061116482610c5a565b601e82528d8201526111799084871115610d83565b6111838584610dab565b9061118d916119d1565b90611197916119d1565b9086885260028b5288882054906111ad916119d1565b86885260028b52888820558c875287872054906111c991611977565b8c875260028a52878720556111dc611a94565b6111e591611a18565b3086526002895286862054906111fa91611977565b308652600289528686205560065490611212916119d1565b6006556007549061122291611977565b6007557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef968161126a575b5050505051908152a361125c57565b600f54600c55601054600d55565b87918551908152a33885818561124d565b611283611941565b61102b565b806016541680881480611303575b6112f2575b881490816112e3575b501561102357600a54600c55600b54600d55601a54421015806112d7575b15611023576112cf611865565b600e55611023565b50601b544211156112c2565b905060155416861415386112a4565b600854600c55600954600d5561129b565b508160155416891415611296565b508060165416808814159081611328575b5061101a565b905088141538611322565b5087895260ff838a205416611013565b6016549060ff90818360a01c16156116ea575b506017548084116116a55785885260206011815260409183838b2054161580611695575b1561164657868516938a878b868882036115ca575b50505050308b52600283526113a6848c2054610dce565b9460195486101592808710156115c2575b50826115b3575b826115a8575b508161159a575b81611585575b81611570575b506113e5575b505050610fee565b60ff60a81b19938416600160a81b1760165581519261140384610c76565b60028452818401908336833730611419866118c5565b52876015541684516315ab88c960e31b81528481600481855afa908115611566579083918e91611526575b5091611454928b6104588a6118e8565b876015541692833b1561152257918b93919592855196879463791ac94760e01b865260a4860191600487015286602487015260a060448701525180915260c485019291865b82811061150657505050508383809230606483015242608483015203925af19081156114fd57506114ea575b5060165416601655476114dc575b388080806113dd565b6114e5476118f8565b6114d3565b6114f690969196610c30565b94386114c5565b513d89823e3d90fd5b83518d1685528f97508996509381019392810192600101611499565b8b80fd5b809250868092503d831161155f575b61153f8183610c92565b8101031261155b5751898116810361155b578290611454611444565b8c80fd5b503d611535565b86513d8f823e3d90fd5b9050888a5260058252828a20541615386113d7565b888b5260058352838b205481161591506113d1565b8091508560b01c16906113cb565b8914159150386113c4565b9150808660a81c1615916113be565b9550386113b7565b836115df926115e49552600288522054610dce565b610fa4565b60185411156115f6578a878b8661138f565b835162461bcd60e51b815260048101849052602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608490fd5b50608491519062461bcd60e51b82526004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152fd5b50888a5283838b2054161561137a565b60405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606490fd5b6116f45738611356565b60405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608490fd5b905085141538610fe8565b60405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b610e10611874601a5442610dab565b0460488110156118845750601490565b60a88110156118935750601090565b60f08110156118a25750600c90565b6101e08110156118b25750600890565b6102d011156118c057600490565b600290565b8051156118d25760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156118d25760400190565b6014546000918291829182916001600160a01b0316828215611929575bf11561191d57565b6040513d6000823e3d90fd5b506108fc611915565b6000198114610db85760010190565b600c5480158061196d575b61196a57600f55600d546010556000600c556000600d556000600e55565b50565b50600d541561194c565b906119829082610fa4565b90811061198c5790565b60405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606490fd5b90610e2791610a6d6040516119e581610c5a565b601e81527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000602082015282841115610d83565b908115611a8d57808202918083048203610db857611a369083610e82565b03611a3e5790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b5050600090565b610e27610de36006549079536166654d6174683a206469766973696f6e206279207a65726f60301b6020604051611aca81610c5a565b601a8152015267016345785d8a0000918281048110611ae7579190565b919056fea26469706673582212207da069eec705d6d92238d44759e239387a086404d102cf7cfecf6825c21bf3a964736f6c63430008120033
Deployed Bytecode
0x60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c908162b8cf2a14610b2c5750806306fdde0314610af0578063095ea7b314610ac65780631694505e14610a9d57806318160ddd14610a7a57806323b872dd146109c75780632fd689e3146109a8578063313ce5671461098c57806349bd5a5e146109635780636b9990531461091a5780636d8aa8f8146108cc5780636fc3eaec1461088357806370a0823114610842578063715018a6146107e657806374010ece146107b85780637d1db4a5146107995780637f2feddc1461076157806387805a79146107425780638d3aebcf146107235780638da5cb5b146106fb5780638f70ccf7146106aa5780638f9a55c01461068b57806395d89b411461064b57806398a5c3151461061d578063a2a957bb146105dd578063a9059cbb146105ac578063bfd792841461056e578063c3c8cd80146103a1578063c492f046146102d0578063dd62ed3e14610284578063ea1644d5146102525763f2fde38b03610011573461024e57602036600319011261024e576101a2610cb4565b8354916001600160a01b03808416926101bc338514610d38565b169384156101fc57505082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36001600160a01b03191617815580f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b8382346102805760203660031901126102805761027960018060a01b038354163314610d38565b3560185580f35b5080fd5b503461024e578160031936011261024e57602092826102a1610cb4565b916102aa610cca565b6001600160a01b0393841682529386522091166000908152908352819020549051908152f35b50903461024e578060031936011261024e5781359167ffffffffffffffff9081841161039d573660238501121561039d57830135908111610399576024916005368484831b87010111610395578335938415158095036103905786546001600160a01b0396949594906103469088163314610d38565b60ff889516945b868110610358578880f35b8281851b830101359088821680920361038c57610387918a5284602052858a208760ff19825416179055611932565b61034d565b8980fd5b600080fd5b8580fd5b8380fd5b8480fd5b509190346102805781600319360112610280576013546001600160a01b039190821633148015610561575b1561024e573083526020600281526103e682852054610dce565b9260ff60a81b1995600160a81b87601654161760165583519261040884610c76565b6002845280840192853685373061041e866118c5565b52806015541686516315ab88c960e31b815283818681855afa908115610557579089918b9161051b575b509161046292846104588a6118e8565b9116905230610ea2565b806015541694853b156105175796939192889593875198899663791ac94760e01b885260a488019388015287602488015260a060448801525180925260c48601939287905b8382106104f85750505050508383809230606483015242608483015203925af19081156104ef57506104e0575b50906016541660165580f35b6104e990610c30565b386104d4565b513d84823e3d90fd5b8451811686528b98508a975094820194938201936001909101906104a7565b8880fd5b809250858092503d8311610550575b6105348183610c92565b8101031261038c5751828116810361038c578890610462610448565b503d61052a565b88513d8c823e3d90fd5b50816014541633146103cc565b5050346102805760203660031901126102805760209160ff9082906001600160a01b03610599610cb4565b1681526011855220541690519015158152f35b5050346102805780600319360112610280576020906105d66105cc610cb4565b6024359033610fb1565b5160018152f35b8382346102805760803660031901126102805761060460018060a01b038354163314610d38565b35600855602435600a55604435600955606435600b5580f35b8382346102805760203660031901126102805761064460018060a01b038354163314610d38565b3560195580f35b50903461024e578260031936011261024e57610687925080519161066e83610c5a565b8252634e45524f60e01b60208301525191829182610ce0565b0390f35b5050346102805781600319360112610280576020906018549051908152f35b83346106f85760203660031901126106f8576106c4610d29565b6106d860018060a01b038354163314610d38565b6016805460ff60a01b191691151560a01b60ff60a01b1691909117905580f35b80fd5b505034610280578160031936011261028057905490516001600160a01b039091168152602090f35b505034610280578160031936011261028057602090601b549051908152f35b505034610280578160031936011261028057602090601a549051908152f35b5050346102805760203660031901126102805760209181906001600160a01b03610789610cb4565b1681526012845220549051908152f35b5050346102805781600319360112610280576020906017549051908152f35b838234610280576020366003190112610280576107df60018060a01b038354163314610d38565b3560175580f35b83346106f857806003193601126106f8578054816001600160a01b03821661080f338214610d38565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36001600160a01b031916815580f35b5050346102805760203660031901126102805760209161087c9082906001600160a01b0361086e610cb4565b168152600285522054610dce565b9051908152f35b83346106f857806003193601126106f857601354336001600160a01b03918216149081156108be575b50156106f8576108bb476118f8565b80f35b9050601454163314826108ac565b83346106f85760203660031901126106f8576108e6610d29565b6108fa60018060a01b038354163314610d38565b6016805460ff60b01b191691151560b01b60ff60b01b1691909117905580f35b50503461028057602036600319011261028057610935610cb4565b82546001600160a01b03919061094e9083163314610d38565b16825260116020528120805460ff1916905580f35b50503461028057816003193601126102805760165490516001600160a01b039091168152602090f35b5050346102805781600319360112610280576020905160098152f35b5050346102805781600319360112610280576020906019549051908152f35b503461024e57606036600319011261024e57602092610a726105d692846109ec610cb4565b936109f5610cca565b92610a04604435809588610fb1565b6001600160a01b03861682528852818120338252885220548551610a6d90610a2b81610c76565b602881527f45524332303a207472616e7366657220616d6f756e742065786365656473206189820152676c6c6f77616e636560c01b8882015282841115610d83565b610dab565b903390610ea2565b5050346102805781600319360112610280576020905167016345785d8a00008152f35b50503461028057816003193601126102805760155490516001600160a01b039091168152602090f35b5050346102805780600319360112610280576020906105d6610ae6610cb4565b6024359033610ea2565b50903461024e578260031936011261024e576106879250805191610b1383610c5a565b8252634e65726f60e01b60208301525191829182610ce0565b8493915034610399576020908160031936011261039d57833567ffffffffffffffff94858211610c2c5736602383011215610c2c5781810135958611610c19575060059480861b90610b8085830185610c92565b835260248484019183010191368311610c1557602401905b828210610bf657505085546001600160a01b03929150610bbb9083163314610d38565b855b8151811015610bf25780861b82018401518316875260118452848720805460ff19166001179055610bed90611932565b610bbd565b8680f35b81356001600160a01b0381168103610517578152908401908401610b98565b8780fd5b634e487b7160e01b875260419052602486fd5b8680fd5b67ffffffffffffffff8111610c4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610c4457604052565b6060810190811067ffffffffffffffff821117610c4457604052565b90601f8019910116810190811067ffffffffffffffff821117610c4457604052565b600435906001600160a01b038216820361039057565b602435906001600160a01b038216820361039057565b6020808252825181830181905290939260005b828110610d1557505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610cf3565b60043590811515820361039057565b15610d3f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610d8b5750565b60405162461bcd60e51b8152908190610da79060048301610ce0565b0390fd5b91908203918211610db857565b634e487b7160e01b600052601160045260246000fd5b6006548111610e2a57610e2790610de3611a94565b90610e22604051610df381610c5a565b601a815279536166654d6174683a206469766973696f6e206279207a65726f60301b6020820152831515610d83565b610e82565b90565b60405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608490fd5b8115610e8c570490565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03908116918215610f535716918215610f035760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260048252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b91908201809211610db857565b600092916001600160a01b03918216919082156118125781169283156117c157801561176a5781855416808414158091819261175f575b50611343575b5060019085600e5583865260209283926005845260409160ff838a2054168015611333575b8015611311575b15611288575050865b15968761127b575b85600c5493600d5486600e54966110429084611a18565b865161104d81610c5a565b601a815279536166654d6174683a206469766973696f6e206279207a65726f60301b928391015260649004916110839084611a18565b8189885161109081610c5a565b601a8152015260649004966110a59084611a18565b908887516110b281610c5a565b601a8152015260649004918551966110c988610c5a565b601e88527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000097888a820152828411159061110291610d83565b838161110e8585610dab565b90611118916119d1565b90611122916119d1565b9761112b611a94565b928361113691611a18565b906111418486611a18565b9361114c8185611a18565b906111579088611a18565b918a519061116482610c5a565b601e82528d8201526111799084871115610d83565b6111838584610dab565b9061118d916119d1565b90611197916119d1565b9086885260028b5288882054906111ad916119d1565b86885260028b52888820558c875287872054906111c991611977565b8c875260028a52878720556111dc611a94565b6111e591611a18565b3086526002895286862054906111fa91611977565b308652600289528686205560065490611212916119d1565b6006556007549061122291611977565b6007557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef968161126a575b5050505051908152a361125c57565b600f54600c55601054600d55565b87918551908152a33885818561124d565b611283611941565b61102b565b806016541680881480611303575b6112f2575b881490816112e3575b501561102357600a54600c55600b54600d55601a54421015806112d7575b15611023576112cf611865565b600e55611023565b50601b544211156112c2565b905060155416861415386112a4565b600854600c55600954600d5561129b565b508160155416891415611296565b508060165416808814159081611328575b5061101a565b905088141538611322565b5087895260ff838a205416611013565b6016549060ff90818360a01c16156116ea575b506017548084116116a55785885260206011815260409183838b2054161580611695575b1561164657868516938a878b868882036115ca575b50505050308b52600283526113a6848c2054610dce565b9460195486101592808710156115c2575b50826115b3575b826115a8575b508161159a575b81611585575b81611570575b506113e5575b505050610fee565b60ff60a81b19938416600160a81b1760165581519261140384610c76565b60028452818401908336833730611419866118c5565b52876015541684516315ab88c960e31b81528481600481855afa908115611566579083918e91611526575b5091611454928b6104588a6118e8565b876015541692833b1561152257918b93919592855196879463791ac94760e01b865260a4860191600487015286602487015260a060448701525180915260c485019291865b82811061150657505050508383809230606483015242608483015203925af19081156114fd57506114ea575b5060165416601655476114dc575b388080806113dd565b6114e5476118f8565b6114d3565b6114f690969196610c30565b94386114c5565b513d89823e3d90fd5b83518d1685528f97508996509381019392810192600101611499565b8b80fd5b809250868092503d831161155f575b61153f8183610c92565b8101031261155b5751898116810361155b578290611454611444565b8c80fd5b503d611535565b86513d8f823e3d90fd5b9050888a5260058252828a20541615386113d7565b888b5260058352838b205481161591506113d1565b8091508560b01c16906113cb565b8914159150386113c4565b9150808660a81c1615916113be565b9550386113b7565b836115df926115e49552600288522054610dce565b610fa4565b60185411156115f6578a878b8661138f565b835162461bcd60e51b815260048101849052602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608490fd5b50608491519062461bcd60e51b82526004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152fd5b50888a5283838b2054161561137a565b60405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606490fd5b6116f45738611356565b60405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608490fd5b905085141538610fe8565b60405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b610e10611874601a5442610dab565b0460488110156118845750601490565b60a88110156118935750601090565b60f08110156118a25750600c90565b6101e08110156118b25750600890565b6102d011156118c057600490565b600290565b8051156118d25760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156118d25760400190565b6014546000918291829182916001600160a01b0316828215611929575bf11561191d57565b6040513d6000823e3d90fd5b506108fc611915565b6000198114610db85760010190565b600c5480158061196d575b61196a57600f55600d546010556000600c556000600d556000600e55565b50565b50600d541561194c565b906119829082610fa4565b90811061198c5790565b60405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606490fd5b90610e2791610a6d6040516119e581610c5a565b601e81527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000602082015282841115610d83565b908115611a8d57808202918083048203610db857611a369083610e82565b03611a3e5790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b5050600090565b610e27610de36006549079536166654d6174683a206469766973696f6e206279207a65726f60301b6020604051611aca81610c5a565b601a8152015267016345785d8a0000918281048110611ae7579190565b919056fea26469706673582212207da069eec705d6d92238d44759e239387a086404d102cf7cfecf6825c21bf3a964736f6c63430008120033
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.