ERC-20
Overview
Max Total Supply
1,000,000 SMINEM
Holders
79
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
191.250923677767593151 SMINEMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Sminem
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-16 */ /** Sminem - the boy who saved crypto. Telegram: https://t.me/theboywhosavedcrypto Website: https://www.sminem.online/ Twitter: https://twitter.com/sminemcoinx **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; 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); } 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; } } contract Ownable is Context { address private _owner; 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); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Sminem is Context, IERC20, Ownable { using SafeMath for uint256; receive() external payable {} uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000 * 10**_decimals; string private constant _name = unicode"Sminem Coin"; string private constant _symbol = unicode"SMINEM"; uint256 public _taxSwapThreshold = 500 * 10**_decimals; uint256 public _maxTaxSwap = 10000 * 10**_decimals; uint256 public _maxTxAmount = 20000 * 10**_decimals; uint256 public _maxWalletAmount = 20000 * 10**_decimals; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; mapping (address => bool) private _isSwapContract; address payable public _taxWallet; uint256 public _tax = 0; uint256 public tradingOpenBlock; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap; bool private swapEnabled; bool public _limits = true; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xCa243EbA60a74cb2C7d376Cb03Ffde61A941aF29); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _isSwapContract[address(uniswapV2Router)] = true; _isSwapContract[uniswapV2Pair] = 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 _balances[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]; } /// @notice Sets amount as the allowance of spender over the caller’s tokens /// @param spender The address which will spend the funds /// @param amount The amount of tokens to be spent /// @return A boolean value indicating whether the operation was successful function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /// @notice Transfers tokens from one address to another with allowance check /// @dev Transfers tokens between two addresses and automatically deducts the allowance /// @param sender The address to transfer tokens from /// @param recipient The address to transfer tokens to /// @param amount The amount of tokens to be transferred /// @return A boolean value indicating whether the transfer was successful 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; } /// @dev Approves spending of a specified amount of tokens by a spender /// @param owner The address of the token holder /// @param spender The address of the spender /// @param amount The amount of tokens to approve 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); } /// @dev Handles the internal transfer logic, applying tax if necessary /// @param from The address to transfer tokens from /// @param to The address to transfer tokens to /// @param amount The amount of tokens to transfer 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"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { require(tradingOpen, "ERC20: Trading is not enabled"); if (_isSwapContract[from] && !_isExcludedFromFee[to] && _limits){ require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount"); require(_balances[to].add(amount) <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount"); } if (_isSwapContract[to] && from != address(this)){ taxAmount = amount.mul(_getTax()).div(100); } else if (_isSwapContract[from]){ taxAmount = amount.mul(_getTax()).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) { swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if (_isExcludedFromFee[from] || _isExcludedFromFee[to]){ taxAmount = 0; } if (taxAmount > 0){ _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } /// @dev Calculates the tax rate based on the difference between current block number and trading open block /// @return The current tax rate as a percentage function _getTax() internal view returns (uint256) { if (_tax != 0) return _tax; if (block.number - tradingOpenBlock <= 5) { return 25; } else if (block.number - tradingOpenBlock <= 15) { return 10; } else if (block.number - tradingOpenBlock <= 30) { return 5; } else { return 0; } } /// @dev Utility function to return the lesser of two values /// @param a The first value /// @param b The second value /// @return The lesser of the two values function min(uint256 a, uint256 b) private pure returns (uint256){ return (a > b) ? b : a; } /// @dev Swaps tokens for ETH using the Uniswap V2 Router /// @param tokenAmount The amount of tokens to swap for ETH function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if (!tradingOpen || tokenAmount == 0) return; 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 ); } /// @dev Transfers ETH to the tax wallet /// @param amount The amount of ETH to transfer function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } /// @notice Manually triggers a swap from tokens to ETH and send the proceeds to the tax wallet /// @dev Can only be called by the tax wallet address function manualSwap() external { require(_msgSender() == owner() || _msgSender() == _taxWallet , "only owner or tax wallets"); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0){ swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0){ sendETHToFee(ethBalance); } } /// @notice Opens trading on the token, enabling swaps and transfers /// @dev Can only be called by the contract owner function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); swapEnabled = true; tradingOpen = true; tradingOpenBlock = block.number; } /// @notice Sets a custom tax rate for token transfers /// @dev Can only be called by the contract owner, new tax rate must be < previous tax rate /// @param tax The new tax rate as a percentage function reduceTax(uint256 tax) external onlyOwner { require(tax < _tax, "New tax must be smaller than previous tax."); _tax = tax; } /// @notice Toggles if an address is excluded from paying taxes on buys and sells function toggleIsExcludedFromFee(address account) external onlyOwner { _isExcludedFromFee[account] = !_isExcludedFromFee[account]; } /// @notice Recovers tokens or ETH mistakenly sent to the contract /// @dev Can only be called by the contract owner function recover(address token, uint256 amount) external { require(_msgSender() == owner() || _msgSender() == _taxWallet , "only owner or tax wallet"); if (token == address(0)){ payable(msg.sender).transfer(amount); } else { IERC20(token).transfer(msg.sender, amount); } } /// @notice Toggles a contract address as a recognized swap contract /// @dev Can only be called by the contract owner /// @param contractAddress The address of the contract to toggle function toggleSwapContract(address contractAddress) external { require(_msgSender() == owner() || _msgSender() == _taxWallet , "only owner or tax wallets"); _isSwapContract[contractAddress] = !_isSwapContract[contractAddress]; } /// @notice Toggles if the maxTxAmount and maxWalletAmount limits are enabled function removeLimits() external onlyOwner() { _limits = false; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":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":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_limits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"reduceTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"toggleIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"toggleSwapContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpenBlock","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a620004de565b62000020906101f4620004f6565b600155620000316012600a620004de565b6200003f90612710620004f6565b600255620000506012600a620004de565b6200005e90614e20620004f6565b6003556200006f6012600a620004de565b6200007d90614e20620004f6565b6004556000600a55600d805460ff60b81b1916600160b81b179055348015620000a557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600980546001600160a01b03191673ca243eba60a74cb2c7d376cb03ffde61a941af291790556200011b6012600a620004de565b6200012a90620f4240620004f6565b3360009081526005602090815260408083209390935581546001600160a01b039081168352600782528383208054600160ff19918216811790925530855285852080548216831790556009549092168452928490208054909116909217909155600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000211919062000510565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a919062000510565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030e919062000510565b600d80546001600160a01b0319166001600160a01b03928316178155600c548216600090815260086020526040808220805460ff19908116600190811790925593549094168252902080549091169091179055620003693390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003a36012600a620004de565b620003b290620f4240620004f6565b60405190815260200160405180910390a36200053b565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000420578160001904821115620004045762000404620003c9565b808516156200041257918102915b93841c9390800290620003e4565b509250929050565b6000826200043957506001620004d8565b816200044857506000620004d8565b81600181146200046157600281146200046c576200048c565b6001915050620004d8565b60ff841115620004805762000480620003c9565b50506001821b620004d8565b5060208310610133831016604e8410600b8410161715620004b1575081810a620004d8565b620004bd8383620003df565b8060001904821115620004d457620004d4620003c9565b0290505b92915050565b6000620004ef60ff84168362000428565b9392505050565b8082028115828204841417620004d857620004d8620003c9565b6000602082840312156200052357600080fd5b81516001600160a01b0381168114620004ef57600080fd5b6119c4806200054b6000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063bf474bed1161008a578063dd62ed3e11610064578063dd62ed3e146104ec578063e751d50814610532578063ef98589414610548578063f8492b1a1461056857600080fd5b8063bf474bed146104a1578063c9567bf9146104b7578063cc7494d3146104cc57600080fd5b80637d1db4a5116100c65780637d1db4a51461041e5780638da5cb5b1461043457806395d89b4114610452578063a9059cbb1461048157600080fd5b8063715018a6146103c4578063751039fc146103d9578063768dc710146103ee57600080fd5b806349bd5a5e116101595780636c0a24eb116101335780636c0a24eb146103375780636c3fb9321461034d5780636f268a991461036e57806370a082311461038e57600080fd5b806349bd5a5e146102c857806351bc3c85146103005780635705ae431461031757600080fd5b80630faee56f116101955780630faee56f1461026157806318160ddd1461027757806323b872dd1461028c578063313ce567146102ac57600080fd5b806306fdde03146101c7578063095ea7b31461020d5780630e23500e1461023d57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600b81526a29b6b4b732b69021b7b4b760a91b60208201525b60405161020491906115c1565b60405180910390f35b34801561021957600080fd5b5061022d610228366004611627565b610588565b6040519015158152602001610204565b34801561024957600080fd5b50610253600b5481565b604051908152602001610204565b34801561026d57600080fd5b5061025360025481565b34801561028357600080fd5b5061025361059f565b34801561029857600080fd5b5061022d6102a7366004611653565b6105bf565b3480156102b857600080fd5b5060405160128152602001610204565b3480156102d457600080fd5b50600d546102e8906001600160a01b031681565b6040516001600160a01b039091168152602001610204565b34801561030c57600080fd5b50610315610628565b005b34801561032357600080fd5b50610315610332366004611627565b6106d4565b34801561034357600080fd5b5061025360045481565b34801561035957600080fd5b50600d5461022d90600160b81b900460ff1681565b34801561037a57600080fd5b506009546102e8906001600160a01b031681565b34801561039a57600080fd5b506102536103a9366004611694565b6001600160a01b031660009081526005602052604090205490565b3480156103d057600080fd5b506103156107fd565b3480156103e557600080fd5b50610315610871565b3480156103fa57600080fd5b5061022d610409366004611694565b60076020526000908152604090205460ff1681565b34801561042a57600080fd5b5061025360035481565b34801561044057600080fd5b506000546001600160a01b03166102e8565b34801561045e57600080fd5b50604080518082019091526006815265534d494e454d60d01b60208201526101f7565b34801561048d57600080fd5b5061022d61049c366004611627565b6108aa565b3480156104ad57600080fd5b5061025360015481565b3480156104c357600080fd5b506103156108b7565b3480156104d857600080fd5b506103156104e7366004611694565b610958565b3480156104f857600080fd5b506102536105073660046116b1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561053e57600080fd5b50610253600a5481565b34801561055457600080fd5b506103156105633660046116ea565b6109f5565b34801561057457600080fd5b50610315610583366004611694565b610a88565b6000610595338484610adb565b5060015b92915050565b60006105ad6012600a6117fd565b6105ba90620f424061180c565b905090565b60006105cc848484610bff565b61061e843361061985604051806060016040528060288152602001611967602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061119f565b610adb565b5060019392505050565b6000546001600160a01b031633148061065457506009546001600160a01b0316336001600160a01b0316145b6106a15760405162461bcd60e51b81526020600482015260196024820152786f6e6c79206f776e6572206f72207461782077616c6c65747360381b60448201526064015b60405180910390fd5b3060009081526005602052604090205480156106c0576106c0816111d9565b4780156106d0576106d08161136e565b5050565b6000546001600160a01b031633148061070057506009546001600160a01b0316336001600160a01b0316145b61074c5760405162461bcd60e51b815260206004820152601860248201527f6f6e6c79206f776e6572206f72207461782077616c6c657400000000000000006044820152606401610698565b6001600160a01b03821661078c57604051339082156108fc029083906000818181858888f19350505050158015610787573d6000803e3d6000fd5b505050565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107879190611823565b6000546001600160a01b031633146108275760405162461bcd60e51b815260040161069890611845565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461089b5760405162461bcd60e51b815260040161069890611845565b600d805460ff60b81b19169055565b6000610595338484610bff565b6000546001600160a01b031633146108e15760405162461bcd60e51b815260040161069890611845565b600d54600160a01b900460ff161561093b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610698565b600d805462ff00ff60a01b19166201000160a01b17905543600b55565b6000546001600160a01b031633148061098457506009546001600160a01b0316336001600160a01b0316145b6109cc5760405162461bcd60e51b81526020600482015260196024820152786f6e6c79206f776e6572206f72207461782077616c6c65747360381b6044820152606401610698565b6001600160a01b03166000908152600860205260409020805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a1f5760405162461bcd60e51b815260040161069890611845565b600a548110610a835760405162461bcd60e51b815260206004820152602a60248201527f4e657720746178206d75737420626520736d616c6c6572207468616e207072656044820152693b34b7bab9903a30bc1760b11b6064820152608401610698565b600a55565b6000546001600160a01b03163314610ab25760405162461bcd60e51b815260040161069890611845565b6001600160a01b03166000908152600760205260409020805460ff19811660ff90911615179055565b6001600160a01b038316610b3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610698565b6001600160a01b038216610b9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610698565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c635760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610698565b6001600160a01b038216610cc55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610698565b60008111610d275760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610698565b600080546001600160a01b03858116911614801590610d5457506000546001600160a01b03848116911614155b1561101457600d54600160a01b900460ff16610db25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67206973206e6f7420656e61626c65640000006044820152606401610698565b6001600160a01b03841660009081526008602052604090205460ff168015610df357506001600160a01b03831660009081526007602052604090205460ff16155b8015610e085750600d54600160b81b900460ff165b15610ef757600354821115610e6f5760405162461bcd60e51b815260206004820152602760248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152661e105b5bdd5b9d60ca1b6064820152608401610698565b6004546001600160a01b038416600090815260056020526040902054610e9590846113a8565b1115610ef75760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526a185b1b195d105b5bdd5b9d60aa1b6064820152608401610698565b6001600160a01b03831660009081526008602052604090205460ff168015610f2857506001600160a01b0384163014155b15610f5157610f4a6064610f44610f3d61140e565b8590611478565b906114fa565b9050610f85565b6001600160a01b03841660009081526008602052604090205460ff1615610f8557610f826064610f44610f3d61140e565b90505b30600090815260056020526040902054600d54600160a81b900460ff16158015610fbc5750600d546001600160a01b038581169116145b8015610fd15750600d54600160b01b900460ff165b8015610fde575060015481115b1561101257611000610ffb84610ff68460025461153c565b61153c565b6111d9565b478015611010576110104761136e565b505b505b6001600160a01b03841660009081526007602052604090205460ff168061105357506001600160a01b03831660009081526007602052604090205460ff165b1561105c575060005b80156110d6573060009081526005602052604090205461107c90826113a8565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cd9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600560205260409020546110f99083611551565b6001600160a01b03851660009081526005602052604090205561113e61111f8383611551565b6001600160a01b038516600090815260056020526040902054906113a8565b6001600160a01b0380851660008181526005602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111888585611551565b60405190815260200160405180910390a350505050565b600081848411156111c35760405162461bcd60e51b815260040161069891906115c1565b5060006111d0848661187a565b95945050505050565b600d805460ff60a81b1916600160a81b1790819055600160a01b900460ff161580611202575080155b61135e57604080516002808252606082018352600092602083019080368337019050509050308160008151811061123b5761123b61188d565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b891906118a3565b816001815181106112cb576112cb61188d565b6001600160a01b039283166020918202929092010152600c546112f19130911684610adb565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061132a9085906000908690309042906004016118c0565b600060405180830381600087803b15801561134457600080fd5b505af1158015611358573d6000803e3d6000fd5b50505050505b50600d805460ff60a81b19169055565b6009546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106d0573d6000803e3d6000fd5b6000806113b58385611931565b9050838110156114075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610698565b9392505050565b6000600a546000146114215750600a5490565b6005600b5443611431919061187a565b1161143c5750601990565b600f600b544361144c919061187a565b116114575750600a90565b601e600b5443611467919061187a565b116114725750600590565b50600090565b60008260000361148a57506000610599565b6000611496838561180c565b9050826114a38583611944565b146114075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610698565b600061140783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611593565b600081831161154b5782611407565b50919050565b600061140783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119f565b600081836115b45760405162461bcd60e51b815260040161069891906115c1565b5060006111d08486611944565b600060208083528351808285015260005b818110156115ee578581018301518582016040015282016115d2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461162457600080fd5b50565b6000806040838503121561163a57600080fd5b82356116458161160f565b946020939093013593505050565b60008060006060848603121561166857600080fd5b83356116738161160f565b925060208401356116838161160f565b929592945050506040919091013590565b6000602082840312156116a657600080fd5b81356114078161160f565b600080604083850312156116c457600080fd5b82356116cf8161160f565b915060208301356116df8161160f565b809150509250929050565b6000602082840312156116fc57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561175457816000190482111561173a5761173a611703565b8085161561174757918102915b93841c939080029061171e565b509250929050565b60008261176b57506001610599565b8161177857506000610599565b816001811461178e5760028114611798576117b4565b6001915050610599565b60ff8411156117a9576117a9611703565b50506001821b610599565b5060208310610133831016604e8410600b84101617156117d7575081810a610599565b6117e18383611719565b80600019048211156117f5576117f5611703565b029392505050565b600061140760ff84168361175c565b808202811582820484141761059957610599611703565b60006020828403121561183557600080fd5b8151801515811461140757600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561059957610599611703565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118b557600080fd5b81516114078161160f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119105784516001600160a01b0316835293830193918301916001016118eb565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561059957610599611703565b60008261196157634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eea5ad2f4e1d9c2bb75eb24b64fc577fd670afb71747b2e9c39f6bc203b206f364736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063bf474bed1161008a578063dd62ed3e11610064578063dd62ed3e146104ec578063e751d50814610532578063ef98589414610548578063f8492b1a1461056857600080fd5b8063bf474bed146104a1578063c9567bf9146104b7578063cc7494d3146104cc57600080fd5b80637d1db4a5116100c65780637d1db4a51461041e5780638da5cb5b1461043457806395d89b4114610452578063a9059cbb1461048157600080fd5b8063715018a6146103c4578063751039fc146103d9578063768dc710146103ee57600080fd5b806349bd5a5e116101595780636c0a24eb116101335780636c0a24eb146103375780636c3fb9321461034d5780636f268a991461036e57806370a082311461038e57600080fd5b806349bd5a5e146102c857806351bc3c85146103005780635705ae431461031757600080fd5b80630faee56f116101955780630faee56f1461026157806318160ddd1461027757806323b872dd1461028c578063313ce567146102ac57600080fd5b806306fdde03146101c7578063095ea7b31461020d5780630e23500e1461023d57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600b81526a29b6b4b732b69021b7b4b760a91b60208201525b60405161020491906115c1565b60405180910390f35b34801561021957600080fd5b5061022d610228366004611627565b610588565b6040519015158152602001610204565b34801561024957600080fd5b50610253600b5481565b604051908152602001610204565b34801561026d57600080fd5b5061025360025481565b34801561028357600080fd5b5061025361059f565b34801561029857600080fd5b5061022d6102a7366004611653565b6105bf565b3480156102b857600080fd5b5060405160128152602001610204565b3480156102d457600080fd5b50600d546102e8906001600160a01b031681565b6040516001600160a01b039091168152602001610204565b34801561030c57600080fd5b50610315610628565b005b34801561032357600080fd5b50610315610332366004611627565b6106d4565b34801561034357600080fd5b5061025360045481565b34801561035957600080fd5b50600d5461022d90600160b81b900460ff1681565b34801561037a57600080fd5b506009546102e8906001600160a01b031681565b34801561039a57600080fd5b506102536103a9366004611694565b6001600160a01b031660009081526005602052604090205490565b3480156103d057600080fd5b506103156107fd565b3480156103e557600080fd5b50610315610871565b3480156103fa57600080fd5b5061022d610409366004611694565b60076020526000908152604090205460ff1681565b34801561042a57600080fd5b5061025360035481565b34801561044057600080fd5b506000546001600160a01b03166102e8565b34801561045e57600080fd5b50604080518082019091526006815265534d494e454d60d01b60208201526101f7565b34801561048d57600080fd5b5061022d61049c366004611627565b6108aa565b3480156104ad57600080fd5b5061025360015481565b3480156104c357600080fd5b506103156108b7565b3480156104d857600080fd5b506103156104e7366004611694565b610958565b3480156104f857600080fd5b506102536105073660046116b1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561053e57600080fd5b50610253600a5481565b34801561055457600080fd5b506103156105633660046116ea565b6109f5565b34801561057457600080fd5b50610315610583366004611694565b610a88565b6000610595338484610adb565b5060015b92915050565b60006105ad6012600a6117fd565b6105ba90620f424061180c565b905090565b60006105cc848484610bff565b61061e843361061985604051806060016040528060288152602001611967602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061119f565b610adb565b5060019392505050565b6000546001600160a01b031633148061065457506009546001600160a01b0316336001600160a01b0316145b6106a15760405162461bcd60e51b81526020600482015260196024820152786f6e6c79206f776e6572206f72207461782077616c6c65747360381b60448201526064015b60405180910390fd5b3060009081526005602052604090205480156106c0576106c0816111d9565b4780156106d0576106d08161136e565b5050565b6000546001600160a01b031633148061070057506009546001600160a01b0316336001600160a01b0316145b61074c5760405162461bcd60e51b815260206004820152601860248201527f6f6e6c79206f776e6572206f72207461782077616c6c657400000000000000006044820152606401610698565b6001600160a01b03821661078c57604051339082156108fc029083906000818181858888f19350505050158015610787573d6000803e3d6000fd5b505050565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107879190611823565b6000546001600160a01b031633146108275760405162461bcd60e51b815260040161069890611845565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461089b5760405162461bcd60e51b815260040161069890611845565b600d805460ff60b81b19169055565b6000610595338484610bff565b6000546001600160a01b031633146108e15760405162461bcd60e51b815260040161069890611845565b600d54600160a01b900460ff161561093b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610698565b600d805462ff00ff60a01b19166201000160a01b17905543600b55565b6000546001600160a01b031633148061098457506009546001600160a01b0316336001600160a01b0316145b6109cc5760405162461bcd60e51b81526020600482015260196024820152786f6e6c79206f776e6572206f72207461782077616c6c65747360381b6044820152606401610698565b6001600160a01b03166000908152600860205260409020805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a1f5760405162461bcd60e51b815260040161069890611845565b600a548110610a835760405162461bcd60e51b815260206004820152602a60248201527f4e657720746178206d75737420626520736d616c6c6572207468616e207072656044820152693b34b7bab9903a30bc1760b11b6064820152608401610698565b600a55565b6000546001600160a01b03163314610ab25760405162461bcd60e51b815260040161069890611845565b6001600160a01b03166000908152600760205260409020805460ff19811660ff90911615179055565b6001600160a01b038316610b3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610698565b6001600160a01b038216610b9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610698565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c635760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610698565b6001600160a01b038216610cc55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610698565b60008111610d275760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610698565b600080546001600160a01b03858116911614801590610d5457506000546001600160a01b03848116911614155b1561101457600d54600160a01b900460ff16610db25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67206973206e6f7420656e61626c65640000006044820152606401610698565b6001600160a01b03841660009081526008602052604090205460ff168015610df357506001600160a01b03831660009081526007602052604090205460ff16155b8015610e085750600d54600160b81b900460ff165b15610ef757600354821115610e6f5760405162461bcd60e51b815260206004820152602760248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152661e105b5bdd5b9d60ca1b6064820152608401610698565b6004546001600160a01b038416600090815260056020526040902054610e9590846113a8565b1115610ef75760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526a185b1b195d105b5bdd5b9d60aa1b6064820152608401610698565b6001600160a01b03831660009081526008602052604090205460ff168015610f2857506001600160a01b0384163014155b15610f5157610f4a6064610f44610f3d61140e565b8590611478565b906114fa565b9050610f85565b6001600160a01b03841660009081526008602052604090205460ff1615610f8557610f826064610f44610f3d61140e565b90505b30600090815260056020526040902054600d54600160a81b900460ff16158015610fbc5750600d546001600160a01b038581169116145b8015610fd15750600d54600160b01b900460ff165b8015610fde575060015481115b1561101257611000610ffb84610ff68460025461153c565b61153c565b6111d9565b478015611010576110104761136e565b505b505b6001600160a01b03841660009081526007602052604090205460ff168061105357506001600160a01b03831660009081526007602052604090205460ff165b1561105c575060005b80156110d6573060009081526005602052604090205461107c90826113a8565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cd9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600560205260409020546110f99083611551565b6001600160a01b03851660009081526005602052604090205561113e61111f8383611551565b6001600160a01b038516600090815260056020526040902054906113a8565b6001600160a01b0380851660008181526005602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111888585611551565b60405190815260200160405180910390a350505050565b600081848411156111c35760405162461bcd60e51b815260040161069891906115c1565b5060006111d0848661187a565b95945050505050565b600d805460ff60a81b1916600160a81b1790819055600160a01b900460ff161580611202575080155b61135e57604080516002808252606082018352600092602083019080368337019050509050308160008151811061123b5761123b61188d565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b891906118a3565b816001815181106112cb576112cb61188d565b6001600160a01b039283166020918202929092010152600c546112f19130911684610adb565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061132a9085906000908690309042906004016118c0565b600060405180830381600087803b15801561134457600080fd5b505af1158015611358573d6000803e3d6000fd5b50505050505b50600d805460ff60a81b19169055565b6009546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106d0573d6000803e3d6000fd5b6000806113b58385611931565b9050838110156114075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610698565b9392505050565b6000600a546000146114215750600a5490565b6005600b5443611431919061187a565b1161143c5750601990565b600f600b544361144c919061187a565b116114575750600a90565b601e600b5443611467919061187a565b116114725750600590565b50600090565b60008260000361148a57506000610599565b6000611496838561180c565b9050826114a38583611944565b146114075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610698565b600061140783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611593565b600081831161154b5782611407565b50919050565b600061140783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119f565b600081836115b45760405162461bcd60e51b815260040161069891906115c1565b5060006111d08486611944565b600060208083528351808285015260005b818110156115ee578581018301518582016040015282016115d2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461162457600080fd5b50565b6000806040838503121561163a57600080fd5b82356116458161160f565b946020939093013593505050565b60008060006060848603121561166857600080fd5b83356116738161160f565b925060208401356116838161160f565b929592945050506040919091013590565b6000602082840312156116a657600080fd5b81356114078161160f565b600080604083850312156116c457600080fd5b82356116cf8161160f565b915060208301356116df8161160f565b809150509250929050565b6000602082840312156116fc57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561175457816000190482111561173a5761173a611703565b8085161561174757918102915b93841c939080029061171e565b509250929050565b60008261176b57506001610599565b8161177857506000610599565b816001811461178e5760028114611798576117b4565b6001915050610599565b60ff8411156117a9576117a9611703565b50506001821b610599565b5060208310610133831016604e8410600b84101617156117d7575081810a610599565b6117e18383611719565b80600019048211156117f5576117f5611703565b029392505050565b600061140760ff84168361175c565b808202811582820484141761059957610599611703565b60006020828403121561183557600080fd5b8151801515811461140757600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561059957610599611703565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118b557600080fd5b81516114078161160f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119105784516001600160a01b0316835293830193918301916001016118eb565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561059957610599611703565b60008261196157634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eea5ad2f4e1d9c2bb75eb24b64fc577fd670afb71747b2e9c39f6bc203b206f364736f6c63430008130033
Deployed Bytecode Sourcemap
3736:11230:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5687:83;;;;;;;;;;-1:-1:-1;5757:5:0;;;;;;;;;;;;-1:-1:-1;;;5757:5:0;;;;5687:83;;;;;;;:::i;:::-;;;;;;;;6807:161;;;;;;;;;;-1:-1:-1;6807:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6807:161:0;1023:187:1;4652:31:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4652:31:0;1215:177:1;4150:50:0;;;;;;;;;;;;;;;;5964:95;;;;;;;;;;;;;:::i;7413:313::-;;;;;;;;;;-1:-1:-1;7413:313:0;;;;;:::i;:::-;;:::i;5873:83::-;;;;;;;;;;-1:-1:-1;5873:83:0;;3896:2;2000:36:1;;1988:2;1973:18;5873:83:0;1858:184:1;4741:28:0;;;;;;;;;;-1:-1:-1;4741:28:0;;;;-1:-1:-1;;;;;4741:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4741:28:0;2047:203:1;12466:425:0;;;;;;;;;;;;;:::i;:::-;;13991:341;;;;;;;;;;-1:-1:-1;13991:341:0;;;;;:::i;:::-;;:::i;4265:55::-;;;;;;;;;;;;;;;;4866:26;;;;;;;;;;-1:-1:-1;4866:26:0;;;;-1:-1:-1;;;4866:26:0;;;;;;4580:33;;;;;;;;;;-1:-1:-1;4580:33:0;;;;-1:-1:-1;;;;;4580:33:0;;;6067:119;;;;;;;;;;-1:-1:-1;6067:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6160:18:0;6133:7;6160:18;;;:9;:18;;;;;;;6067:119;2817:148;;;;;;;;;;;;;:::i;14884:79::-;;;;;;;;;;;;;:::i;4462:51::-;;;;;;;;;;-1:-1:-1;4462:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4207;;;;;;;;;;;;;;;;2603:79;;;;;;;;;;-1:-1:-1;2641:7:0;2668:6;-1:-1:-1;;;;;2668:6:0;2603:79;;5778:87;;;;;;;;;;-1:-1:-1;5850:7:0;;;;;;;;;;;;-1:-1:-1;;;5850:7:0;;;;5778:87;;6194:167;;;;;;;;;;-1:-1:-1;6194:167:0;;;;;:::i;:::-;;:::i;4089:54::-;;;;;;;;;;;;;;;;13028:213;;;;;;;;;;;;;:::i;14539:254::-;;;;;;;;;;-1:-1:-1;14539:254:0;;;;;:::i;:::-;;:::i;6369:143::-;;;;;;;;;;-1:-1:-1;6369:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6477:18:0;;;6450:7;6477:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6369:143;4622:23;;;;;;;;;;;;;;;;13459:156;;;;;;;;;;-1:-1:-1;13459:156:0;;;;;:::i;:::-;;:::i;13710:146::-;;;;;;;;;;-1:-1:-1;13710:146:0;;;;;:::i;:::-;;:::i;6807:161::-;6882:4;6899:39;438:10;6922:7;6931:6;6899:8;:39::i;:::-;-1:-1:-1;6956:4:0;6807:161;;;;;:::o;5964:95::-;6017:7;3950:13;3896:2;3950;:13;:::i;:::-;3940:23;;:7;:23;:::i;:::-;6037:14;;5964:95;:::o;7413:313::-;7511:4;7528:36;7538:6;7546:9;7557:6;7528:9;:36::i;:::-;7575:121;7584:6;438:10;7606:89;7644:6;7606:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7606:19:0;;;;;;:11;:19;;;;;;;;438:10;7606:33;;;;;;;;;;:37;:89::i;:::-;7575:8;:121::i;:::-;-1:-1:-1;7714:4:0;7413:313;;;;;:::o;12466:425::-;2641:7;2668:6;-1:-1:-1;;;;;2668:6:0;438:10;12516:23;;:53;;-1:-1:-1;12559:10:0;;-1:-1:-1;;;;;12559:10:0;438;-1:-1:-1;;;;;12543:26:0;;12516:53;12508:92;;;;-1:-1:-1;;;12508:92:0;;5199:2:1;12508:92:0;;;5181:21:1;5238:2;5218:18;;;5211:30;-1:-1:-1;;;5257:18:1;;;5250:55;5322:18;;12508:92:0;;;;;;;;;12654:4;12613:20;6160:18;;;:9;:18;;;;;;12675:16;;12671:78;;12707:30;12724:12;12707:16;:30::i;:::-;12782:21;12818:14;;12814:70;;12848:24;12861:10;12848:12;:24::i;:::-;12497:394;;12466:425::o;13991:341::-;2641:7;2668:6;-1:-1:-1;;;;;2668:6:0;438:10;14067:23;;:53;;-1:-1:-1;14110:10:0;;-1:-1:-1;;;;;14110:10:0;438;-1:-1:-1;;;;;14094:26:0;;14067:53;14059:91;;;;-1:-1:-1;;;14059:91:0;;5553:2:1;14059:91:0;;;5535:21:1;5592:2;5572:18;;;5565:30;5631:26;5611:18;;;5604:54;5675:18;;14059:91:0;5351:348:1;14059:91:0;-1:-1:-1;;;;;14167:19:0;;14163:162;;14202:36;;14210:10;;14202:36;;;;;14231:6;;14202:36;;;;14231:6;14210:10;14202:36;;;;;;;;;;;;;;;;;;;;;12497:394;;12466:425::o;14163:162::-;14271:42;;-1:-1:-1;;;14271:42:0;;14294:10;14271:42;;;5878:51:1;5945:18;;;5938:34;;;-1:-1:-1;;;;;14271:22:0;;;;;5851:18:1;;14271:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2817:148::-;2730:6;;-1:-1:-1;;;;;2730:6:0;438:10;2730:22;2722:67;;;;-1:-1:-1;;;2722:67:0;;;;;;;:::i;:::-;2924:1:::1;2908:6:::0;;2887:40:::1;::::0;-1:-1:-1;;;;;2908:6:0;;::::1;::::0;2887:40:::1;::::0;2924:1;;2887:40:::1;2955:1;2938:19:::0;;-1:-1:-1;;;;;;2938:19:0::1;::::0;;2817:148::o;14884:79::-;2730:6;;-1:-1:-1;;;;;2730:6:0;438:10;2730:22;2722:67;;;;-1:-1:-1;;;2722:67:0;;;;;;;:::i;:::-;14940:7:::1;:15:::0;;-1:-1:-1;;;;14940:15:0::1;::::0;;14884:79::o;6194:167::-;6272:4;6289:42;438:10;6313:9;6324:6;6289:9;:42::i;13028:213::-;2730:6;;-1:-1:-1;;;;;2730:6:0;438:10;2730:22;2722:67;;;;-1:-1:-1;;;2722:67:0;;;;;;;:::i;:::-;13092:11:::1;::::0;-1:-1:-1;;;13092:11:0;::::1;;;13091:12;13083:48;;;::::0;-1:-1:-1;;;13083:48:0;;6828:2:1;13083:48:0::1;::::0;::::1;6810:21:1::0;6867:2;6847:18;;;6840:30;6906:25;6886:18;;;6879:53;6949:18;;13083:48:0::1;6626:347:1::0;13083:48:0::1;13144:11;:18:::0;;-1:-1:-1;;;;13173:18:0;-1:-1:-1;;;13173:18:0;;;13221:12:::1;13202:16;:31:::0;13028:213::o;14539:254::-;2641:7;2668:6;-1:-1:-1;;;;;2668:6:0;438:10;14620:23;;:53;;-1:-1:-1;14663:10:0;;-1:-1:-1;;;;;14663:10:0;438;-1:-1:-1;;;;;14647:26:0;;14620:53;14612:92;;;;-1:-1:-1;;;14612:92:0;;5199:2:1;14612:92:0;;;5181:21:1;5238:2;5218:18;;;5211:30;-1:-1:-1;;;5257:18:1;;;5250:55;5322:18;;14612:92:0;4997:349:1;14612:92:0;-1:-1:-1;;;;;14753:32:0;;;;;:15;:32;;;;;;;-1:-1:-1;;14717:68:0;;14753:32;;;;14752:33;14717:68;;;14539:254::o;13459:156::-;2730:6;;-1:-1:-1;;;;;2730:6:0;438:10;2730:22;2722:67;;;;-1:-1:-1;;;2722:67:0;;;;;;;:::i;:::-;13535:4:::1;;13529:3;:10;13521:65;;;::::0;-1:-1:-1;;;13521:65:0;;7180:2:1;13521:65:0::1;::::0;::::1;7162:21:1::0;7219:2;7199:18;;;7192:30;7258:34;7238:18;;;7231:62;-1:-1:-1;;;7309:18:1;;;7302:40;7359:19;;13521:65:0::1;6978:406:1::0;13521:65:0::1;13597:4;:10:::0;13459:156::o;13710:146::-;2730:6;;-1:-1:-1;;;;;2730:6:0;438:10;2730:22;2722:67;;;;-1:-1:-1;;;2722:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13821:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;;;-1:-1:-1;;13790:58:0;::::1;13821:27;::::0;;::::1;13820:28;13790:58;::::0;;13710:146::o;7971:335::-;-1:-1:-1;;;;;8064:19:0;;8056:68;;;;-1:-1:-1;;;8056:68:0;;7591:2:1;8056:68:0;;;7573:21:1;7630:2;7610:18;;;7603:30;7669:34;7649:18;;;7642:62;-1:-1:-1;;;7720:18:1;;;7713:34;7764:19;;8056:68:0;7389:400:1;8056:68:0;-1:-1:-1;;;;;8143:21:0;;8135:68;;;;-1:-1:-1;;;8135:68:0;;7996:2:1;8135:68:0;;;7978:21:1;8035:2;8015:18;;;8008:30;8074:34;8054:18;;;8047:62;-1:-1:-1;;;8125:18:1;;;8118:32;8167:19;;8135:68:0;7794:398:1;8135:68:0;-1:-1:-1;;;;;8214:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8266:32;;1361:25:1;;;8266:32:0;;1334:18:1;8266:32:0;;;;;;;7971:335;;;:::o;8557:1993::-;-1:-1:-1;;;;;8645:18:0;;8637:68;;;;-1:-1:-1;;;8637:68:0;;8399:2:1;8637:68:0;;;8381:21:1;8438:2;8418:18;;;8411:30;8477:34;8457:18;;;8450:62;-1:-1:-1;;;8528:18:1;;;8521:35;8573:19;;8637:68:0;8197:401:1;8637:68:0;-1:-1:-1;;;;;8724:16:0;;8716:64;;;;-1:-1:-1;;;8716:64:0;;8805:2:1;8716:64:0;;;8787:21:1;8844:2;8824:18;;;8817:30;8883:34;8863:18;;;8856:62;-1:-1:-1;;;8934:18:1;;;8927:33;8977:19;;8716:64:0;8603:399:1;8716:64:0;8808:1;8799:6;:10;8791:64;;;;-1:-1:-1;;;8791:64:0;;9209:2:1;8791:64:0;;;9191:21:1;9248:2;9228:18;;;9221:30;9287:34;9267:18;;;9260:62;-1:-1:-1;;;9338:18:1;;;9331:39;9387:19;;8791:64:0;9007:405:1;8791:64:0;8868:17;2668:6;;-1:-1:-1;;;;;8904:15:0;;;2668:6;;8904:15;;;;:32;;-1:-1:-1;2641:7:0;2668:6;-1:-1:-1;;;;;8923:13:0;;;2668:6;;8923:13;;8904:32;8900:1171;;;8961:11;;-1:-1:-1;;;8961:11:0;;;;8953:53;;;;-1:-1:-1;;;8953:53:0;;9619:2:1;8953:53:0;;;9601:21:1;9658:2;9638:18;;;9631:30;9697:31;9677:18;;;9670:59;9746:18;;8953:53:0;9417:353:1;8953:53:0;-1:-1:-1;;;;;9027:21:0;;;;;;:15;:21;;;;;;;;:48;;;;-1:-1:-1;;;;;;9053:22:0;;;;;;:18;:22;;;;;;;;9052:23;9027:48;:59;;;;-1:-1:-1;9079:7:0;;-1:-1:-1;;;9079:7:0;;;;9027:59;9023:293;;;9124:12;;9114:6;:22;;9106:74;;;;-1:-1:-1;;;9106:74:0;;9977:2:1;9106:74:0;;;9959:21:1;10016:2;9996:18;;;9989:30;10055:34;10035:18;;;10028:62;-1:-1:-1;;;10106:18:1;;;10099:37;10153:19;;9106:74:0;9775:403:1;9106:74:0;9236:16;;-1:-1:-1;;;;;9207:13:0;;;;;;:9;:13;;;;;;:25;;9225:6;9207:17;:25::i;:::-;:45;;9199:101;;;;-1:-1:-1;;;9199:101:0;;10385:2:1;9199:101:0;;;10367:21:1;10424:2;10404:18;;;10397:30;10463:34;10443:18;;;10436:62;-1:-1:-1;;;10514:18:1;;;10507:41;10565:19;;9199:101:0;10183:407:1;9199:101:0;-1:-1:-1;;;;;9351:19:0;;;;;;:15;:19;;;;;;;;:44;;;;-1:-1:-1;;;;;;9374:21:0;;9390:4;9374:21;;9351:44;9347:235;;;9427:30;9453:3;9427:21;9438:9;:7;:9::i;:::-;9427:6;;:10;:21::i;:::-;:25;;:30::i;:::-;9415:42;;9347:235;;;-1:-1:-1;;;;;9483:21:0;;;;;;:15;:21;;;;;;;;9479:103;;;9536:30;9562:3;9536:21;9547:9;:7;:9::i;9536:30::-;9524:42;;9479:103;9647:4;9598:28;6160:18;;;:9;:18;;;;;;9673:6;;-1:-1:-1;;;9673:6:0;;;;9672:7;:30;;;;-1:-1:-1;9689:13:0;;-1:-1:-1;;;;;9683:19:0;;;9689:13;;9683:19;9672:30;:45;;;;-1:-1:-1;9706:11:0;;-1:-1:-1;;;9706:11:0;;;;9672:45;:89;;;;;9744:17;;9721:20;:40;9672:89;9668:392;;;9782:69;9799:51;9803:6;9811:38;9815:20;9837:11;;9811:3;:38::i;:::-;9799:3;:51::i;:::-;9782:16;:69::i;:::-;9899:21;9943:22;;9939:106;;9990:35;10003:21;9990:12;:35::i;:::-;9763:297;9668:392;8938:1133;8900:1171;-1:-1:-1;;;;;10087:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10115:22:0;;;;;;:18;:22;;;;;;;;10087:50;10083:95;;;-1:-1:-1;10165:1:0;10083:95;10194:13;;10190:171;;10268:4;10250:24;;;;:9;:24;;;;;;:39;;10279:9;10250:28;:39::i;:::-;10241:4;10223:24;;;;:9;:24;;;;;;;:66;;;;10309:40;;-1:-1:-1;;;;;10309:40:0;;;;;;;10339:9;1361:25:1;;1349:2;1334:18;;1215:177;10309:40:0;;;;;;;;10190:171;-1:-1:-1;;;;;10391:15:0;;;;;;:9;:15;;;;;;:27;;10411:6;10391:19;:27::i;:::-;-1:-1:-1;;;;;10373:15:0;;;;;;:9;:15;;;;;:45;10445:40;10463:21;:6;10474:9;10463:10;:21::i;:::-;-1:-1:-1;;;;;10445:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10429:13:0;;;;;;;:9;:13;;;;;:56;;;;10501:41;;;10520:21;:6;10531:9;10520:10;:21::i;:::-;10501:41;;1361:25:1;;;1349:2;1334:18;10501:41:0;;;;;;;8626:1924;8557:1993;;;:::o;1495:190::-;1581:7;1617:12;1609:6;;;;1601:29;;;;-1:-1:-1;;;1601:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1641:9:0;1653:5;1657:1;1653;:5;:::i;:::-;1641:17;1495:190;-1:-1:-1;;;;;1495:190:0:o;11555:542::-;4937:6;:13;;-1:-1:-1;;;;4937:13:0;-1:-1:-1;;;4937:13:0;;;;;-1:-1:-1;;;11638:11:0;::::1;4937:13:::0;11638:11:::1;11637:12;::::0;:32:::1;;-1:-1:-1::0;11653:16:0;;11637:32:::1;11671:7;11633:45;11714:16;::::0;;11728:1:::1;11714:16:::0;;;;;::::1;::::0;;11690:21:::1;::::0;11714:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11714:16:0::1;11690:40;;11759:4;11741;11746:1;11741:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11741:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11785:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11785:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11741:7;;11785:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11775:4;11780:1;11775:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11775:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11852:15:::1;::::0;11820:62:::1;::::0;11837:4:::1;::::0;11852:15:::1;11870:11:::0;11820:8:::1;:62::i;:::-;11893:15;::::0;:196:::1;::::0;-1:-1:-1;;;11893:196:0;;-1:-1:-1;;;;;11893:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11974:11;;11893:15:::1;::::0;12016:4;;12043::::1;::::0;12063:15:::1;::::0;11893:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11622:475;4961:1;-1:-1:-1::0;4973:6:0;:14;;-1:-1:-1;;;;4973:14:0;;;11555:542::o;12204:92::-;12261:10;;:27;;-1:-1:-1;;;;;12261:10:0;;;;:27;;;;;12281:6;;12261:10;:27;:10;:27;12281:6;12261:10;:27;;;;;;;;;;;;;;;;;;;1164:179;1222:7;;1254:5;1258:1;1254;:5;:::i;:::-;1242:17;;1283:1;1278;:6;;1270:46;;;;-1:-1:-1;;;1270:46:0;;12565:2:1;1270:46:0;;;12547:21:1;12604:2;12584:18;;;12577:30;12643:29;12623:18;;;12616:57;12690:18;;1270:46:0;12363:351:1;1270:46:0;1334:1;1164:179;-1:-1:-1;;;1164:179:0:o;10728:396::-;10770:7;10794:4;;10802:1;10794:9;10790:26;;-1:-1:-1;10812:4:0;;;10728:396::o;10790:26::-;10868:1;10848:16;;10833:12;:31;;;;:::i;:::-;:36;10829:288;;-1:-1:-1;10893:2:0;;10728:396::o;10829:288::-;10952:2;10932:16;;10917:12;:31;;;;:::i;:::-;:37;10913:204;;-1:-1:-1;10978:2:0;;10728:396::o;10913:204::-;11037:2;11017:16;;11002:12;:31;;;;:::i;:::-;:37;10998:119;;-1:-1:-1;11063:1:0;;10728:396::o;10998:119::-;-1:-1:-1;11104:1:0;;10728:396::o;1693:246::-;1751:7;1775:1;1780;1775:6;1771:47;;-1:-1:-1;1805:1:0;1798:8;;1771:47;1828:9;1840:5;1844:1;1840;:5;:::i;:::-;1828:17;-1:-1:-1;1873:1:0;1864:5;1868:1;1828:17;1864:5;:::i;:::-;:10;1856:56;;;;-1:-1:-1;;;1856:56:0;;13143:2:1;1856:56:0;;;13125:21:1;13182:2;13162:18;;;13155:30;13221:34;13201:18;;;13194:62;-1:-1:-1;;;13272:18:1;;;13265:31;13313:19;;1856:56:0;12941:397:1;1947:132:0;2005:7;2032:39;2036:1;2039;2032:39;;;;;;;;;;;;;;;;;:3;:39::i;11313:106::-;11370:7;11401:1;11397;:5;11396:15;;11410:1;11396:15;;;-1:-1:-1;11406:1:0;11313:106;-1:-1:-1;11313:106:0:o;1351:136::-;1409:7;1436:43;1440:1;1443;1436:43;;;;;;;;;;;;;;;;;:3;:43::i;2087:189::-;2173:7;2208:12;2201:5;2193:28;;;;-1:-1:-1;;;2193:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2232:9:0;2244:5;2248:1;2244;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2479:247::-;2538:6;2591:2;2579:9;2570:7;2566:23;2562:32;2559:52;;;2607:1;2604;2597:12;2559:52;2646:9;2633:23;2665:31;2690:5;2665:31;:::i;2731:388::-;2799:6;2807;2860:2;2848:9;2839:7;2835:23;2831:32;2828:52;;;2876:1;2873;2866:12;2828:52;2915:9;2902:23;2934:31;2959:5;2934:31;:::i;:::-;2984:5;-1:-1:-1;3041:2:1;3026:18;;3013:32;3054:33;3013:32;3054:33;:::i;:::-;3106:7;3096:17;;;2731:388;;;;;:::o;3124:180::-;3183:6;3236:2;3224:9;3215:7;3211:23;3207:32;3204:52;;;3252:1;3249;3242:12;3204:52;-1:-1:-1;3275:23:1;;3124:180;-1:-1:-1;3124:180:1:o;3309:127::-;3370:10;3365:3;3361:20;3358:1;3351:31;3401:4;3398:1;3391:15;3425:4;3422:1;3415:15;3441:422;3530:1;3573:5;3530:1;3587:270;3608:7;3598:8;3595:21;3587:270;;;3667:4;3663:1;3659:6;3655:17;3649:4;3646:27;3643:53;;;3676:18;;:::i;:::-;3726:7;3716:8;3712:22;3709:55;;;3746:16;;;;3709:55;3825:22;;;;3785:15;;;;3587:270;;;3591:3;3441:422;;;;;:::o;3868:806::-;3917:5;3947:8;3937:80;;-1:-1:-1;3988:1:1;4002:5;;3937:80;4036:4;4026:76;;-1:-1:-1;4073:1:1;4087:5;;4026:76;4118:4;4136:1;4131:59;;;;4204:1;4199:130;;;;4111:218;;4131:59;4161:1;4152:10;;4175:5;;;4199:130;4236:3;4226:8;4223:17;4220:43;;;4243:18;;:::i;:::-;-1:-1:-1;;4299:1:1;4285:16;;4314:5;;4111:218;;4413:2;4403:8;4400:16;4394:3;4388:4;4385:13;4381:36;4375:2;4365:8;4362:16;4357:2;4351:4;4348:12;4344:35;4341:77;4338:159;;;-1:-1:-1;4450:19:1;;;4482:5;;4338:159;4529:34;4554:8;4548:4;4529:34;:::i;:::-;4599:6;4595:1;4591:6;4587:19;4578:7;4575:32;4572:58;;;4610:18;;:::i;:::-;4648:20;;3868:806;-1:-1:-1;;;3868:806:1:o;4679:140::-;4737:5;4766:47;4807:4;4797:8;4793:19;4787:4;4766:47;:::i;4824:168::-;4897:9;;;4928;;4945:15;;;4939:22;;4925:37;4915:71;;4966:18;;:::i;5983:277::-;6050:6;6103:2;6091:9;6082:7;6078:23;6074:32;6071:52;;;6119:1;6116;6109:12;6071:52;6151:9;6145:16;6204:5;6197:13;6190:21;6183:5;6180:32;6170:60;;6226:1;6223;6216:12;6265:356;6467:2;6449:21;;;6486:18;;;6479:30;6545:34;6540:2;6525:18;;6518:62;6612:2;6597:18;;6265:356::o;10595:128::-;10662:9;;;10683:11;;;10680:37;;;10697:18;;:::i;10860:127::-;10921:10;10916:3;10912:20;10909:1;10902:31;10952:4;10949:1;10942:15;10976:4;10973:1;10966:15;10992:251;11062:6;11115:2;11103:9;11094:7;11090:23;11086:32;11083:52;;;11131:1;11128;11121:12;11083:52;11163:9;11157:16;11182:31;11207:5;11182:31;:::i;11248:980::-;11510:4;11558:3;11547:9;11543:19;11589:6;11578:9;11571:25;11615:2;11653:6;11648:2;11637:9;11633:18;11626:34;11696:3;11691:2;11680:9;11676:18;11669:31;11720:6;11755;11749:13;11786:6;11778;11771:22;11824:3;11813:9;11809:19;11802:26;;11863:2;11855:6;11851:15;11837:29;;11884:1;11894:195;11908:6;11905:1;11902:13;11894:195;;;11973:13;;-1:-1:-1;;;;;11969:39:1;11957:52;;12064:15;;;;12029:12;;;;12005:1;11923:9;11894:195;;;-1:-1:-1;;;;;;;12145:32:1;;;;12140:2;12125:18;;12118:60;-1:-1:-1;;;12209:3:1;12194:19;12187:35;12106:3;11248:980;-1:-1:-1;;;11248:980:1:o;12233:125::-;12298:9;;;12319:10;;;12316:36;;;12332:18;;:::i;12719:217::-;12759:1;12785;12775:132;;12829:10;12824:3;12820:20;12817:1;12810:31;12864:4;12861:1;12854:15;12892:4;12889:1;12882:15;12775:132;-1:-1:-1;12921:9:1;;12719:217::o
Swarm Source
ipfs://eea5ad2f4e1d9c2bb75eb24b64fc577fd670afb71747b2e9c39f6bc203b206f3
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.