ERC-20
Overview
Max Total Supply
1,000,000,000 HANUMAN
Holders
35
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.62223799152801783 HANUMANValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TARIKECAK
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-11 */ /* keh-chack kita akan atasi https://twitter.com/HanumanKecak https://t.me/HanumanKecak */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } pragma solidity >=0.6.2; interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract TARIKECAK is ERC20, Ownable { uint256 private constant PERCENT_DENOMENATOR = 1000; address private constant DEAD = address(0xdead); uint64 public deadblocks = 1; bool private _addingLP; address private _lpReceiver; address private _marketingWallet; mapping(address => bool) private _isTaxExcluded; mapping(address => bool) private _isLimitless; uint256 public taxLp = (PERCENT_DENOMENATOR * 2) / 100; uint256 public taxDev = (PERCENT_DENOMENATOR * 6) / 100; uint256 public maxTx = (PERCENT_DENOMENATOR * 1) / 100; uint256 public maxWallet = (PERCENT_DENOMENATOR * 1) / 100; bool public enableLimits = true; uint256 private _totalTax; bool private _taxesOff; uint256 private _liquifyRate = (PERCENT_DENOMENATOR * 1) / 100; uint256 public launchTime; uint256 private _launchBlock; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping(address => bool) private _isBot; bool private _swapEnabled = true; bool private _swapping = false; modifier swapLock() { _swapping = true; _; _swapping = false; } constructor() ERC20('Tari Kecak', 'HANUMAN') { _mint(address(this), 1_000_000_000 * 10 ** 18); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); _marketingWallet = address(0xf98Da128e8eF2a54Dc05544d32a03626a3F4cd59); uniswapV2Router = _uniswapV2Router; _setTotalTax(); _lpReceiver = msg.sender; _isTaxExcluded[address(this)] = true; _isTaxExcluded[msg.sender] = true; _isLimitless[address(this)] = true; _isLimitless[msg.sender] = true; } function meditate(uint16 _percent) external payable onlyOwner { require(_percent <= PERCENT_DENOMENATOR, 'must be between 0-100%'); require(launchTime == 0, 'already launched'); require(_percent == 0 || msg.value > 0, 'need ETH for initial LP'); deadblocks = 0; _addingLP = true; uint256 _lpSupply = (totalSupply() * _percent) / PERCENT_DENOMENATOR; uint256 _leftover = totalSupply() - _lpSupply; if (_lpSupply > 0) { _addLp(_lpSupply, msg.value); } if (_leftover > 0) { _transfer(address(this), owner(), _leftover); } launchTime = block.timestamp; _launchBlock = block.number; _addingLP = false; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual override { bool _isOwner = sender == owner() || recipient == owner(); uint256 contractTokenBalance = balanceOf(address(this)); bool _isBuy = sender == uniswapV2Pair && recipient != address(uniswapV2Router); bool _isSell = recipient == uniswapV2Pair; bool _isSwap = _isBuy || _isSell; if (_isSwap && enableLimits) { bool _skipCheck = _addingLP || _isLimitless[recipient] || _isLimitless[sender]; uint256 _maxTx = totalSupply() * maxTx / PERCENT_DENOMENATOR; require(_maxTx >= amount || _skipCheck, "Tx amount exceed limit"); if (_isBuy) { uint256 _maxWallet = totalSupply() * maxWallet / PERCENT_DENOMENATOR; require(_maxWallet >= balanceOf(recipient) + amount || _skipCheck, "Total amount exceed wallet limit"); } } if (_isBuy) { if (block.number <= _launchBlock + deadblocks) { _isBot[recipient] = true; } } else { require(!_isBot[recipient], 'Stop botting!'); require(!_isBot[sender], 'Stop botting!'); require(!_isBot[_msgSender()], 'Stop botting!'); } uint256 _minSwap = (balanceOf(uniswapV2Pair) * _liquifyRate) / PERCENT_DENOMENATOR; bool _overMin = contractTokenBalance >= _minSwap; if (_swapEnabled && !_swapping && !_isOwner && _overMin && launchTime != 0 && sender != uniswapV2Pair) { _swap(_minSwap); } uint256 tax = 0; if (launchTime != 0 && _isSwap && !_taxesOff && !(_isTaxExcluded[sender] || _isTaxExcluded[recipient])) { tax = (amount * _totalTax) / PERCENT_DENOMENATOR; if (tax > 0) { super._transfer(sender, address(this), tax); } } super._transfer(sender, recipient, amount - tax); } function _swap(uint256 _amountToSwap) private swapLock { uint256 balBefore = address(this).balance; uint256 liquidityTokens = (_amountToSwap * taxLp) / _totalTax / 2; uint256 tokensToSwap = _amountToSwap - liquidityTokens; _swapTokensForEth(tokensToSwap); uint256 balToProcess = address(this).balance - balBefore; if (balToProcess > 0) { _processFees(balToProcess, liquidityTokens); } } function _swapTokensForEth(uint256 tokensToSwap) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokensToSwap); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokensToSwap, 0, path, address(this), block.timestamp ); } function _addLp(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value : ethAmount}( address(this), tokenAmount, 0, 0, _lpReceiver, block.timestamp ); } receive() external payable {} function _processFees(uint256 amountETH, uint256 amountLpTokens) private { uint256 lpETH = (amountETH * taxLp) / _totalTax; if (amountLpTokens > 0) { _addLp(amountLpTokens, lpETH); } payable(_marketingWallet).transfer(address(this).balance); } function isBotBlacklisted(address account) external view returns (bool) { return _isBot[account]; } function blacklistBot(address account) external onlyOwner { require(account != address(uniswapV2Router), 'cannot blacklist router'); require(account != uniswapV2Pair, 'cannot blacklist pair'); require(!_isBot[account], 'user is already blacklisted'); _isBot[account] = true; } function forgiveBot(address account) external onlyOwner { require(_isBot[account], 'user is not blacklisted'); _isBot[account] = false; } function _setTotalTax() private { _totalTax = taxLp + taxDev; require(_totalTax <= (PERCENT_DENOMENATOR * 25) / 100, 'tax cannot be above 25%'); } function setTaxLp(uint256 _tax) external onlyOwner { taxLp = _tax; _setTotalTax(); } function setMaxWallet(uint256 _maxWallet) external onlyOwner { require(_maxWallet >= 10, 'max wallet cannot be below 0.1%'); maxWallet = _maxWallet; } function setMaxTx(uint256 _maxTx) external onlyOwner { require(_maxTx >= 10, 'max tx cannot be below 0.1%'); maxTx = _maxTx; } function setTaxBuyer(uint256 _tax) external onlyOwner { taxDev = _tax; _setTotalTax(); } function setLpReceiver(address _wallet) external onlyOwner { _lpReceiver = _wallet; } function setEnableLimits(bool _enable) external onlyOwner { enableLimits = _enable; } function setLiquifyRate(uint256 _rate) external onlyOwner { require(_rate <= PERCENT_DENOMENATOR / 10, 'cannot be more than 10%'); _liquifyRate = _rate; } function setIsTaxExcluded(address _wallet, bool _isExcluded) external onlyOwner { _isTaxExcluded[_wallet] = _isExcluded; } function setTaxesOff(bool _areOff) external onlyOwner { _taxesOff = _areOff; } function setSwapEnabled(bool _enabled) external onlyOwner { _swapEnabled = _enabled; } function forceSwap() external onlyOwner { _swapTokensForEth(balanceOf(address(this))); (bool success,) = address(_marketingWallet).call{value : address(this).balance}(""); } function forceSend() external onlyOwner { (bool success,) = address(_marketingWallet).call{value : address(this).balance}(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"blacklistBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadblocks","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"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":[],"name":"enableLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"forceSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"forgiveBot","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":"isBotBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_percent","type":"uint16"}],"name":"meditate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"setEnableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"bool","name":"_isExcluded","type":"bool"}],"name":"setIsTaxExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setLiquifyRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"setLpReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"setTaxBuyer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"setTaxLp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_areOff","type":"bool"}],"name":"setTaxesOff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxLp","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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
608060405260058054600160a01b600160e01b031916600160a01b17905560646200002e6103e8600262000590565b6200003a9190620005b2565b600a5560646200004e6103e8600662000590565b6200005a9190620005b2565b600b5560646200006e6103e8600162000590565b6200007a9190620005b2565b600c5560646200008e6103e8600162000590565b6200009a9190620005b2565b600d55600e805460ff19166001908117909155606490620000bf906103e89062000590565b620000cb9190620005b2565b6011556017805461ffff19166001179055348015620000e957600080fd5b506040518060400160405280600a81526020016954617269204b6563616b60b01b815250604051806040016040528060078152602001662420a72aa6a0a760c91b81525081600390816200013e919062000679565b5060046200014d828262000679565b5050506200016a62000164620003af60201b60201c565b620003b3565b62000182306b033b2e3c9fd0803ce800000062000405565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000200919062000745565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000274919062000745565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e8919062000745565b601580546001600160a01b039283166001600160a01b03199182161790915560078054821673f98da128e8ef2a54dc05544d32a03626a3f4cd59179055601480549284169290911691909117905562000340620004ee565b50600680546001600160a01b03191633908117909155306000818152600860209081526040808320805460ff1990811660019081179092558685528285208054821683179055948452600990925280832080548516831790559382529290208054909116909117905562000793565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620004615760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b806002600082825462000475919062000777565b90915550506001600160a01b03821660009081526020819052604081208054839290620004a490849062000777565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600b54600a5462000500919062000777565b600f556064620005146103e8601962000590565b620005209190620005b2565b600f541115620005735760405162461bcd60e51b815260206004820152601760248201527f7461782063616e6e6f742062652061626f766520323525000000000000000000604482015260640162000458565b565b505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620005ad57620005ad6200057a565b500290565b600082620005d057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200060057607f821691505b6020821081036200062157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200057557600081815260208120601f850160051c81016020861015620006505750805b601f850160051c820191505b8181101562000671578281556001016200065c565b505050505050565b81516001600160401b03811115620006955762000695620005d5565b620006ad81620006a68454620005eb565b8462000627565b602080601f831160018114620006e55760008415620006cc5750858301515b600019600386901b1c1916600185901b17855562000671565b600085815260208120601f198616915b828110156200071657888601518255948401946001909101908401620006f5565b5085821015620007355787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200075857600080fd5b81516001600160a01b03811681146200077057600080fd5b9392505050565b808201808211156200078d576200078d6200057a565b92915050565b611f3480620007a36000396000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063ad8f3467116100ab578063df778d261161006f578063df778d261461069e578063e01af92c146106b3578063f2fde38b146106d3578063f8b45b05146106f3578063fbeedd881461070957600080fd5b8063ad8f3467146105fe578063bc3371821461061e578063d0a51cc11461063e578063d6594eda1461065e578063dd62ed3e1461067e57600080fd5b8063929c0ca8116100f2578063929c0ca81461058057806395d89b4114610596578063a457c2d7146105ab578063a9059cbb146105cb578063a90978fc146105eb57600080fd5b806370a08231146104eb578063715018a6146105215780637437681e14610536578063790ca4131461054c5780638da5cb5b1461056257600080fd5b806318160ddd116101bc5780633a82fecb116101805780633a82fecb1461043a57806349bd5a5e1461045057806350c9a88f146104705780635d0044ca146104b15780636902ca61146104d157600080fd5b806318160ddd1461039f57806323b872dd146103be578063313ce567146103de5780633859d036146103fa578063395093511461041a57600080fd5b8063095ea7b311610203578063095ea7b3146102f257806312b77e8a14610312578063134f9c8d1461032757806314ea796d146103475780631694505e1461036757600080fd5b8063045494f41461024057806305cb48931461026257806306fdde03146102b057806308aad1f1146102d257600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061026061025b366004611b94565b610729565b005b34801561026e57600080fd5b5061029b61027d366004611bcb565b6001600160a01b031660009081526016602052604090205460ff1690565b60405190151581526020015b60405180910390f35b3480156102bc57600080fd5b506102c5610744565b6040516102a79190611be8565b3480156102de57600080fd5b506102606102ed366004611bcb565b6107d6565b3480156102fe57600080fd5b5061029b61030d366004611c36565b610924565b34801561031e57600080fd5b5061026061093e565b34801561033357600080fd5b50610260610342366004611bcb565b61099e565b34801561035357600080fd5b50610260610362366004611b94565b610a2f565b34801561037357600080fd5b50601454610387906001600160a01b031681565b6040516001600160a01b0390911681526020016102a7565b3480156103ab57600080fd5b506002545b6040519081526020016102a7565b3480156103ca57600080fd5b5061029b6103d9366004611c62565b610a4a565b3480156103ea57600080fd5b50604051601281526020016102a7565b34801561040657600080fd5b50610260610415366004611ca3565b610a6e565b34801561042657600080fd5b5061029b610435366004611c36565b610a86565b34801561044657600080fd5b506103b0600a5481565b34801561045c57600080fd5b50601554610387906001600160a01b031681565b34801561047c57600080fd5b5060055461049890600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102a7565b3480156104bd57600080fd5b506102606104cc366004611ca3565b610aa8565b3480156104dd57600080fd5b50600e5461029b9060ff1681565b3480156104f757600080fd5b506103b0610506366004611bcb565b6001600160a01b031660009081526020819052604090205490565b34801561052d57600080fd5b50610260610b06565b34801561054257600080fd5b506103b0600c5481565b34801561055857600080fd5b506103b060125481565b34801561056e57600080fd5b506005546001600160a01b0316610387565b34801561058c57600080fd5b506103b0600b5481565b3480156105a257600080fd5b506102c5610b1a565b3480156105b757600080fd5b5061029b6105c6366004611c36565b610b29565b3480156105d757600080fd5b5061029b6105e6366004611c36565b610ba4565b6102606105f9366004611cbc565b610bb2565b34801561060a57600080fd5b50610260610619366004611bcb565b610d51565b34801561062a57600080fd5b50610260610639366004611ca3565b610d7b565b34801561064a57600080fd5b50610260610659366004611ca3565b610dd9565b34801561066a57600080fd5b50610260610679366004611ca3565b610dee565b34801561068a57600080fd5b506103b0610699366004611ce0565b610e57565b3480156106aa57600080fd5b50610260610e82565b3480156106bf57600080fd5b506102606106ce366004611b94565b610ea3565b3480156106df57600080fd5b506102606106ee366004611bcb565b610ebe565b3480156106ff57600080fd5b506103b0600d5481565b34801561071557600080fd5b50610260610724366004611d19565b610f34565b610731610f67565b600e805460ff1916911515919091179055565b60606003805461075390611d4e565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90611d4e565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b6107de610f67565b6014546001600160a01b03908116908216036108415760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f7420626c61636b6c69737420726f7574657200000000000000000060448201526064015b60405180910390fd5b6015546001600160a01b03908116908216036108975760405162461bcd60e51b815260206004820152601560248201527431b0b73737ba10313630b1b5b634b9ba103830b4b960591b6044820152606401610838565b6001600160a01b03811660009081526016602052604090205460ff16156109005760405162461bcd60e51b815260206004820152601b60248201527f7573657220697320616c726561647920626c61636b6c697374656400000000006044820152606401610838565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b600033610932818585610fc1565b60019150505b92915050565b610946610f67565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610993576040519150601f19603f3d011682016040523d82523d6000602084013e610998565b606091505b50505050565b6109a6610f67565b6001600160a01b03811660009081526016602052604090205460ff16610a0e5760405162461bcd60e51b815260206004820152601760248201527f75736572206973206e6f7420626c61636b6c69737465640000000000000000006044820152606401610838565b6001600160a01b03166000908152601660205260409020805460ff19169055565b610a37610f67565b6010805460ff1916911515919091179055565b600033610a588582856110e5565b610a63858585611159565b506001949350505050565b610a76610f67565b600b819055610a836115e7565b50565b600033610932818585610a998383610e57565b610aa39190611d9e565b610fc1565b610ab0610f67565b600a811015610b015760405162461bcd60e51b815260206004820152601f60248201527f6d61782077616c6c65742063616e6e6f742062652062656c6f7720302e3125006044820152606401610838565b600d55565b610b0e610f67565b610b186000611664565b565b60606004805461075390611d4e565b60003381610b378286610e57565b905083811015610b975760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610838565b610a638286868403610fc1565b600033610932818585611159565b610bba610f67565b6103e88161ffff161115610c095760405162461bcd60e51b81526020600482015260166024820152756d757374206265206265747765656e20302d3130302560501b6044820152606401610838565b60125415610c4c5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481b185d5b98da195960821b6044820152606401610838565b61ffff81161580610c5d5750600034115b610ca95760405162461bcd60e51b815260206004820152601760248201527f6e6565642045544820666f7220696e697469616c204c500000000000000000006044820152606401610838565b6005805468ffffffffffffffffff60a01b1916600160e01b17905560006103e861ffff8316610cd760025490565b610ce19190611db1565b610ceb9190611dd0565b9050600081610cf960025490565b610d039190611df2565b90508115610d1557610d1582346116b6565b8015610d3757610d3730610d316005546001600160a01b031690565b83611159565b50504260125550436013556005805460ff60e01b19169055565b610d59610f67565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610d83610f67565b600a811015610dd45760405162461bcd60e51b815260206004820152601b60248201527f6d61782074782063616e6e6f742062652062656c6f7720302e312500000000006044820152606401610838565b600c55565b610de1610f67565b600a819055610a836115e7565b610df6610f67565b610e03600a6103e8611dd0565b811115610e525760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f74206265206d6f7265207468616e203130250000000000000000006044820152606401610838565b601155565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610e8a610f67565b306000908152602081905260409020546109469061176a565b610eab610f67565b6017805460ff1916911515919091179055565b610ec6610f67565b6001600160a01b038116610f2b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610838565b610a8381611664565b610f3c610f67565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610b185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610838565b6001600160a01b0383166110235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610838565b6001600160a01b0382166110845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610838565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006110f18484610e57565b90506000198114610998578181101561114c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610838565b6109988484848403610fc1565b600061116d6005546001600160a01b031690565b6001600160a01b0316846001600160a01b0316148061119957506005546001600160a01b038481169116145b30600090815260208190526040812054601554929350916001600160a01b0387811691161480156111d857506014546001600160a01b03868116911614155b6015549091506001600160a01b03868116911614600082806111f75750815b90508080156112085750600e5460ff165b1561139057600554600090600160e01b900460ff168061124057506001600160a01b03881660009081526009602052604090205460ff165b8061126357506001600160a01b03891660009081526009602052604090205460ff165b905060006103e8600c5461127660025490565b6112809190611db1565b61128a9190611dd0565b905087811015806112985750815b6112dd5760405162461bcd60e51b8152602060048201526016602482015275151e08185b5bdd5b9d08195e18d95959081b1a5b5a5d60521b6044820152606401610838565b841561138d5760006103e8600d546112f460025490565b6112fe9190611db1565b6113089190611dd0565b90508861132a8b6001600160a01b031660009081526020819052604090205490565b6113349190611d9e565b8110158061133f5750825b61138b5760405162461bcd60e51b815260206004820181905260248201527f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d69746044820152606401610838565b505b50505b82156113e6576005546013546113b791600160a01b900467ffffffffffffffff1690611d9e565b43116113e1576001600160a01b0387166000908152601660205260409020805460ff191660011790555b611488565b6001600160a01b03871660009081526016602052604090205460ff161561141f5760405162461bcd60e51b815260040161083890611e05565b6001600160a01b03881660009081526016602052604090205460ff16156114585760405162461bcd60e51b815260040161083890611e05565b3360009081526016602052604090205460ff16156114885760405162461bcd60e51b815260040161083890611e05565b6011546015546001600160a01b031660009081526020819052604081205490916103e8916114b69190611db1565b6114c09190611dd0565b601754909150818610159060ff1680156114e25750601754610100900460ff16155b80156114ec575086155b80156114f55750805b8015611502575060125415155b801561151c57506015546001600160a01b038b8116911614155b1561152a5761152a826118c4565b600060125460001415801561153c5750835b801561154b575060105460ff16155b801561159357506001600160a01b038b1660009081526008602052604090205460ff168061159157506001600160a01b038a1660009081526008602052604090205460ff165b155b156115c6576103e8600f548a6115a99190611db1565b6115b39190611dd0565b905080156115c6576115c68b3083611949565b6115da8b8b6115d5848d611df2565b611949565b5050505050505050505050565b600b54600a546115f79190611d9e565b600f5560646116096103e86019611db1565b6116139190611dd0565b600f541115610b185760405162461bcd60e51b815260206004820152601760248201527f7461782063616e6e6f742062652061626f7665203235250000000000000000006044820152606401610838565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6014546116ce9030906001600160a01b031684610fc1565b60145460065460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561173e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117639190611e2c565b5050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061179f5761179f611e5a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190611e70565b8160018151811061182f5761182f611e5a565b6001600160a01b0392831660209182029290920101526014546118559130911684610fc1565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061188e908590600090869030904290600401611e8d565b600060405180830381600087803b1580156118a857600080fd5b505af11580156118bc573d6000803e3d6000fd5b505050505050565b6017805461ff001916610100179055600f54600a544791600091600291906118ec9086611db1565b6118f69190611dd0565b6119009190611dd0565b9050600061190e8285611df2565b90506119198161176a565b60006119258447611df2565b90508015611937576119378184611b17565b50506017805461ff0019169055505050565b6001600160a01b0383166119ad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610838565b6001600160a01b038216611a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610838565b6001600160a01b03831660009081526020819052604090205481811015611a875760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610838565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611abe908490611d9e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b0a91815260200190565b60405180910390a3610998565b6000600f54600a5484611b2a9190611db1565b611b349190611dd0565b90508115611b4657611b4682826116b6565b6007546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610998573d6000803e3d6000fd5b80358015158114611b8f57600080fd5b919050565b600060208284031215611ba657600080fd5b611baf82611b7f565b9392505050565b6001600160a01b0381168114610a8357600080fd5b600060208284031215611bdd57600080fd5b8135611baf81611bb6565b600060208083528351808285015260005b81811015611c1557858101830151858201604001528201611bf9565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611c4957600080fd5b8235611c5481611bb6565b946020939093013593505050565b600080600060608486031215611c7757600080fd5b8335611c8281611bb6565b92506020840135611c9281611bb6565b929592945050506040919091013590565b600060208284031215611cb557600080fd5b5035919050565b600060208284031215611cce57600080fd5b813561ffff81168114611baf57600080fd5b60008060408385031215611cf357600080fd5b8235611cfe81611bb6565b91506020830135611d0e81611bb6565b809150509250929050565b60008060408385031215611d2c57600080fd5b8235611d3781611bb6565b9150611d4560208401611b7f565b90509250929050565b600181811c90821680611d6257607f821691505b602082108103611d8257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561093857610938611d88565b6000816000190483118215151615611dcb57611dcb611d88565b500290565b600082611ded57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561093857610938611d88565b6020808252600d908201526c53746f7020626f7474696e672160981b604082015260600190565b600080600060608486031215611e4157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e8257600080fd5b8151611baf81611bb6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611edd5784516001600160a01b031683529383019391830191600101611eb8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220252e34bade374dc96fcbd146f7f234cb5fe2c89056efd15484dd9ab13e3e2c7564736f6c63430008100033
Deployed Bytecode
0x6080604052600436106102345760003560e01c806370a082311161012e578063ad8f3467116100ab578063df778d261161006f578063df778d261461069e578063e01af92c146106b3578063f2fde38b146106d3578063f8b45b05146106f3578063fbeedd881461070957600080fd5b8063ad8f3467146105fe578063bc3371821461061e578063d0a51cc11461063e578063d6594eda1461065e578063dd62ed3e1461067e57600080fd5b8063929c0ca8116100f2578063929c0ca81461058057806395d89b4114610596578063a457c2d7146105ab578063a9059cbb146105cb578063a90978fc146105eb57600080fd5b806370a08231146104eb578063715018a6146105215780637437681e14610536578063790ca4131461054c5780638da5cb5b1461056257600080fd5b806318160ddd116101bc5780633a82fecb116101805780633a82fecb1461043a57806349bd5a5e1461045057806350c9a88f146104705780635d0044ca146104b15780636902ca61146104d157600080fd5b806318160ddd1461039f57806323b872dd146103be578063313ce567146103de5780633859d036146103fa578063395093511461041a57600080fd5b8063095ea7b311610203578063095ea7b3146102f257806312b77e8a14610312578063134f9c8d1461032757806314ea796d146103475780631694505e1461036757600080fd5b8063045494f41461024057806305cb48931461026257806306fdde03146102b057806308aad1f1146102d257600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061026061025b366004611b94565b610729565b005b34801561026e57600080fd5b5061029b61027d366004611bcb565b6001600160a01b031660009081526016602052604090205460ff1690565b60405190151581526020015b60405180910390f35b3480156102bc57600080fd5b506102c5610744565b6040516102a79190611be8565b3480156102de57600080fd5b506102606102ed366004611bcb565b6107d6565b3480156102fe57600080fd5b5061029b61030d366004611c36565b610924565b34801561031e57600080fd5b5061026061093e565b34801561033357600080fd5b50610260610342366004611bcb565b61099e565b34801561035357600080fd5b50610260610362366004611b94565b610a2f565b34801561037357600080fd5b50601454610387906001600160a01b031681565b6040516001600160a01b0390911681526020016102a7565b3480156103ab57600080fd5b506002545b6040519081526020016102a7565b3480156103ca57600080fd5b5061029b6103d9366004611c62565b610a4a565b3480156103ea57600080fd5b50604051601281526020016102a7565b34801561040657600080fd5b50610260610415366004611ca3565b610a6e565b34801561042657600080fd5b5061029b610435366004611c36565b610a86565b34801561044657600080fd5b506103b0600a5481565b34801561045c57600080fd5b50601554610387906001600160a01b031681565b34801561047c57600080fd5b5060055461049890600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102a7565b3480156104bd57600080fd5b506102606104cc366004611ca3565b610aa8565b3480156104dd57600080fd5b50600e5461029b9060ff1681565b3480156104f757600080fd5b506103b0610506366004611bcb565b6001600160a01b031660009081526020819052604090205490565b34801561052d57600080fd5b50610260610b06565b34801561054257600080fd5b506103b0600c5481565b34801561055857600080fd5b506103b060125481565b34801561056e57600080fd5b506005546001600160a01b0316610387565b34801561058c57600080fd5b506103b0600b5481565b3480156105a257600080fd5b506102c5610b1a565b3480156105b757600080fd5b5061029b6105c6366004611c36565b610b29565b3480156105d757600080fd5b5061029b6105e6366004611c36565b610ba4565b6102606105f9366004611cbc565b610bb2565b34801561060a57600080fd5b50610260610619366004611bcb565b610d51565b34801561062a57600080fd5b50610260610639366004611ca3565b610d7b565b34801561064a57600080fd5b50610260610659366004611ca3565b610dd9565b34801561066a57600080fd5b50610260610679366004611ca3565b610dee565b34801561068a57600080fd5b506103b0610699366004611ce0565b610e57565b3480156106aa57600080fd5b50610260610e82565b3480156106bf57600080fd5b506102606106ce366004611b94565b610ea3565b3480156106df57600080fd5b506102606106ee366004611bcb565b610ebe565b3480156106ff57600080fd5b506103b0600d5481565b34801561071557600080fd5b50610260610724366004611d19565b610f34565b610731610f67565b600e805460ff1916911515919091179055565b60606003805461075390611d4e565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90611d4e565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b6107de610f67565b6014546001600160a01b03908116908216036108415760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f7420626c61636b6c69737420726f7574657200000000000000000060448201526064015b60405180910390fd5b6015546001600160a01b03908116908216036108975760405162461bcd60e51b815260206004820152601560248201527431b0b73737ba10313630b1b5b634b9ba103830b4b960591b6044820152606401610838565b6001600160a01b03811660009081526016602052604090205460ff16156109005760405162461bcd60e51b815260206004820152601b60248201527f7573657220697320616c726561647920626c61636b6c697374656400000000006044820152606401610838565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b600033610932818585610fc1565b60019150505b92915050565b610946610f67565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610993576040519150601f19603f3d011682016040523d82523d6000602084013e610998565b606091505b50505050565b6109a6610f67565b6001600160a01b03811660009081526016602052604090205460ff16610a0e5760405162461bcd60e51b815260206004820152601760248201527f75736572206973206e6f7420626c61636b6c69737465640000000000000000006044820152606401610838565b6001600160a01b03166000908152601660205260409020805460ff19169055565b610a37610f67565b6010805460ff1916911515919091179055565b600033610a588582856110e5565b610a63858585611159565b506001949350505050565b610a76610f67565b600b819055610a836115e7565b50565b600033610932818585610a998383610e57565b610aa39190611d9e565b610fc1565b610ab0610f67565b600a811015610b015760405162461bcd60e51b815260206004820152601f60248201527f6d61782077616c6c65742063616e6e6f742062652062656c6f7720302e3125006044820152606401610838565b600d55565b610b0e610f67565b610b186000611664565b565b60606004805461075390611d4e565b60003381610b378286610e57565b905083811015610b975760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610838565b610a638286868403610fc1565b600033610932818585611159565b610bba610f67565b6103e88161ffff161115610c095760405162461bcd60e51b81526020600482015260166024820152756d757374206265206265747765656e20302d3130302560501b6044820152606401610838565b60125415610c4c5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481b185d5b98da195960821b6044820152606401610838565b61ffff81161580610c5d5750600034115b610ca95760405162461bcd60e51b815260206004820152601760248201527f6e6565642045544820666f7220696e697469616c204c500000000000000000006044820152606401610838565b6005805468ffffffffffffffffff60a01b1916600160e01b17905560006103e861ffff8316610cd760025490565b610ce19190611db1565b610ceb9190611dd0565b9050600081610cf960025490565b610d039190611df2565b90508115610d1557610d1582346116b6565b8015610d3757610d3730610d316005546001600160a01b031690565b83611159565b50504260125550436013556005805460ff60e01b19169055565b610d59610f67565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610d83610f67565b600a811015610dd45760405162461bcd60e51b815260206004820152601b60248201527f6d61782074782063616e6e6f742062652062656c6f7720302e312500000000006044820152606401610838565b600c55565b610de1610f67565b600a819055610a836115e7565b610df6610f67565b610e03600a6103e8611dd0565b811115610e525760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f74206265206d6f7265207468616e203130250000000000000000006044820152606401610838565b601155565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610e8a610f67565b306000908152602081905260409020546109469061176a565b610eab610f67565b6017805460ff1916911515919091179055565b610ec6610f67565b6001600160a01b038116610f2b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610838565b610a8381611664565b610f3c610f67565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610b185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610838565b6001600160a01b0383166110235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610838565b6001600160a01b0382166110845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610838565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006110f18484610e57565b90506000198114610998578181101561114c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610838565b6109988484848403610fc1565b600061116d6005546001600160a01b031690565b6001600160a01b0316846001600160a01b0316148061119957506005546001600160a01b038481169116145b30600090815260208190526040812054601554929350916001600160a01b0387811691161480156111d857506014546001600160a01b03868116911614155b6015549091506001600160a01b03868116911614600082806111f75750815b90508080156112085750600e5460ff165b1561139057600554600090600160e01b900460ff168061124057506001600160a01b03881660009081526009602052604090205460ff165b8061126357506001600160a01b03891660009081526009602052604090205460ff165b905060006103e8600c5461127660025490565b6112809190611db1565b61128a9190611dd0565b905087811015806112985750815b6112dd5760405162461bcd60e51b8152602060048201526016602482015275151e08185b5bdd5b9d08195e18d95959081b1a5b5a5d60521b6044820152606401610838565b841561138d5760006103e8600d546112f460025490565b6112fe9190611db1565b6113089190611dd0565b90508861132a8b6001600160a01b031660009081526020819052604090205490565b6113349190611d9e565b8110158061133f5750825b61138b5760405162461bcd60e51b815260206004820181905260248201527f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d69746044820152606401610838565b505b50505b82156113e6576005546013546113b791600160a01b900467ffffffffffffffff1690611d9e565b43116113e1576001600160a01b0387166000908152601660205260409020805460ff191660011790555b611488565b6001600160a01b03871660009081526016602052604090205460ff161561141f5760405162461bcd60e51b815260040161083890611e05565b6001600160a01b03881660009081526016602052604090205460ff16156114585760405162461bcd60e51b815260040161083890611e05565b3360009081526016602052604090205460ff16156114885760405162461bcd60e51b815260040161083890611e05565b6011546015546001600160a01b031660009081526020819052604081205490916103e8916114b69190611db1565b6114c09190611dd0565b601754909150818610159060ff1680156114e25750601754610100900460ff16155b80156114ec575086155b80156114f55750805b8015611502575060125415155b801561151c57506015546001600160a01b038b8116911614155b1561152a5761152a826118c4565b600060125460001415801561153c5750835b801561154b575060105460ff16155b801561159357506001600160a01b038b1660009081526008602052604090205460ff168061159157506001600160a01b038a1660009081526008602052604090205460ff165b155b156115c6576103e8600f548a6115a99190611db1565b6115b39190611dd0565b905080156115c6576115c68b3083611949565b6115da8b8b6115d5848d611df2565b611949565b5050505050505050505050565b600b54600a546115f79190611d9e565b600f5560646116096103e86019611db1565b6116139190611dd0565b600f541115610b185760405162461bcd60e51b815260206004820152601760248201527f7461782063616e6e6f742062652061626f7665203235250000000000000000006044820152606401610838565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6014546116ce9030906001600160a01b031684610fc1565b60145460065460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561173e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117639190611e2c565b5050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061179f5761179f611e5a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190611e70565b8160018151811061182f5761182f611e5a565b6001600160a01b0392831660209182029290920101526014546118559130911684610fc1565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061188e908590600090869030904290600401611e8d565b600060405180830381600087803b1580156118a857600080fd5b505af11580156118bc573d6000803e3d6000fd5b505050505050565b6017805461ff001916610100179055600f54600a544791600091600291906118ec9086611db1565b6118f69190611dd0565b6119009190611dd0565b9050600061190e8285611df2565b90506119198161176a565b60006119258447611df2565b90508015611937576119378184611b17565b50506017805461ff0019169055505050565b6001600160a01b0383166119ad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610838565b6001600160a01b038216611a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610838565b6001600160a01b03831660009081526020819052604090205481811015611a875760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610838565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611abe908490611d9e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b0a91815260200190565b60405180910390a3610998565b6000600f54600a5484611b2a9190611db1565b611b349190611dd0565b90508115611b4657611b4682826116b6565b6007546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610998573d6000803e3d6000fd5b80358015158114611b8f57600080fd5b919050565b600060208284031215611ba657600080fd5b611baf82611b7f565b9392505050565b6001600160a01b0381168114610a8357600080fd5b600060208284031215611bdd57600080fd5b8135611baf81611bb6565b600060208083528351808285015260005b81811015611c1557858101830151858201604001528201611bf9565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611c4957600080fd5b8235611c5481611bb6565b946020939093013593505050565b600080600060608486031215611c7757600080fd5b8335611c8281611bb6565b92506020840135611c9281611bb6565b929592945050506040919091013590565b600060208284031215611cb557600080fd5b5035919050565b600060208284031215611cce57600080fd5b813561ffff81168114611baf57600080fd5b60008060408385031215611cf357600080fd5b8235611cfe81611bb6565b91506020830135611d0e81611bb6565b809150509250929050565b60008060408385031215611d2c57600080fd5b8235611d3781611bb6565b9150611d4560208401611b7f565b90509250929050565b600181811c90821680611d6257607f821691505b602082108103611d8257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561093857610938611d88565b6000816000190483118215151615611dcb57611dcb611d88565b500290565b600082611ded57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561093857610938611d88565b6020808252600d908201526c53746f7020626f7474696e672160981b604082015260600190565b600080600060608486031215611e4157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e8257600080fd5b8151611baf81611bb6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611edd5784516001600160a01b031683529383019391830191600101611eb8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220252e34bade374dc96fcbd146f7f234cb5fe2c89056efd15484dd9ab13e3e2c7564736f6c63430008100033
Deployed Bytecode Sourcemap
15780:8928:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23715:99;;;;;;;;;;-1:-1:-1;23715:99:0;;;;;:::i;:::-;;:::i;:::-;;22245:113;;;;;;;;;;-1:-1:-1;22245:113:0;;;;;:::i;:::-;-1:-1:-1;;;;;22335:15:0;22311:4;22335:15;;;:6;:15;;;;;;;;;22245:113;;;;917:14:1;;910:22;892:41;;880:2;865:18;22245:113:0;;;;;;;;2825:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;22366:317::-;;;;;;;;;;-1:-1:-1;22366:317:0;;;;;:::i;:::-;;:::i;3765:201::-;;;;;;;;;;-1:-1:-1;3765:201:0;;;;;:::i;:::-;;:::i;24563:142::-;;;;;;;;;;;;;:::i;22691:160::-;;;;;;;;;;-1:-1:-1;22691:160:0;;;;;:::i;:::-;;:::i;24151:92::-;;;;;;;;;;-1:-1:-1;24151:92:0;;;;;:::i;:::-;;:::i;16679:41::-;;;;;;;;;;-1:-1:-1;16679:41:0;;;;-1:-1:-1;;;;;16679:41:0;;;;;;-1:-1:-1;;;;;2008:32:1;;;1990:51;;1978:2;1963:18;16679:41:0;1817:230:1;3150:108:0;;;;;;;;;;-1:-1:-1;3238:12:0;;3150:108;;;2198:25:1;;;2186:2;2171:18;3150:108:0;2052:177:1;3976:295:0;;;;;;;;;;-1:-1:-1;3976:295:0;;;;;:::i;:::-;;:::i;3047:93::-;;;;;;;;;;-1:-1:-1;3047:93:0;;3130:2;2837:36:1;;2825:2;2810:18;3047:93:0;2695:184:1;23489:111:0;;;;;;;;;;-1:-1:-1;23489:111:0;;;;;:::i;:::-;;:::i;4281:238::-;;;;;;;;;;-1:-1:-1;4281:238:0;;;;;:::i;:::-;;:::i;16187:54::-;;;;;;;;;;;;;;;;16727:28;;;;;;;;;;-1:-1:-1;16727:28:0;;;;-1:-1:-1;;;;;16727:28:0;;;15938;;;;;;;;;;-1:-1:-1;15938:28:0;;;;-1:-1:-1;;;15938:28:0;;;;;;;;;3451:18:1;3439:31;;;3421:50;;3409:2;3394:18;15938:28:0;3277:200:1;23151:173:0;;;;;;;;;;-1:-1:-1;23151:173:0;;;;;:::i;:::-;;:::i;16438:31::-;;;;;;;;;;-1:-1:-1;16438:31:0;;;;;;;;3266:127;;;;;;;;;;-1:-1:-1;3266:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3367:18:0;3340:7;3367:18;;;;;;;;;;;;3266:127;1899:103;;;;;;;;;;;;;:::i;16312:54::-;;;;;;;;;;;;;;;;16610:25;;;;;;;;;;;;;;;;1664:87;;;;;;;;;;-1:-1:-1;1737:6:0;;-1:-1:-1;;;;;1737:6:0;1664:87;;16248:55;;;;;;;;;;;;;;;;2935:104;;;;;;;;;;;;;:::i;4529:436::-;;;;;;;;;;-1:-1:-1;4529:436:0;;;;;:::i;:::-;;:::i;3401:193::-;;;;;;;;;;-1:-1:-1;3401:193:0;;;;;:::i;:::-;;:::i;17749:757::-;;;;;;:::i;:::-;;:::i;23608:99::-;;;;;;;;;;-1:-1:-1;23608:99:0;;;;;:::i;:::-;;:::i;23332:149::-;;;;;;;;;;-1:-1:-1;23332:149:0;;;;;:::i;:::-;;:::i;23036:107::-;;;;;;;;;;-1:-1:-1;23036:107:0;;;;;:::i;:::-;;:::i;23822:177::-;;;;;;;;;;-1:-1:-1;23822:177:0;;;;;:::i;:::-;;:::i;3604:151::-;;;;;;;;;;-1:-1:-1;3604:151:0;;;;;:::i;:::-;;:::i;24359:196::-;;;;;;;;;;;;;:::i;24251:100::-;;;;;;;;;;-1:-1:-1;24251:100:0;;;;;:::i;:::-;;:::i;2010:201::-;;;;;;;;;;-1:-1:-1;2010:201:0;;;;;:::i;:::-;;:::i;16373:58::-;;;;;;;;;;;;;;;;24007:136;;;;;;;;;;-1:-1:-1;24007:136:0;;;;;:::i;:::-;;:::i;23715:99::-;1623:13;:11;:13::i;:::-;23784:12:::1;:22:::0;;-1:-1:-1;;23784:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23715:99::o;2825:100::-;2879:13;2912:5;2905:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2825:100;:::o;22366:317::-;1623:13;:11;:13::i;:::-;22462:15:::1;::::0;-1:-1:-1;;;;;22462:15:0;;::::1;22443:35:::0;;::::1;::::0;22435:71:::1;;;::::0;-1:-1:-1;;;22435:71:0;;5059:2:1;22435:71:0::1;::::0;::::1;5041:21:1::0;5098:2;5078:18;;;5071:30;5137:25;5117:18;;;5110:53;5180:18;;22435:71:0::1;;;;;;;;;22536:13;::::0;-1:-1:-1;;;;;22536:13:0;;::::1;22525:24:::0;;::::1;::::0;22517:58:::1;;;::::0;-1:-1:-1;;;22517:58:0;;5411:2:1;22517:58:0::1;::::0;::::1;5393:21:1::0;5450:2;5430:18;;;5423:30;-1:-1:-1;;;5469:18:1;;;5462:51;5530:18;;22517:58:0::1;5209:345:1::0;22517:58:0::1;-1:-1:-1::0;;;;;22595:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;;::::1;;22594:16;22586:56;;;::::0;-1:-1:-1;;;22586:56:0;;5761:2:1;22586:56:0::1;::::0;::::1;5743:21:1::0;5800:2;5780:18;;;5773:30;5839:29;5819:18;;;5812:57;5886:18;;22586:56:0::1;5559:351:1::0;22586:56:0::1;-1:-1:-1::0;;;;;22653:15:0::1;;::::0;;;:6:::1;:15;::::0;;;;:22;;-1:-1:-1;;22653:22:0::1;22671:4;22653:22;::::0;;22366:317::o;3765:201::-;3848:4;303:10;3904:32;303:10;3920:7;3929:6;3904:8;:32::i;:::-;3954:4;3947:11;;;3765:201;;;;;:::o;24563:142::-;1623:13;:11;:13::i;:::-;24640:16:::1;::::0;24632:65:::1;::::0;24615:12:::1;::::0;-1:-1:-1;;;;;24640:16:0::1;::::0;24671:21:::1;::::0;24615:12;24632:65;24615:12;24632:65;24671:21;24640:16;24632:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;24563:142:0:o;22691:160::-;1623:13;:11;:13::i;:::-;-1:-1:-1;;;;;22766:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;;::::1;;22758:51;;;::::0;-1:-1:-1;;;22758:51:0;;6327:2:1;22758:51:0::1;::::0;::::1;6309:21:1::0;6366:2;6346:18;;;6339:30;6405:25;6385:18;;;6378:53;6448:18;;22758:51:0::1;6125:347:1::0;22758:51:0::1;-1:-1:-1::0;;;;;22820:15:0::1;22838:5;22820:15:::0;;;:6:::1;:15;::::0;;;;:23;;-1:-1:-1;;22820:23:0::1;::::0;;22691:160::o;24151:92::-;1623:13;:11;:13::i;:::-;24216:9:::1;:19:::0;;-1:-1:-1;;24216:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24151:92::o;3976:295::-;4107:4;303:10;4165:38;4181:4;303:10;4196:6;4165:15;:38::i;:::-;4214:27;4224:4;4230:2;4234:6;4214:9;:27::i;:::-;-1:-1:-1;4259:4:0;;3976:295;-1:-1:-1;;;;3976:295:0:o;23489:111::-;1623:13;:11;:13::i;:::-;23554:6:::1;:13:::0;;;23578:14:::1;:12;:14::i;:::-;23489:111:::0;:::o;4281:238::-;4369:4;303:10;4425:64;303:10;4441:7;4478:10;4450:25;303:10;4441:7;4450:9;:25::i;:::-;:38;;;;:::i;:::-;4425:8;:64::i;23151:173::-;1623:13;:11;:13::i;:::-;23245:2:::1;23231:10;:16;;23223:60;;;::::0;-1:-1:-1;;;23223:60:0;;6941:2:1;23223:60:0::1;::::0;::::1;6923:21:1::0;6980:2;6960:18;;;6953:30;7019:33;6999:18;;;6992:61;7070:18;;23223:60:0::1;6739:355:1::0;23223:60:0::1;23294:9;:22:::0;23151:173::o;1899:103::-;1623:13;:11;:13::i;:::-;1964:30:::1;1991:1;1964:18;:30::i;:::-;1899:103::o:0;2935:104::-;2991:13;3024:7;3017:14;;;;;:::i;4529:436::-;4622:4;303:10;4622:4;4705:25;303:10;4722:7;4705:9;:25::i;:::-;4678:52;;4769:15;4749:16;:35;;4741:85;;;;-1:-1:-1;;;4741:85:0;;7301:2:1;4741:85:0;;;7283:21:1;7340:2;7320:18;;;7313:30;7379:34;7359:18;;;7352:62;-1:-1:-1;;;7430:18:1;;;7423:35;7475:19;;4741:85:0;7099:401:1;4741:85:0;4862:60;4871:5;4878:7;4906:15;4887:16;:34;4862:8;:60::i;3401:193::-;3480:4;303:10;3536:28;303:10;3553:2;3557:6;3536:9;:28::i;17749:757::-;1623:13;:11;:13::i;:::-;15871:4:::1;17830:8;:31;;;;17822:66;;;::::0;-1:-1:-1;;;17822:66:0;;7707:2:1;17822:66:0::1;::::0;::::1;7689:21:1::0;7746:2;7726:18;;;7719:30;-1:-1:-1;;;7765:18:1;;;7758:52;7827:18;;17822:66:0::1;7505:346:1::0;17822:66:0::1;17907:10;::::0;:15;17899:44:::1;;;::::0;-1:-1:-1;;;17899:44:0;;8058:2:1;17899:44:0::1;::::0;::::1;8040:21:1::0;8097:2;8077:18;;;8070:30;-1:-1:-1;;;8116:18:1;;;8109:46;8172:18;;17899:44:0::1;7856:340:1::0;17899:44:0::1;17962:13;::::0;::::1;::::0;;:30:::1;;;17991:1;17979:9;:13;17962:30;17954:66;;;::::0;-1:-1:-1;;;17954:66:0;;8403:2:1;17954:66:0::1;::::0;::::1;8385:21:1::0;8442:2;8422:18;;;8415:30;8481:25;8461:18;;;8454:53;8524:18;;17954:66:0::1;8201:347:1::0;17954:66:0::1;18031:10;:14:::0;;-1:-1:-1;;;;18056:16:0;-1:-1:-1;;;18056:16:0::1;::::0;;18044:1:::1;15871:4;18106:24;::::0;::::1;:13;3238:12:::0;;;3150:108;18106:13:::1;:24;;;;:::i;:::-;18105:48;;;;:::i;:::-;18085:68;;18164:17;18200:9;18184:13;3238:12:::0;;;3150:108;18184:13:::1;:25;;;;:::i;:::-;18164:45:::0;-1:-1:-1;18224:13:0;;18220:74:::1;;18254:28;18261:9;18272;18254:6;:28::i;:::-;18308:13:::0;;18304:90:::1;;18338:44;18356:4;18363:7;1737:6:::0;;-1:-1:-1;;;;;1737:6:0;;1664:87;18363:7:::1;18372:9;18338;:44::i;:::-;-1:-1:-1::0;;18417:15:0::1;18404:10;:28:::0;-1:-1:-1;18458:12:0::1;18443;:27:::0;18481:9:::1;:17:::0;;-1:-1:-1;;;;18481:17:0::1;::::0;;17749:757::o;23608:99::-;1623:13;:11;:13::i;:::-;23678:11:::1;:21:::0;;-1:-1:-1;;;;;;23678:21:0::1;-1:-1:-1::0;;;;;23678:21:0;;;::::1;::::0;;;::::1;::::0;;23608:99::o;23332:149::-;1623:13;:11;:13::i;:::-;23414:2:::1;23404:6;:12;;23396:52;;;::::0;-1:-1:-1;;;23396:52:0;;9283:2:1;23396:52:0::1;::::0;::::1;9265:21:1::0;9322:2;9302:18;;;9295:30;9361:29;9341:18;;;9334:57;9408:18;;23396:52:0::1;9081:351:1::0;23396:52:0::1;23459:5;:14:::0;23332:149::o;23036:107::-;1623:13;:11;:13::i;:::-;23098:5:::1;:12:::0;;;23121:14:::1;:12;:14::i;23822:177::-:0;1623:13;:11;:13::i;:::-;23908:24:::1;23930:2;15871:4;23908:24;:::i;:::-;23899:5;:33;;23891:69;;;::::0;-1:-1:-1;;;23891:69:0;;9639:2:1;23891:69:0::1;::::0;::::1;9621:21:1::0;9678:2;9658:18;;;9651:30;9717:25;9697:18;;;9690:53;9760:18;;23891:69:0::1;9437:347:1::0;23891:69:0::1;23971:12;:20:::0;23822:177::o;3604:151::-;-1:-1:-1;;;;;3720:18:0;;;3693:7;3720:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3604:151::o;24359:196::-;1623:13;:11;:13::i;:::-;24446:4:::1;3340:7:::0;3367:18;;;;;;;;;;;24410:43:::1;::::0;:17:::1;:43::i;24251:100::-:0;1623:13;:11;:13::i;:::-;24320:12:::1;:23:::0;;-1:-1:-1;;24320:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24251:100::o;2010:201::-;1623:13;:11;:13::i;:::-;-1:-1:-1;;;;;2099:22:0;::::1;2091:73;;;::::0;-1:-1:-1;;;2091:73:0;;9991:2:1;2091:73:0::1;::::0;::::1;9973:21:1::0;10030:2;10010:18;;;10003:30;10069:34;10049:18;;;10042:62;-1:-1:-1;;;10120:18:1;;;10113:36;10166:19;;2091:73:0::1;9789:402:1::0;2091:73:0::1;2175:28;2194:8;2175:18;:28::i;24007:136::-:0;1623:13;:11;:13::i;:::-;-1:-1:-1;;;;;24098:23:0;;;::::1;;::::0;;;:14:::1;:23;::::0;;;;:37;;-1:-1:-1;;24098:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24007:136::o;1759:132::-;1737:6;;-1:-1:-1;;;;;1737:6:0;303:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;10398:2:1;1815:68:0;;;10380:21:1;;;10417:18;;;10410:30;10476:34;10456:18;;;10449:62;10528:18;;1815:68:0;10196:356:1;6664:380:0;-1:-1:-1;;;;;6800:19:0;;6792:68;;;;-1:-1:-1;;;6792:68:0;;10759:2:1;6792:68:0;;;10741:21:1;10798:2;10778:18;;;10771:30;10837:34;10817:18;;;10810:62;-1:-1:-1;;;10888:18:1;;;10881:34;10932:19;;6792:68:0;10557:400:1;6792:68:0;-1:-1:-1;;;;;6879:21:0;;6871:68;;;;-1:-1:-1;;;6871:68:0;;11164:2:1;6871:68:0;;;11146:21:1;11203:2;11183:18;;;11176:30;11242:34;11222:18;;;11215:62;-1:-1:-1;;;11293:18:1;;;11286:32;11335:19;;6871:68:0;10962:398:1;6871:68:0;-1:-1:-1;;;;;6952:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7004:32;;2198:25:1;;;7004:32:0;;2171:18:1;7004:32:0;;;;;;;6664:380;;;:::o;7056:453::-;7191:24;7218:25;7228:5;7235:7;7218:9;:25::i;:::-;7191:52;;-1:-1:-1;;7258:16:0;:37;7254:248;;7340:6;7320:16;:26;;7312:68;;;;-1:-1:-1;;;7312:68:0;;11567:2:1;7312:68:0;;;11549:21:1;11606:2;11586:18;;;11579:30;11645:31;11625:18;;;11618:59;11694:18;;7312:68:0;11365:353:1;7312:68:0;7424:51;7433:5;7440:7;7468:6;7449:16;:25;7424:8;:51::i;18514:2050::-;18655:13;18681:7;1737:6;;-1:-1:-1;;;;;1737:6:0;;1664:87;18681:7;-1:-1:-1;;;;;18671:17:0;:6;-1:-1:-1;;;;;18671:17:0;;:41;;;-1:-1:-1;1737:6:0;;-1:-1:-1;;;;;18692:20:0;;;1737:6;;18692:20;18671:41;18772:4;18723:28;3367:18;;;;;;;;;;;18815:13;;18655:57;;-1:-1:-1;3367:18:0;-1:-1:-1;;;;;18805:23:0;;;18815:13;;18805:23;:64;;;;-1:-1:-1;18853:15:0;;-1:-1:-1;;;;;18832:37:0;;;18853:15;;18832:37;;18805:64;18908:13;;18791:78;;-1:-1:-1;;;;;;18895:26:0;;;18908:13;;18895:26;18880:12;18791:78;;18947:17;;;18957:7;18947:17;18932:32;;18981:7;:23;;;;-1:-1:-1;18992:12:0;;;;18981:23;18977:539;;;19039:9;;19021:15;;-1:-1:-1;;;19039:9:0;;;;;:36;;-1:-1:-1;;;;;;19052:23:0;;;;;;:12;:23;;;;;;;;19039:36;:60;;;-1:-1:-1;;;;;;19079:20:0;;;;;;:12;:20;;;;;;;;19039:60;19021:78;;19114:14;15871:4;19147:5;;19131:13;3238:12;;;3150:108;19131:13;:21;;;;:::i;:::-;:43;;;;:::i;:::-;19114:60;;19207:6;19197;:16;;:30;;;;19217:10;19197:30;19189:65;;;;-1:-1:-1;;;19189:65:0;;11925:2:1;19189:65:0;;;11907:21:1;11964:2;11944:18;;;11937:30;-1:-1:-1;;;11983:18:1;;;11976:52;12045:18;;19189:65:0;11723:346:1;19189:65:0;19273:6;19269:236;;;19300:18;15871:4;19337:9;;19321:13;3238:12;;;3150:108;19321:13;:25;;;;:::i;:::-;:47;;;;:::i;:::-;19300:68;;19432:6;19409:20;19419:9;-1:-1:-1;;;;;3367:18:0;3340:7;3367:18;;;;;;;;;;;;3266:127;19409:20;:29;;;;:::i;:::-;19395:10;:43;;:57;;;;19442:10;19395:57;19387:102;;;;-1:-1:-1;;;19387:102:0;;12276:2:1;19387:102:0;;;12258:21:1;;;12295:18;;;12288:30;12354:34;12334:18;;;12327:62;12406:18;;19387:102:0;12074:356:1;19387:102:0;19281:224;19269:236;19006:510;;18977:539;19530:6;19526:339;;;19588:10;;19573:12;;:25;;-1:-1:-1;;;19588:10:0;;;;;19573:25;:::i;:::-;19557:12;:41;19553:106;;-1:-1:-1;;;;;19619:17:0;;;;;;:6;:17;;;;;:24;;-1:-1:-1;;19619:24:0;19639:4;19619:24;;;19553:106;19526:339;;;-1:-1:-1;;;;;19700:17:0;;;;;;:6;:17;;;;;;;;19699:18;19691:44;;;;-1:-1:-1;;;19691:44:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19759:14:0;;;;;;:6;:14;;;;;;;;19758:15;19750:41;;;;-1:-1:-1;;;19750:41:0;;;;;;;:::i;:::-;303:10;19815:20;;;;:6;:20;;;;;;;;19814:21;19806:47;;;;-1:-1:-1;;;19806:47:0;;;;;;;:::i;:::-;19924:12;;19907:13;;-1:-1:-1;;;;;19907:13:0;19877:16;3367:18;;;;;;;;;;;19877:16;;15871:4;;19897:39;;;;:::i;:::-;19896:63;;;;:::i;:::-;20035:12;;19877:82;;-1:-1:-1;19986:32:0;;;;;20035:12;;:26;;;;-1:-1:-1;20052:9:0;;;;;;;20051:10;20035:26;:39;;;;;20066:8;20065:9;20035:39;:51;;;;;20078:8;20035:51;:70;;;;-1:-1:-1;20090:10:0;;:15;;20035:70;:97;;;;-1:-1:-1;20119:13:0;;-1:-1:-1;;;;;20109:23:0;;;20119:13;;20109:23;;20035:97;20031:145;;;20149:15;20155:8;20149:5;:15::i;:::-;20188:11;20218:10;;20232:1;20218:15;;:26;;;;;20237:7;20218:26;:40;;;;-1:-1:-1;20249:9:0;;;;20248:10;20218:40;:98;;;;-1:-1:-1;;;;;;20264:22:0;;;;;;:14;:22;;;;;;;;;:51;;-1:-1:-1;;;;;;20290:25:0;;;;;;:14;:25;;;;;;;;20264:51;20262:54;20218:98;20214:284;;;15871:4;20349:9;;20340:6;:18;;;;:::i;:::-;20339:42;;;;:::i;:::-;20333:48;-1:-1:-1;20400:7:0;;20396:91;;20428:43;20444:6;20460:4;20467:3;20428:15;:43::i;:::-;20508:48;20524:6;20532:9;20543:12;20552:3;20543:6;:12;:::i;:::-;20508:15;:48::i;:::-;18644:1920;;;;;;;;18514:2050;;;:::o;22859:169::-;22922:6;;22914:5;;:14;;;;:::i;:::-;22902:9;:26;22989:3;22961:24;15871:4;22983:2;22961:24;:::i;:::-;22960:32;;;;:::i;:::-;22947:9;;:45;;22939:81;;;;-1:-1:-1;;;22939:81:0;;12979:2:1;22939:81:0;;;12961:21:1;13018:2;12998:18;;;12991:30;13057:25;13037:18;;;13030:53;13100:18;;22939:81:0;12777:347:1;2219:191:0;2312:6;;;-1:-1:-1;;;;;2329:17:0;;;-1:-1:-1;;;;;;2329:17:0;;;;;;;2362:40;;2312:6;;;2329:17;2312:6;;2362:40;;2293:16;;2362:40;2282:128;2219:191;:::o;21536:359::-;21643:15;;21611:62;;21628:4;;-1:-1:-1;;;;;21643:15:0;21661:11;21611:8;:62::i;:::-;21684:15;;21835:11;;21684:203;;-1:-1:-1;;;21684:203:0;;21757:4;21684:203;;;13470:34:1;13520:18;;;13513:34;;;21684:15:0;13563:18:1;;;13556:34;;;13606:18;;;13599:34;-1:-1:-1;;;;;21835:11:0;;;13649:19:1;;;13642:44;21861:15:0;13702:19:1;;;13695:35;21684:15:0;;;:31;;21724:9;;13404:19:1;;21684:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21536:359;;:::o;21051:477::-;21143:16;;;21157:1;21143:16;;;;;;;;21119:21;;21143:16;;;;;;;;;;-1:-1:-1;21143:16:0;21119:40;;21188:4;21170;21175:1;21170:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21170:23:0;;;:7;;;;;;;;;;:23;;;;21214:15;;:22;;;-1:-1:-1;;;21214:22:0;;;;:15;;;;;:20;;:22;;;;;21170:7;;21214:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21204:4;21209:1;21204:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21204:32:0;;;:7;;;;;;;;;:32;21281:15;;21249:63;;21266:4;;21281:15;21299:12;21249:8;:63::i;:::-;21323:15;;:197;;-1:-1:-1;;;21323:197:0;;-1:-1:-1;;;;;21323:15:0;;;;:66;;:197;;21404:12;;21323:15;;21447:4;;21474;;21494:15;;21323:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21108:420;21051:477;:::o;20572:471::-;16921:9;:16;;-1:-1:-1;;16921:16:0;;;;;20742:9:::1;::::0;20733:5:::1;::::0;20658:21:::1;::::0;16921:16;;20754:1:::1;::::0;20742:9;20717:21:::1;::::0;:13;:21:::1;:::i;:::-;20716:35;;;;:::i;:::-;:39;;;;:::i;:::-;20690:65:::0;-1:-1:-1;20766:20:0::1;20789:31;20690:65:::0;20789:13;:31:::1;:::i;:::-;20766:54;;20833:31;20851:12;20833:17;:31::i;:::-;20877:20;20900:33;20924:9:::0;20900:21:::1;:33;:::i;:::-;20877:56:::0;-1:-1:-1;20948:16:0;;20944:92:::1;;20981:43;20994:12;21008:15;20981:12;:43::i;:::-;-1:-1:-1::0;;16960:9:0;:17;;-1:-1:-1;;16960:17:0;;;-1:-1:-1;;;20572:471:0:o;4973:671::-;-1:-1:-1;;;;;5104:18:0;;5096:68;;;;-1:-1:-1;;;5096:68:0;;15759:2:1;5096:68:0;;;15741:21:1;15798:2;15778:18;;;15771:30;15837:34;15817:18;;;15810:62;-1:-1:-1;;;15888:18:1;;;15881:35;15933:19;;5096:68:0;15557:401:1;5096:68:0;-1:-1:-1;;;;;5183:16:0;;5175:64;;;;-1:-1:-1;;;5175:64:0;;16165:2:1;5175:64:0;;;16147:21:1;16204:2;16184:18;;;16177:30;16243:34;16223:18;;;16216:62;-1:-1:-1;;;16294:18:1;;;16287:33;16337:19;;5175:64:0;15963:399:1;5175:64:0;-1:-1:-1;;;;;5325:15:0;;5303:19;5325:15;;;;;;;;;;;5359:21;;;;5351:72;;;;-1:-1:-1;;;5351:72:0;;16569:2:1;5351:72:0;;;16551:21:1;16608:2;16588:18;;;16581:30;16647:34;16627:18;;;16620:62;-1:-1:-1;;;16698:18:1;;;16691:36;16744:19;;5351:72:0;16367:402:1;5351:72:0;-1:-1:-1;;;;;5459:15:0;;;:9;:15;;;;;;;;;;;5477:20;;;5459:38;;5519:13;;;;;;;;:23;;5491:6;;5459:9;5519:23;;5491:6;;5519:23;:::i;:::-;;;;;;;;5575:2;-1:-1:-1;;;;;5560:26:0;5569:4;-1:-1:-1;;;;;5560:26:0;;5579:6;5560:26;;;;2198:25:1;;2186:2;2171:18;;2052:177;5560:26:0;;;;;;;;5599:37;7521:125;21940:297;22024:13;22062:9;;22053:5;;22041:9;:17;;;;:::i;:::-;22040:31;;;;:::i;:::-;22024:47;-1:-1:-1;22086:18:0;;22082:80;;22121:29;22128:14;22144:5;22121:6;:29::i;:::-;22180:16;;22172:57;;-1:-1:-1;;;;;22180:16:0;;;;22207:21;22172:57;;;;;22180:16;22172:57;22180:16;22172:57;22207:21;22180:16;22172:57;;;;;;;;;;;;;;;;;;;14:160:1;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;:::-;317:36;179:180;-1:-1:-1;;;179:180:1:o;364:131::-;-1:-1:-1;;;;;439:31:1;;429:42;;419:70;;485:1;482;475:12;500:247;559:6;612:2;600:9;591:7;587:23;583:32;580:52;;;628:1;625;618:12;580:52;667:9;654:23;686:31;711:5;686:31;:::i;944:548::-;1056:4;1085:2;1114;1103:9;1096:21;1146:6;1140:13;1189:6;1184:2;1173:9;1169:18;1162:34;1214:1;1224:140;1238:6;1235:1;1232:13;1224:140;;;1333:14;;;1329:23;;1323:30;1299:17;;;1318:2;1295:26;1288:66;1253:10;;1224:140;;;1228:3;1413:1;1408:2;1399:6;1388:9;1384:22;1380:31;1373:42;1483:2;1476;1472:7;1467:2;1459:6;1455:15;1451:29;1440:9;1436:45;1432:54;1424:62;;;;944:548;;;;:::o;1497:315::-;1565:6;1573;1626:2;1614:9;1605:7;1601:23;1597:32;1594:52;;;1642:1;1639;1632:12;1594:52;1681:9;1668:23;1700:31;1725:5;1700:31;:::i;:::-;1750:5;1802:2;1787:18;;;;1774:32;;-1:-1:-1;;;1497:315:1:o;2234:456::-;2311:6;2319;2327;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2435:9;2422:23;2454:31;2479:5;2454:31;:::i;:::-;2504:5;-1:-1:-1;2561:2:1;2546:18;;2533:32;2574:33;2533:32;2574:33;:::i;:::-;2234:456;;2626:7;;-1:-1:-1;;;2680:2:1;2665:18;;;;2652:32;;2234:456::o;2884:180::-;2943:6;2996:2;2984:9;2975:7;2971:23;2967:32;2964:52;;;3012:1;3009;3002:12;2964:52;-1:-1:-1;3035:23:1;;2884:180;-1:-1:-1;2884:180:1:o;3482:272::-;3540:6;3593:2;3581:9;3572:7;3568:23;3564:32;3561:52;;;3609:1;3606;3599:12;3561:52;3648:9;3635:23;3698:6;3691:5;3687:18;3680:5;3677:29;3667:57;;3720:1;3717;3710:12;3759:388;3827:6;3835;3888:2;3876:9;3867:7;3863:23;3859:32;3856:52;;;3904:1;3901;3894:12;3856:52;3943:9;3930:23;3962:31;3987:5;3962:31;:::i;:::-;4012:5;-1:-1:-1;4069:2:1;4054:18;;4041:32;4082:33;4041:32;4082:33;:::i;:::-;4134:7;4124:17;;;3759:388;;;;;:::o;4152:315::-;4217:6;4225;4278:2;4266:9;4257:7;4253:23;4249:32;4246:52;;;4294:1;4291;4284:12;4246:52;4333:9;4320:23;4352:31;4377:5;4352:31;:::i;:::-;4402:5;-1:-1:-1;4426:35:1;4457:2;4442:18;;4426:35;:::i;:::-;4416:45;;4152:315;;;;;:::o;4472:380::-;4551:1;4547:12;;;;4594;;;4615:61;;4669:4;4661:6;4657:17;4647:27;;4615:61;4722:2;4714:6;4711:14;4691:18;4688:38;4685:161;;4768:10;4763:3;4759:20;4756:1;4749:31;4803:4;4800:1;4793:15;4831:4;4828:1;4821:15;4685:161;;4472:380;;;:::o;6477:127::-;6538:10;6533:3;6529:20;6526:1;6519:31;6569:4;6566:1;6559:15;6593:4;6590:1;6583:15;6609:125;6674:9;;;6695:10;;;6692:36;;;6708:18;;:::i;8553:168::-;8593:7;8659:1;8655;8651:6;8647:14;8644:1;8641:21;8636:1;8629:9;8622:17;8618:45;8615:71;;;8666:18;;:::i;:::-;-1:-1:-1;8706:9:1;;8553:168::o;8726:217::-;8766:1;8792;8782:132;;8836:10;8831:3;8827:20;8824:1;8817:31;8871:4;8868:1;8861:15;8899:4;8896:1;8889:15;8782:132;-1:-1:-1;8928:9:1;;8726:217::o;8948:128::-;9015:9;;;9036:11;;;9033:37;;;9050:18;;:::i;12435:337::-;12637:2;12619:21;;;12676:2;12656:18;;;12649:30;-1:-1:-1;;;12710:2:1;12695:18;;12688:43;12763:2;12748:18;;12435:337::o;13741:306::-;13829:6;13837;13845;13898:2;13886:9;13877:7;13873:23;13869:32;13866:52;;;13914:1;13911;13904:12;13866:52;13943:9;13937:16;13927:26;;13993:2;13982:9;13978:18;13972:25;13962:35;;14037:2;14026:9;14022:18;14016:25;14006:35;;13741:306;;;;;:::o;14184:127::-;14245:10;14240:3;14236:20;14233:1;14226:31;14276:4;14273:1;14266:15;14300:4;14297:1;14290:15;14316:251;14386:6;14439:2;14427:9;14418:7;14414:23;14410:32;14407:52;;;14455:1;14452;14445:12;14407:52;14487:9;14481:16;14506:31;14531:5;14506:31;:::i;14572:980::-;14834:4;14882:3;14871:9;14867:19;14913:6;14902:9;14895:25;14939:2;14977:6;14972:2;14961:9;14957:18;14950:34;15020:3;15015:2;15004:9;15000:18;14993:31;15044:6;15079;15073:13;15110:6;15102;15095:22;15148:3;15137:9;15133:19;15126:26;;15187:2;15179:6;15175:15;15161:29;;15208:1;15218:195;15232:6;15229:1;15226:13;15218:195;;;15297:13;;-1:-1:-1;;;;;15293:39:1;15281:52;;15388:15;;;;15353:12;;;;15329:1;15247:9;15218:195;;;-1:-1:-1;;;;;;;15469:32:1;;;;15464:2;15449:18;;15442:60;-1:-1:-1;;;15533:3:1;15518:19;15511:35;15430:3;14572:980;-1:-1:-1;;;14572:980:1:o
Swarm Source
ipfs://252e34bade374dc96fcbd146f7f234cb5fe2c89056efd15484dd9ab13e3e2c75
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.