ERC-20
Overview
Max Total Supply
100,000,000 TAV
Holders
15
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
LiquidityGeneratorToken
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-22 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.16; 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 ); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function WETC() external pure returns (address); function WHT() external pure returns (address); function WROSE() external pure returns (address); function WAVAX() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function addLiquidityAVAX( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function addLiquidityETC( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function addLiquidityROSE( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETCSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForAVAXSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForROSESupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } abstract contract BaseToken { event TokenCreated( address indexed owner, address indexed token, string tokenType, uint256 version ); } contract LiquidityGeneratorToken is IERC20, Ownable, BaseToken { using SafeMath for uint256; uint256 public constant VERSION = 4; mapping(address => uint256) private rOwned; mapping(address => uint256) private tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private isExcludedFromFee; mapping(address => bool) private isExcluded; address[] private excluded; uint256 private constant MAX = ~uint256(0); uint256 private immutable tTotal; uint256 private rTotal; uint256 private tFeeTotal; string private _name; string private _symbol; uint8 private immutable _decimals; uint256 public taxFee; uint256 private previousTaxFee; uint256 public liquidityFee; uint256 private previousLiquidityFee; uint256 public teamFee; uint256 private previousTeamFee; IUniswapV2Router02 public uniswapV2Router; address public immutable uniswapV2Pair; address public teamAddress; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled; uint256 private numTokensSellToAddToLiquidity; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event UpdatedTokenSellToLiquify(uint256 amount, uint256 previousAmount); event UpdatedTaxFeePercent(uint256 value, uint256 previousValue); event UpdatedLiquidityFeePercent(uint256 value, uint256 previousValue); event UpdatedTeamFeePercent(uint256 value, uint256 previousValue); event UpdatedTeamAddress(address value, address previousValue); event Reflect(address sender, uint256 amount); event SwapTokensForEthFailed(uint256 amount); event AddLiquidityFailed(uint256 ethAmount); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor( string memory name_, string memory symbol_, uint8 decimals_, uint256 totalSupply_, address router_, address teamAddress_, uint16 taxfeeTax_, uint16 liquidityFeeTax_, uint16 teamFeeTax_, address feeReceiver ) payable { require( teamAddress_ != address(0), "teamAddress_ should not be the zero address" ); _name = name_; _symbol = symbol_; _decimals = decimals_; tTotal = totalSupply_; rTotal = (MAX - (MAX % tTotal)); taxFee = taxfeeTax_; previousTaxFee = taxFee; liquidityFee = liquidityFeeTax_; previousLiquidityFee = liquidityFee; teamAddress = teamAddress_; teamFee = teamFeeTax_; previousTeamFee = teamFee; validateTaxes(); numTokensSellToAddToLiquidity = (totalSupply_) / 10000; // 0.01% swapAndLiquifyEnabled = true; rOwned[owner()] = rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router_); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), getNativeCurrency()); isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; emit Transfer(address(0), owner(), tTotal); emit TokenCreated( owner(), address(this), "liquidityGenerator", VERSION ); if (feeReceiver == address(0x0)) return; payable(feeReceiver).transfer(address(this).balance); } function getNativeCurrency() internal view returns (address) { if (block.chainid == 61) { //etc return uniswapV2Router.WETC(); } else if (block.chainid == 128) { //heco chain return uniswapV2Router.WHT(); } else if (block.chainid == 42262) { //oasis return uniswapV2Router.WROSE(); } else if (block.chainid == 43114 || block.chainid == 43113) { //avalance return uniswapV2Router.WAVAX(); } else { return uniswapV2Router.WETH(); } } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory) { return _symbol; } function decimals() external view returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return tTotal; } function balanceOf(address account) public view override returns (uint256) { if (isExcluded[account]) return tOwned[account]; return tokenFromReflection(rOwned[account]); } function transfer( address recipient, uint256 amount ) external override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address account, address spender ) external view override returns (uint256) { return _allowances[account][spender]; } function approve( address spender, uint256 amount ) external override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function increaseAllowance( address spender, uint256 addedValue ) external virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) external virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub( subtractedValue, "ERC20: decreased allowance below zero" ) ); return true; } function isExcludedFromReward( address account ) external view returns (bool) { return isExcluded[account]; } function totalFees() external view returns (uint256) { return tFeeTotal; } function deliver(uint256 tAmount) external { address sender = _msgSender(); require( !isExcluded[sender], "Excluded addresses cannot call this function" ); (uint256 rAmount, , , , , , ) = _getValues(tAmount); rOwned[sender] = rOwned[sender] - rAmount; rTotal = rTotal - rAmount; tFeeTotal = tFeeTotal + tAmount; } function reflectionFromToken( uint256 tAmount, bool deductTransferFee ) external view returns (uint256) { require(tAmount <= tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount, , , , , , ) = _getValues(tAmount); return rAmount; } else { (, uint256 rTransferAmount, , , , , ) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection( uint256 rAmount ) public view returns (uint256) { require( rAmount <= rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount / currentRate; } function excludeFromReward(address account) external onlyOwner { require(!isExcluded[account], "Account is already excluded"); if (rOwned[account] > 0) { tOwned[account] = tokenFromReflection(rOwned[account]); } isExcluded[account] = true; excluded.push(account); } function includeInReward(address account) external onlyOwner { require(isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < excluded.length; i++) { if (excluded[i] == account) { excluded[i] = excluded[excluded.length - 1]; tOwned[account] = 0; isExcluded[account] = false; excluded.pop(); break; } } } function _transferBothExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tTeam ) = _getValues(tAmount); tOwned[sender] = tOwned[sender] - tAmount; rOwned[sender] = rOwned[sender] - rAmount; tOwned[recipient] = tOwned[recipient] + tTransferAmount; rOwned[recipient] = rOwned[recipient] + rTransferAmount; _takeLiquidity(sender, tLiquidity); _takeTeamFee(sender, tTeam); _reflectFee(sender, rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function excludeFromFee(address account) external onlyOwner { isExcludedFromFee[account] = true; } function includeInFee(address account) external onlyOwner { isExcludedFromFee[account] = false; } function setTaxFeePercent(uint256 taxFeeBps) external onlyOwner { emit UpdatedTaxFeePercent(taxFeeBps, taxFee); taxFee = taxFeeBps; validateTaxes(); } function setLiquidityFeePercent( uint256 liquidityFeeBps ) external onlyOwner { emit UpdatedLiquidityFeePercent(liquidityFeeBps, liquidityFee); liquidityFee = liquidityFeeBps; validateTaxes(); } function setTeamFeePercent(uint256 teamFeeBps) external onlyOwner { emit UpdatedTeamFeePercent(teamFeeBps, teamFee); teamFee = teamFeeBps; validateTaxes(); } function setTeamAddress(address wallet) external onlyOwner { require(wallet != address(0x0)); emit UpdatedTeamAddress(wallet, teamAddress); teamAddress = wallet; } function validateTaxes() internal view { require( taxFee + liquidityFee + teamFee <= 10 ** 4 / 5, "Total fee is over 20%" ); } function setSwapAndLiquifyEnabled(bool enabled) external onlyOwner { swapAndLiquifyEnabled = enabled; emit SwapAndLiquifyEnabledUpdated(enabled); } function setTokenSellToLiquify(uint256 amount) external onlyOwner { require( amount > tTotal / 10 ** 5 && amount <= tTotal / 10 ** 3, "Amount must be between 0.001% - 0.1% of total supply" ); emit UpdatedTokenSellToLiquify(amount, numTokensSellToAddToLiquidity); numTokensSellToAddToLiquidity = amount; } receive() external payable {} function _getValues( uint256 tAmount ) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) { ( uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tTeam ) = _getTValues(tAmount); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues( tAmount, tFee, tLiquidity, tTeam, _getRate() ); return ( rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity, tTeam ); } function _getTValues( uint256 tAmount ) private view returns (uint256, uint256, uint256, uint256) { uint256 tFee = calculateTaxFee(tAmount); uint256 tLiquidity = calculateLiquidityFee(tAmount); uint256 tTeamFee = calculateTeamFee(tAmount); uint256 tTransferAmount = tAmount - tFee - tLiquidity - tTeamFee; return (tTransferAmount, tFee, tLiquidity, tTeamFee); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 tTeam, uint256 currentRate ) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount * currentRate; uint256 rFee = tFee * currentRate; uint256 rLiquidity = tLiquidity * currentRate; uint256 rTeam = tTeam * currentRate; uint256 rTransferAmount = rAmount - rFee - rLiquidity - rTeam; return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply / tSupply; } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = rTotal; uint256 tSupply = tTotal; for (uint256 i = 0; i < excluded.length; i++) { if (rOwned[excluded[i]] > rSupply || tOwned[excluded[i]] > tSupply) return (rTotal, tTotal); rSupply = rSupply - rOwned[excluded[i]]; tSupply = tSupply - tOwned[excluded[i]]; } if (rSupply < rTotal / tTotal) return (rTotal, tTotal); return (rSupply, tSupply); } function _takeLiquidity(address sender, uint256 tLiquidity) private { if (tLiquidity == 0) return; uint256 currentRate = _getRate(); uint256 rLiquidity = tLiquidity * currentRate; rOwned[address(this)] = rOwned[address(this)] + rLiquidity; if (isExcluded[address(this)]) tOwned[address(this)] = tOwned[address(this)] + tLiquidity; emit Transfer(sender, address(this), tLiquidity); } function _takeTeamFee(address sender, uint256 tTeam) private { if (tTeam == 0) return; uint256 currentRate = _getRate(); uint256 rTeam = tTeam * currentRate; rOwned[teamAddress] = rOwned[teamAddress] + rTeam; if (isExcluded[teamAddress]) tOwned[teamAddress] = tOwned[teamAddress] + tTeam; emit Transfer(sender, teamAddress, tTeam); } function _reflectFee(address sender, uint256 rFee, uint256 tFee) private { if (tFee == 0) return; rTotal = rTotal - rFee; tFeeTotal = tFeeTotal + tFee; emit Reflect(sender, tFee); } function calculateTaxFee(uint256 amount) private view returns (uint256) { return (amount * taxFee) / (10 ** 4); } function calculateLiquidityFee( uint256 amount ) private view returns (uint256) { return (amount * liquidityFee) / (10 ** 4); } function calculateTeamFee(uint256 amount) private view returns (uint256) { return (amount * teamFee) / (10 ** 4); } function removeAllFee() private { previousTaxFee = taxFee; previousLiquidityFee = liquidityFee; previousTeamFee = teamFee; taxFee = 0; liquidityFee = 0; teamFee = 0; } function restoreAllFee() private { taxFee = previousTaxFee; liquidityFee = previousLiquidityFee; teamFee = previousTeamFee; } function getIsExcludedFromFee(address account) public view returns (bool) { return isExcludedFromFee[account]; } function _approve( address account, address spender, uint256 amount ) private { require(account != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[account][spender] = amount; emit Approval(account, 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"); uint256 contractTokenBalance = balanceOf(address(this)); bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity; if ( overMinTokenBalance && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ) { contractTokenBalance = numTokensSellToAddToLiquidity; swapAndLiquify(contractTokenBalance); } bool takeFee = !isExcludedFromFee[from] && !isExcludedFromFee[to]; _tokenTransfer(from, to, amount, takeFee); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { uint256 half = contractTokenBalance / 2; uint256 otherHalf = contractTokenBalance - half; uint256 initialBalance = address(this).balance; swapTokensForEth(half); uint256 newBalance = address(this).balance - initialBalance; if (newBalance == 0) return; addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half, newBalance, otherHalf); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = getNativeCurrency(); _approve(address(this), address(uniswapV2Router), tokenAmount); if (block.chainid == 61) { //etc try uniswapV2Router .swapExactTokensForETCSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ) {} catch { emit SwapTokensForEthFailed(tokenAmount); } } else if (block.chainid == 42262) { //oasis try uniswapV2Router .swapExactTokensForROSESupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ) {} catch { emit SwapTokensForEthFailed(tokenAmount); } } else if (block.chainid == 43114 || block.chainid == 43113) { //avalance try uniswapV2Router .swapExactTokensForAVAXSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ) {} catch { emit SwapTokensForEthFailed(tokenAmount); } } else { try uniswapV2Router .swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ) {} catch { emit SwapTokensForEthFailed(tokenAmount); } } } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); if (block.chainid == 61) { //etc try uniswapV2Router.addLiquidityETC{value: ethAmount}( address(this), tokenAmount, 0, 0, address(0xdead), block.timestamp ) {} catch { emit AddLiquidityFailed(ethAmount); } } else if (block.chainid == 42262) { //oasis try uniswapV2Router.addLiquidityROSE{value: ethAmount}( address(this), tokenAmount, 0, 0, address(0xdead), block.timestamp ) {} catch { emit AddLiquidityFailed(ethAmount); } } else if (block.chainid == 43114 || block.chainid == 43113) { //avalance try uniswapV2Router.addLiquidityAVAX{value: ethAmount}( address(this), tokenAmount, 0, 0, address(0xdead), block.timestamp ) {} catch { emit AddLiquidityFailed(ethAmount); } } else { try uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, address(0xdead), block.timestamp ) {} catch { emit AddLiquidityFailed(ethAmount); } } } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); if (isExcluded[sender] && !isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!isExcluded[sender] && isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!isExcluded[sender] && !isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (isExcluded[sender] && isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tTeam ) = _getValues(tAmount); rOwned[sender] = rOwned[sender] - rAmount; rOwned[recipient] = rOwned[recipient] + rTransferAmount; _takeLiquidity(sender, tLiquidity); _takeTeamFee(sender, tTeam); _reflectFee(sender, rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tTeam ) = _getValues(tAmount); rOwned[sender] = rOwned[sender] - rAmount; tOwned[recipient] = tOwned[recipient] + tTransferAmount; rOwned[recipient] = rOwned[recipient] + rTransferAmount; _takeLiquidity(sender, tLiquidity); _takeTeamFee(sender, tTeam); _reflectFee(sender, rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tTeam ) = _getValues(tAmount); tOwned[sender] = tOwned[sender] - tAmount; rOwned[sender] = rOwned[sender] - rAmount; rOwned[recipient] = rOwned[recipient] + rTransferAmount; _takeLiquidity(sender, tLiquidity); _takeTeamFee(sender, tTeam); _reflectFee(sender, rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"address","name":"router_","type":"address"},{"internalType":"address","name":"teamAddress_","type":"address"},{"internalType":"uint16","name":"taxfeeTax_","type":"uint16"},{"internalType":"uint16","name":"liquidityFeeTax_","type":"uint16"},{"internalType":"uint16","name":"teamFeeTax_","type":"uint16"},{"internalType":"address","name":"feeReceiver","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"AddLiquidityFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Reflect","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapTokensForEthFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"string","name":"tokenType","type":"string"},{"indexed":false,"internalType":"uint256","name":"version","type":"uint256"}],"name":"TokenCreated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"previousValue","type":"uint256"}],"name":"UpdatedLiquidityFeePercent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"previousValue","type":"uint256"}],"name":"UpdatedTaxFeePercent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"value","type":"address"},{"indexed":false,"internalType":"address","name":"previousValue","type":"address"}],"name":"UpdatedTeamAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"previousValue","type":"uint256"}],"name":"UpdatedTeamFeePercent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"previousAmount","type":"uint256"}],"name":"UpdatedTokenSellToLiquify","type":"event"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getIsExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFeeBps","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeBps","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"setTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFeeBps","type":"uint256"}],"name":"setTeamFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTokenSellToLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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
60e06040526040516200389238038062003892833981016040819052620000269162000811565b62000031336200043f565b6001600160a01b038516620000a15760405162461bcd60e51b815260206004820152602b60248201527f7465616d416464726573735f2073686f756c64206e6f7420626520746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b6009620000af8b8262000998565b50600a620000be8a8262000998565b5060ff881660a0526080879052620000d98760001962000a7a565b620000e79060001962000aa7565b60075561ffff848116600b819055600c55838116600d819055600e55601280546001600160a01b0319166001600160a01b0388161790558216600f819055601055620001326200048f565b620001406127108862000ac3565b6013556012805460ff60a81b1916600160a81b17905560075460016000620001706000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160002093909355601180546001600160a01b031916938a169384179055805163c45a015560e01b8152905189939263c45a015592600480820193918290030181865afa158015620001e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000206919062000ada565b6001600160a01b031663c9c65396306200021f62000505565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000293919062000ada565b6001600160a01b031660c052600160046000620002b86000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260049092529020805490911660011790556200030b6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6080516040516200035391815260200190565b60405180910390a3306200036f6000546001600160a01b031690565b6001600160a01b03167f989c950f789dd53617d32eabbd91a779b5ac03cd8caeb147f73c8c11739d0fb16004604051620003d891906040808252601290820152713634b8bab4b234ba3ca3b2b732b930ba37b960711b6060820152602081019190915260800190565b60405180910390a36001600160a01b038216620003f657506200042f565b6040516001600160a01b038316904780156108fc02916000818181858888f193505050501580156200042c573d6000803e3d6000fd5b50505b5050505050505050505062000b15565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6107d0600f54600d54600b54620004a7919062000aff565b620004b3919062000aff565b1115620005035760405162461bcd60e51b815260206004820152601560248201527f546f74616c20666565206973206f766572203230250000000000000000000000604482015260640162000098565b565b600046603d036200058f57601160009054906101000a90046001600160a01b03166001600160a01b031663977ebc0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000564573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200058a919062000ada565b905090565b46608003620005ec57601160009054906101000a90046001600160a01b03166001600160a01b0316635cb485926040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000564573d6000803e3d6000fd5b4661a516036200064a57601160009054906101000a90046001600160a01b03166001600160a01b03166331b2cc456040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000564573d6000803e3d6000fd5b4661a86a14806200065c57504661a869145b15620006b657601160009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000564573d6000803e3d6000fd5b601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000564573d6000803e3d6000fd5b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200073257600080fd5b81516001600160401b03808211156200074f576200074f6200070a565b604051601f8301601f19908116603f011681019082821181831017156200077a576200077a6200070a565b816040528381526020925086838588010111156200079757600080fd5b600091505b83821015620007bb57858201830151818301840152908201906200079c565b600093810190920192909252949350505050565b805160ff81168114620007e157600080fd5b919050565b80516001600160a01b0381168114620007e157600080fd5b805161ffff81168114620007e157600080fd5b6000806000806000806000806000806101408b8d0312156200083257600080fd5b8a516001600160401b03808211156200084a57600080fd5b620008588e838f0162000720565b9b5060208d01519150808211156200086f57600080fd5b506200087e8d828e0162000720565b9950506200088f60408c01620007cf565b975060608b01519650620008a660808c01620007e6565b9550620008b660a08c01620007e6565b9450620008c660c08c01620007fe565b9350620008d660e08c01620007fe565b9250620008e76101008c01620007fe565b9150620008f86101208c01620007e6565b90509295989b9194979a5092959850565b600181811c908216806200091e57607f821691505b6020821081036200093f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200099357600081815260208120601f850160051c810160208610156200096e5750805b601f850160051c820191505b818110156200098f578281556001016200097a565b5050505b505050565b81516001600160401b03811115620009b457620009b46200070a565b620009cc81620009c5845462000909565b8462000945565b602080601f83116001811462000a045760008415620009eb5750858301515b600019600386901b1c1916600185901b1785556200098f565b600085815260208120601f198616915b8281101562000a355788860151825594840194600190910190840162000a14565b508582101562000a545787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b60008262000a8c5762000a8c62000a64565b500690565b634e487b7160e01b600052601160045260246000fd5b8181038181111562000abd5762000abd62000a91565b92915050565b60008262000ad55762000ad562000a64565b500490565b60006020828403121562000aed57600080fd5b62000af882620007e6565b9392505050565b8082018082111562000abd5762000abd62000a91565b60805160a05160c051612d1562000b7d6000396000818161048c01526116da015260006103b001526000818161031801528181610cc90152818161112a0152818161115f01528181611aec01528181611ba701528181611c720152611cad0152612d156000f3fe6080604052600436106102295760003560e01c80636690864e11610123578063a071dcf4116100ab578063d7c94efd1161006f578063d7c94efd146106d5578063dd62ed3e146106eb578063ea2f0b3714610731578063f2fde38b14610751578063ffa1ad741461077157600080fd5b8063a071dcf41461063f578063a251082314610655578063a457c2d714610675578063a9059cbb14610695578063c49b9a80146106b557600080fd5b80638da5cb5b116100f25780638da5cb5b146105b65780638ee88c53146105d457806395d89b41146105f457806397c442881461060957806398118cb41461062957600080fd5b80636690864e1461052857806370a0823114610548578063715018a61461056857806388f820201461057d57600080fd5b8063313ce567116101b15780634549b039116101755780634549b0391461045a57806349bd5a5e1461047a5780634a74bb02146104ae5780634b6b922c146104cf57806352390c021461050857600080fd5b8063313ce5671461039c5780633685d419146103da57806339509351146103fa5780633bd5d1731461041a578063437823ec1461043a57600080fd5b80631694505e116101f85780631694505e146102d157806318160ddd146103095780631c75f0851461033c57806323b872dd1461035c5780632d8381191461037c57600080fd5b8063061c82d01461023557806306fdde0314610257578063095ea7b31461028257806313114a9d146102b257600080fd5b3661023057005b600080fd5b34801561024157600080fd5b506102556102503660046128cf565b610786565b005b34801561026357600080fd5b5061026c610806565b60405161027991906128e8565b60405180910390f35b34801561028e57600080fd5b506102a261029d36600461294b565b610898565b6040519015158152602001610279565b3480156102be57600080fd5b506008545b604051908152602001610279565b3480156102dd57600080fd5b506011546102f1906001600160a01b031681565b6040516001600160a01b039091168152602001610279565b34801561031557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102c3565b34801561034857600080fd5b506012546102f1906001600160a01b031681565b34801561036857600080fd5b506102a2610377366004612977565b6108af565b34801561038857600080fd5b506102c36103973660046128cf565b610918565b3480156103a857600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610279565b3480156103e657600080fd5b506102556103f53660046129b8565b61099c565b34801561040657600080fd5b506102a261041536600461294b565b610b52565b34801561042657600080fd5b506102556104353660046128cf565b610b89565b34801561044657600080fd5b506102556104553660046129b8565b610c77565b34801561046657600080fd5b506102c36104753660046129ea565b610cc5565b34801561048657600080fd5b506102f17f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ba57600080fd5b506012546102a290600160a81b900460ff1681565b3480156104db57600080fd5b506102a26104ea3660046129b8565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561051457600080fd5b506102556105233660046129b8565b610d72565b34801561053457600080fd5b506102556105433660046129b8565b610ec5565b34801561055457600080fd5b506102c36105633660046129b8565b610f6b565b34801561057457600080fd5b50610255610fca565b34801561058957600080fd5b506102a26105983660046129b8565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105c257600080fd5b506000546001600160a01b03166102f1565b3480156105e057600080fd5b506102556105ef3660046128cf565b611000565b34801561060057600080fd5b5061026c611074565b34801561061557600080fd5b506102556106243660046128cf565b611083565b34801561063557600080fd5b506102c3600d5481565b34801561064b57600080fd5b506102c3600b5481565b34801561066157600080fd5b506102556106703660046128cf565b6110f7565b34801561068157600080fd5b506102a261069036600461294b565b611232565b3480156106a157600080fd5b506102a26106b036600461294b565b611281565b3480156106c157600080fd5b506102556106d0366004612a16565b61128e565b3480156106e157600080fd5b506102c3600f5481565b3480156106f757600080fd5b506102c3610706366004612a31565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561073d57600080fd5b5061025561074c3660046129b8565b611310565b34801561075d57600080fd5b5061025561076c3660046129b8565b61135b565b34801561077d57600080fd5b506102c3600481565b6000546001600160a01b031633146107b95760405162461bcd60e51b81526004016107b090612a6a565b60405180910390fd5b600b546040805183815260208101929092527f145ac6212c2cab5bb96004dcc21e349d2a34506f94f209305bb0d7da74f80690910160405180910390a1600b8190556108036113f3565b50565b60606009805461081590612a9f565b80601f016020809104026020016040519081016040528092919081815260200182805461084190612a9f565b801561088e5780601f106108635761010080835404028352916020019161088e565b820191906000526020600020905b81548152906001019060200180831161087157829003601f168201915b5050505050905090565b60006108a5338484611459565b5060015b92915050565b60006108bc84848461157d565b61090e843361090985604051806060016040528060288152602001612c93602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061178f565b611459565b5060019392505050565b600060075482111561097f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107b0565b60006109896117bb565b90506109958184612aef565b9392505050565b6000546001600160a01b031633146109c65760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03811660009081526005602052604090205460ff16610a2e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016107b0565b60005b600654811015610b4e57816001600160a01b031660068281548110610a5857610a58612b11565b6000918252602090912001546001600160a01b031603610b3c5760068054610a8290600190612b27565b81548110610a9257610a92612b11565b600091825260209091200154600680546001600160a01b039092169183908110610abe57610abe612b11565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610b1657610b16612b3a565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610b4681612b50565b915050610a31565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108a5918590610909908690612b69565b3360008181526005602052604090205460ff1615610bfe5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016107b0565b6000610c09836117de565b505050506001600160a01b038516600090815260016020526040902054929350610c37928492509050612b27565b6001600160a01b038316600090815260016020526040902055600754610c5e908290612b27565b600755600854610c6f908490612b69565b600855505050565b6000546001600160a01b03163314610ca15760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b60007f0000000000000000000000000000000000000000000000000000000000000000831115610d375760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016107b0565b81610d57576000610d47846117de565b509496506108a995505050505050565b6000610d62846117de565b509396506108a995505050505050565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03811660009081526005602052604090205460ff1615610e055760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016107b0565b6001600160a01b03811660009081526001602052604090205415610e5f576001600160a01b038116600090815260016020526040902054610e4590610918565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b03163314610eef5760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b038116610f0257600080fd5b601254604080516001600160a01b03808516825290921660208301527fac5564e1895c840e54e1f16908e9e204792c3dfe3cd71cdb27aebae135b8c02f910160405180910390a1601280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610fa857506001600160a01b031660009081526002602052604090205490565b6001600160a01b0382166000908152600160205260409020546108a990610918565b6000546001600160a01b03163314610ff45760405162461bcd60e51b81526004016107b090612a6a565b610ffe6000611839565b565b6000546001600160a01b0316331461102a5760405162461bcd60e51b81526004016107b090612a6a565b600d546040805183815260208101929092527f11738d7931e6131d56d228624f93b7f59cade98df569c9dfd53f0be6fcf1855e910160405180910390a1600d8190556108036113f3565b6060600a805461081590612a9f565b6000546001600160a01b031633146110ad5760405162461bcd60e51b81526004016107b090612a6a565b600f546040805183815260208101929092527f50aa4186b61abbba32761d700a9b738ba926c616435456f3521c1cfd7a312936910160405180910390a1600f8190556108036113f3565b6000546001600160a01b031633146111215760405162461bcd60e51b81526004016107b090612a6a565b61114e620186a07f0000000000000000000000000000000000000000000000000000000000000000612aef565b8111801561118757506111836103e87f0000000000000000000000000000000000000000000000000000000000000000612aef565b8111155b6111f05760405162461bcd60e51b815260206004820152603460248201527f416d6f756e74206d757374206265206265747765656e20302e30303125202d20604482015273302e3125206f6620746f74616c20737570706c7960601b60648201526084016107b0565b6013546040805183815260208101929092527f66b776ebaa66a0d14f80b50f65f07fd2b35a6bff93fc7f1f6225e584b2494df9910160405180910390a1601355565b60006108a5338461090985604051806060016040528060258152602001612cbb602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919061178f565b60006108a533848461157d565b6000546001600160a01b031633146112b85760405162461bcd60e51b81526004016107b090612a6a565b60128054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061130590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461133a5760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146113855760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b0381166113ea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b0565b61080381611839565b6107d0600f54600d54600b546114099190612b69565b6114139190612b69565b1115610ffe5760405162461bcd60e51b8152602060048201526015602482015274546f74616c20666565206973206f7665722032302560581b60448201526064016107b0565b6001600160a01b0383166114bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107b0565b6001600160a01b03821661151c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107b0565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115e15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107b0565b6001600160a01b0382166116435760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107b0565b600081116116a55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107b0565b60006116b030610f6b565b601354909150811080159081906116d15750601254600160a01b900460ff16155b801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b80156117245750601254600160a81b900460ff165b1561173757601354915061173782611889565b6001600160a01b03851660009081526004602052604081205460ff1615801561177957506001600160a01b03851660009081526004602052604090205460ff16155b905061178786868684611942565b505050505050565b600081848411156117b35760405162461bcd60e51b81526004016107b091906128e8565b505050900390565b60008060006117c8611ae2565b90925090506117d78183612aef565b9250505090565b60008060008060008060008060008060006117f88c611cdb565b935093509350935060008060006118198f8787876118146117bb565b611d3a565b919f509d509b509599509397509195509350505050919395979092949650565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a01b1916600160a01b17905560006118a9600283612aef565b905060006118b78284612b27565b9050476118c383611dac565b60006118cf8247612b27565b9050806000036118e25750505050611932565b6118ec8382611fb4565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a1505050505b506012805460ff60a01b19169055565b8061196c5761196c600b8054600c55600d8054600e55600f80546010556000928390559082905555565b6001600160a01b03841660009081526005602052604090205460ff1680156119ad57506001600160a01b03831660009081526005602052604090205460ff16155b156119c2576119bd848484612165565b611ac0565b6001600160a01b03841660009081526005602052604090205460ff16158015611a0357506001600160a01b03831660009081526005602052604090205460ff165b15611a13576119bd8484846122a9565b6001600160a01b03841660009081526005602052604090205460ff16158015611a5557506001600160a01b03831660009081526005602052604090205460ff16155b15611a65576119bd848484612363565b6001600160a01b03841660009081526005602052604090205460ff168015611aa557506001600160a01b03831660009081526005602052604090205460ff165b15611ab5576119bd8484846123b6565b611ac0848484612363565b80611adc57611adc600c54600b55600e54600d55601054600f55565b50505050565b60075460009081907f0000000000000000000000000000000000000000000000000000000000000000825b600654811015611c6f57826001600060068481548110611b2f57611b2f612b11565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b9a5750816002600060068481548110611b7357611b73612b11565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bcd575050600754937f00000000000000000000000000000000000000000000000000000000000000009350915050565b6001600060068381548110611be457611be4612b11565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c139084612b27565b92506002600060068381548110611c2c57611c2c612b11565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c5b9083612b27565b915080611c6781612b50565b915050611b0d565b507f0000000000000000000000000000000000000000000000000000000000000000600754611c9e9190612aef565b821015611cd2575050600754927f000000000000000000000000000000000000000000000000000000000000000092509050565b90939092509050565b6000806000806000611cec86612439565b90506000611cf987612456565b90506000611d0688612469565b905060008183611d16868c612b27565b611d209190612b27565b611d2a9190612b27565b9993985091965094509092505050565b6000808080611d49858a612b7c565b90506000611d57868a612b7c565b90506000611d65878a612b7c565b90506000611d73888a612b7c565b905060008183611d838688612b27565b611d8d9190612b27565b611d979190612b27565b949d949c50929a509298505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611de157611de1612b11565b60200260200101906001600160a01b031690816001600160a01b031681525050611e0961247c565b81600181518110611e1c57611e1c612b11565b6001600160a01b039283166020918202929092010152601154611e429130911684611459565b46603d03611eea57601154604051634d1bf6a960e01b81526001600160a01b0390911690634d1bf6a990611e83908590600090869030904290600401612b9b565b600060405180830381600087803b158015611e9d57600080fd5b505af1925050508015611eae575060015b610b4e576040518281527ff312a8cf41139222bcba78888c1a115141181d71dc3cab51c2cd2e19acb05fcf906020015b60405180910390a15050565b4661a51603611f2c5760115460405163104d379560e11b81526001600160a01b039091169063209a6f2a90611e83908590600090869030904290600401612b9b565b4661a86a1480611f3d57504661a869145b15611f7b57601154604051633b158ab160e11b81526001600160a01b039091169063762b156290611e83908590600090869030904290600401612b9b565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e83908590600090869030904290600401612b9b565b601154611fcc9030906001600160a01b031684611459565b46603d03612089576011546040516386eaa82f60e01b81526001600160a01b03909116906386eaa82f9083906120139030908790600090819061dead904290600401612c0c565b60606040518083038185885af19350505050801561204e575060408051601f3d908101601f1916820190925261204b91810190612c47565b60015b612082576040518181527f3555a24d19cf49a4082c02c08a1e71c39d44902f57b8d44cf9fcfe8b14928c6590602001611ede565b5050505050565b4661a516036120d1576011546040516330dd9c0760e21b81526001600160a01b039091169063c376701c9083906120139030908790600090819061dead904290600401612c0c565b4661a86a14806120e257504661a869145b1561212657601154604051637c8d9fb960e11b81526001600160a01b039091169063f91b3f729083906120139030908790600090819061dead904290600401612c0c565b60115460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906120139030908790600090819061dead904290600401612c0c565b6000806000806000806000612179886117de565b965096509650965096509650965087600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546121b89190612b27565b6001600160a01b038b166000908152600260209081526040808320939093556001905220546121e8908890612b27565b6001600160a01b03808c1660009081526001602052604080822093909355908b1681522054612218908790612b69565b6001600160a01b038a1660009081526001602052604090205561223b8a83612675565b6122458a8261274e565b6122508a8685612859565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161229591815260200190565b60405180910390a350505050505050505050565b60008060008060008060006122bd886117de565b965096509650965096509650965086600160008c6001600160a01b03166001600160a01b03168152602001908152602001600020546122fc9190612b27565b6001600160a01b03808c16600090815260016020908152604080832094909455918c16815260029091522054612333908590612b69565b6001600160a01b038a16600090815260026020908152604080832093909355600190522054612218908790612b69565b6000806000806000806000612377886117de565b965096509650965096509650965086600160008c6001600160a01b03166001600160a01b03168152602001908152602001600020546121e89190612b27565b60008060008060008060006123ca886117de565b965096509650965096509650965087600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546124099190612b27565b6001600160a01b038b166000908152600260209081526040808320939093556001905220546122fc908890612b27565b6000612710600b548361244c9190612b7c565b6108a99190612aef565b6000612710600d548361244c9190612b7c565b6000612710600f548361244c9190612b7c565b600046603d0361250257601160009054906101000a90046001600160a01b03166001600160a01b031663977ebc0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fd9190612c75565b905090565b4660800361255d57601160009054906101000a90046001600160a01b03166001600160a01b0316635cb485926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b4661a516036125b957601160009054906101000a90046001600160a01b03166001600160a01b03166331b2cc456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b4661a86a14806125ca57504661a869145b1561262257601160009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b80600003612681575050565b600061268b6117bb565b905060006126998284612b7c565b306000908152600160205260409020549091506126b7908290612b69565b3060009081526001602090815260408083209390935560059052205460ff161561270757306000908152600260205260409020546126f6908490612b69565b306000908152600260205260409020555b60405183815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350505050565b8060000361275a575050565b60006127646117bb565b905060006127728284612b7c565b6012546001600160a01b031660009081526001602052604090205490915061279b908290612b69565b601280546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615612817576012546001600160a01b03166000908152600260205260409020546127fb908490612b69565b6012546001600160a01b03166000908152600260205260409020555b6012546040518481526001600160a01b03918216918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612740565b8060000361286657505050565b816007546128749190612b27565b600755600854612885908290612b69565b600855604080516001600160a01b0385168152602081018390527f0fd24f9d1c5a2b6ef7b5dfc8eb0e0a5f5a61b3e798c1944ed84df06a352c3993910160405180910390a1505050565b6000602082840312156128e157600080fd5b5035919050565b600060208083528351808285015260005b81811015612915578581018301518582016040015282016128f9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461080357600080fd5b6000806040838503121561295e57600080fd5b823561296981612936565b946020939093013593505050565b60008060006060848603121561298c57600080fd5b833561299781612936565b925060208401356129a781612936565b929592945050506040919091013590565b6000602082840312156129ca57600080fd5b813561099581612936565b803580151581146129e557600080fd5b919050565b600080604083850312156129fd57600080fd5b82359150612a0d602084016129d5565b90509250929050565b600060208284031215612a2857600080fd5b610995826129d5565b60008060408385031215612a4457600080fd5b8235612a4f81612936565b91506020830135612a5f81612936565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612ab357607f821691505b602082108103612ad357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082612b0c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b818103818111156108a9576108a9612ad9565b634e487b7160e01b600052603160045260246000fd5b600060018201612b6257612b62612ad9565b5060010190565b808201808211156108a9576108a9612ad9565b6000816000190483118215151615612b9657612b96612ad9565b500290565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612beb5784516001600160a01b031683529383019391830191600101612bc6565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215612c5c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612c8757600080fd5b81516109958161293656fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f5486e0305bdf3aee2a0704d2341b53aed0e7019ef71d492518767c7719dc84964736f6c6343000810003300000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000052b7d2dcc80cd2e40000000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000564b864a4094caf469455906aac796ee9d50fb4b00000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000003e80000000000000000000000001717afbe81bb09cbd283f18474349efe2c27dced0000000000000000000000000000000000000000000000000000000000000006546176657461000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035441560000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106102295760003560e01c80636690864e11610123578063a071dcf4116100ab578063d7c94efd1161006f578063d7c94efd146106d5578063dd62ed3e146106eb578063ea2f0b3714610731578063f2fde38b14610751578063ffa1ad741461077157600080fd5b8063a071dcf41461063f578063a251082314610655578063a457c2d714610675578063a9059cbb14610695578063c49b9a80146106b557600080fd5b80638da5cb5b116100f25780638da5cb5b146105b65780638ee88c53146105d457806395d89b41146105f457806397c442881461060957806398118cb41461062957600080fd5b80636690864e1461052857806370a0823114610548578063715018a61461056857806388f820201461057d57600080fd5b8063313ce567116101b15780634549b039116101755780634549b0391461045a57806349bd5a5e1461047a5780634a74bb02146104ae5780634b6b922c146104cf57806352390c021461050857600080fd5b8063313ce5671461039c5780633685d419146103da57806339509351146103fa5780633bd5d1731461041a578063437823ec1461043a57600080fd5b80631694505e116101f85780631694505e146102d157806318160ddd146103095780631c75f0851461033c57806323b872dd1461035c5780632d8381191461037c57600080fd5b8063061c82d01461023557806306fdde0314610257578063095ea7b31461028257806313114a9d146102b257600080fd5b3661023057005b600080fd5b34801561024157600080fd5b506102556102503660046128cf565b610786565b005b34801561026357600080fd5b5061026c610806565b60405161027991906128e8565b60405180910390f35b34801561028e57600080fd5b506102a261029d36600461294b565b610898565b6040519015158152602001610279565b3480156102be57600080fd5b506008545b604051908152602001610279565b3480156102dd57600080fd5b506011546102f1906001600160a01b031681565b6040516001600160a01b039091168152602001610279565b34801561031557600080fd5b507f00000000000000000000000000000000000000000052b7d2dcc80cd2e40000006102c3565b34801561034857600080fd5b506012546102f1906001600160a01b031681565b34801561036857600080fd5b506102a2610377366004612977565b6108af565b34801561038857600080fd5b506102c36103973660046128cf565b610918565b3480156103a857600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000012168152602001610279565b3480156103e657600080fd5b506102556103f53660046129b8565b61099c565b34801561040657600080fd5b506102a261041536600461294b565b610b52565b34801561042657600080fd5b506102556104353660046128cf565b610b89565b34801561044657600080fd5b506102556104553660046129b8565b610c77565b34801561046657600080fd5b506102c36104753660046129ea565b610cc5565b34801561048657600080fd5b506102f17f00000000000000000000000072d1a81ee8f743badecb59874a0e95dbde2b2c7381565b3480156104ba57600080fd5b506012546102a290600160a81b900460ff1681565b3480156104db57600080fd5b506102a26104ea3660046129b8565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561051457600080fd5b506102556105233660046129b8565b610d72565b34801561053457600080fd5b506102556105433660046129b8565b610ec5565b34801561055457600080fd5b506102c36105633660046129b8565b610f6b565b34801561057457600080fd5b50610255610fca565b34801561058957600080fd5b506102a26105983660046129b8565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105c257600080fd5b506000546001600160a01b03166102f1565b3480156105e057600080fd5b506102556105ef3660046128cf565b611000565b34801561060057600080fd5b5061026c611074565b34801561061557600080fd5b506102556106243660046128cf565b611083565b34801561063557600080fd5b506102c3600d5481565b34801561064b57600080fd5b506102c3600b5481565b34801561066157600080fd5b506102556106703660046128cf565b6110f7565b34801561068157600080fd5b506102a261069036600461294b565b611232565b3480156106a157600080fd5b506102a26106b036600461294b565b611281565b3480156106c157600080fd5b506102556106d0366004612a16565b61128e565b3480156106e157600080fd5b506102c3600f5481565b3480156106f757600080fd5b506102c3610706366004612a31565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561073d57600080fd5b5061025561074c3660046129b8565b611310565b34801561075d57600080fd5b5061025561076c3660046129b8565b61135b565b34801561077d57600080fd5b506102c3600481565b6000546001600160a01b031633146107b95760405162461bcd60e51b81526004016107b090612a6a565b60405180910390fd5b600b546040805183815260208101929092527f145ac6212c2cab5bb96004dcc21e349d2a34506f94f209305bb0d7da74f80690910160405180910390a1600b8190556108036113f3565b50565b60606009805461081590612a9f565b80601f016020809104026020016040519081016040528092919081815260200182805461084190612a9f565b801561088e5780601f106108635761010080835404028352916020019161088e565b820191906000526020600020905b81548152906001019060200180831161087157829003601f168201915b5050505050905090565b60006108a5338484611459565b5060015b92915050565b60006108bc84848461157d565b61090e843361090985604051806060016040528060288152602001612c93602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061178f565b611459565b5060019392505050565b600060075482111561097f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107b0565b60006109896117bb565b90506109958184612aef565b9392505050565b6000546001600160a01b031633146109c65760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03811660009081526005602052604090205460ff16610a2e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016107b0565b60005b600654811015610b4e57816001600160a01b031660068281548110610a5857610a58612b11565b6000918252602090912001546001600160a01b031603610b3c5760068054610a8290600190612b27565b81548110610a9257610a92612b11565b600091825260209091200154600680546001600160a01b039092169183908110610abe57610abe612b11565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610b1657610b16612b3a565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610b4681612b50565b915050610a31565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108a5918590610909908690612b69565b3360008181526005602052604090205460ff1615610bfe5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016107b0565b6000610c09836117de565b505050506001600160a01b038516600090815260016020526040902054929350610c37928492509050612b27565b6001600160a01b038316600090815260016020526040902055600754610c5e908290612b27565b600755600854610c6f908490612b69565b600855505050565b6000546001600160a01b03163314610ca15760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b60007f00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000831115610d375760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016107b0565b81610d57576000610d47846117de565b509496506108a995505050505050565b6000610d62846117de565b509396506108a995505050505050565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03811660009081526005602052604090205460ff1615610e055760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016107b0565b6001600160a01b03811660009081526001602052604090205415610e5f576001600160a01b038116600090815260016020526040902054610e4590610918565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b03163314610eef5760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b038116610f0257600080fd5b601254604080516001600160a01b03808516825290921660208301527fac5564e1895c840e54e1f16908e9e204792c3dfe3cd71cdb27aebae135b8c02f910160405180910390a1601280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610fa857506001600160a01b031660009081526002602052604090205490565b6001600160a01b0382166000908152600160205260409020546108a990610918565b6000546001600160a01b03163314610ff45760405162461bcd60e51b81526004016107b090612a6a565b610ffe6000611839565b565b6000546001600160a01b0316331461102a5760405162461bcd60e51b81526004016107b090612a6a565b600d546040805183815260208101929092527f11738d7931e6131d56d228624f93b7f59cade98df569c9dfd53f0be6fcf1855e910160405180910390a1600d8190556108036113f3565b6060600a805461081590612a9f565b6000546001600160a01b031633146110ad5760405162461bcd60e51b81526004016107b090612a6a565b600f546040805183815260208101929092527f50aa4186b61abbba32761d700a9b738ba926c616435456f3521c1cfd7a312936910160405180910390a1600f8190556108036113f3565b6000546001600160a01b031633146111215760405162461bcd60e51b81526004016107b090612a6a565b61114e620186a07f00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000612aef565b8111801561118757506111836103e87f00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000612aef565b8111155b6111f05760405162461bcd60e51b815260206004820152603460248201527f416d6f756e74206d757374206265206265747765656e20302e30303125202d20604482015273302e3125206f6620746f74616c20737570706c7960601b60648201526084016107b0565b6013546040805183815260208101929092527f66b776ebaa66a0d14f80b50f65f07fd2b35a6bff93fc7f1f6225e584b2494df9910160405180910390a1601355565b60006108a5338461090985604051806060016040528060258152602001612cbb602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919061178f565b60006108a533848461157d565b6000546001600160a01b031633146112b85760405162461bcd60e51b81526004016107b090612a6a565b60128054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061130590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461133a5760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146113855760405162461bcd60e51b81526004016107b090612a6a565b6001600160a01b0381166113ea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b0565b61080381611839565b6107d0600f54600d54600b546114099190612b69565b6114139190612b69565b1115610ffe5760405162461bcd60e51b8152602060048201526015602482015274546f74616c20666565206973206f7665722032302560581b60448201526064016107b0565b6001600160a01b0383166114bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107b0565b6001600160a01b03821661151c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107b0565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115e15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107b0565b6001600160a01b0382166116435760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107b0565b600081116116a55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107b0565b60006116b030610f6b565b601354909150811080159081906116d15750601254600160a01b900460ff16155b801561170f57507f00000000000000000000000072d1a81ee8f743badecb59874a0e95dbde2b2c736001600160a01b0316856001600160a01b031614155b80156117245750601254600160a81b900460ff165b1561173757601354915061173782611889565b6001600160a01b03851660009081526004602052604081205460ff1615801561177957506001600160a01b03851660009081526004602052604090205460ff16155b905061178786868684611942565b505050505050565b600081848411156117b35760405162461bcd60e51b81526004016107b091906128e8565b505050900390565b60008060006117c8611ae2565b90925090506117d78183612aef565b9250505090565b60008060008060008060008060008060006117f88c611cdb565b935093509350935060008060006118198f8787876118146117bb565b611d3a565b919f509d509b509599509397509195509350505050919395979092949650565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a01b1916600160a01b17905560006118a9600283612aef565b905060006118b78284612b27565b9050476118c383611dac565b60006118cf8247612b27565b9050806000036118e25750505050611932565b6118ec8382611fb4565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a1505050505b506012805460ff60a01b19169055565b8061196c5761196c600b8054600c55600d8054600e55600f80546010556000928390559082905555565b6001600160a01b03841660009081526005602052604090205460ff1680156119ad57506001600160a01b03831660009081526005602052604090205460ff16155b156119c2576119bd848484612165565b611ac0565b6001600160a01b03841660009081526005602052604090205460ff16158015611a0357506001600160a01b03831660009081526005602052604090205460ff165b15611a13576119bd8484846122a9565b6001600160a01b03841660009081526005602052604090205460ff16158015611a5557506001600160a01b03831660009081526005602052604090205460ff16155b15611a65576119bd848484612363565b6001600160a01b03841660009081526005602052604090205460ff168015611aa557506001600160a01b03831660009081526005602052604090205460ff165b15611ab5576119bd8484846123b6565b611ac0848484612363565b80611adc57611adc600c54600b55600e54600d55601054600f55565b50505050565b60075460009081907f00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000825b600654811015611c6f57826001600060068481548110611b2f57611b2f612b11565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b9a5750816002600060068481548110611b7357611b73612b11565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bcd575050600754937f00000000000000000000000000000000000000000052b7d2dcc80cd2e40000009350915050565b6001600060068381548110611be457611be4612b11565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c139084612b27565b92506002600060068381548110611c2c57611c2c612b11565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c5b9083612b27565b915080611c6781612b50565b915050611b0d565b507f00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000600754611c9e9190612aef565b821015611cd2575050600754927f00000000000000000000000000000000000000000052b7d2dcc80cd2e400000092509050565b90939092509050565b6000806000806000611cec86612439565b90506000611cf987612456565b90506000611d0688612469565b905060008183611d16868c612b27565b611d209190612b27565b611d2a9190612b27565b9993985091965094509092505050565b6000808080611d49858a612b7c565b90506000611d57868a612b7c565b90506000611d65878a612b7c565b90506000611d73888a612b7c565b905060008183611d838688612b27565b611d8d9190612b27565b611d979190612b27565b949d949c50929a509298505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611de157611de1612b11565b60200260200101906001600160a01b031690816001600160a01b031681525050611e0961247c565b81600181518110611e1c57611e1c612b11565b6001600160a01b039283166020918202929092010152601154611e429130911684611459565b46603d03611eea57601154604051634d1bf6a960e01b81526001600160a01b0390911690634d1bf6a990611e83908590600090869030904290600401612b9b565b600060405180830381600087803b158015611e9d57600080fd5b505af1925050508015611eae575060015b610b4e576040518281527ff312a8cf41139222bcba78888c1a115141181d71dc3cab51c2cd2e19acb05fcf906020015b60405180910390a15050565b4661a51603611f2c5760115460405163104d379560e11b81526001600160a01b039091169063209a6f2a90611e83908590600090869030904290600401612b9b565b4661a86a1480611f3d57504661a869145b15611f7b57601154604051633b158ab160e11b81526001600160a01b039091169063762b156290611e83908590600090869030904290600401612b9b565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e83908590600090869030904290600401612b9b565b601154611fcc9030906001600160a01b031684611459565b46603d03612089576011546040516386eaa82f60e01b81526001600160a01b03909116906386eaa82f9083906120139030908790600090819061dead904290600401612c0c565b60606040518083038185885af19350505050801561204e575060408051601f3d908101601f1916820190925261204b91810190612c47565b60015b612082576040518181527f3555a24d19cf49a4082c02c08a1e71c39d44902f57b8d44cf9fcfe8b14928c6590602001611ede565b5050505050565b4661a516036120d1576011546040516330dd9c0760e21b81526001600160a01b039091169063c376701c9083906120139030908790600090819061dead904290600401612c0c565b4661a86a14806120e257504661a869145b1561212657601154604051637c8d9fb960e11b81526001600160a01b039091169063f91b3f729083906120139030908790600090819061dead904290600401612c0c565b60115460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906120139030908790600090819061dead904290600401612c0c565b6000806000806000806000612179886117de565b965096509650965096509650965087600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546121b89190612b27565b6001600160a01b038b166000908152600260209081526040808320939093556001905220546121e8908890612b27565b6001600160a01b03808c1660009081526001602052604080822093909355908b1681522054612218908790612b69565b6001600160a01b038a1660009081526001602052604090205561223b8a83612675565b6122458a8261274e565b6122508a8685612859565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161229591815260200190565b60405180910390a350505050505050505050565b60008060008060008060006122bd886117de565b965096509650965096509650965086600160008c6001600160a01b03166001600160a01b03168152602001908152602001600020546122fc9190612b27565b6001600160a01b03808c16600090815260016020908152604080832094909455918c16815260029091522054612333908590612b69565b6001600160a01b038a16600090815260026020908152604080832093909355600190522054612218908790612b69565b6000806000806000806000612377886117de565b965096509650965096509650965086600160008c6001600160a01b03166001600160a01b03168152602001908152602001600020546121e89190612b27565b60008060008060008060006123ca886117de565b965096509650965096509650965087600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546124099190612b27565b6001600160a01b038b166000908152600260209081526040808320939093556001905220546122fc908890612b27565b6000612710600b548361244c9190612b7c565b6108a99190612aef565b6000612710600d548361244c9190612b7c565b6000612710600f548361244c9190612b7c565b600046603d0361250257601160009054906101000a90046001600160a01b03166001600160a01b031663977ebc0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fd9190612c75565b905090565b4660800361255d57601160009054906101000a90046001600160a01b03166001600160a01b0316635cb485926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b4661a516036125b957601160009054906101000a90046001600160a01b03166001600160a01b03166331b2cc456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b4661a86a14806125ca57504661a869145b1561262257601160009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d9573d6000803e3d6000fd5b80600003612681575050565b600061268b6117bb565b905060006126998284612b7c565b306000908152600160205260409020549091506126b7908290612b69565b3060009081526001602090815260408083209390935560059052205460ff161561270757306000908152600260205260409020546126f6908490612b69565b306000908152600260205260409020555b60405183815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350505050565b8060000361275a575050565b60006127646117bb565b905060006127728284612b7c565b6012546001600160a01b031660009081526001602052604090205490915061279b908290612b69565b601280546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615612817576012546001600160a01b03166000908152600260205260409020546127fb908490612b69565b6012546001600160a01b03166000908152600260205260409020555b6012546040518481526001600160a01b03918216918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612740565b8060000361286657505050565b816007546128749190612b27565b600755600854612885908290612b69565b600855604080516001600160a01b0385168152602081018390527f0fd24f9d1c5a2b6ef7b5dfc8eb0e0a5f5a61b3e798c1944ed84df06a352c3993910160405180910390a1505050565b6000602082840312156128e157600080fd5b5035919050565b600060208083528351808285015260005b81811015612915578581018301518582016040015282016128f9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461080357600080fd5b6000806040838503121561295e57600080fd5b823561296981612936565b946020939093013593505050565b60008060006060848603121561298c57600080fd5b833561299781612936565b925060208401356129a781612936565b929592945050506040919091013590565b6000602082840312156129ca57600080fd5b813561099581612936565b803580151581146129e557600080fd5b919050565b600080604083850312156129fd57600080fd5b82359150612a0d602084016129d5565b90509250929050565b600060208284031215612a2857600080fd5b610995826129d5565b60008060408385031215612a4457600080fd5b8235612a4f81612936565b91506020830135612a5f81612936565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612ab357607f821691505b602082108103612ad357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082612b0c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b818103818111156108a9576108a9612ad9565b634e487b7160e01b600052603160045260246000fd5b600060018201612b6257612b62612ad9565b5060010190565b808201808211156108a9576108a9612ad9565b6000816000190483118215151615612b9657612b96612ad9565b500290565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612beb5784516001600160a01b031683529383019391830191600101612bc6565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215612c5c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612c8757600080fd5b81516109958161293656fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f5486e0305bdf3aee2a0704d2341b53aed0e7019ef71d492518767c7719dc84964736f6c63430008100033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000052b7d2dcc80cd2e40000000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000564b864a4094caf469455906aac796ee9d50fb4b00000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000003e80000000000000000000000001717afbe81bb09cbd283f18474349efe2c27dced0000000000000000000000000000000000000000000000000000000000000006546176657461000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035441560000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Taveta
Arg [1] : symbol_ (string): TAV
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalSupply_ (uint256): 100000000000000000000000000
Arg [4] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [5] : teamAddress_ (address): 0x564B864A4094cAf469455906AaC796eE9D50fb4B
Arg [6] : taxfeeTax_ (uint16): 500
Arg [7] : liquidityFeeTax_ (uint16): 500
Arg [8] : teamFeeTax_ (uint16): 1000
Arg [9] : feeReceiver (address): 0x1717AFBE81bb09cbd283f18474349efE2c27DceD
-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [4] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [5] : 000000000000000000000000564b864a4094caf469455906aac796ee9d50fb4b
Arg [6] : 00000000000000000000000000000000000000000000000000000000000001f4
Arg [7] : 00000000000000000000000000000000000000000000000000000000000001f4
Arg [8] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [9] : 0000000000000000000000001717afbe81bb09cbd283f18474349efe2c27dced
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [11] : 5461766574610000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [13] : 5441560000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
5600:25406:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15641:186;;;;;;;;;;-1:-1:-1;15641:186:0;;;;;:::i;:::-;;:::i;:::-;;9981:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10955:188;;;;;;;;;;-1:-1:-1;10955:188:0;;;;;:::i;:::-;;:::i;:::-;;;1373:14:1;;1366:22;1348:41;;1336:2;1321:18;10955:188:0;1208:187:1;12455:88:0;;;;;;;;;;-1:-1:-1;12526:9:0;;12455:88;;;1546:25:1;;;1534:2;1519:18;12455:88:0;1400:177:1;6529:41:0;;;;;;;;;;-1:-1:-1;6529:41:0;;;;-1:-1:-1;;;;;6529:41:0;;;;;;-1:-1:-1;;;;;1772:32:1;;;1754:51;;1742:2;1727:18;6529:41:0;1582:229:1;10264:96:0;;;;;;;;;;-1:-1:-1;10346:6:0;10264:96;;6622:26;;;;;;;;;;-1:-1:-1;6622:26:0;;;;-1:-1:-1;;;;;6622:26:0;;;11151:448;;;;;;;;;;-1:-1:-1;11151:448:0;;;;;:::i;:::-;;:::i;13451:302::-;;;;;;;;;;-1:-1:-1;13451:302:0;;;;;:::i;:::-;;:::i;10171:85::-;;;;;;;;;;-1:-1:-1;10171:85:0;;2657:4:1;10239:9:0;2645:17:1;2627:36;;2615:2;2600:18;10171:85:0;2485:184:1;14097:470:0;;;;;;;;;;-1:-1:-1;14097:470:0;;;;;:::i;:::-;;:::i;11607:292::-;;;;;;;;;;-1:-1:-1;11607:292:0;;;;;:::i;:::-;;:::i;12551:407::-;;;;;;;;;;-1:-1:-1;12551:407:0;;;;;:::i;:::-;;:::i;15402:112::-;;;;;;;;;;-1:-1:-1;15402:112:0;;;;;:::i;:::-;;:::i;12966:477::-;;;;;;;;;;-1:-1:-1;12966:477:0;;;;;:::i;:::-;;:::i;6577:38::-;;;;;;;;;;;;;;;6685:33;;;;;;;;;;-1:-1:-1;6685:33:0;;;;-1:-1:-1;;;6685:33:0;;;;;;21687:126;;;;;;;;;;-1:-1:-1;21687:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;21779:26:0;21755:4;21779:26;;;:17;:26;;;;;;;;;21687:126;13761:328;;;;;;;;;;-1:-1:-1;13761:328:0;;;;;:::i;:::-;;:::i;16288:199::-;;;;;;;;;;-1:-1:-1;16288:199:0;;;;;:::i;:::-;;:::i;10368:195::-;;;;;;;;;;-1:-1:-1;10368:195:0;;;;;:::i;:::-;;:::i;1488:94::-;;;;;;;;;;;;;:::i;12310:137::-;;;;;;;;;;-1:-1:-1;12310:137:0;;;;;:::i;:::-;-1:-1:-1;;;;;12420:19:0;12396:4;12420:19;;;:10;:19;;;;;;;;;12310:137;1265:87;;;;;;;;;;-1:-1:-1;1311:7:0;1338:6;-1:-1:-1;;;;;1338:6:0;1265:87;;15835:244;;;;;;;;;;-1:-1:-1;15835:244:0;;;;;:::i;:::-;;:::i;10074:89::-;;;;;;;;;;;;;:::i;16087:193::-;;;;;;;;;;-1:-1:-1;16087:193:0;;;;;:::i;:::-;;:::i;6381:27::-;;;;;;;;;;;;;;;;6314:21;;;;;;;;;;;;;;;;16856:375;;;;;;;;;;-1:-1:-1;16856:375:0;;;;;:::i;:::-;;:::i;11907:395::-;;;;;;;;;;-1:-1:-1;11907:395:0;;;;;:::i;:::-;;:::i;10571:194::-;;;;;;;;;;-1:-1:-1;10571:194:0;;;;;:::i;:::-;;:::i;16678:170::-;;;;;;;;;;-1:-1:-1;16678:170:0;;;;;:::i;:::-;;:::i;6460:22::-;;;;;;;;;;;;;;;;10773:174;;;;;;;;;;-1:-1:-1;10773:174:0;;;;;:::i;:::-;-1:-1:-1;;;;;10910:20:0;;;10883:7;10910:20;;;:11;:20;;;;;;;;:29;;;;;;;;;;;;;10773:174;15522:111;;;;;;;;;;-1:-1:-1;15522:111:0;;;;;:::i;:::-;;:::i;1590:229::-;;;;;;;;;;-1:-1:-1;1590:229:0;;;;;:::i;:::-;;:::i;5705:35::-;;;;;;;;;;;;5739:1;5705:35;;15641:186;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;;;;;;;;;15753:6:::1;::::0;15721:39:::1;::::0;;4457:25:1;;;4513:2;4498:18;;4491:34;;;;15721:39:0::1;::::0;4430:18:1;15721:39:0::1;;;;;;;15773:6;:18:::0;;;15804:15:::1;:13;:15::i;:::-;15641:186:::0;:::o;9981:85::-;10020:13;10053:5;10046:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9981:85;:::o;10955:188::-;11057:4;11074:39;984:10;11097:7;11106:6;11074:8;:39::i;:::-;-1:-1:-1;11131:4:0;10955:188;;;;;:::o;11151:448::-;11285:4;11302:36;11312:6;11320:9;11331:6;11302:9;:36::i;:::-;11349:220;11372:6;984:10;11420:138;11476:6;11420:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11420:19:0;;;;;;:11;:19;;;;;;;;984:10;11420:33;;;;;;;;;;:37;:138::i;:::-;11349:8;:220::i;:::-;-1:-1:-1;11587:4:0;11151:448;;;;;:::o;13451:302::-;13534:7;13587:6;;13576:7;:17;;13554:109;;;;-1:-1:-1;;;13554:109:0;;5123:2:1;13554:109:0;;;5105:21:1;5162:2;5142:18;;;5135:30;5201:34;5181:18;;;5174:62;-1:-1:-1;;;5252:18:1;;;5245:40;5302:19;;13554:109:0;4921:406:1;13554:109:0;13674:19;13696:10;:8;:10::i;:::-;13674:32;-1:-1:-1;13724:21:0;13674:32;13724:7;:21;:::i;:::-;13717:28;13451:302;-1:-1:-1;;;13451:302:0:o;14097:470::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14177:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;::::1;;14169:59;;;::::0;-1:-1:-1;;;14169:59:0;;5888:2:1;14169:59:0::1;::::0;::::1;5870:21:1::0;5927:2;5907:18;;;5900:30;5966:29;5946:18;;;5939:57;6013:18;;14169:59:0::1;5686:351:1::0;14169:59:0::1;14246:9;14241:319;14265:8;:15:::0;14261:19;::::1;14241:319;;;14321:7;-1:-1:-1::0;;;;;14306:22:0::1;:8;14315:1;14306:11;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14306:11:0::1;:22:::0;14302:247:::1;;14363:8;14372:15:::0;;:19:::1;::::0;14390:1:::1;::::0;14372:19:::1;:::i;:::-;14363:29;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;14349:8:::1;:11:::0;;-1:-1:-1;;;;;14363:29:0;;::::1;::::0;14358:1;;14349:11;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:43:::0;;-1:-1:-1;;;;;;14349:43:0::1;-1:-1:-1::0;;;;;14349:43:0;;::::1;;::::0;;14411:15;;::::1;::::0;;:6:::1;:15:::0;;;;;;:19;;;14449:10:::1;:19:::0;;;;:27;;-1:-1:-1;;14449:27:0::1;::::0;;14495:8:::1;:14:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;14495:14:0;;;;;-1:-1:-1;;;;;;14495:14:0::1;::::0;;;;;14241:319:::1;14097:470:::0;:::o;14302:247::-:1;14282:3:::0;::::1;::::0;::::1;:::i;:::-;;;;14241:319;;;;14097:470:::0;:::o;11607:292::-;984:10;11722:4;11811:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11811:34:0;;;;;;;;;;11722:4;;11739:130;;11789:7;;11811:47;;11848:10;;11811:47;:::i;12551:407::-;984:10;12605:14;12668:18;;;:10;:18;;;;;;;;12667:19;12645:113;;;;-1:-1:-1;;;12645:113:0;;6911:2:1;12645:113:0;;;6893:21:1;6950:2;6930:18;;;6923:30;6989:34;6969:18;;;6962:62;-1:-1:-1;;;7040:18:1;;;7033:42;7092:19;;12645:113:0;6709:408:1;12645:113:0;12770:15;12801:19;12812:7;12801:10;:19::i;:::-;-1:-1:-1;;;;;;;;;12848:14:0;;;;;;:6;:14;;;;;;12769:51;;-1:-1:-1;12848:24:0;;12769:51;;-1:-1:-1;12848:14:0;-1:-1:-1;12848:24:0;:::i;:::-;-1:-1:-1;;;;;12831:14:0;;;;;;:6;:14;;;;;:41;12892:6;;:16;;12901:7;;12892:16;:::i;:::-;12883:6;:25;12931:9;;:19;;12943:7;;12931:19;:::i;:::-;12919:9;:31;-1:-1:-1;;;12551:407:0:o;15402:112::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15473:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;15473:33:0::1;15502:4;15473:33;::::0;;15402:112::o;12966:477::-;13084:7;13123:6;13112:7;:17;;13104:61;;;;-1:-1:-1;;;13104:61:0;;7324:2:1;13104:61:0;;;7306:21:1;7363:2;7343:18;;;7336:30;7402:33;7382:18;;;7375:61;7453:18;;13104:61:0;7122:355:1;13104:61:0;13181:17;13176:260;;13216:15;13247:19;13258:7;13247:10;:19::i;:::-;-1:-1:-1;13215:51:0;;-1:-1:-1;13281:14:0;;-1:-1:-1;;;;;;13281:14:0;13176:260;13331:23;13368:19;13379:7;13368:10;:19::i;:::-;-1:-1:-1;13328:59:0;;-1:-1:-1;13402:22:0;;-1:-1:-1;;;;;;13402:22:0;13761:328;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13844:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;::::1;;13843:20;13835:60;;;::::0;-1:-1:-1;;;13835:60:0;;5888:2:1;13835:60:0::1;::::0;::::1;5870:21:1::0;5927:2;5907:18;;;5900:30;5966:29;5946:18;;;5939:57;6013:18;;13835:60:0::1;5686:351:1::0;13835:60:0::1;-1:-1:-1::0;;;;;13910:15:0;::::1;13928:1;13910:15:::0;;;:6:::1;:15;::::0;;;;;:19;13906:106:::1;;-1:-1:-1::0;;;;;13984:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;;13964:36:::1;::::0;:19:::1;:36::i;:::-;-1:-1:-1::0;;;;;13946:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;:54;13906:106:::1;-1:-1:-1::0;;;;;14022:19:0::1;;::::0;;;:10:::1;:19;::::0;;;;:26;;-1:-1:-1;;14022:26:0::1;14044:4;14022:26:::0;;::::1;::::0;;;14059:8:::1;:22:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;14059:22:0::1;::::0;;::::1;::::0;;13761:328::o;16288:199::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16366:22:0;::::1;16358:31;;;::::0;::::1;;16434:11;::::0;16407:39:::1;::::0;;-1:-1:-1;;;;;7712:15:1;;;7694:34;;16434:11:0;;::::1;7759:2:1::0;7744:18;;7737:43;16407:39:0::1;::::0;7629:18:1;16407:39:0::1;;;;;;;16459:11;:20:::0;;-1:-1:-1;;;;;;16459:20:0::1;-1:-1:-1::0;;;;;16459:20:0;;;::::1;::::0;;;::::1;::::0;;16288:199::o;10368:195::-;-1:-1:-1;;;;;10458:19:0;;10434:7;10458:19;;;:10;:19;;;;;;;;10454:47;;;-1:-1:-1;;;;;;10486:15:0;;;;;:6;:15;;;;;;;10368:195::o;10454:47::-;-1:-1:-1;;;;;10539:15:0;;;;;;:6;:15;;;;;;10519:36;;:19;:36::i;1488:94::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;1553:21:::1;1571:1;1553:9;:21::i;:::-;1488:94::o:0;15835:244::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;15987:12:::1;::::0;15943:57:::1;::::0;;4457:25:1;;;4513:2;4498:18;;4491:34;;;;15943:57:0::1;::::0;4430:18:1;15943:57:0::1;;;;;;;16013:12;:30:::0;;;16056:15:::1;:13;:15::i;10074:89::-:0;10115:13;10148:7;10141:14;;;;;:::i;16087:193::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;16203:7:::1;::::0;16169:42:::1;::::0;;4457:25:1;;;4513:2;4498:18;;4491:34;;;;16169:42:0::1;::::0;4430:18:1;16169:42:0::1;;;;;;;16224:7;:20:::0;;;16257:15:::1;:13;:15::i;16856:375::-:0;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;16964:16:::1;16973:7;16964:6;:16;:::i;:::-;16955:6;:25;:55;;;;-1:-1:-1::0;16994:16:0::1;17003:7;16994:6;:16;:::i;:::-;16984:6;:26;;16955:55;16933:157;;;::::0;-1:-1:-1;;;16933:157:0;;7993:2:1;16933:157:0::1;::::0;::::1;7975:21:1::0;8032:2;8012:18;;;8005:30;8071:34;8051:18;;;8044:62;-1:-1:-1;;;8122:18:1;;;8115:50;8182:19;;16933:157:0::1;7791:416:1::0;16933:157:0::1;17142:29;::::0;17108:64:::1;::::0;;4457:25:1;;;4513:2;4498:18;;4491:34;;;;17108:64:0::1;::::0;4430:18:1;17108:64:0::1;;;;;;;17185:29;:38:::0;16856:375::o;11907:395::-;12027:4;12044:228;984:10;12094:7;12116:145;12173:15;12116:145;;;;;;;;;;;;;;;;;984:10;12116:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12116:34:0;;;;;;;;;;;;:38;:145::i;10571:194::-;10676:4;10693:42;984:10;10717:9;10728:6;10693:9;:42::i;16678:170::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;16756:21:::1;:31:::0;;;::::1;;-1:-1:-1::0;;;16756:31:0::1;-1:-1:-1::0;;;;16756:31:0;;::::1;;::::0;;16803:37:::1;::::0;::::1;::::0;::::1;::::0;16780:7;1373:14:1;1366:22;1348:41;;1336:2;1321:18;;1208:187;16803:37:0::1;;;;;;;;16678:170:::0;:::o;15522:111::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15591:26:0::1;15620:5;15591:26:::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;15591:34:0::1;::::0;;15522:111::o;1590:229::-;1311:7;1338:6;-1:-1:-1;;;;;1338:6:0;984:10;1400:23;1392:68;;;;-1:-1:-1;;;1392:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1693:22:0;::::1;1671:110;;;::::0;-1:-1:-1;;;1671:110:0;;8414:2:1;1671:110:0::1;::::0;::::1;8396:21:1::0;8453:2;8433:18;;;8426:30;8492:34;8472:18;;;8465:62;-1:-1:-1;;;8543:18:1;;;8536:36;8589:19;;1671:110:0::1;8212:402:1::0;1671:110:0::1;1792:19;1802:8;1792:9;:19::i;16495:175::-:0;16602:11;16591:7;;16576:12;;16567:6;;:21;;;;:::i;:::-;:31;;;;:::i;:::-;:46;;16545:117;;;;-1:-1:-1;;;16545:117:0;;8821:2:1;16545:117:0;;;8803:21:1;8860:2;8840:18;;;8833:30;-1:-1:-1;;;8879:18:1;;;8872:51;8940:18;;16545:117:0;8619:345:1;21821:379:0;-1:-1:-1;;;;;21950:21:0;;21942:70;;;;-1:-1:-1;;;21942:70:0;;9171:2:1;21942:70:0;;;9153:21:1;9210:2;9190:18;;;9183:30;9249:34;9229:18;;;9222:62;-1:-1:-1;;;9300:18:1;;;9293:34;9344:19;;21942:70:0;8969:400:1;21942:70:0;-1:-1:-1;;;;;22031:21:0;;22023:68;;;;-1:-1:-1;;;22023:68:0;;9576:2:1;22023:68:0;;;9558:21:1;9615:2;9595:18;;;9588:30;9654:34;9634:18;;;9627:62;-1:-1:-1;;;9705:18:1;;;9698:32;9747:19;;22023:68:0;9374:398:1;22023:68:0;-1:-1:-1;;;;;22104:20:0;;;;;;;:11;:20;;;;;;;;:29;;;;;;;;;;;;;:38;;;22158:34;;1546:25:1;;;22158:34:0;;1519:18:1;22158:34:0;;;;;;;21821:379;;;:::o;22208:911::-;-1:-1:-1;;;;;22296:18:0;;22288:68;;;;-1:-1:-1;;;22288:68:0;;9979:2:1;22288:68:0;;;9961:21:1;10018:2;9998:18;;;9991:30;10057:34;10037:18;;;10030:62;-1:-1:-1;;;10108:18:1;;;10101:35;10153:19;;22288:68:0;9777:401:1;22288:68:0;-1:-1:-1;;;;;22375:16:0;;22367:64;;;;-1:-1:-1;;;22367:64:0;;10385:2:1;22367:64:0;;;10367:21:1;10424:2;10404:18;;;10397:30;10463:34;10443:18;;;10436:62;-1:-1:-1;;;10514:18:1;;;10507:33;10557:19;;22367:64:0;10183:399:1;22367:64:0;22459:1;22450:6;:10;22442:64;;;;-1:-1:-1;;;22442:64:0;;10789:2:1;22442:64:0;;;10771:21:1;10828:2;10808:18;;;10801:30;10867:34;10847:18;;;10840:62;-1:-1:-1;;;10918:18:1;;;10911:39;10967:19;;22442:64:0;10587:405:1;22442:64:0;22519:28;22550:24;22568:4;22550:9;:24::i;:::-;22651:29;;22519:55;;-1:-1:-1;22614:66:0;;;;;;;22709:53;;-1:-1:-1;22746:16:0;;-1:-1:-1;;;22746:16:0;;;;22745:17;22709:53;:91;;;;;22787:13;-1:-1:-1;;;;;22779:21:0;:4;-1:-1:-1;;;;;22779:21:0;;;22709:91;:129;;;;-1:-1:-1;22817:21:0;;-1:-1:-1;;;22817:21:0;;;;22709:129;22691:289;;;22888:29;;22865:52;;22932:36;22947:20;22932:14;:36::i;:::-;-1:-1:-1;;;;;23008:23:0;;22992:12;23008:23;;;:17;:23;;;;;;;;23007:24;:50;;;;-1:-1:-1;;;;;;23036:21:0;;;;;;:17;:21;;;;;;;;23035:22;23007:50;22992:65;;23070:41;23085:4;23091:2;23095:6;23103:7;23070:14;:41::i;:::-;22277:842;;;22208:911;;;:::o;2031:240::-;2151:7;2212:12;2204:6;;;;2196:29;;;;-1:-1:-1;;;2196:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2247:5:0;;;2031:240::o;19006:161::-;19048:7;19069:15;19086;19105:19;:17;:19::i;:::-;19068:56;;-1:-1:-1;19068:56:0;-1:-1:-1;19142:17:0;19068:56;;19142:17;:::i;:::-;19135:24;;;;19006:161;:::o;17276:746::-;17378:7;17387;17396;17405;17414;17423;17432;17472:23;17510:12;17537:18;17570:13;17597:20;17609:7;17597:11;:20::i;:::-;17457:160;;;;;;;;17629:15;17646:23;17671:12;17687:133;17713:7;17735:4;17754:10;17779:5;17799:10;:8;:10::i;:::-;17687:11;:133::i;:::-;17628:192;;-1:-1:-1;17628:192:0;-1:-1:-1;17628:192:0;-1:-1:-1;17924:15:0;;-1:-1:-1;17954:4:0;;-1:-1:-1;17973:10:0;;-1:-1:-1;17998:5:0;-1:-1:-1;;;;17276:746:0;;;;;;;;;:::o;1827:173::-;1883:16;1902:6;;-1:-1:-1;;;;;1919:17:0;;;-1:-1:-1;;;;;;1919:17:0;;;;;;1952:40;;1902:6;;;;;;;1952:40;;1883:16;1952:40;1872:128;1827:173;:::o;23127:505::-;7527:16;:23;;-1:-1:-1;;;;7527:23:0;-1:-1:-1;;;7527:23:0;;;;23227:24:::1;23250:1;23227:20:::0;:24:::1;:::i;:::-;23212:39:::0;-1:-1:-1;23262:17:0::1;23282:27;23212:39:::0;23282:20;:27:::1;:::i;:::-;23262:47:::0;-1:-1:-1;23347:21:0::1;23381:22;23398:4:::0;23381:16:::1;:22::i;:::-;23416:18;23437:38;23461:14:::0;23437:21:::1;:38;:::i;:::-;23416:59;;23492:10;23506:1;23492:15:::0;23488:28:::1;;23509:7;;;;;;23488:28;23528:35;23541:9;23552:10;23528:12;:35::i;:::-;23581:43;::::0;;11199:25:1;;;11255:2;11240:18;;11233:34;;;11283:18;;;11276:34;;;23581:43:0::1;::::0;11187:2:1;11172:18;23581:43:0::1;;;;;;;23201:431;;;;7561:1;-1:-1:-1::0;7573:16:0;:24;;-1:-1:-1;;;;7573:24:0;;;23127:505::o;27932:830::-;28088:7;28083:28;;28097:14;21346:6;;;21329:14;:23;21386:12;;;21363:20;:35;21427:7;;;21409:15;:25;-1:-1:-1;21447:10:0;;;;21468:16;;;;21495:11;21286:228;28097:14;-1:-1:-1;;;;;28128:18:0;;;;;;:10;:18;;;;;;;;:44;;;;-1:-1:-1;;;;;;28151:21:0;;;;;;:10;:21;;;;;;;;28150:22;28128:44;28124:589;;;28189:48;28211:6;28219:9;28230:6;28189:21;:48::i;:::-;28124:589;;;-1:-1:-1;;;;;28260:18:0;;;;;;:10;:18;;;;;;;;28259:19;:44;;;;-1:-1:-1;;;;;;28282:21:0;;;;;;:10;:21;;;;;;;;28259:44;28255:458;;;28320:46;28340:6;28348:9;28359:6;28320:19;:46::i;28255:458::-;-1:-1:-1;;;;;28389:18:0;;;;;;:10;:18;;;;;;;;28388:19;:45;;;;-1:-1:-1;;;;;;28412:21:0;;;;;;:10;:21;;;;;;;;28411:22;28388:45;28384:329;;;28450:44;28468:6;28476:9;28487:6;28450:17;:44::i;28384:329::-;-1:-1:-1;;;;;28516:18:0;;;;;;:10;:18;;;;;;;;:43;;;;-1:-1:-1;;;;;;28538:21:0;;;;;;:10;:21;;;;;;;;28516:43;28512:201;;;28576:48;28598:6;28606:9;28617:6;28576:21;:48::i;28512:201::-;28657:44;28675:6;28683:9;28694:6;28657:17;:44::i;:::-;28730:7;28725:29;;28739:15;21575:14;;21566:6;:23;21615:20;;21600:12;:35;21656:15;;21646:7;:25;21522:157;28739:15;27932:830;;;;:::o;19175:547::-;19273:6;;19226:7;;;;19308:6;19226:7;19325:289;19349:8;:15;19345:19;;19325:289;;;19412:7;19390:6;:19;19397:8;19406:1;19397:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19397:11:0;19390:19;;;;;;;;;;;;;:29;;:62;;;19445:7;19423:6;:19;19430:8;19439:1;19430:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19430:11:0;19423:19;;;;;;;;;;;;;:29;19390:62;19386:108;;;-1:-1:-1;;19479:6:0;;;19487;;-1:-1:-1;19175:547:0;-1:-1:-1;;19175:547:0:o;19386:108::-;19529:6;:19;19536:8;19545:1;19536:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19536:11:0;19529:19;;;;;;;;;;;;;19519:29;;:7;:29;:::i;:::-;19509:39;;19583:6;:19;19590:8;19599:1;19590:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19590:11:0;19583:19;;;;;;;;;;;;;19573:29;;:7;:29;:::i;:::-;19563:39;-1:-1:-1;19366:3:0;;;;:::i;:::-;;;;19325:289;;;;19647:6;19638;;:15;;;;:::i;:::-;19628:7;:25;19624:54;;;-1:-1:-1;;19663:6:0;;;19671;;-1:-1:-1;19175:547:0;-1:-1:-1;19175:547:0:o;19624:54::-;19697:7;;19706;;-1:-1:-1;19175:547:0;-1:-1:-1;19175:547:0:o;18030:425::-;18106:7;18115;18124;18133;18153:12;18168:24;18184:7;18168:15;:24::i;:::-;18153:39;;18203:18;18224:30;18246:7;18224:21;:30::i;:::-;18203:51;;18265:16;18284:25;18301:7;18284:16;:25::i;:::-;18265:44;-1:-1:-1;18320:23:0;18265:44;18363:10;18346:14;18356:4;18346:7;:14;:::i;:::-;:27;;;;:::i;:::-;:38;;;;:::i;:::-;18320:64;18420:4;;-1:-1:-1;18426:10:0;;-1:-1:-1;18426:10:0;-1:-1:-1;18030:425:0;;-1:-1:-1;;;18030:425:0:o;18463:535::-;18645:7;;;;18701:21;18711:11;18701:7;:21;:::i;:::-;18683:39;-1:-1:-1;18733:12:0;18748:18;18755:11;18748:4;:18;:::i;:::-;18733:33;-1:-1:-1;18777:18:0;18798:24;18811:11;18798:10;:24;:::i;:::-;18777:45;-1:-1:-1;18833:13:0;18849:19;18857:11;18849:5;:19;:::i;:::-;18833:35;-1:-1:-1;18879:23:0;18833:35;18922:10;18905:14;18915:4;18905:7;:14;:::i;:::-;:27;;;;:::i;:::-;:35;;;;:::i;:::-;18959:7;;;;-1:-1:-1;18985:4:0;;-1:-1:-1;18463:535:0;;-1:-1:-1;;;;;;;;;18463:535:0:o;23640:2318::-;23730:16;;;23744:1;23730:16;;;;;;;;23706:21;;23730:16;;;;;;;;;;-1:-1:-1;23730:16:0;23706:40;;23775:4;23757;23762:1;23757:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;23757:23:0;;;-1:-1:-1;;;;;23757:23:0;;;;;23801:19;:17;:19::i;:::-;23791:4;23796:1;23791:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23791:29:0;;;:7;;;;;;;;;:29;23865:15;;23833:62;;23850:4;;23865:15;23883:11;23833:8;:62::i;:::-;23912:13;23929:2;23912:19;23908:2043;;23988:15;;:318;;-1:-1:-1;;;23988:318:0;;-1:-1:-1;;;;;23988:15:0;;;;:88;;:318;;24103:11;;23988:15;;24197:4;;24236;;24268:15;;23988:318;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23967:437;;24353:35;;1546:25:1;;;24353:35:0;;1534:2:1;1519:18;24353:35:0;;;;;;;;14241:319:::1;14097:470:::0;:::o;23908:2043::-;24425:13;24442:5;24425:22;24421:1530;;24506:15;;:319;;-1:-1:-1;;;24506:319:0;;-1:-1:-1;;;;;24506:15:0;;;;:89;;:319;;24622:11;;24506:15;;24716:4;;24755;;24787:15;;24506:319;;;:::i;24421:1530::-;24944:13;24961:5;24944:22;:48;;;;24970:13;24987:5;24970:22;24944:48;24940:1011;;;25054:15;;:319;;-1:-1:-1;;;25054:319:0;;-1:-1:-1;;;;;25054:15:0;;;;:89;;:319;;25170:11;;25054:15;;25264:4;;25303;;25335:15;;25054:319;;;:::i;24940:1011::-;25524:15;;:318;;-1:-1:-1;;;25524:318:0;;-1:-1:-1;;;;;25524:15:0;;;;:88;;:318;;25639:11;;25524:15;;25733:4;;25772;;25804:15;;25524:318;;;:::i;25966:1958::-;26079:15;;26047:62;;26064:4;;-1:-1:-1;;;;;26079:15:0;26097:11;26047:8;:62::i;:::-;26126:13;26143:2;26126:19;26122:1795;;26202:15;;:262;;-1:-1:-1;;;26202:262:0;;-1:-1:-1;;;;;26202:15:0;;;;:31;;26241:9;;26202:262;;26282:4;;26310:11;;26202:15;;;;26400:6;;26430:15;;26202:262;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26202:262:0;;;;;;;;-1:-1:-1;;26202:262:0;;;;;;;;;;;;:::i;:::-;;;26181:375;;26511:29;;1546:25:1;;;26511:29:0;;1534:2:1;1519:18;26511:29:0;1400:177:1;26181:375:0;;;;14241:319:::1;14097:470:::0;:::o;26122:1795::-;26577:13;26594:5;26577:22;26573:1344;;26658:15;;:263;;-1:-1:-1;;;26658:263:0;;-1:-1:-1;;;;;26658:15:0;;;;:32;;26698:9;;26658:263;;26739:4;;26767:11;;26658:15;;;;26857:6;;26887:15;;26658:263;;;:::i;26573:1344::-;27034:13;27051:5;27034:22;:48;;;;27060:13;27077:5;27060:22;27034:48;27030:887;;;27144:15;;:263;;-1:-1:-1;;;27144:263:0;;-1:-1:-1;;;;;27144:15:0;;;;:32;;27184:9;;27144:263;;27225:4;;27253:11;;27144:15;;;;27343:6;;27373:15;;27144:263;;;:::i;27030:887::-;27552:15;;:262;;-1:-1:-1;;;27552:262:0;;-1:-1:-1;;;;;27552:15:0;;;;:31;;27591:9;;27552:262;;27632:4;;27660:11;;27552:15;;;;27750:6;;27780:15;;27552:262;;;:::i;30250:753::-;30401:15;30431:23;30469:12;30496:23;30534:12;30561:18;30594:13;30621:19;30632:7;30621:10;:19::i;:::-;30386:254;;;;;;;;;;;;;;30685:7;30668:6;:14;30675:6;-1:-1:-1;;;;;30668:14:0;-1:-1:-1;;;;;30668:14:0;;;;;;;;;;;;;:24;;;;:::i;:::-;-1:-1:-1;;;;;30651:14:0;;;;;;:6;:14;;;;;;;;:41;;;;30720:6;:14;;;;:24;;30737:7;;30720:24;:::i;:::-;-1:-1:-1;;;;;30703:14:0;;;;;;;:6;:14;;;;;;:41;;;;30775:17;;;;;;;:35;;30795:15;;30775:35;:::i;:::-;-1:-1:-1;;;;;30755:17:0;;;;;;:6;:17;;;;;:55;30821:34;30836:6;30844:10;30821:14;:34::i;:::-;30866:27;30879:6;30887:5;30866:12;:27::i;:::-;30904:31;30916:6;30924:4;30930;30904:11;:31::i;:::-;30968:9;-1:-1:-1;;;;;30951:44:0;30960:6;-1:-1:-1;;;;;30951:44:0;;30979:15;30951:44;;;;1546:25:1;;1534:2;1519:18;;1400:177;30951:44:0;;;;;;;;30375:628;;;;;;;30250:753;;;:::o;29477:765::-;29626:15;29656:23;29694:12;29721:23;29759:12;29786:18;29819:13;29846:19;29857:7;29846:10;:19::i;:::-;29611:254;;;;;;;;;;;;;;29910:7;29893:6;:14;29900:6;-1:-1:-1;;;;;29893:14:0;-1:-1:-1;;;;;29893:14:0;;;;;;;;;;;;;:24;;;;:::i;:::-;-1:-1:-1;;;;;29876:14:0;;;;;;;:6;:14;;;;;;;;:41;;;;29948:17;;;;;:6;:17;;;;;:35;;29968:15;;29948:35;:::i;:::-;-1:-1:-1;;;;;29928:17:0;;;;;;:6;:17;;;;;;;;:55;;;;30014:6;:17;;;;:35;;30034:15;;30014:35;:::i;28770:699::-;28917:15;28947:23;28985:12;29012:23;29050:12;29077:18;29110:13;29137:19;29148:7;29137:10;:19::i;:::-;28902:254;;;;;;;;;;;;;;29201:7;29184:6;:14;29191:6;-1:-1:-1;;;;;29184:14:0;-1:-1:-1;;;;;29184:14:0;;;;;;;;;;;;;:24;;;;:::i;14575:819::-;14726:15;14756:23;14794:12;14821:23;14859:12;14886:18;14919:13;14946:19;14957:7;14946:10;:19::i;:::-;14711:254;;;;;;;;;;;;;;15010:7;14993:6;:14;15000:6;-1:-1:-1;;;;;14993:14:0;-1:-1:-1;;;;;14993:14:0;;;;;;;;;;;;;:24;;;;:::i;:::-;-1:-1:-1;;;;;14976:14:0;;;;;;:6;:14;;;;;;;;:41;;;;15045:6;:14;;;;:24;;15062:7;;15045:24;:::i;20851:127::-;20914:7;20962;20951:6;;20942;:15;;;;:::i;:::-;20941:29;;;;:::i;20986:155::-;21071:7;21125;21108:12;;21099:6;:21;;;;:::i;21149:129::-;21213:7;21262;21250;;21241:6;:16;;;;:::i;9366:607::-;9418:7;9442:13;9459:2;9442:19;9438:528;;9504:15;;;;;;;;;-1:-1:-1;;;;;9504:15:0;-1:-1:-1;;;;;9504:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9497:29;;9366:607;:::o;9438:528::-;9548:13;9565:3;9548:20;9544:422;;9618:15;;;;;;;;;-1:-1:-1;;;;;9618:15:0;-1:-1:-1;;;;;9618:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9544:422;9661:13;9678:5;9661:22;9657:309;;9728:15;;;;;;;;;-1:-1:-1;;;;;9728:15:0;-1:-1:-1;;;;;9728:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9657:309;9773:13;9790:5;9773:22;:48;;;;9799:13;9816:5;9799:22;9773:48;9769:197;;;9869:15;;;;;;;;;-1:-1:-1;;;;;9869:15:0;-1:-1:-1;;;;;9869:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9769:197;9932:15;;;;;;;;;-1:-1:-1;;;;;9932:15:0;-1:-1:-1;;;;;9932:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19730:460;19813:10;19827:1;19813:15;19809:28;;19730:460;;:::o;19809:28::-;19849:19;19871:10;:8;:10::i;:::-;19849:32;-1:-1:-1;19892:18:0;19913:24;19849:32;19913:10;:24;:::i;:::-;19987:4;19972:21;;;;:6;:21;;;;;;19892:45;;-1:-1:-1;19972:34:0;;19892:45;;19972:34;:::i;:::-;19963:4;19948:21;;;;:6;:21;;;;;;;;:58;;;;20023:10;:25;;;;;;20019:102;;;20102:4;20087:21;;;;:6;:21;;;;;;:34;;20111:10;;20087:34;:::i;:::-;20078:4;20063:21;;;;:6;:21;;;;;:58;20019:102;20139:43;;1546:25:1;;;20164:4:0;;-1:-1:-1;;;;;20139:43:0;;;;;1534:2:1;1519:18;20139:43:0;;;;;;;;19798:392;;19730:460;;:::o;20198:411::-;20274:5;20283:1;20274:10;20270:23;;20198:411;;:::o;20270:23::-;20305:19;20327:10;:8;:10::i;:::-;20305:32;-1:-1:-1;20348:13:0;20364:19;20305:32;20364:5;:19;:::i;:::-;20423:11;;-1:-1:-1;;;;;20423:11:0;20416:19;;;;:6;:19;;;;;;20348:35;;-1:-1:-1;20416:27:0;;20348:35;;20416:27;:::i;:::-;20401:11;;;-1:-1:-1;;;;;20401:11:0;;;20394:19;;;;:6;:19;;;;;;;;:49;;;;20471:11;;;;;20460:23;;:10;:23;;;;;;;20456:91;;;20527:11;;-1:-1:-1;;;;;20527:11:0;20520:19;;;;:6;:19;;;;;;:27;;20542:5;;20520:27;:::i;:::-;20505:11;;-1:-1:-1;;;;;20505:11:0;20498:19;;;;:6;:19;;;;;:49;20456:91;20582:11;;20565:36;;1546:25:1;;;-1:-1:-1;;;;;20582:11:0;;;;20565:36;;;;;1534:2:1;1519:18;20565:36:0;1400:177:1;20617:226:0;20705:4;20713:1;20705:9;20701:22;;20617:226;;;:::o;20701:22::-;20753:4;20744:6;;:13;;;;:::i;:::-;20735:6;:22;20780:9;;:16;;20792:4;;20780:16;:::i;:::-;20768:9;:28;20814:21;;;-1:-1:-1;;;;;13982:32:1;;13964:51;;14046:2;14031:18;;14024:34;;;20814:21:0;;13937:18:1;20814:21:0;;;;;;;20617:226;;;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;888:315;956:6;964;1017:2;1005:9;996:7;992:23;988:32;985:52;;;1033:1;1030;1023:12;985:52;1072:9;1059:23;1091:31;1116:5;1091:31;:::i;:::-;1141:5;1193:2;1178:18;;;;1165:32;;-1:-1:-1;;;888:315:1:o;2024:456::-;2101:6;2109;2117;2170:2;2158:9;2149:7;2145:23;2141:32;2138:52;;;2186:1;2183;2176:12;2138:52;2225:9;2212:23;2244:31;2269:5;2244:31;:::i;:::-;2294:5;-1:-1:-1;2351:2:1;2336:18;;2323:32;2364:33;2323:32;2364:33;:::i;:::-;2024:456;;2416:7;;-1:-1:-1;;;2470:2:1;2455:18;;;;2442:32;;2024:456::o;2674:247::-;2733:6;2786:2;2774:9;2765:7;2761:23;2757:32;2754:52;;;2802:1;2799;2792:12;2754:52;2841:9;2828:23;2860:31;2885:5;2860:31;:::i;2926:160::-;2991:20;;3047:13;;3040:21;3030:32;;3020:60;;3076:1;3073;3066:12;3020:60;2926:160;;;:::o;3091:248::-;3156:6;3164;3217:2;3205:9;3196:7;3192:23;3188:32;3185:52;;;3233:1;3230;3223:12;3185:52;3269:9;3256:23;3246:33;;3298:35;3329:2;3318:9;3314:18;3298:35;:::i;:::-;3288:45;;3091:248;;;;;:::o;3344:180::-;3400:6;3453:2;3441:9;3432:7;3428:23;3424:32;3421:52;;;3469:1;3466;3459:12;3421:52;3492:26;3508:9;3492:26;:::i;3529:388::-;3597:6;3605;3658:2;3646:9;3637:7;3633:23;3629:32;3626:52;;;3674:1;3671;3664:12;3626:52;3713:9;3700:23;3732:31;3757:5;3732:31;:::i;:::-;3782:5;-1:-1:-1;3839:2:1;3824:18;;3811:32;3852:33;3811:32;3852:33;:::i;:::-;3904:7;3894:17;;;3529:388;;;;;:::o;3922:356::-;4124:2;4106:21;;;4143:18;;;4136:30;4202:34;4197:2;4182:18;;4175:62;4269:2;4254:18;;3922:356::o;4536:380::-;4615:1;4611:12;;;;4658;;;4679:61;;4733:4;4725:6;4721:17;4711:27;;4679:61;4786:2;4778:6;4775:14;4755:18;4752:38;4749:161;;4832:10;4827:3;4823:20;4820:1;4813:31;4867:4;4864:1;4857:15;4895:4;4892:1;4885:15;4749:161;;4536:380;;;:::o;5332:127::-;5393:10;5388:3;5384:20;5381:1;5374:31;5424:4;5421:1;5414:15;5448:4;5445:1;5438:15;5464:217;5504:1;5530;5520:132;;5574:10;5569:3;5565:20;5562:1;5555:31;5609:4;5606:1;5599:15;5637:4;5634:1;5627:15;5520:132;-1:-1:-1;5666:9:1;;5464:217::o;6042:127::-;6103:10;6098:3;6094:20;6091:1;6084:31;6134:4;6131:1;6124:15;6158:4;6155:1;6148:15;6174:128;6241:9;;;6262:11;;;6259:37;;;6276:18;;:::i;6307:127::-;6368:10;6363:3;6359:20;6356:1;6349:31;6399:4;6396:1;6389:15;6423:4;6420:1;6413:15;6439:135;6478:3;6499:17;;;6496:43;;6519:18;;:::i;:::-;-1:-1:-1;6566:1:1;6555:13;;6439:135::o;6579:125::-;6644:9;;;6665:10;;;6662:36;;;6678:18;;:::i;11321:168::-;11361:7;11427:1;11423;11419:6;11415:14;11412:1;11409:21;11404:1;11397:9;11390:17;11386:45;11383:71;;;11434:18;;:::i;:::-;-1:-1:-1;11474:9:1;;11321:168::o;11626:980::-;11888:4;11936:3;11925:9;11921:19;11967:6;11956:9;11949:25;11993:2;12031:6;12026:2;12015:9;12011:18;12004:34;12074:3;12069:2;12058:9;12054:18;12047:31;12098:6;12133;12127:13;12164:6;12156;12149:22;12202:3;12191:9;12187:19;12180:26;;12241:2;12233:6;12229:15;12215:29;;12262:1;12272:195;12286:6;12283:1;12280:13;12272:195;;;12351:13;;-1:-1:-1;;;;;12347:39:1;12335:52;;12442:15;;;;12407:12;;;;12383:1;12301:9;12272:195;;;-1:-1:-1;;;;;;;12523:32:1;;;;12518:2;12503:18;;12496:60;-1:-1:-1;;;12587:3:1;12572:19;12565:35;12484:3;11626:980;-1:-1:-1;;;11626:980:1:o;12611:607::-;-1:-1:-1;;;;;12970:15:1;;;12952:34;;13017:2;13002:18;;12995:34;;;;13060:2;13045:18;;13038:34;;;;13103:2;13088:18;;13081:34;;;;13152:15;;;13146:3;13131:19;;13124:44;12932:3;13184:19;;13177:35;;;;12901:3;12886:19;;12611:607::o;13223:306::-;13311:6;13319;13327;13380:2;13368:9;13359:7;13355:23;13351:32;13348:52;;;13396:1;13393;13386:12;13348:52;13425:9;13419:16;13409:26;;13475:2;13464:9;13460:18;13454:25;13444:35;;13519:2;13508:9;13504:18;13498:25;13488:35;;13223:306;;;;;:::o;13534:251::-;13604:6;13657:2;13645:9;13636:7;13632:23;13628:32;13625:52;;;13673:1;13670;13663:12;13625:52;13705:9;13699:16;13724:31;13749:5;13724:31;:::i
Swarm Source
ipfs://f5486e0305bdf3aee2a0704d2341b53aed0e7019ef71d492518767c7719dc849
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.