Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
300,000,000 GREEDY
Holders
181
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
119,634.36221034 GREEDYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
GREEDY
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-07 */ /** https://t.me/GreedyPortal https://www.greedyoneth.com/ https://x.com/Greedy_ETH $GREEDY represents unstoppable ambition, embracing risks and seizing opportunities to fuel growth and success with unwavering determination. */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; pragma experimental ABIEncoderV2; 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()); } 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); } } 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); } 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 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 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } 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 per(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= 100, "Percentage must be between 0 and 100"); return a * b / 100; } 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; } } } 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 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; unchecked { _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 {} } contract GREEDY is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address public uniswapV2Pair; address private devWallet; address private marketingWallet; address private constant deadAddress = address(0xdead); uint8 private constant _decimals = 9; uint256 public initialTotalSupply = 300000000 * 10**_decimals; // 1% maxWallet uint256 public maxWallet = (initialTotalSupply * 10)/1000; uint256 public maxTransactionAmount = maxWallet; bool private swapping; uint256 public buyFee = 20; uint256 public sellFee = 20; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; bool public transferDelayEnabled = true; mapping(address => uint256) private _holderLastTransferTimestamp; //swapThreshold 0.3% uint256 public swapTokensAtAmount = (initialTotalSupply * 3)/1000; bool public tradingOpen = false; bool public swapEnabled = false; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor() ERC20("GR3EDY", "GREEDY"){ _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = payable(0xe8afA4694c40223b2Fbb7379d5Bd09276315229a); devWallet = payable(_msgSender()); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(address(_uniswapV2Router), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); excludeFromMaxTransaction(address(_msgSender()), true); excludeFromMaxTransaction(devWallet, true); excludeFromFees(address(_msgSender()), true); excludeFromFees(devWallet, true); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); // mint _mint(devWallet, initialTotalSupply); } receive() external payable {} function addLP() external onlyOwner() { require(!tradingOpen,"Trading is already open"); _approve(address(this), address(_uniswapV2Router), initialTotalSupply); _uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, 0xe8afA4694c40223b2Fbb7379d5Bd09276315229a, block.timestamp ); IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max); } function burn(uint256 amount) external { _burn(_msgSender(), amount); } function openTrading() external onlyOwner() { tradingOpen = true; swapEnabled = 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 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 isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } 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; } if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (transferDelayEnabled && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]){ if (to != address(_uniswapV2Router) && to != address(uniswapV2Pair)){ require(_holderLastTransferTimestamp[tx.origin] < block.number && _holderLastTransferTimestamp[to] < block.number, "_transfer:: Transfer Delay enabled. Try again later."); _holderLastTransferTimestamp[tx.origin] = block.number; _holderLastTransferTimestamp[to] = block.number; } } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } 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]) { if (block.number > lastSellBlock) { sellCount = 0; } if(sellCount < 10) { swapping = true; swapBack(); swapping = false; sellCount++; lastSellBlock = block.number; } } bool takeFee = !swapping && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]; uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(sellFee).div(100); } else if(automatedMarketMakerPairs[from]) { fees = amount.mul(buyFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapV2Router.WETH(); _approve(address(this), address(_uniswapV2Router), tokenAmount); _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, marketingWallet, block.timestamp ); } function removeTheLimits() external onlyOwner { maxTransactionAmount = initialTotalSupply; maxWallet = initialTotalSupply; transferDelayEnabled = false; } function setFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner { sellFee = _sellFee; buyFee = _buyFee; } function manualSwapToken(uint256 percent) external { require(_msgSender() == devWallet); uint256 contractBalance = balanceOf(address(this)); uint256 swapAmount = contractBalance * percent / 100; swapTokensForEth(swapAmount); } function updateThreshold(uint256 newAmmount) external onlyOwner { swapTokensAtAmount = newAmmount * 10**_decimals; } function withdrawEth() external { require(address(this).balance > 0, "Token: no ETH in the contract"); require(_msgSender() == devWallet); payable(msg.sender).transfer(address(this).balance); } function withdrawTokens() external { require(_msgSender() == devWallet); uint256 amount = balanceOf(address(this)); _transfer(address(this), devWallet, amount); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance == 0) { return; } uint256 tokensToSwap = contractBalance; if (tokensToSwap > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } swapTokensForEth(tokensToSwap); } }
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"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"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":[{"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":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapToken","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTheLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","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":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"newAmmount","type":"uint256"}],"name":"updateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052620000126009600a62000748565b62000022906311e1a3006200075f565b6009556103e8600954600a6200003991906200075f565b62000045919062000779565b600a819055600b556014600d819055600e555f600f8190556010556011805460ff191660011790556009546103e890620000819060036200075f565b6200008d919062000779565b6013556014805461ffff19169055348015620000a7575f80fd5b506040518060400160405280600681526020016547523345445960d01b8152506040518060400160405280600681526020016547524545445960d01b8152508160039081620000f7919062000836565b50600462000106828262000836565b505050620001236200011d620003cd60201b60201c565b620003d1565b737a250d5630b4cf539739df2c5dacb4c659f2488d608052600880546001600160a01b03191673e8afa4694c40223b2fbb7379d5bd09276315229a179055620001693390565b600780546001600160a01b0319166001600160a01b03929092169190911790556200019630600162000422565b620001a561dead600162000422565b608051620001b59060016200048a565b620001c23060016200048a565b620001d161dead60016200048a565b620001de3360016200048a565b600754620001f7906001600160a01b031660016200048a565b6200020433600162000422565b6007546200021d906001600160a01b0316600162000422565b6080516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000282919062000902565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f6919062000902565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000341573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000367919062000902565b600680546001600160a01b0319166001600160a01b03929092169182179055620003939060016200048a565b600654620003ac906001600160a01b03166001620004be565b600754600954620003c7916001600160a01b03169062000511565b62000940565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6200042c620005d6565b6001600160a01b0382165f81815260156020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b62000494620005d6565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b6001600160a01b0382165f81815260176020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382166200056d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b8060025f8282546200058091906200092a565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6005546001600160a01b03163314620006325760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000564565b565b505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200068d57815f190482111562000671576200067162000639565b808516156200067f57918102915b93841c939080029062000652565b509250929050565b5f82620006a55750600162000742565b81620006b357505f62000742565b8160018114620006cc5760028114620006d757620006f7565b600191505062000742565b60ff841115620006eb57620006eb62000639565b50506001821b62000742565b5060208310610133831016604e8410600b84101617156200071c575081810a62000742565b6200072883836200064d565b805f19048211156200073e576200073e62000639565b0290505b92915050565b5f6200075860ff84168362000695565b9392505050565b808202811582820484141762000742576200074262000639565b5f826200079457634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620007c257607f821691505b602082108103620007e157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200063457805f5260205f20601f840160051c810160208510156200080e5750805b601f840160051c820191505b818110156200082f575f81556001016200081a565b5050505050565b81516001600160401b0381111562000852576200085262000799565b6200086a81620008638454620007ad565b84620007e7565b602080601f831160018114620008a0575f8415620008885750858301515b5f19600386901b1c1916600185901b178555620008fa565b5f85815260208120601f198616915b82811015620008d057888601518255948401946001909101908401620008af565b5085821015620008ee57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000913575f80fd5b81516001600160a01b038116811462000758575f80fd5b8082018082111562000742576200074262000639565b6080516120876200098a5f395f818161040d01528181610ad401528181610afd01528181610beb015281816111480152818161187b01528181611932015261197101526120875ff3fe608060405260043610610220575f3560e01c80637571336a1161011e578063c0246668116100a8578063dd62ed3e1161006d578063dd62ed3e14610608578063e2f4560514610627578063f2fde38b1461063c578063f8b45b051461065b578063ffb54a9914610670575f80fd5b8063c024666814610588578063c876d0b9146105a7578063c8c8ebe4146105c0578063c9567bf9146105d5578063d7d7442f146105e9575f80fd5b80639a7a23d6116100ee5780639a7a23d614610503578063a0ef91df14610522578063a457c2d714610536578063a9059cbb14610555578063bc37e1a314610574575f80fd5b80637571336a1461049f5780638d8f2adb146104be5780638da5cb5b146104d257806395d89b41146104ef575f80fd5b806342966c68116101aa578063583e05681161016f578063583e0568146103fc5780636ddd17131461042f57806370a082311461044d578063715018a61461046c57806371f5f01a14610480575f80fd5b806342966c681461033b578063470624021461035a57806349bd5a5e1461036f5780634fbee193146103a657806352f7c988146103dd575f80fd5b806323b872dd116101f057806323b872dd146102b85780632b14ca56146102d7578063311028af146102ec578063313ce56714610301578063395093511461031c575f80fd5b806306fdde031461022b578063095ea7b314610255578063139864a81461028457806318160ddd1461029a575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f610689565b60405161024c9190611bab565b60405180910390f35b348015610260575f80fd5b5061027461026f366004611c0b565b610719565b604051901515815260200161024c565b34801561028f575f80fd5b50610298610732565b005b3480156102a5575f80fd5b506002545b60405190815260200161024c565b3480156102c3575f80fd5b506102746102d2366004611c35565b610751565b3480156102e2575f80fd5b506102aa600e5481565b3480156102f7575f80fd5b506102aa60095481565b34801561030c575f80fd5b506040516009815260200161024c565b348015610327575f80fd5b50610274610336366004611c0b565b610774565b348015610346575f80fd5b50610298610355366004611c73565b610795565b348015610365575f80fd5b506102aa600d5481565b34801561037a575f80fd5b5060065461038e906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b3480156103b1575f80fd5b506102746103c0366004611c8a565b6001600160a01b03165f9081526015602052604090205460ff1690565b3480156103e8575f80fd5b506102986103f7366004611ca5565b6107a2565b348015610407575f80fd5b5061038e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b5060145461027490610100900460ff1681565b348015610458575f80fd5b506102aa610467366004611c8a565b6107b2565b348015610477575f80fd5b506102986107cc565b34801561048b575f80fd5b5061029861049a366004611c73565b6107df565b3480156104aa575f80fd5b506102986104b9366004611cd2565b610831565b3480156104c9575f80fd5b50610298610863565b3480156104dd575f80fd5b506005546001600160a01b031661038e565b3480156104fa575f80fd5b5061023f6108a7565b34801561050e575f80fd5b5061029861051d366004611cd2565b6108b6565b34801561052d575f80fd5b50610298610955565b348015610541575f80fd5b50610274610550366004611c0b565b6109ec565b348015610560575f80fd5b5061027461056f366004611c0b565b610a66565b34801561057f575f80fd5b50610298610a73565b348015610593575f80fd5b506102986105a2366004611cd2565b610c66565b3480156105b2575f80fd5b506011546102749060ff1681565b3480156105cb575f80fd5b506102aa600b5481565b3480156105e0575f80fd5b50610298610ccc565b3480156105f4575f80fd5b50610298610603366004611c73565b610ce5565b348015610613575f80fd5b506102aa610622366004611d09565b610d09565b348015610632575f80fd5b506102aa60135481565b348015610647575f80fd5b50610298610656366004611c8a565b610d33565b348015610666575f80fd5b506102aa600a5481565b34801561067b575f80fd5b506014546102749060ff1681565b60606003805461069890611d35565b80601f01602080910402602001604051908101604052809291908181526020018280546106c490611d35565b801561070f5780601f106106e65761010080835404028352916020019161070f565b820191905f5260205f20905b8154815290600101906020018083116106f257829003601f168201915b5050505050905090565b5f33610726818585610da9565b60019150505b92915050565b61073a610ecc565b600954600b819055600a556011805460ff19169055565b5f3361075e858285610f26565b610769858585610f9e565b506001949350505050565b5f336107268185856107868383610d09565b6107909190611d81565b610da9565b61079f33826116a5565b50565b6107aa610ecc565b600e55600d55565b6001600160a01b03165f9081526020819052604090205490565b6107d4610ecc565b6107dd5f6117d5565b565b6007546001600160a01b0316336001600160a01b0316146107fe575f80fd5b5f610808306107b2565b90505f60646108178484611d94565b6108219190611dab565b905061082c81611826565b505050565b610839610ecc565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b6007546001600160a01b0316336001600160a01b031614610882575f80fd5b5f61088c306107b2565b60075490915061079f9030906001600160a01b031683610f9e565b60606004805461069890611d35565b6108be610ecc565b6006546001600160a01b03908116908316036109475760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b61095182826119e3565b5050565b5f47116109a45760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e7472616374000000604482015260640161093e565b6007546001600160a01b0316336001600160a01b0316146109c3575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561079f573d5f803e3d5ffd5b5f33816109f98286610d09565b905083811015610a595760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161093e565b6107698286868403610da9565b5f33610726818585610f9e565b610a7b610ecc565b60145460ff1615610ace5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161093e565b610afb307f0000000000000000000000000000000000000000000000000000000000000000600954610da9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7194730610b35306107b2565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f60448201819052606482015273e8afa4694c40223b2fbb7379d5bd09276315229a60848201524260a482015260c40160606040518083038185885af1158015610baa573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bcf9190611dca565b505060065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610c42573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079f9190611df5565b610c6e610ecc565b6001600160a01b0382165f81815260156020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610cd4610ecc565b6014805461ffff1916610101179055565b610ced610ecc565b610cf96009600a611ef0565b610d039082611d94565b60135550565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610d3b610ecc565b6001600160a01b038116610da05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161093e565b61079f816117d5565b6001600160a01b038316610e0b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161093e565b6001600160a01b038216610e6c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161093e565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146107dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161093e565b5f610f318484610d09565b90505f198114610f985781811015610f8b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161093e565b610f988484848403610da9565b50505050565b6001600160a01b038316610fc45760405162461bcd60e51b815260040161093e90611efe565b6001600160a01b038216610fea5760405162461bcd60e51b815260040161093e90611f43565b805f03610ffc5761082c83835f611a36565b6005546001600160a01b0384811691161480159061102857506005546001600160a01b03838116911614155b801561103c57506001600160a01b03821615155b801561105357506001600160a01b03821661dead14155b80156110625750600c5460ff16155b1561149d5760145460ff166110f3576001600160a01b0383165f9081526015602052604090205460ff16806110ae57506001600160a01b0382165f9081526015602052604090205460ff165b6110f35760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161093e565b60115460ff16801561111d57506001600160a01b0383165f9081526015602052604090205460ff16155b801561114157506001600160a01b0382165f9081526015602052604090205460ff16155b1561125c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415801561119657506006546001600160a01b03838116911614155b1561125c57325f90815260126020526040902054431180156111ce57506001600160a01b0382165f9081526012602052604090205443115b6112385760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b606482015260840161093e565b325f9081526012602052604080822043908190556001600160a01b03851683529120555b6001600160a01b0383165f9081526017602052604090205460ff16801561129b57506001600160a01b0382165f9081526016602052604090205460ff16155b1561136f57600b548111156113105760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161093e565b600a5461131c836107b2565b6113269083611d81565b111561136a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161093e565b61149d565b6001600160a01b0382165f9081526017602052604090205460ff1680156113ae57506001600160a01b0383165f9081526016602052604090205460ff16155b1561142457600b5481111561136a5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161093e565b6001600160a01b0382165f9081526016602052604090205460ff1661149d57600a5461144f836107b2565b6114599083611d81565b111561149d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161093e565b5f6114a7306107b2565b60135490915081118080156114c35750601454610100900460ff165b80156114d25750600c5460ff16155b80156114f657506001600160a01b0385165f9081526017602052604090205460ff16155b801561151a57506001600160a01b0385165f9081526015602052604090205460ff16155b801561153e57506001600160a01b0384165f9081526015602052604090205460ff16155b1561159557601054431115611552575f600f555b600a600f54101561159557600c805460ff19166001179055611572611b5e565b600c805460ff19169055600f8054905f61158b83611f86565b9091555050436010555b600c545f9060ff161580156115c257506001600160a01b0386165f9081526015602052604090205460ff16155b80156115e657506001600160a01b0385165f9081526015602052604090205460ff16155b90505f8115611691576001600160a01b0386165f9081526017602052604090205460ff16156116365761162f6064611629600e5488611b8e90919063ffffffff16565b90611ba0565b9050611673565b6001600160a01b0387165f9081526017602052604090205460ff1615611673576116706064611629600d5488611b8e90919063ffffffff16565b90505b801561168457611684873083611a36565b61168e8186611f9e565b94505b61169c878787611a36565b50505050505050565b6001600160a01b0382166117055760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161093e565b6001600160a01b0382165f90815260208190526040902054818110156117785760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161093e565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185957611859611fb1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f99190611fc5565b8160018151811061190c5761190c611fb1565b60200260200101906001600160a01b031690816001600160a01b031681525050611957307f000000000000000000000000000000000000000000000000000000000000000084610da9565b60085460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac947926119b29287925f92889291909116904290600401611fe0565b5f604051808303815f87803b1580156119c9575f80fd5b505af11580156119db573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f81815260176020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611a5c5760405162461bcd60e51b815260040161093e90611efe565b6001600160a01b038216611a825760405162461bcd60e51b815260040161093e90611f43565b6001600160a01b0383165f9081526020819052604090205481811015611af95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161093e565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610f98565b5f611b68306107b2565b9050805f03611b745750565b6013548190811115611b8557506013545b61095181611826565b5f611b998284611d94565b9392505050565b5f611b998284611dab565b5f602080835283518060208501525f5b81811015611bd757858101830151858201604001528201611bbb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461079f575f80fd5b5f8060408385031215611c1c575f80fd5b8235611c2781611bf7565b946020939093013593505050565b5f805f60608486031215611c47575f80fd5b8335611c5281611bf7565b92506020840135611c6281611bf7565b929592945050506040919091013590565b5f60208284031215611c83575f80fd5b5035919050565b5f60208284031215611c9a575f80fd5b8135611b9981611bf7565b5f8060408385031215611cb6575f80fd5b50508035926020909101359150565b801515811461079f575f80fd5b5f8060408385031215611ce3575f80fd5b8235611cee81611bf7565b91506020830135611cfe81611cc5565b809150509250929050565b5f8060408385031215611d1a575f80fd5b8235611d2581611bf7565b91506020830135611cfe81611bf7565b600181811c90821680611d4957607f821691505b602082108103611d6757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561072c5761072c611d6d565b808202811582820484141761072c5761072c611d6d565b5f82611dc557634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f60608486031215611ddc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611e05575f80fd5b8151611b9981611cc5565b600181815b80851115611e4a57815f1904821115611e3057611e30611d6d565b80851615611e3d57918102915b93841c9390800290611e15565b509250929050565b5f82611e605750600161072c565b81611e6c57505f61072c565b8160018114611e825760028114611e8c57611ea8565b600191505061072c565b60ff841115611e9d57611e9d611d6d565b50506001821b61072c565b5060208310610133831016604e8410600b8410161715611ecb575081810a61072c565b611ed58383611e10565b805f1904821115611ee857611ee8611d6d565b029392505050565b5f611b9960ff841683611e52565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60018201611f9757611f97611d6d565b5060010190565b8181038181111561072c5761072c611d6d565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611fd5575f80fd5b8151611b9981611bf7565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156120305784516001600160a01b03168352938301939183019160010161200b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220618fb3c9fdb729326bcfbaf600e64eb98cb418a74b5a632854a50069afa5f62e64736f6c63430008170033
Deployed Bytecode
0x608060405260043610610220575f3560e01c80637571336a1161011e578063c0246668116100a8578063dd62ed3e1161006d578063dd62ed3e14610608578063e2f4560514610627578063f2fde38b1461063c578063f8b45b051461065b578063ffb54a9914610670575f80fd5b8063c024666814610588578063c876d0b9146105a7578063c8c8ebe4146105c0578063c9567bf9146105d5578063d7d7442f146105e9575f80fd5b80639a7a23d6116100ee5780639a7a23d614610503578063a0ef91df14610522578063a457c2d714610536578063a9059cbb14610555578063bc37e1a314610574575f80fd5b80637571336a1461049f5780638d8f2adb146104be5780638da5cb5b146104d257806395d89b41146104ef575f80fd5b806342966c68116101aa578063583e05681161016f578063583e0568146103fc5780636ddd17131461042f57806370a082311461044d578063715018a61461046c57806371f5f01a14610480575f80fd5b806342966c681461033b578063470624021461035a57806349bd5a5e1461036f5780634fbee193146103a657806352f7c988146103dd575f80fd5b806323b872dd116101f057806323b872dd146102b85780632b14ca56146102d7578063311028af146102ec578063313ce56714610301578063395093511461031c575f80fd5b806306fdde031461022b578063095ea7b314610255578063139864a81461028457806318160ddd1461029a575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f610689565b60405161024c9190611bab565b60405180910390f35b348015610260575f80fd5b5061027461026f366004611c0b565b610719565b604051901515815260200161024c565b34801561028f575f80fd5b50610298610732565b005b3480156102a5575f80fd5b506002545b60405190815260200161024c565b3480156102c3575f80fd5b506102746102d2366004611c35565b610751565b3480156102e2575f80fd5b506102aa600e5481565b3480156102f7575f80fd5b506102aa60095481565b34801561030c575f80fd5b506040516009815260200161024c565b348015610327575f80fd5b50610274610336366004611c0b565b610774565b348015610346575f80fd5b50610298610355366004611c73565b610795565b348015610365575f80fd5b506102aa600d5481565b34801561037a575f80fd5b5060065461038e906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b3480156103b1575f80fd5b506102746103c0366004611c8a565b6001600160a01b03165f9081526015602052604090205460ff1690565b3480156103e8575f80fd5b506102986103f7366004611ca5565b6107a2565b348015610407575f80fd5b5061038e7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561043a575f80fd5b5060145461027490610100900460ff1681565b348015610458575f80fd5b506102aa610467366004611c8a565b6107b2565b348015610477575f80fd5b506102986107cc565b34801561048b575f80fd5b5061029861049a366004611c73565b6107df565b3480156104aa575f80fd5b506102986104b9366004611cd2565b610831565b3480156104c9575f80fd5b50610298610863565b3480156104dd575f80fd5b506005546001600160a01b031661038e565b3480156104fa575f80fd5b5061023f6108a7565b34801561050e575f80fd5b5061029861051d366004611cd2565b6108b6565b34801561052d575f80fd5b50610298610955565b348015610541575f80fd5b50610274610550366004611c0b565b6109ec565b348015610560575f80fd5b5061027461056f366004611c0b565b610a66565b34801561057f575f80fd5b50610298610a73565b348015610593575f80fd5b506102986105a2366004611cd2565b610c66565b3480156105b2575f80fd5b506011546102749060ff1681565b3480156105cb575f80fd5b506102aa600b5481565b3480156105e0575f80fd5b50610298610ccc565b3480156105f4575f80fd5b50610298610603366004611c73565b610ce5565b348015610613575f80fd5b506102aa610622366004611d09565b610d09565b348015610632575f80fd5b506102aa60135481565b348015610647575f80fd5b50610298610656366004611c8a565b610d33565b348015610666575f80fd5b506102aa600a5481565b34801561067b575f80fd5b506014546102749060ff1681565b60606003805461069890611d35565b80601f01602080910402602001604051908101604052809291908181526020018280546106c490611d35565b801561070f5780601f106106e65761010080835404028352916020019161070f565b820191905f5260205f20905b8154815290600101906020018083116106f257829003601f168201915b5050505050905090565b5f33610726818585610da9565b60019150505b92915050565b61073a610ecc565b600954600b819055600a556011805460ff19169055565b5f3361075e858285610f26565b610769858585610f9e565b506001949350505050565b5f336107268185856107868383610d09565b6107909190611d81565b610da9565b61079f33826116a5565b50565b6107aa610ecc565b600e55600d55565b6001600160a01b03165f9081526020819052604090205490565b6107d4610ecc565b6107dd5f6117d5565b565b6007546001600160a01b0316336001600160a01b0316146107fe575f80fd5b5f610808306107b2565b90505f60646108178484611d94565b6108219190611dab565b905061082c81611826565b505050565b610839610ecc565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b6007546001600160a01b0316336001600160a01b031614610882575f80fd5b5f61088c306107b2565b60075490915061079f9030906001600160a01b031683610f9e565b60606004805461069890611d35565b6108be610ecc565b6006546001600160a01b03908116908316036109475760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b61095182826119e3565b5050565b5f47116109a45760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e7472616374000000604482015260640161093e565b6007546001600160a01b0316336001600160a01b0316146109c3575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561079f573d5f803e3d5ffd5b5f33816109f98286610d09565b905083811015610a595760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161093e565b6107698286868403610da9565b5f33610726818585610f9e565b610a7b610ecc565b60145460ff1615610ace5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161093e565b610afb307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600954610da9565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7194730610b35306107b2565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f60448201819052606482015273e8afa4694c40223b2fbb7379d5bd09276315229a60848201524260a482015260c40160606040518083038185885af1158015610baa573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bcf9190611dca565b505060065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610c42573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079f9190611df5565b610c6e610ecc565b6001600160a01b0382165f81815260156020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610cd4610ecc565b6014805461ffff1916610101179055565b610ced610ecc565b610cf96009600a611ef0565b610d039082611d94565b60135550565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610d3b610ecc565b6001600160a01b038116610da05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161093e565b61079f816117d5565b6001600160a01b038316610e0b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161093e565b6001600160a01b038216610e6c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161093e565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146107dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161093e565b5f610f318484610d09565b90505f198114610f985781811015610f8b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161093e565b610f988484848403610da9565b50505050565b6001600160a01b038316610fc45760405162461bcd60e51b815260040161093e90611efe565b6001600160a01b038216610fea5760405162461bcd60e51b815260040161093e90611f43565b805f03610ffc5761082c83835f611a36565b6005546001600160a01b0384811691161480159061102857506005546001600160a01b03838116911614155b801561103c57506001600160a01b03821615155b801561105357506001600160a01b03821661dead14155b80156110625750600c5460ff16155b1561149d5760145460ff166110f3576001600160a01b0383165f9081526015602052604090205460ff16806110ae57506001600160a01b0382165f9081526015602052604090205460ff165b6110f35760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161093e565b60115460ff16801561111d57506001600160a01b0383165f9081526015602052604090205460ff16155b801561114157506001600160a01b0382165f9081526015602052604090205460ff16155b1561125c577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b03161415801561119657506006546001600160a01b03838116911614155b1561125c57325f90815260126020526040902054431180156111ce57506001600160a01b0382165f9081526012602052604090205443115b6112385760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b606482015260840161093e565b325f9081526012602052604080822043908190556001600160a01b03851683529120555b6001600160a01b0383165f9081526017602052604090205460ff16801561129b57506001600160a01b0382165f9081526016602052604090205460ff16155b1561136f57600b548111156113105760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161093e565b600a5461131c836107b2565b6113269083611d81565b111561136a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161093e565b61149d565b6001600160a01b0382165f9081526017602052604090205460ff1680156113ae57506001600160a01b0383165f9081526016602052604090205460ff16155b1561142457600b5481111561136a5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161093e565b6001600160a01b0382165f9081526016602052604090205460ff1661149d57600a5461144f836107b2565b6114599083611d81565b111561149d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161093e565b5f6114a7306107b2565b60135490915081118080156114c35750601454610100900460ff165b80156114d25750600c5460ff16155b80156114f657506001600160a01b0385165f9081526017602052604090205460ff16155b801561151a57506001600160a01b0385165f9081526015602052604090205460ff16155b801561153e57506001600160a01b0384165f9081526015602052604090205460ff16155b1561159557601054431115611552575f600f555b600a600f54101561159557600c805460ff19166001179055611572611b5e565b600c805460ff19169055600f8054905f61158b83611f86565b9091555050436010555b600c545f9060ff161580156115c257506001600160a01b0386165f9081526015602052604090205460ff16155b80156115e657506001600160a01b0385165f9081526015602052604090205460ff16155b90505f8115611691576001600160a01b0386165f9081526017602052604090205460ff16156116365761162f6064611629600e5488611b8e90919063ffffffff16565b90611ba0565b9050611673565b6001600160a01b0387165f9081526017602052604090205460ff1615611673576116706064611629600d5488611b8e90919063ffffffff16565b90505b801561168457611684873083611a36565b61168e8186611f9e565b94505b61169c878787611a36565b50505050505050565b6001600160a01b0382166117055760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161093e565b6001600160a01b0382165f90815260208190526040902054818110156117785760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161093e565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185957611859611fb1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f99190611fc5565b8160018151811061190c5761190c611fb1565b60200260200101906001600160a01b031690816001600160a01b031681525050611957307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610da9565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926119b29287925f92889291909116904290600401611fe0565b5f604051808303815f87803b1580156119c9575f80fd5b505af11580156119db573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f81815260176020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611a5c5760405162461bcd60e51b815260040161093e90611efe565b6001600160a01b038216611a825760405162461bcd60e51b815260040161093e90611f43565b6001600160a01b0383165f9081526020819052604090205481811015611af95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161093e565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610f98565b5f611b68306107b2565b9050805f03611b745750565b6013548190811115611b8557506013545b61095181611826565b5f611b998284611d94565b9392505050565b5f611b998284611dab565b5f602080835283518060208501525f5b81811015611bd757858101830151858201604001528201611bbb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461079f575f80fd5b5f8060408385031215611c1c575f80fd5b8235611c2781611bf7565b946020939093013593505050565b5f805f60608486031215611c47575f80fd5b8335611c5281611bf7565b92506020840135611c6281611bf7565b929592945050506040919091013590565b5f60208284031215611c83575f80fd5b5035919050565b5f60208284031215611c9a575f80fd5b8135611b9981611bf7565b5f8060408385031215611cb6575f80fd5b50508035926020909101359150565b801515811461079f575f80fd5b5f8060408385031215611ce3575f80fd5b8235611cee81611bf7565b91506020830135611cfe81611cc5565b809150509250929050565b5f8060408385031215611d1a575f80fd5b8235611d2581611bf7565b91506020830135611cfe81611bf7565b600181811c90821680611d4957607f821691505b602082108103611d6757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561072c5761072c611d6d565b808202811582820484141761072c5761072c611d6d565b5f82611dc557634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f60608486031215611ddc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611e05575f80fd5b8151611b9981611cc5565b600181815b80851115611e4a57815f1904821115611e3057611e30611d6d565b80851615611e3d57918102915b93841c9390800290611e15565b509250929050565b5f82611e605750600161072c565b81611e6c57505f61072c565b8160018114611e825760028114611e8c57611ea8565b600191505061072c565b60ff841115611e9d57611e9d611d6d565b50506001821b61072c565b5060208310610133831016604e8410600b8410161715611ecb575081810a61072c565b611ed58383611e10565b805f1904821115611ee857611ee8611d6d565b029392505050565b5f611b9960ff841683611e52565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60018201611f9757611f97611d6d565b5060010190565b8181038181111561072c5761072c611d6d565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611fd5575f80fd5b8151611b9981611bf7565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156120305784516001600160a01b03168352938301939183019160010161200b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220618fb3c9fdb729326bcfbaf600e64eb98cb418a74b5a632854a50069afa5f62e64736f6c63430008170033
Deployed Bytecode Sourcemap
14697:9354:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9926:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10857:201;;;;;;;;;;-1:-1:-1;10857:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10857:201:0;1023:187:1;22495:186:0;;;;;;;;;;;;;:::i;:::-;;10246:108;;;;;;;;;;-1:-1:-1;10334:12:0;;10246:108;;;1361:25:1;;;1349:2;1334:18;10246:108:0;1215:177:1;11066:261:0;;;;;;;;;;-1:-1:-1;11066:261:0;;;;;:::i;:::-;;:::i;15317:27::-;;;;;;;;;;;;;;;;15043:61;;;;;;;;;;;;;;;;10146:92;;;;;;;;;;-1:-1:-1;10146:92:0;;10229:1;2000:36:1;;1988:2;1973:18;10146:92:0;1858:184:1;11335:238:0;;;;;;;;;;-1:-1:-1;11335:238:0;;;;;:::i;:::-;;:::i;17760:85::-;;;;;;;;;;-1:-1:-1;17760:85:0;;;;;:::i;:::-;;:::i;15284:26::-;;;;;;;;;;;;;;;;14832:28;;;;;;;;;;-1:-1:-1;14832:28:0;;;;-1:-1:-1;;;;;14832:28:0;;;;;;-1:-1:-1;;;;;2396:32:1;;;2378:51;;2366:2;2351:18;14832:28:0;2232:203:1;18772:126:0;;;;;;;;;;-1:-1:-1;18772:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;18862:28:0;18838:4;18862:28;;;:19;:28;;;;;;;;;18772:126;22689:134;;;;;;;;;;-1:-1:-1;22689:134:0;;;;;:::i;:::-;;:::i;14773:52::-;;;;;;;;;;;;;;;15692:31;;;;;;;;;;-1:-1:-1;15692:31:0;;;;;;;;;;;10362:127;;;;;;;;;;-1:-1:-1;10362:127:0;;;;;:::i;:::-;;:::i;1137:103::-;;;;;;;;;;;;;:::i;22831:267::-;;;;;;;;;;-1:-1:-1;22831:267:0;;;;;:::i;:::-;;:::i;17971:144::-;;;;;;;;;;-1:-1:-1;17971:144:0;;;;;:::i;:::-;;:::i;23477:194::-;;;;;;;;;;;;;:::i;902:87::-;;;;;;;;;;-1:-1:-1;975:6:0;;-1:-1:-1;;;;;975:6:0;902:87;;10034:104;;;;;;;;;;;;;:::i;18313:257::-;;;;;;;;;;-1:-1:-1;18313:257:0;;;;;:::i;:::-;;:::i;23244:225::-;;;;;;;;;;;;;:::i;11581:436::-;;;;;;;;;;-1:-1:-1;11581:436:0;;;;;:::i;:::-;;:::i;10497:193::-;;;;;;;;;;-1:-1:-1;10497:193:0;;;;;:::i;:::-;;:::i;17214:538::-;;;;;;;;;;;;;:::i;18123:182::-;;;;;;;;;;-1:-1:-1;18123:182:0;;;;;:::i;:::-;;:::i;15431:39::-;;;;;;;;;;-1:-1:-1;15431:39:0;;;;;;;;15198:47;;;;;;;;;;;;;;;;17853:110;;;;;;;;;;;;;:::i;23106:130::-;;;;;;;;;;-1:-1:-1;23106:130:0;;;;;:::i;:::-;;:::i;10698:151::-;;;;;;;;;;-1:-1:-1;10698:151:0;;;;;:::i;:::-;;:::i;15580:65::-;;;;;;;;;;;;;;;;1248:201;;;;;;;;;;-1:-1:-1;1248:201:0;;;;;:::i;:::-;;:::i;15134:57::-;;;;;;;;;;;;;;;;15654:31;;;;;;;;;;-1:-1:-1;15654:31:0;;;;;;;;9926:100;9980:13;10013:5;10006:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9926:100;:::o;10857:201::-;10940:4;455:10;10996:32;455:10;11012:7;11021:6;10996:8;:32::i;:::-;11046:4;11039:11;;;10857:201;;;;;:::o;22495:186::-;861:13;:11;:13::i;:::-;22575:18:::1;::::0;22552:20:::1;:41:::0;;;22604:9:::1;:30:::0;22645:20:::1;:28:::0;;-1:-1:-1;;22645:28:0::1;::::0;;22495:186::o;11066:261::-;11163:4;455:10;11221:38;11237:4;455:10;11252:6;11221:15;:38::i;:::-;11270:27;11280:4;11286:2;11290:6;11270:9;:27::i;:::-;-1:-1:-1;11315:4:0;;11066:261;-1:-1:-1;;;;11066:261:0:o;11335:238::-;11423:4;455:10;11479:64;455:10;11495:7;11532:10;11504:25;455:10;11495:7;11504:9;:25::i;:::-;:38;;;;:::i;:::-;11479:8;:64::i;17760:85::-;17810:27;455:10;17830:6;17810:5;:27::i;:::-;17760:85;:::o;22689:134::-;861:13;:11;:13::i;:::-;22770:7:::1;:18:::0;22799:6:::1;:16:::0;22689:134::o;10362:127::-;-1:-1:-1;;;;;10463:18:0;10436:7;10463:18;;;;;;;;;;;;10362:127::o;1137:103::-;861:13;:11;:13::i;:::-;1202:30:::1;1229:1;1202:18;:30::i;:::-;1137:103::o:0;22831:267::-;22917:9;;-1:-1:-1;;;;;22917:9:0;455:10;-1:-1:-1;;;;;22901:25:0;;22893:34;;;;;;22938:23;22964:24;22982:4;22964:9;:24::i;:::-;22938:50;-1:-1:-1;22999:18:0;23048:3;23020:25;23038:7;22938:50;23020:25;:::i;:::-;:31;;;;:::i;:::-;22999:52;;23062:28;23079:10;23062:16;:28::i;:::-;22882:216;;22831:267;:::o;17971:144::-;861:13;:11;:13::i;:::-;-1:-1:-1;;;;;18061:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;18061:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17971:144::o;23477:194::-;23547:9;;-1:-1:-1;;;;;23547:9:0;455:10;-1:-1:-1;;;;;23531:25:0;;23523:34;;;;;;23568:14;23585:24;23603:4;23585:9;:24::i;:::-;23645:9;;23568:41;;-1:-1:-1;23620:43:0;;23638:4;;-1:-1:-1;;;;;23645:9:0;23568:41;23620:9;:43::i;10034:104::-;10090:13;10123:7;10116:14;;;;;:::i;18313:257::-;861:13;:11;:13::i;:::-;18435::::1;::::0;-1:-1:-1;;;;;18435:13:0;;::::1;18427:21:::0;;::::1;::::0;18419:91:::1;;;::::0;-1:-1:-1;;;18419:91:0;;5326:2:1;18419:91:0::1;::::0;::::1;5308:21:1::0;5365:2;5345:18;;;5338:30;5404:34;5384:18;;;5377:62;5475:27;5455:18;;;5448:55;5520:19;;18419:91:0::1;;;;;;;;;18521:41;18550:4;18556:5;18521:28;:41::i;:::-;18313:257:::0;;:::o;23244:225::-;23319:1;23295:21;:25;23287:67;;;;-1:-1:-1;;;23287:67:0;;5752:2:1;23287:67:0;;;5734:21:1;5791:2;5771:18;;;5764:30;5830:31;5810:18;;;5803:59;5879:18;;23287:67:0;5550:353:1;23287:67:0;23389:9;;-1:-1:-1;;;;;23389:9:0;455:10;-1:-1:-1;;;;;23373:25:0;;23365:34;;;;;;23410:51;;23418:10;;23439:21;23410:51;;;;;;;;;23439:21;23418:10;23410:51;;;;;;;;;;;;;;;;;;;11581:436;11674:4;455:10;11674:4;11757:25;455:10;11774:7;11757:9;:25::i;:::-;11730:52;;11821:15;11801:16;:35;;11793:85;;;;-1:-1:-1;;;11793:85:0;;6110:2:1;11793:85:0;;;6092:21:1;6149:2;6129:18;;;6122:30;6188:34;6168:18;;;6161:62;-1:-1:-1;;;6239:18:1;;;6232:35;6284:19;;11793:85:0;5908:401:1;11793:85:0;11914:60;11923:5;11930:7;11958:15;11939:16;:34;11914:8;:60::i;10497:193::-;10576:4;455:10;10632:28;455:10;10649:2;10653:6;10632:9;:28::i;17214:538::-;861:13;:11;:13::i;:::-;17272:11:::1;::::0;::::1;;17271:12;17263:47;;;::::0;-1:-1:-1;;;17263:47:0;;6516:2:1;17263:47:0::1;::::0;::::1;6498:21:1::0;6555:2;6535:18;;;6528:30;6594:25;6574:18;;;6567:53;6637:18;;17263:47:0::1;6314:347:1::0;17263:47:0::1;17321:70;17338:4;17353:16;17372:18;;17321:8;:70::i;:::-;17402:16;-1:-1:-1::0;;;;;17402:32:0::1;;17442:21;17487:4;17507:24;17525:4;17507:9;:24::i;:::-;17402:259;::::0;-1:-1:-1;;;;;;17402:259:0::1;::::0;;;;;;-1:-1:-1;;;;;7025:15:1;;;17402:259:0::1;::::0;::::1;7007:34:1::0;7057:18;;;7050:34;17546:1:0::1;7100:18:1::0;;;7093:34;;;7143:18;;;7136:34;17578:42:0::1;7186:19:1::0;;;7179:44;17635:15:0::1;7239:19:1::0;;;7232:35;6941:19;;17402:259:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17679:13:0::1;::::0;17672:72:::1;::::0;-1:-1:-1;;;17672:72:0;;-1:-1:-1;;;;;17710:16:0::1;7781:32:1::0;;17672:72:0::1;::::0;::::1;7763:51:1::0;-1:-1:-1;;7830:18:1;;;7823:34;17679:13:0;;::::1;::::0;-1:-1:-1;17672:29:0::1;::::0;7736:18:1;;17672:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18123:182::-:0;861:13;:11;:13::i;:::-;-1:-1:-1;;;;;18208:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;18208:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18263:34;;1163:41:1;;;18263:34:0::1;::::0;1136:18:1;18263:34:0::1;;;;;;;18123:182:::0;;:::o;17853:110::-;861:13;:11;:13::i;:::-;17908:11:::1;:18:::0;;-1:-1:-1;;17937:18:0;;;;;17853:110::o;23106:130::-;861:13;:11;:13::i;:::-;23215::::1;15035:1;23215:2;:13;:::i;:::-;23202:26;::::0;:10;:26:::1;:::i;:::-;23181:18;:47:::0;-1:-1:-1;23106:130:0:o;10698:151::-;-1:-1:-1;;;;;10814:18:0;;;10787:7;10814:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10698:151::o;1248:201::-;861:13;:11;:13::i;:::-;-1:-1:-1;;;;;1337:22:0;::::1;1329:73;;;::::0;-1:-1:-1;;;1329:73:0;;9697:2:1;1329:73:0::1;::::0;::::1;9679:21:1::0;9736:2;9716:18;;;9709:30;9775:34;9755:18;;;9748:62;-1:-1:-1;;;9826:18:1;;;9819:36;9872:19;;1329:73:0::1;9495:402:1::0;1329:73:0::1;1413:28;1432:8;1413:18;:28::i;13720:346::-:0;-1:-1:-1;;;;;13822:19:0;;13814:68;;;;-1:-1:-1;;;13814:68:0;;10104:2:1;13814:68:0;;;10086:21:1;10143:2;10123:18;;;10116:30;10182:34;10162:18;;;10155:62;-1:-1:-1;;;10233:18:1;;;10226:34;10277:19;;13814:68:0;9902:400:1;13814:68:0;-1:-1:-1;;;;;13901:21:0;;13893:68;;;;-1:-1:-1;;;13893:68:0;;10509:2:1;13893:68:0;;;10491:21:1;10548:2;10528:18;;;10521:30;10587:34;10567:18;;;10560:62;-1:-1:-1;;;10638:18:1;;;10631:32;10680:19;;13893:68:0;10307:398:1;13893:68:0;-1:-1:-1;;;;;13974:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14026:32;;1361:25:1;;;14026:32:0;;1334:18:1;14026:32:0;;;;;;;13720:346;;;:::o;997:132::-;975:6;;-1:-1:-1;;;;;975:6:0;455:10;1061:23;1053:68;;;;-1:-1:-1;;;1053:68:0;;10912:2:1;1053:68:0;;;10894:21:1;;;10931:18;;;10924:30;10990:34;10970:18;;;10963:62;11042:18;;1053:68:0;10710:356:1;14074:419:0;14175:24;14202:25;14212:5;14219:7;14202:9;:25::i;:::-;14175:52;;-1:-1:-1;;14242:16:0;:37;14238:248;;14324:6;14304:16;:26;;14296:68;;;;-1:-1:-1;;;14296:68:0;;11273:2:1;14296:68:0;;;11255:21:1;11312:2;11292:18;;;11285:30;11351:31;11331:18;;;11324:59;11400:18;;14296:68:0;11071:353:1;14296:68:0;14408:51;14417:5;14424:7;14452:6;14433:16;:25;14408:8;:51::i;:::-;14164:329;14074:419;;;:::o;18906:3097::-;-1:-1:-1;;;;;19004:18:0;;18996:68;;;;-1:-1:-1;;;18996:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19083:16:0;;19075:64;;;;-1:-1:-1;;;19075:64:0;;;;;;;:::i;:::-;19156:6;19166:1;19156:11;19152:93;;19184:28;19200:4;19206:2;19210:1;19184:15;:28::i;19152:93::-;975:6;;-1:-1:-1;;;;;19261:15:0;;;975:6;;19261:15;;;;:32;;-1:-1:-1;975:6:0;;-1:-1:-1;;;;;19280:13:0;;;975:6;;19280:13;;19261:32;:52;;;;-1:-1:-1;;;;;;19297:16:0;;;;19261:52;:77;;;;-1:-1:-1;;;;;;19317:21:0;;19331:6;19317:21;;19261:77;:90;;;;-1:-1:-1;19343:8:0;;;;19342:9;19261:90;19257:1545;;;19373:11;;;;19368:140;;-1:-1:-1;;;;;19413:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;19442:23:0;;;;;;:19;:23;;;;;;;;19413:52;19405:87;;;;-1:-1:-1;;;19405:87:0;;12441:2:1;19405:87:0;;;12423:21:1;12480:2;12460:18;;;12453:30;-1:-1:-1;;;12499:18:1;;;12492:52;12561:18;;19405:87:0;12239:346:1;19405:87:0;19528:20;;;;:50;;;;-1:-1:-1;;;;;;19553:25:0;;;;;;:19;:25;;;;;;;;19552:26;19528:50;:78;;;;-1:-1:-1;;;;;;19583:23:0;;;;;;:19;:23;;;;;;;;19582:24;19528:78;19524:566;;;19648:16;-1:-1:-1;;;;;19634:31:0;:2;-1:-1:-1;;;;;19634:31:0;;;:63;;;;-1:-1:-1;19683:13:0;;-1:-1:-1;;;;;19669:28:0;;;19683:13;;19669:28;;19634:63;19630:445;;;19762:9;19733:39;;;;:28;:39;;;;;;19775:12;-1:-1:-1;19733:105:0;;;;-1:-1:-1;;;;;;19791:32:0;;;;;;:28;:32;;;;;;19826:12;-1:-1:-1;19733:105:0;19725:171;;;;-1:-1:-1;;;19725:171:0;;12792:2:1;19725:171:0;;;12774:21:1;12831:2;12811:18;;;12804:30;12870:34;12850:18;;;12843:62;-1:-1:-1;;;12921:18:1;;;12914:51;12982:19;;19725:171:0;12590:417:1;19725:171:0;19952:9;19923:39;;;;:28;:39;;;;;;19965:12;19923:54;;;;-1:-1:-1;;;;;20004:32:0;;;;;;:47;19630:445;-1:-1:-1;;;;;20110:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;20146:35:0;;;;;;:31;:35;;;;;;;;20145:36;20110:71;20106:685;;;20220:20;;20210:6;:30;;20202:96;;;;-1:-1:-1;;;20202:96:0;;13214:2:1;20202:96:0;;;13196:21:1;13253:2;13233:18;;;13226:30;13292:34;13272:18;;;13265:62;-1:-1:-1;;;13343:18:1;;;13336:51;13404:19;;20202:96:0;13012:417:1;20202:96:0;20351:9;;20334:13;20344:2;20334:9;:13::i;:::-;20325:22;;:6;:22;:::i;:::-;:35;;20317:67;;;;-1:-1:-1;;;20317:67:0;;13636:2:1;20317:67:0;;;13618:21:1;13675:2;13655:18;;;13648:30;-1:-1:-1;;;13694:18:1;;;13687:49;13753:18;;20317:67:0;13434:343:1;20317:67:0;20106:685;;;-1:-1:-1;;;;;20423:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;20457:37:0;;;;;;:31;:37;;;;;;;;20456:38;20423:71;20419:372;;;20533:20;;20523:6;:30;;20515:97;;;;-1:-1:-1;;;20515:97:0;;13984:2:1;20515:97:0;;;13966:21:1;14023:2;14003:18;;;13996:30;14062:34;14042:18;;;14035:62;-1:-1:-1;;;14113:18:1;;;14106:52;14175:19;;20515:97:0;13782:418:1;20419:372:0;-1:-1:-1;;;;;20652:35:0;;;;;;:31;:35;;;;;;;;20647:144;;20742:9;;20725:13;20735:2;20725:9;:13::i;:::-;20716:22;;:6;:22;:::i;:::-;:35;;20708:67;;;;-1:-1:-1;;;20708:67:0;;13636:2:1;20708:67:0;;;13618:21:1;13675:2;13655:18;;;13648:30;-1:-1:-1;;;13694:18:1;;;13687:49;13753:18;;20708:67:0;13434:343:1;20708:67:0;20814:28;20845:24;20863:4;20845:9;:24::i;:::-;20920:18;;20814:55;;-1:-1:-1;20897:41:0;;;20953:22;;;;-1:-1:-1;20964:11:0;;;;;;;20953:22;:35;;;;-1:-1:-1;20980:8:0;;;;20979:9;20953:35;:71;;;;-1:-1:-1;;;;;;20993:31:0;;;;;;:25;:31;;;;;;;;20992:32;20953:71;:101;;;;-1:-1:-1;;;;;;21029:25:0;;;;;;:19;:25;;;;;;;;21028:26;20953:101;:129;;;;-1:-1:-1;;;;;;21059:23:0;;;;;;:19;:23;;;;;;;;21058:24;20953:129;20949:467;;;21118:13;;21103:12;:28;21099:82;;;21164:1;21152:9;:13;21099:82;21210:2;21198:9;;:14;21195:210;;;21233:8;:15;;-1:-1:-1;;21233:15:0;21244:4;21233:15;;;21267:10;:8;:10::i;:::-;21296:8;:16;;-1:-1:-1;;21296:16:0;;;21331:9;:11;;;21307:5;21331:11;;;:::i;:::-;;;;-1:-1:-1;;21377:12:0;21361:13;:28;21195:210;21444:8;;21428:12;;21444:8;;21443:9;:39;;;;-1:-1:-1;;;;;;21457:25:0;;;;;;:19;:25;;;;;;;;21456:26;21443:39;:67;;;;-1:-1:-1;;;;;;21487:23:0;;;;;;:19;:23;;;;;;;;21486:24;21443:67;21428:82;;21523:12;21554:7;21550:402;;;-1:-1:-1;;;;;21582:29:0;;;;;;:25;:29;;;;;;;;21578:229;;;21639:28;21663:3;21639:19;21650:7;;21639:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;21632:35;;21578:229;;;-1:-1:-1;;;;;21705:31:0;;;;;;:25;:31;;;;;;;;21702:105;;;21764:27;21787:3;21764:18;21775:6;;21764;:10;;:18;;;;:::i;:27::-;21757:34;;21702:105;21825:8;;21821:91;;21854:42;21870:4;21884;21891;21854:15;:42::i;:::-;21926:14;21936:4;21926:14;;:::i;:::-;;;21550:402;21962:33;21978:4;21984:2;21988:6;21962:15;:33::i;:::-;18985:3018;;;;18906:3097;;;:::o;13117:595::-;-1:-1:-1;;;;;13201:21:0;;13193:67;;;;-1:-1:-1;;;13193:67:0;;14680:2:1;13193:67:0;;;14662:21:1;14719:2;14699:18;;;14692:30;14758:34;14738:18;;;14731:62;-1:-1:-1;;;14809:18:1;;;14802:31;14850:19;;13193:67:0;14478:397:1;13193:67:0;-1:-1:-1;;;;;13360:18:0;;13335:22;13360:18;;;;;;;;;;;13397:24;;;;13389:71;;;;-1:-1:-1;;;13389:71:0;;15082:2:1;13389:71:0;;;15064:21:1;15121:2;15101:18;;;15094:30;15160:34;15140:18;;;15133:62;-1:-1:-1;;;15211:18:1;;;15204:32;15253:19;;13389:71:0;14880:398:1;13389:71:0;-1:-1:-1;;;;;13496:18:0;;:9;:18;;;;;;;;;;;13517:23;;;13496:44;;13555:12;:22;;;;;;;13606:37;1361:25:1;;;13496:9:0;;:18;13606:37;;1334:18:1;13606:37:0;;;;;;;22882:216;;22831:267;:::o;1457:191::-;1550:6;;;-1:-1:-1;;;;;1567:17:0;;;-1:-1:-1;;;;;;1567:17:0;;;;;;;1600:40;;1550:6;;;1567:17;1550:6;;1600:40;;1531:16;;1600:40;1520:128;1457:191;:::o;22011:476::-;22101:16;;;22115:1;22101:16;;;;;;;;22077:21;;22101:16;;;;;;;;;;-1:-1:-1;22101:16:0;22077:40;;22146:4;22128;22133:1;22128:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;22128:23:0;;;-1:-1:-1;;;;;22128:23:0;;;;;22172:16;-1:-1:-1;;;;;22172:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22162:4;22167:1;22162:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;22162:33:0;;;-1:-1:-1;;;;;22162:33:0;;;;;22206:63;22223:4;22238:16;22257:11;22206:8;:63::i;:::-;22423:15;;22280:199;;-1:-1:-1;;;22280:199:0;;-1:-1:-1;;;;;22280:16:0;:67;;;;;:199;;22362:11;;22388:1;;22404:4;;22423:15;;;;;22453;;22280:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22066:421;22011:476;:::o;18578:186::-;-1:-1:-1;;;;;18661:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;18661:39:0;;;;;;;;;;18716:40;;18661:39;;:31;18716:40;;;18578:186;;:::o;12025:641::-;-1:-1:-1;;;;;12122:18:0;;12114:68;;;;-1:-1:-1;;;12114:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12201:16:0;;12193:64;;;;-1:-1:-1;;;12193:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12343:15:0;;12321:19;12343:15;;;;;;;;;;;12377:21;;;;12369:72;;;;-1:-1:-1;;;12369:72:0;;16990:2:1;12369:72:0;;;16972:21:1;17029:2;17009:18;;;17002:30;17068:34;17048:18;;;17041:62;-1:-1:-1;;;17119:18:1;;;17112:36;17165:19;;12369:72:0;16788:402:1;12369:72:0;-1:-1:-1;;;;;12477:15:0;;;:9;:15;;;;;;;;;;;12495:20;;;12477:38;;12530:13;;;;;;;;;;:23;;;;;;12582:26;;1361:25:1;;;12530:13:0;;12582:26;;1334:18:1;12582:26:0;;;;;;;12621:37;22831:267;23679:369;23718:23;23744:24;23762:4;23744:9;:24::i;:::-;23718:50;;23783:15;23802:1;23783:20;23779:59;;23820:7;23679:369::o;23779:59::-;23918:18;;23871:15;;23903:33;;23899:99;;;-1:-1:-1;23968:18:0;;23899:99;24010:30;24027:12;24010:16;:30::i;8383:98::-;8441:7;8468:5;8472:1;8468;:5;:::i;:::-;8461:12;8383:98;-1:-1:-1;;;8383:98:0:o;8489:::-;8547:7;8574:5;8578:1;8574;: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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:180::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;-1:-1:-1;2198:23:1;;2047:180;-1:-1:-1;2047:180:1:o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2692:248::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;-1:-1:-1;;2860:23:1;;;2930:2;2915:18;;;2902:32;;-1:-1:-1;2692:248:1:o;3179:118::-;3265:5;3258:13;3251:21;3244:5;3241:32;3231:60;;3287:1;3284;3277:12;3302:382;3367:6;3375;3428:2;3416:9;3407:7;3403:23;3399:32;3396:52;;;3444:1;3441;3434:12;3396:52;3483:9;3470:23;3502:31;3527:5;3502:31;:::i;:::-;3552:5;-1:-1:-1;3609:2:1;3594:18;;3581:32;3622:30;3581:32;3622:30;:::i;:::-;3671:7;3661:17;;;3302:382;;;;;:::o;3689:388::-;3757:6;3765;3818:2;3806:9;3797:7;3793:23;3789:32;3786:52;;;3834:1;3831;3824:12;3786:52;3873:9;3860:23;3892:31;3917:5;3892:31;:::i;:::-;3942:5;-1:-1:-1;3999:2:1;3984:18;;3971:32;4012:33;3971:32;4012:33;:::i;4082:380::-;4161:1;4157:12;;;;4204;;;4225:61;;4279:4;4271:6;4267:17;4257:27;;4225:61;4332:2;4324:6;4321:14;4301:18;4298:38;4295:161;;4378:10;4373:3;4369:20;4366:1;4359:31;4413:4;4410:1;4403:15;4441:4;4438:1;4431:15;4295:161;;4082:380;;;:::o;4467:127::-;4528:10;4523:3;4519:20;4516:1;4509:31;4559:4;4556:1;4549:15;4583:4;4580:1;4573:15;4599:125;4664:9;;;4685:10;;;4682:36;;;4698:18;;:::i;4729:168::-;4802:9;;;4833;;4850:15;;;4844:22;;4830:37;4820:71;;4871:18;;:::i;4902:217::-;4942:1;4968;4958:132;;5012:10;5007:3;5003:20;5000:1;4993:31;5047:4;5044:1;5037:15;5075:4;5072:1;5065:15;4958:132;-1:-1:-1;5104:9:1;;4902:217::o;7278:306::-;7366:6;7374;7382;7435:2;7423:9;7414:7;7410:23;7406:32;7403:52;;;7451:1;7448;7441:12;7403:52;7480:9;7474:16;7464:26;;7530:2;7519:9;7515:18;7509:25;7499:35;;7574:2;7563:9;7559:18;7553:25;7543:35;;7278:306;;;;;:::o;7868:245::-;7935:6;7988:2;7976:9;7967:7;7963:23;7959:32;7956:52;;;8004:1;8001;7994:12;7956:52;8036:9;8030:16;8055:28;8077:5;8055:28;:::i;8118:416::-;8207:1;8244:5;8207:1;8258:270;8279:7;8269:8;8266:21;8258:270;;;8338:4;8334:1;8330:6;8326:17;8320:4;8317:27;8314:53;;;8347:18;;:::i;:::-;8397:7;8387:8;8383:22;8380:55;;;8417:16;;;;8380:55;8496:22;;;;8456:15;;;;8258:270;;;8262:3;8118:416;;;;;:::o;8539:806::-;8588:5;8618:8;8608:80;;-1:-1:-1;8659:1:1;8673:5;;8608:80;8707:4;8697:76;;-1:-1:-1;8744:1:1;8758:5;;8697:76;8789:4;8807:1;8802:59;;;;8875:1;8870:130;;;;8782:218;;8802:59;8832:1;8823:10;;8846:5;;;8870:130;8907:3;8897:8;8894:17;8891:43;;;8914:18;;:::i;:::-;-1:-1:-1;;8970:1:1;8956:16;;8985:5;;8782:218;;9084:2;9074:8;9071:16;9065:3;9059:4;9056:13;9052:36;9046:2;9036:8;9033:16;9028:2;9022:4;9019:12;9015:35;9012:77;9009:159;;;-1:-1:-1;9121:19:1;;;9153:5;;9009:159;9200:34;9225:8;9219:4;9200:34;:::i;:::-;9270:6;9266:1;9262:6;9258:19;9249:7;9246:32;9243:58;;;9281:18;;:::i;:::-;9319:20;;8539:806;-1:-1:-1;;;8539:806:1:o;9350:140::-;9408:5;9437:47;9478:4;9468:8;9464:19;9458:4;9437:47;:::i;11429:401::-;11631:2;11613:21;;;11670:2;11650:18;;;11643:30;11709:34;11704:2;11689:18;;11682:62;-1:-1:-1;;;11775:2:1;11760:18;;11753:35;11820:3;11805:19;;11429:401::o;11835:399::-;12037:2;12019:21;;;12076:2;12056:18;;;12049:30;12115:34;12110:2;12095:18;;12088:62;-1:-1:-1;;;12181:2:1;12166:18;;12159:33;12224:3;12209:19;;11835:399::o;14205:135::-;14244:3;14265:17;;;14262:43;;14285:18;;:::i;:::-;-1:-1:-1;14332:1:1;14321:13;;14205:135::o;14345:128::-;14412:9;;;14433:11;;;14430:37;;;14447:18;;:::i;15415:127::-;15476:10;15471:3;15467:20;15464:1;15457:31;15507:4;15504:1;15497:15;15531:4;15528:1;15521:15;15547:251;15617:6;15670:2;15658:9;15649:7;15645:23;15641:32;15638:52;;;15686:1;15683;15676:12;15638:52;15718:9;15712:16;15737:31;15762:5;15737:31;:::i;15803:980::-;16065:4;16113:3;16102:9;16098:19;16144:6;16133:9;16126:25;16170:2;16208:6;16203:2;16192:9;16188:18;16181:34;16251:3;16246:2;16235:9;16231:18;16224:31;16275:6;16310;16304:13;16341:6;16333;16326:22;16379:3;16368:9;16364:19;16357:26;;16418:2;16410:6;16406:15;16392:29;;16439:1;16449:195;16463:6;16460:1;16457:13;16449:195;;;16528:13;;-1:-1:-1;;;;;16524:39:1;16512:52;;16619:15;;;;16584:12;;;;16560:1;16478:9;16449:195;;;-1:-1:-1;;;;;;;16700:32:1;;;;16695:2;16680:18;;16673:60;-1:-1:-1;;;16764:3:1;16749:19;16742:35;16661:3;15803:980;-1:-1:-1;;;15803:980:1:o
Swarm Source
ipfs://618fb3c9fdb729326bcfbaf600e64eb98cb418a74b5a632854a50069afa5f62e
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.