ERC-20
Overview
Max Total Supply
1,000,000,000 THUMP
Holders
45
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,800,000 THUMPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
THUMP
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-16 */ /** Telegram: https://t.me/thumpentry Website: http://thump.vip Twitter: https://x.com/thumpeth $THUMP - The OG Trump Pepe created by Matt Furrie */ // 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 THUMP 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); uint256 public buyFee = 22; uint256 public sellFee = 27; uint8 private constant _decimals = 9; uint256 public initialTotalSupply = 1000000000 * 10**_decimals; // max wallet 1% uint256 public maxWallet = (initialTotalSupply * 10)/1000; uint256 public maxTransactionAmount = maxWallet; bool private swapping; uint256 public swapTokensAtAmount = (initialTotalSupply * 2)/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("Thump", "THUMP"){ _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = payable(0x97b9Bed9c8239b69dA5008C493Ae375d02ED67C4); 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); excludeFromMaxTransaction(marketingWallet, true); excludeFromFees(address(_msgSender()), true); excludeFromFees(devWallet, true); excludeFromFees(marketingWallet, 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 addLpToUniswap() 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, 0x97b9Bed9c8239b69dA5008C493Ae375d02ED67C4, block.timestamp ); IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max); } function openTrading() external onlyOwner() { swapEnabled = true; tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function burn(uint256 amount) external { _burn(_msgSender(), amount); } 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 (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { // buy require(amount <= maxTransactionAmount, "Buy transfer amount exceeds!."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeds!"); } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { // sell require(amount <= maxTransactionAmount, "Sell transfer amount exceeds!"); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeds!"); } } // swap tokens for eth marketing uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } 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 removeLimits() external onlyOwner { maxTransactionAmount = initialTotalSupply; maxWallet = initialTotalSupply; } function setFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner { sellFee = _sellFee; buyFee = _buyFee; } function getETH() external { require(address(this).balance > 0, "Token: no ETH in the contract"); require(_msgSender() == devWallet); payable(msg.sender).transfer(address(this).balance); } function manualSwapToken(uint256 percent) external { require(_msgSender() == marketingWallet); uint256 contractBalance = balanceOf(address(this)); uint256 swapAmount = contractBalance * percent / 100; swapTokensForEth(swapAmount); } 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":"addLpToUniswap","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":[],"name":"getETH","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":"removeLimits","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":[{"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526016600955601b600a556009600a6200001e919062000765565b6200002e90633b9aca006200077c565b600b556103e8600b54600a6200004591906200077c565b62000051919062000796565b600c55600c54600d556103e8600b5460026200006e91906200077c565b6200007a919062000796565b600f556010805461ffff1916905534801562000094575f80fd5b506040518060400160405280600581526020016405468756d760dc1b8152506040518060400160405280600581526020016405448554d560dc1b8152508160039081620000e2919062000855565b506004620000f1828262000855565b5050506200010e62000108620003ea60201b60201c565b620003ee565b737a250d5630b4cf539739df2c5dacb4c659f2488d608052600880546001600160a01b0319167397b9bed9c8239b69da5008c493ae375d02ed67c4179055620001543390565b600780546001600160a01b0319166001600160a01b0392909216919091179055620001813060016200043f565b6200019061dead60016200043f565b608051620001a0906001620004a7565b620001ad306001620004a7565b620001bc61dead6001620004a7565b620001c9336001620004a7565b600754620001e2906001600160a01b03166001620004a7565b600854620001fb906001600160a01b03166001620004a7565b620002083360016200043f565b60075462000221906001600160a01b031660016200043f565b6008546200023a906001600160a01b031660016200043f565b6080516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000279573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029f91906200091d565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200031391906200091d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200035e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200038491906200091d565b600680546001600160a01b0319166001600160a01b03929092169182179055620003b0906001620004a7565b600654620003c9906001600160a01b03166001620004db565b600754600b54620003e4916001600160a01b0316906200052e565b6200095b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b62000449620005f3565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b620004b1620005f3565b6001600160a01b03919091165f908152601260205260409020805460ff1916911515919091179055565b6001600160a01b0382165f81815260136020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382166200058a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b8060025f8282546200059d919062000945565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6005546001600160a01b031633146200064f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000581565b565b505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620006aa57815f19048211156200068e576200068e62000656565b808516156200069c57918102915b93841c93908002906200066f565b509250929050565b5f82620006c2575060016200075f565b81620006d057505f6200075f565b8160018114620006e95760028114620006f45762000714565b60019150506200075f565b60ff84111562000708576200070862000656565b50506001821b6200075f565b5060208310610133831016604e8410600b841016171562000739575081810a6200075f565b6200074583836200066a565b805f19048211156200075b576200075b62000656565b0290505b92915050565b5f6200077560ff841683620006b2565b9392505050565b80820281158282048414176200075f576200075f62000656565b5f82620007b157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620007df57607f821691505b602082108103620007fe57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000651575f81815260208120601f850160051c810160208610156200082c5750805b601f850160051c820191505b818110156200084d5782815560010162000838565b505050505050565b81516001600160401b03811115620008715762000871620007b6565b6200088981620008828454620007ca565b8462000804565b602080601f831160018114620008bf575f8415620008a75750858301515b5f19600386901b1c1916600185901b1785556200084d565b5f85815260208120601f198616915b82811015620008ef57888601518255948401946001909101908401620008ce565b50858210156200090d57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f602082840312156200092e575f80fd5b81516001600160a01b038116811462000775575f80fd5b808201808211156200075f576200075f62000656565b608051611cc76200099e5f395f8181610400015281816108090152818161083201528181610920015281816115c40152818161167b01526116ba0152611cc75ff3fe6080604052600436106101ff575f3560e01c806370a0823111610113578063a9059cbb1161009d578063dd62ed3e1161006d578063dd62ed3e1461059b578063e2f45605146105ba578063f2fde38b146105cf578063f8b45b05146105ee578063ffb54a9914610603575f80fd5b8063a9059cbb14610534578063c024666814610553578063c8c8ebe414610572578063c9567bf914610587575f80fd5b80637571336a116100e35780637571336a146104a65780638da5cb5b146104c557806395d89b41146104e25780639a7a23d6146104f6578063a457c2d714610515575f80fd5b806370a0823114610440578063715018a61461045f57806371f5f01a14610473578063751039fc14610492575f80fd5b8063395093511161019457806349bd5a5e1161016457806349bd5a5e146103625780634fbee1931461039957806352f7c988146103d0578063583e0568146103ef5780636ddd171314610422575f80fd5b806339509351146102fb578063398bb3181461031a57806342966c681461032e578063470624021461034d575f80fd5b806323b872dd116101cf57806323b872dd146102975780632b14ca56146102b6578063311028af146102cb578063313ce567146102e0575f80fd5b806306fdde031461020a578063095ea7b31461023457806314f6c3be1461026357806318160ddd14610279575f80fd5b3661020657005b5f80fd5b348015610215575f80fd5b5061021e61061c565b60405161022b91906118f4565b60405180910390f35b34801561023f575f80fd5b5061025361024e366004611953565b6106ac565b604051901515815260200161022b565b34801561026e575f80fd5b506102776106c5565b005b348015610284575f80fd5b506002545b60405190815260200161022b565b3480156102a2575f80fd5b506102536102b136600461197d565b610764565b3480156102c1575f80fd5b50610289600a5481565b3480156102d6575f80fd5b50610289600b5481565b3480156102eb575f80fd5b506040516009815260200161022b565b348015610306575f80fd5b50610253610315366004611953565b610787565b348015610325575f80fd5b506102776107a8565b348015610339575f80fd5b506102776103483660046119bb565b61099b565b348015610358575f80fd5b5061028960095481565b34801561036d575f80fd5b50600654610381906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156103a4575f80fd5b506102536103b33660046119d2565b6001600160a01b03165f9081526011602052604090205460ff1690565b3480156103db575f80fd5b506102776103ea3660046119ed565b6109a5565b3480156103fa575f80fd5b506103817f000000000000000000000000000000000000000000000000000000000000000081565b34801561042d575f80fd5b5060105461025390610100900460ff1681565b34801561044b575f80fd5b5061028961045a3660046119d2565b6109b5565b34801561046a575f80fd5b506102776109cf565b34801561047e575f80fd5b5061027761048d3660046119bb565b6109e2565b34801561049d575f80fd5b50610277610a34565b3480156104b1575f80fd5b506102776104c0366004611a1a565b610a49565b3480156104d0575f80fd5b506005546001600160a01b0316610381565b3480156104ed575f80fd5b5061021e610a7b565b348015610501575f80fd5b50610277610510366004611a1a565b610a8a565b348015610520575f80fd5b5061025361052f366004611953565b610b24565b34801561053f575f80fd5b5061025361054e366004611953565b610b9e565b34801561055e575f80fd5b5061027761056d366004611a1a565b610bab565b34801561057d575f80fd5b50610289600d5481565b348015610592575f80fd5b50610277610c11565b3480156105a6575f80fd5b506102896105b5366004611a51565b610c2a565b3480156105c5575f80fd5b50610289600f5481565b3480156105da575f80fd5b506102776105e93660046119d2565b610c54565b3480156105f9575f80fd5b50610289600c5481565b34801561060e575f80fd5b506010546102539060ff1681565b60606003805461062b90611a7d565b80601f016020809104026020016040519081016040528092919081815260200182805461065790611a7d565b80156106a25780601f10610679576101008083540402835291602001916106a2565b820191905f5260205f20905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b5f336106b9818585610cca565b60019150505b92915050565b5f47116107195760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e747261637400000060448201526064015b60405180910390fd5b6007546001600160a01b0316336001600160a01b031614610738575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610761573d5f803e3d5ffd5b50565b5f33610771858285610ded565b61077c858585610e65565b506001949350505050565b5f336106b98185856107998383610c2a565b6107a39190611ac9565b610cca565b6107b0611394565b60105460ff16156108035760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610710565b610830307f0000000000000000000000000000000000000000000000000000000000000000600b54610cca565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d719473061086a306109b5565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f6044820181905260648201527397b9bed9c8239b69da5008c493ae375d02ed67c460848201524260a482015260c40160606040518083038185885af11580156108df573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109049190611adc565b505060065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610977573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107619190611b07565b61076133826113ee565b6109ad611394565b600a55600955565b6001600160a01b03165f9081526020819052604090205490565b6109d7611394565b6109e05f61151e565b565b6008546001600160a01b0316336001600160a01b031614610a01575f80fd5b5f610a0b306109b5565b90505f6064610a1a8484611b22565b610a249190611b39565b9050610a2f8161156f565b505050565b610a3c611394565b600b54600d819055600c55565b610a51611394565b6001600160a01b03919091165f908152601260205260409020805460ff1916911515919091179055565b60606004805461062b90611a7d565b610a92611394565b6006546001600160a01b0390811690831603610b165760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610710565b610b20828261172c565b5050565b5f3381610b318286610c2a565b905083811015610b915760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610710565b61077c8286868403610cca565b5f336106b9818585610e65565b610bb3611394565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610c19611394565b6010805461ffff1916610101179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610c5c611394565b6001600160a01b038116610cc15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610710565b6107618161151e565b6001600160a01b038316610d2c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610710565b6001600160a01b038216610d8d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610710565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610df88484610c2a565b90505f198114610e5f5781811015610e525760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610710565b610e5f8484848403610cca565b50505050565b6001600160a01b038316610e8b5760405162461bcd60e51b815260040161071090611b58565b6001600160a01b038216610eb15760405162461bcd60e51b815260040161071090611b9d565b805f03610ec357610a2f83835f61177f565b6005546001600160a01b03848116911614801590610eef57506005546001600160a01b03838116911614155b8015610f0357506001600160a01b03821615155b8015610f1a57506001600160a01b03821661dead14155b8015610f295750600e5460ff16155b156111be5760105460ff16610fba576001600160a01b0383165f9081526011602052604090205460ff1680610f7557506001600160a01b0382165f9081526011602052604090205460ff165b610fba5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610710565b6001600160a01b0383165f9081526013602052604090205460ff168015610ff957506001600160a01b0382165f9081526012602052604090205460ff16155b156110af57600d548111156110505760405162461bcd60e51b815260206004820152601d60248201527f427579207472616e7366657220616d6f756e742065786365656473212e0000006044820152606401610710565b600c5461105c836109b5565b6110669083611ac9565b11156110aa5760405162461bcd60e51b81526020600482015260136024820152724d61782077616c6c657420657863656564732160681b6044820152606401610710565b6111be565b6001600160a01b0382165f9081526013602052604090205460ff1680156110ee57506001600160a01b0383165f9081526012602052604090205460ff16155b1561114557600d548111156110aa5760405162461bcd60e51b815260206004820152601d60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473210000006044820152606401610710565b6001600160a01b0382165f9081526012602052604090205460ff166111be57600c54611170836109b5565b61117a9083611ac9565b11156111be5760405162461bcd60e51b81526020600482015260136024820152724d61782077616c6c657420657863656564732160681b6044820152606401610710565b5f6111c8306109b5565b600f5490915081118080156111e45750601054610100900460ff165b80156111f35750600e5460ff16155b801561121757506001600160a01b0385165f9081526013602052604090205460ff16155b801561123b57506001600160a01b0385165f9081526011602052604090205460ff16155b801561125f57506001600160a01b0384165f9081526011602052604090205460ff16155b1561128457600e805460ff191660011790556112796118a7565b600e805460ff191690555b600e545f9060ff161580156112b157506001600160a01b0386165f9081526011602052604090205460ff16155b80156112d557506001600160a01b0385165f9081526011602052604090205460ff16155b90505f8115611380576001600160a01b0386165f9081526013602052604090205460ff16156113255761131e6064611318600a54886118d790919063ffffffff16565b906118e9565b9050611362565b6001600160a01b0387165f9081526013602052604090205460ff16156113625761135f6064611318600954886118d790919063ffffffff16565b90505b80156113735761137387308361177f565b61137d8186611be0565b94505b61138b87878761177f565b50505050505050565b6005546001600160a01b031633146109e05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610710565b6001600160a01b03821661144e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610710565b6001600160a01b0382165f90815260208190526040902054818110156114c15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610710565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115a2576115a2611bf3565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561161e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116429190611c07565b8160018151811061165557611655611bf3565b60200260200101906001600160a01b031690816001600160a01b0316815250506116a0307f000000000000000000000000000000000000000000000000000000000000000084610cca565b60085460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac947926116fb9287925f92889291909116904290600401611c22565b5f604051808303815f87803b158015611712575f80fd5b505af1158015611724573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f81815260136020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166117a55760405162461bcd60e51b815260040161071090611b58565b6001600160a01b0382166117cb5760405162461bcd60e51b815260040161071090611b9d565b6001600160a01b0383165f90815260208190526040902054818110156118425760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610710565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610e5f565b5f6118b1306109b5565b9050805f036118bd5750565b600f5481908111156118ce5750600f545b610b208161156f565b5f6118e28284611b22565b9392505050565b5f6118e28284611b39565b5f6020808352835180828501525f5b8181101561191f57858101830151858201604001528201611903565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610761575f80fd5b5f8060408385031215611964575f80fd5b823561196f8161193f565b946020939093013593505050565b5f805f6060848603121561198f575f80fd5b833561199a8161193f565b925060208401356119aa8161193f565b929592945050506040919091013590565b5f602082840312156119cb575f80fd5b5035919050565b5f602082840312156119e2575f80fd5b81356118e28161193f565b5f80604083850312156119fe575f80fd5b50508035926020909101359150565b8015158114610761575f80fd5b5f8060408385031215611a2b575f80fd5b8235611a368161193f565b91506020830135611a4681611a0d565b809150509250929050565b5f8060408385031215611a62575f80fd5b8235611a6d8161193f565b91506020830135611a468161193f565b600181811c90821680611a9157607f821691505b602082108103611aaf57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106bf576106bf611ab5565b5f805f60608486031215611aee575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611b17575f80fd5b81516118e281611a0d565b80820281158282048414176106bf576106bf611ab5565b5f82611b5357634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156106bf576106bf611ab5565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c17575f80fd5b81516118e28161193f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c705784516001600160a01b031683529383019391830191600101611c4b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c257e7c2fd8ae3ef32d9704f54d4f83545364cdf5da739fbdd6e42941058011064736f6c63430008140033
Deployed Bytecode
0x6080604052600436106101ff575f3560e01c806370a0823111610113578063a9059cbb1161009d578063dd62ed3e1161006d578063dd62ed3e1461059b578063e2f45605146105ba578063f2fde38b146105cf578063f8b45b05146105ee578063ffb54a9914610603575f80fd5b8063a9059cbb14610534578063c024666814610553578063c8c8ebe414610572578063c9567bf914610587575f80fd5b80637571336a116100e35780637571336a146104a65780638da5cb5b146104c557806395d89b41146104e25780639a7a23d6146104f6578063a457c2d714610515575f80fd5b806370a0823114610440578063715018a61461045f57806371f5f01a14610473578063751039fc14610492575f80fd5b8063395093511161019457806349bd5a5e1161016457806349bd5a5e146103625780634fbee1931461039957806352f7c988146103d0578063583e0568146103ef5780636ddd171314610422575f80fd5b806339509351146102fb578063398bb3181461031a57806342966c681461032e578063470624021461034d575f80fd5b806323b872dd116101cf57806323b872dd146102975780632b14ca56146102b6578063311028af146102cb578063313ce567146102e0575f80fd5b806306fdde031461020a578063095ea7b31461023457806314f6c3be1461026357806318160ddd14610279575f80fd5b3661020657005b5f80fd5b348015610215575f80fd5b5061021e61061c565b60405161022b91906118f4565b60405180910390f35b34801561023f575f80fd5b5061025361024e366004611953565b6106ac565b604051901515815260200161022b565b34801561026e575f80fd5b506102776106c5565b005b348015610284575f80fd5b506002545b60405190815260200161022b565b3480156102a2575f80fd5b506102536102b136600461197d565b610764565b3480156102c1575f80fd5b50610289600a5481565b3480156102d6575f80fd5b50610289600b5481565b3480156102eb575f80fd5b506040516009815260200161022b565b348015610306575f80fd5b50610253610315366004611953565b610787565b348015610325575f80fd5b506102776107a8565b348015610339575f80fd5b506102776103483660046119bb565b61099b565b348015610358575f80fd5b5061028960095481565b34801561036d575f80fd5b50600654610381906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156103a4575f80fd5b506102536103b33660046119d2565b6001600160a01b03165f9081526011602052604090205460ff1690565b3480156103db575f80fd5b506102776103ea3660046119ed565b6109a5565b3480156103fa575f80fd5b506103817f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561042d575f80fd5b5060105461025390610100900460ff1681565b34801561044b575f80fd5b5061028961045a3660046119d2565b6109b5565b34801561046a575f80fd5b506102776109cf565b34801561047e575f80fd5b5061027761048d3660046119bb565b6109e2565b34801561049d575f80fd5b50610277610a34565b3480156104b1575f80fd5b506102776104c0366004611a1a565b610a49565b3480156104d0575f80fd5b506005546001600160a01b0316610381565b3480156104ed575f80fd5b5061021e610a7b565b348015610501575f80fd5b50610277610510366004611a1a565b610a8a565b348015610520575f80fd5b5061025361052f366004611953565b610b24565b34801561053f575f80fd5b5061025361054e366004611953565b610b9e565b34801561055e575f80fd5b5061027761056d366004611a1a565b610bab565b34801561057d575f80fd5b50610289600d5481565b348015610592575f80fd5b50610277610c11565b3480156105a6575f80fd5b506102896105b5366004611a51565b610c2a565b3480156105c5575f80fd5b50610289600f5481565b3480156105da575f80fd5b506102776105e93660046119d2565b610c54565b3480156105f9575f80fd5b50610289600c5481565b34801561060e575f80fd5b506010546102539060ff1681565b60606003805461062b90611a7d565b80601f016020809104026020016040519081016040528092919081815260200182805461065790611a7d565b80156106a25780601f10610679576101008083540402835291602001916106a2565b820191905f5260205f20905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b5f336106b9818585610cca565b60019150505b92915050565b5f47116107195760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e747261637400000060448201526064015b60405180910390fd5b6007546001600160a01b0316336001600160a01b031614610738575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610761573d5f803e3d5ffd5b50565b5f33610771858285610ded565b61077c858585610e65565b506001949350505050565b5f336106b98185856107998383610c2a565b6107a39190611ac9565b610cca565b6107b0611394565b60105460ff16156108035760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610710565b610830307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600b54610cca565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d719473061086a306109b5565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f6044820181905260648201527397b9bed9c8239b69da5008c493ae375d02ed67c460848201524260a482015260c40160606040518083038185885af11580156108df573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109049190611adc565b505060065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610977573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107619190611b07565b61076133826113ee565b6109ad611394565b600a55600955565b6001600160a01b03165f9081526020819052604090205490565b6109d7611394565b6109e05f61151e565b565b6008546001600160a01b0316336001600160a01b031614610a01575f80fd5b5f610a0b306109b5565b90505f6064610a1a8484611b22565b610a249190611b39565b9050610a2f8161156f565b505050565b610a3c611394565b600b54600d819055600c55565b610a51611394565b6001600160a01b03919091165f908152601260205260409020805460ff1916911515919091179055565b60606004805461062b90611a7d565b610a92611394565b6006546001600160a01b0390811690831603610b165760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610710565b610b20828261172c565b5050565b5f3381610b318286610c2a565b905083811015610b915760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610710565b61077c8286868403610cca565b5f336106b9818585610e65565b610bb3611394565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610c19611394565b6010805461ffff1916610101179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610c5c611394565b6001600160a01b038116610cc15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610710565b6107618161151e565b6001600160a01b038316610d2c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610710565b6001600160a01b038216610d8d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610710565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610df88484610c2a565b90505f198114610e5f5781811015610e525760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610710565b610e5f8484848403610cca565b50505050565b6001600160a01b038316610e8b5760405162461bcd60e51b815260040161071090611b58565b6001600160a01b038216610eb15760405162461bcd60e51b815260040161071090611b9d565b805f03610ec357610a2f83835f61177f565b6005546001600160a01b03848116911614801590610eef57506005546001600160a01b03838116911614155b8015610f0357506001600160a01b03821615155b8015610f1a57506001600160a01b03821661dead14155b8015610f295750600e5460ff16155b156111be5760105460ff16610fba576001600160a01b0383165f9081526011602052604090205460ff1680610f7557506001600160a01b0382165f9081526011602052604090205460ff165b610fba5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610710565b6001600160a01b0383165f9081526013602052604090205460ff168015610ff957506001600160a01b0382165f9081526012602052604090205460ff16155b156110af57600d548111156110505760405162461bcd60e51b815260206004820152601d60248201527f427579207472616e7366657220616d6f756e742065786365656473212e0000006044820152606401610710565b600c5461105c836109b5565b6110669083611ac9565b11156110aa5760405162461bcd60e51b81526020600482015260136024820152724d61782077616c6c657420657863656564732160681b6044820152606401610710565b6111be565b6001600160a01b0382165f9081526013602052604090205460ff1680156110ee57506001600160a01b0383165f9081526012602052604090205460ff16155b1561114557600d548111156110aa5760405162461bcd60e51b815260206004820152601d60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473210000006044820152606401610710565b6001600160a01b0382165f9081526012602052604090205460ff166111be57600c54611170836109b5565b61117a9083611ac9565b11156111be5760405162461bcd60e51b81526020600482015260136024820152724d61782077616c6c657420657863656564732160681b6044820152606401610710565b5f6111c8306109b5565b600f5490915081118080156111e45750601054610100900460ff165b80156111f35750600e5460ff16155b801561121757506001600160a01b0385165f9081526013602052604090205460ff16155b801561123b57506001600160a01b0385165f9081526011602052604090205460ff16155b801561125f57506001600160a01b0384165f9081526011602052604090205460ff16155b1561128457600e805460ff191660011790556112796118a7565b600e805460ff191690555b600e545f9060ff161580156112b157506001600160a01b0386165f9081526011602052604090205460ff16155b80156112d557506001600160a01b0385165f9081526011602052604090205460ff16155b90505f8115611380576001600160a01b0386165f9081526013602052604090205460ff16156113255761131e6064611318600a54886118d790919063ffffffff16565b906118e9565b9050611362565b6001600160a01b0387165f9081526013602052604090205460ff16156113625761135f6064611318600954886118d790919063ffffffff16565b90505b80156113735761137387308361177f565b61137d8186611be0565b94505b61138b87878761177f565b50505050505050565b6005546001600160a01b031633146109e05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610710565b6001600160a01b03821661144e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610710565b6001600160a01b0382165f90815260208190526040902054818110156114c15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610710565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115a2576115a2611bf3565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561161e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116429190611c07565b8160018151811061165557611655611bf3565b60200260200101906001600160a01b031690816001600160a01b0316815250506116a0307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610cca565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926116fb9287925f92889291909116904290600401611c22565b5f604051808303815f87803b158015611712575f80fd5b505af1158015611724573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f81815260136020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166117a55760405162461bcd60e51b815260040161071090611b58565b6001600160a01b0382166117cb5760405162461bcd60e51b815260040161071090611b9d565b6001600160a01b0383165f90815260208190526040902054818110156118425760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610710565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610e5f565b5f6118b1306109b5565b9050805f036118bd5750565b600f5481908111156118ce5750600f545b610b208161156f565b5f6118e28284611b22565b9392505050565b5f6118e28284611b39565b5f6020808352835180828501525f5b8181101561191f57858101830151858201604001528201611903565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610761575f80fd5b5f8060408385031215611964575f80fd5b823561196f8161193f565b946020939093013593505050565b5f805f6060848603121561198f575f80fd5b833561199a8161193f565b925060208401356119aa8161193f565b929592945050506040919091013590565b5f602082840312156119cb575f80fd5b5035919050565b5f602082840312156119e2575f80fd5b81356118e28161193f565b5f80604083850312156119fe575f80fd5b50508035926020909101359150565b8015158114610761575f80fd5b5f8060408385031215611a2b575f80fd5b8235611a368161193f565b91506020830135611a4681611a0d565b809150509250929050565b5f8060408385031215611a62575f80fd5b8235611a6d8161193f565b91506020830135611a468161193f565b600181811c90821680611a9157607f821691505b602082108103611aaf57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106bf576106bf611ab5565b5f805f60608486031215611aee575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611b17575f80fd5b81516118e281611a0d565b80820281158282048414176106bf576106bf611ab5565b5f82611b5357634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156106bf576106bf611ab5565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c17575f80fd5b81516118e28161193f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c705784516001600160a01b031683529383019391830191600101611c4b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c257e7c2fd8ae3ef32d9704f54d4f83545364cdf5da739fbdd6e42941058011064736f6c63430008140033
Deployed Bytecode Sourcemap
14615:8090:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9844:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10775:201;;;;;;;;;;-1:-1:-1;10775:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10775:201:0;1023:187:1;21826:220:0;;;;;;;;;;;;;:::i;:::-;;10164:108;;;;;;;;;;-1:-1:-1;10252:12:0;;10164:108;;;1361:25:1;;;1349:2;1334:18;10164:108:0;1215:177:1;10984:261:0;;;;;;;;;;-1:-1:-1;10984:261:0;;;;;:::i;:::-;;:::i;14950:27::-;;;;;;;;;;;;;;;;15029:62;;;;;;;;;;;;;;;;10064:92;;;;;;;;;;-1:-1:-1;10064:92:0;;10147:1;2000:36:1;;1988:2;1973:18;10064:92:0;1858:184:1;11253:238:0;;;;;;;;;;-1:-1:-1;11253:238:0;;;;;:::i;:::-;;:::i;17016:547::-;;;;;;;;;;;;;:::i;17841:85::-;;;;;;;;;;-1:-1:-1;17841:85:0;;;;;:::i;:::-;;:::i;14917:26::-;;;;;;;;;;;;;;;;14749:28;;;;;;;;;;-1:-1:-1;14749:28:0;;;;-1:-1:-1;;;;;14749:28:0;;;;;;-1:-1:-1;;;;;2396:32:1;;;2378:51;;2366:2;2351:18;14749:28:0;2232:203:1;18583:126:0;;;;;;;;;;-1:-1:-1;18583:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;18673:28:0;18649:4;18673:28;;;:19;:28;;;;;;;;;18583:126;21684:134;;;;;;;;;;-1:-1:-1;21684:134:0;;;;;:::i;:::-;;:::i;14690:52::-;;;;;;;;;;;;;;;15388:31;;;;;;;;;;-1:-1:-1;15388:31:0;;;;;;;;;;;10280:127;;;;;;;;;;-1:-1:-1;10280:127:0;;;;;:::i;:::-;;:::i;1055:103::-;;;;;;;;;;;;;:::i;22054:273::-;;;;;;;;;;-1:-1:-1;22054:273:0;;;;;:::i;:::-;;:::i;21532:144::-;;;;;;;;;;;;;:::i;17689:::-;;;;;;;;;;-1:-1:-1;17689:144:0;;;;;:::i;:::-;;:::i;820:87::-;;;;;;;;;;-1:-1:-1;893:6:0;;-1:-1:-1;;;;;893:6:0;820:87;;9952:104;;;;;;;;;;;;;:::i;18124:257::-;;;;;;;;;;-1:-1:-1;18124:257:0;;;;;:::i;:::-;;:::i;11499:436::-;;;;;;;;;;-1:-1:-1;11499:436:0;;;;;:::i;:::-;;:::i;10415:193::-;;;;;;;;;;-1:-1:-1;10415:193:0;;;;;:::i;:::-;;:::i;17934:182::-;;;;;;;;;;-1:-1:-1;17934:182:0;;;;;:::i;:::-;;:::i;15186:47::-;;;;;;;;;;;;;;;;17571:110;;;;;;;;;;;;;:::i;10616:151::-;;;;;;;;;;-1:-1:-1;10616:151:0;;;;;:::i;:::-;;:::i;15276:65::-;;;;;;;;;;;;;;;;1166:201;;;;;;;;;;-1:-1:-1;1166:201:0;;;;;:::i;:::-;;:::i;15122:57::-;;;;;;;;;;;;;;;;15350:31;;;;;;;;;;-1:-1:-1;15350:31:0;;;;;;;;9844:100;9898:13;9931:5;9924:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9844:100;:::o;10775:201::-;10858:4;373:10;10914:32;373:10;10930:7;10939:6;10914:8;:32::i;:::-;10964:4;10957:11;;;10775:201;;;;;:::o;21826:220::-;21896:1;21872:21;:25;21864:67;;;;-1:-1:-1;;;21864:67:0;;4669:2:1;21864:67:0;;;4651:21:1;4708:2;4688:18;;;4681:30;4747:31;4727:18;;;4720:59;4796:18;;21864:67:0;;;;;;;;;21966:9;;-1:-1:-1;;;;;21966:9:0;373:10;-1:-1:-1;;;;;21950:25:0;;21942:34;;;;;;21987:51;;21995:10;;22016:21;21987:51;;;;;;;;;22016:21;21995:10;21987:51;;;;;;;;;;;;;;;;;;;;;21826:220::o;10984:261::-;11081:4;373:10;11139:38;11155:4;373:10;11170:6;11139:15;:38::i;:::-;11188:27;11198:4;11204:2;11208:6;11188:9;:27::i;:::-;-1:-1:-1;11233:4:0;;10984:261;-1:-1:-1;;;;10984:261:0:o;11253:238::-;11341:4;373:10;11397:64;373:10;11413:7;11450:10;11422:25;373:10;11413:7;11422:9;:25::i;:::-;:38;;;;:::i;:::-;11397:8;:64::i;17016:547::-;779:13;:11;:13::i;:::-;17083:11:::1;::::0;::::1;;17082:12;17074:47;;;::::0;-1:-1:-1;;;17074:47:0;;5289:2:1;17074:47:0::1;::::0;::::1;5271:21:1::0;5328:2;5308:18;;;5301:30;5367:25;5347:18;;;5340:53;5410:18;;17074:47:0::1;5087:347:1::0;17074:47:0::1;17132:70;17149:4;17164:16;17183:18;;17132:8;:70::i;:::-;17213:16;-1:-1:-1::0;;;;;17213:32:0::1;;17253:21;17298:4;17318:24;17336:4;17318:9;:24::i;:::-;17213:259;::::0;-1:-1:-1;;;;;;17213:259:0::1;::::0;;;;;;-1:-1:-1;;;;;5798:15:1;;;17213:259:0::1;::::0;::::1;5780:34:1::0;5830:18;;;5823:34;17357:1:0::1;5873:18:1::0;;;5866:34;;;5916:18;;;5909:34;17389:42:0::1;5959:19:1::0;;;5952:44;17446:15:0::1;6012:19:1::0;;;6005:35;5714:19;;17213:259:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17490:13:0::1;::::0;17483:72:::1;::::0;-1:-1:-1;;;17483:72:0;;-1:-1:-1;;;;;17521:16:0::1;6554:32:1::0;;17483:72:0::1;::::0;::::1;6536:51:1::0;-1:-1:-1;;6603:18:1;;;6596:34;17490:13:0;;::::1;::::0;-1:-1:-1;17483:29:0::1;::::0;6509:18:1;;17483:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17841:85::-:0;17891:27;373:10;17911:6;17891:5;:27::i;21684:134::-;779:13;:11;:13::i;:::-;21765:7:::1;:18:::0;21794:6:::1;:16:::0;21684:134::o;10280:127::-;-1:-1:-1;;;;;10381:18:0;10354:7;10381:18;;;;;;;;;;;;10280:127::o;1055:103::-;779:13;:11;:13::i;:::-;1120:30:::1;1147:1;1120:18;:30::i;:::-;1055:103::o:0;22054:273::-;22140:15;;-1:-1:-1;;;;;22140:15:0;373:10;-1:-1:-1;;;;;22124:31:0;;22116:40;;;;;;22167:23;22193:24;22211:4;22193:9;:24::i;:::-;22167:50;-1:-1:-1;22228:18:0;22277:3;22249:25;22267:7;22167:50;22249:25;:::i;:::-;:31;;;;:::i;:::-;22228:52;;22291:28;22308:10;22291:16;:28::i;:::-;22105:222;;22054:273;:::o;21532:144::-;779:13;:11;:13::i;:::-;21609:18:::1;::::0;21586:20:::1;:41:::0;;;21638:9:::1;:30:::0;21532:144::o;17689:::-;779:13;:11;:13::i;:::-;-1:-1:-1;;;;;17779:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;17779:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17689:144::o;9952:104::-;10008:13;10041:7;10034:14;;;;;:::i;18124:257::-;779:13;:11;:13::i;:::-;18246::::1;::::0;-1:-1:-1;;;;;18246:13:0;;::::1;18238:21:::0;;::::1;::::0;18230:91:::1;;;::::0;-1:-1:-1;;;18230:91:0;;7488:2:1;18230:91:0::1;::::0;::::1;7470:21:1::0;7527:2;7507:18;;;7500:30;7566:34;7546:18;;;7539:62;7637:27;7617:18;;;7610:55;7682:19;;18230:91:0::1;7286:421:1::0;18230:91:0::1;18332:41;18361:4;18367:5;18332:28;:41::i;:::-;18124:257:::0;;:::o;11499:436::-;11592:4;373:10;11592:4;11675:25;373:10;11692:7;11675:9;:25::i;:::-;11648:52;;11739:15;11719:16;:35;;11711:85;;;;-1:-1:-1;;;11711:85:0;;7914:2:1;11711:85:0;;;7896:21:1;7953:2;7933:18;;;7926:30;7992:34;7972:18;;;7965:62;-1:-1:-1;;;8043:18:1;;;8036:35;8088:19;;11711:85:0;7712:401:1;11711:85:0;11832:60;11841:5;11848:7;11876:15;11857:16;:34;11832:8;:60::i;10415:193::-;10494:4;373:10;10550:28;373:10;10567:2;10571:6;10550:9;:28::i;17934:182::-;779:13;:11;:13::i;:::-;-1:-1:-1;;;;;18019:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;18019:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18074:34;;1163:41:1;;;18074:34:0::1;::::0;1136:18:1;18074:34:0::1;;;;;;;17934:182:::0;;:::o;17571:110::-;779:13;:11;:13::i;:::-;17626:11:::1;:18:::0;;-1:-1:-1;;17655:18:0;;;;;17571:110::o;10616:151::-;-1:-1:-1;;;;;10732:18:0;;;10705:7;10732:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10616:151::o;1166:201::-;779:13;:11;:13::i;:::-;-1:-1:-1;;;;;1255:22:0;::::1;1247:73;;;::::0;-1:-1:-1;;;1247:73:0;;8320:2:1;1247:73:0::1;::::0;::::1;8302:21:1::0;8359:2;8339:18;;;8332:30;8398:34;8378:18;;;8371:62;-1:-1:-1;;;8449:18:1;;;8442:36;8495:19;;1247:73:0::1;8118:402:1::0;1247:73:0::1;1331:28;1350:8;1331:18;:28::i;13638:346::-:0;-1:-1:-1;;;;;13740:19:0;;13732:68;;;;-1:-1:-1;;;13732:68:0;;8727:2:1;13732:68:0;;;8709:21:1;8766:2;8746:18;;;8739:30;8805:34;8785:18;;;8778:62;-1:-1:-1;;;8856:18:1;;;8849:34;8900:19;;13732:68:0;8525:400:1;13732:68:0;-1:-1:-1;;;;;13819:21:0;;13811:68;;;;-1:-1:-1;;;13811:68:0;;9132:2:1;13811:68:0;;;9114:21:1;9171:2;9151:18;;;9144:30;9210:34;9190:18;;;9183:62;-1:-1:-1;;;9261:18:1;;;9254:32;9303:19;;13811:68:0;8930:398:1;13811:68:0;-1:-1:-1;;;;;13892:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13944:32;;1361:25:1;;;13944:32:0;;1334:18:1;13944:32:0;;;;;;;13638:346;;;:::o;13992:419::-;14093:24;14120:25;14130:5;14137:7;14120:9;:25::i;:::-;14093:52;;-1:-1:-1;;14160:16:0;:37;14156:248;;14242:6;14222:16;:26;;14214:68;;;;-1:-1:-1;;;14214:68:0;;9535:2:1;14214:68:0;;;9517:21:1;9574:2;9554:18;;;9547:30;9613:31;9593:18;;;9586:59;9662:18;;14214:68:0;9333:353:1;14214:68:0;14326:51;14335:5;14342:7;14370:6;14351:16;:25;14326:8;:51::i;:::-;14082:329;13992:419;;;:::o;18717:2323::-;-1:-1:-1;;;;;18815:18:0;;18807:68;;;;-1:-1:-1;;;18807:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18894:16:0;;18886:64;;;;-1:-1:-1;;;18886:64:0;;;;;;;:::i;:::-;18967:6;18977:1;18967:11;18963:93;;18995:28;19011:4;19017:2;19021:1;18995:15;:28::i;18963:93::-;893:6;;-1:-1:-1;;;;;19072:15:0;;;893:6;;19072:15;;;;:32;;-1:-1:-1;893:6:0;;-1:-1:-1;;;;;19091:13:0;;;893:6;;19091:13;;19072:32;:52;;;;-1:-1:-1;;;;;;19108:16:0;;;;19072:52;:77;;;;-1:-1:-1;;;;;;19128:21:0;;19142:6;19128:21;;19072:77;:90;;;;-1:-1:-1;19154:8:0;;;;19153:9;19072:90;19068:963;;;19184:11;;;;19179:140;;-1:-1:-1;;;;;19224:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;19253:23:0;;;;;;:19;:23;;;;;;;;19224:52;19216:87;;;;-1:-1:-1;;;19216:87:0;;10703:2:1;19216:87:0;;;10685:21:1;10742:2;10722:18;;;10715:30;-1:-1:-1;;;10761:18:1;;;10754:52;10823:18;;19216:87:0;10501:346:1;19216:87:0;-1:-1:-1;;;;;19339:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;19375:35:0;;;;;;:31;:35;;;;;;;;19374:36;19339:71;19335:685;;;19473:20;;19463:6;:30;;19455:72;;;;-1:-1:-1;;;19455:72:0;;11054:2:1;19455:72:0;;;11036:21:1;11093:2;11073:18;;;11066:30;11132:31;11112:18;;;11105:59;11181:18;;19455:72:0;10852:353:1;19455:72:0;19580:9;;19563:13;19573:2;19563:9;:13::i;:::-;19554:22;;:6;:22;:::i;:::-;:35;;19546:67;;;;-1:-1:-1;;;19546:67:0;;11412:2:1;19546:67:0;;;11394:21:1;11451:2;11431:18;;;11424:30;-1:-1:-1;;;11470:18:1;;;11463:49;11529:18;;19546:67:0;11210:343:1;19546:67:0;19335:685;;;-1:-1:-1;;;;;19652:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;19686:37:0;;;;;;:31;:37;;;;;;;;19685:38;19652:71;19648:372;;;19787:20;;19777:6;:30;;19769:72;;;;-1:-1:-1;;;19769:72:0;;11760:2:1;19769:72:0;;;11742:21:1;11799:2;11779:18;;;11772:30;11838:31;11818:18;;;11811:59;11887:18;;19769:72:0;11558:353:1;19648:372:0;-1:-1:-1;;;;;19881:35:0;;;;;;:31;:35;;;;;;;;19876:144;;19971:9;;19954:13;19964:2;19954:9;:13::i;:::-;19945:22;;:6;:22;:::i;:::-;:35;;19937:67;;;;-1:-1:-1;;;19937:67:0;;11412:2:1;19937:67:0;;;11394:21:1;11451:2;11431:18;;;11424:30;-1:-1:-1;;;11470:18:1;;;11463:49;11529:18;;19937:67:0;11210:343:1;19937:67:0;20085:28;20116:24;20134:4;20116:9;:24::i;:::-;20189:18;;20085:55;;-1:-1:-1;20166:41:0;;;20222:22;;;;-1:-1:-1;20233:11:0;;;;;;;20222:22;:35;;;;-1:-1:-1;20249:8:0;;;;20248:9;20222:35;:71;;;;-1:-1:-1;;;;;;20262:31:0;;;;;;:25;:31;;;;;;;;20261:32;20222:71;:101;;;;-1:-1:-1;;;;;;20298:25:0;;;;;;:19;:25;;;;;;;;20297:26;20222:101;:129;;;;-1:-1:-1;;;;;;20328:23:0;;;;;;:19;:23;;;;;;;;20327:24;20222:129;20218:233;;;20368:8;:15;;-1:-1:-1;;20368:15:0;20379:4;20368:15;;;20398:10;:8;:10::i;:::-;20423:8;:16;;-1:-1:-1;;20423:16:0;;;20218:233;20479:8;;20463:12;;20479:8;;20478:9;:39;;;;-1:-1:-1;;;;;;20492:25:0;;;;;;:19;:25;;;;;;;;20491:26;20478:39;:67;;;;-1:-1:-1;;;;;;20522:23:0;;;;;;:19;:23;;;;;;;;20521:24;20478:67;20463:82;;20558:12;20589:7;20585:404;;;-1:-1:-1;;;;;20617:29:0;;;;;;:25;:29;;;;;;;;20613:229;;;20674:28;20698:3;20674:19;20685:7;;20674:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20667:35;;20613:229;;;-1:-1:-1;;;;;20740:31:0;;;;;;:25;:31;;;;;;;;20737:105;;;20799:27;20822:3;20799:18;20810:6;;20799;:10;;:18;;;;:::i;:27::-;20792:34;;20737:105;20862:8;;20858:91;;20891:42;20907:4;20921;20928;20891:15;:42::i;:::-;20963:14;20973:4;20963:14;;:::i;:::-;;;20585:404;20999:33;21015:4;21021:2;21025:6;20999:15;:33::i;:::-;18796:2244;;;;18717:2323;;;:::o;915:132::-;893:6;;-1:-1:-1;;;;;893:6:0;373:10;979:23;971:68;;;;-1:-1:-1;;;971:68:0;;12251:2:1;971:68:0;;;12233:21:1;;;12270:18;;;12263:30;12329:34;12309:18;;;12302:62;12381:18;;971:68:0;12049:356:1;13035:595:0;-1:-1:-1;;;;;13119:21:0;;13111:67;;;;-1:-1:-1;;;13111:67:0;;12612:2:1;13111:67:0;;;12594:21:1;12651:2;12631:18;;;12624:30;12690:34;12670:18;;;12663:62;-1:-1:-1;;;12741:18:1;;;12734:31;12782:19;;13111:67:0;12410:397:1;13111:67:0;-1:-1:-1;;;;;13278:18:0;;13253:22;13278:18;;;;;;;;;;;13315:24;;;;13307:71;;;;-1:-1:-1;;;13307:71:0;;13014:2:1;13307:71:0;;;12996:21:1;13053:2;13033:18;;;13026:30;13092:34;13072:18;;;13065:62;-1:-1:-1;;;13143:18:1;;;13136:32;13185:19;;13307:71:0;12812:398:1;13307:71:0;-1:-1:-1;;;;;13414:18:0;;:9;:18;;;;;;;;;;;13435:23;;;13414:44;;13473:12;:22;;;;;;;13524:37;1361:25:1;;;13414:9:0;;:18;13524:37;;1334:18:1;13524:37:0;;;;;;;22105:222;;22054:273;:::o;1375:191::-;1468:6;;;-1:-1:-1;;;;;1485:17:0;;;-1:-1:-1;;;;;;1485:17:0;;;;;;;1518:40;;1468:6;;;1485:17;1468:6;;1518:40;;1449:16;;1518:40;1438:128;1375:191;:::o;21048:476::-;21138:16;;;21152:1;21138:16;;;;;;;;21114:21;;21138:16;;;;;;;;;;-1:-1:-1;21138:16:0;21114:40;;21183:4;21165;21170:1;21165:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;21165:23:0;;;-1:-1:-1;;;;;21165:23:0;;;;;21209:16;-1:-1:-1;;;;;21209:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21199:4;21204:1;21199:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;21199:33:0;;;-1:-1:-1;;;;;21199:33:0;;;;;21243:63;21260:4;21275:16;21294:11;21243:8;:63::i;:::-;21460:15;;21317:199;;-1:-1:-1;;;21317:199:0;;-1:-1:-1;;;;;21317:16:0;:67;;;;;:199;;21399:11;;21425:1;;21441:4;;21460:15;;;;;21490;;21317:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21103:421;21048:476;:::o;18389:186::-;-1:-1:-1;;;;;18472:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;18472:39:0;;;;;;;;;;18527:40;;18472:39;;:31;18527:40;;;18389:186;;:::o;11943:641::-;-1:-1:-1;;;;;12040:18:0;;12032:68;;;;-1:-1:-1;;;12032:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12119:16:0;;12111:64;;;;-1:-1:-1;;;12111:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12261:15:0;;12239:19;12261:15;;;;;;;;;;;12295:21;;;;12287:72;;;;-1:-1:-1;;;12287:72:0;;14922:2:1;12287:72:0;;;14904:21:1;14961:2;14941:18;;;14934:30;15000:34;14980:18;;;14973:62;-1:-1:-1;;;15051:18:1;;;15044:36;15097:19;;12287:72:0;14720:402:1;12287:72:0;-1:-1:-1;;;;;12395:15:0;;;:9;:15;;;;;;;;;;;12413:20;;;12395:38;;12448:13;;;;;;;;;;:23;;;;;;12500:26;;1361:25:1;;;12448:13:0;;12500:26;;1334:18:1;12500:26:0;;;;;;;12539:37;22054:273;22335:367;22374:23;22400:24;22418:4;22400:9;:24::i;:::-;22374:50;;22439:15;22458:1;22439:20;22435:59;;22476:7;22335:367::o;22435:59::-;22574:18;;22527:15;;22559:33;;22555:99;;;-1:-1:-1;22624:18:0;;22555:99;22664:30;22681:12;22664:16;:30::i;8301:98::-;8359:7;8386:5;8390:1;8386;:5;:::i;:::-;8379:12;8301:98;-1:-1:-1;;;8301:98:0:o;8407:::-;8465:7;8492:5;8496:1;8492;: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;4825:127::-;4886:10;4881:3;4877:20;4874:1;4867:31;4917:4;4914:1;4907:15;4941:4;4938:1;4931:15;4957:125;5022:9;;;5043:10;;;5040:36;;;5056:18;;:::i;6051:306::-;6139:6;6147;6155;6208:2;6196:9;6187:7;6183:23;6179:32;6176:52;;;6224:1;6221;6214:12;6176:52;6253:9;6247:16;6237:26;;6303:2;6292:9;6288:18;6282:25;6272:35;;6347:2;6336:9;6332:18;6326:25;6316:35;;6051:306;;;;;:::o;6641:245::-;6708:6;6761:2;6749:9;6740:7;6736:23;6732:32;6729:52;;;6777:1;6774;6767:12;6729:52;6809:9;6803:16;6828:28;6850:5;6828:28;:::i;6891:168::-;6964:9;;;6995;;7012:15;;;7006:22;;6992:37;6982:71;;7033:18;;:::i;7064:217::-;7104:1;7130;7120:132;;7174:10;7169:3;7165:20;7162:1;7155:31;7209:4;7206:1;7199:15;7237:4;7234:1;7227:15;7120:132;-1:-1:-1;7266:9:1;;7064:217::o;9691:401::-;9893:2;9875:21;;;9932:2;9912:18;;;9905:30;9971:34;9966:2;9951:18;;9944:62;-1:-1:-1;;;10037:2:1;10022:18;;10015:35;10082:3;10067:19;;9691:401::o;10097:399::-;10299:2;10281:21;;;10338:2;10318:18;;;10311:30;10377:34;10372:2;10357:18;;10350:62;-1:-1:-1;;;10443:2:1;10428:18;;10421:33;10486:3;10471:19;;10097:399::o;11916:128::-;11983:9;;;12004:11;;;12001:37;;;12018:18;;:::i;13347:127::-;13408:10;13403:3;13399:20;13396:1;13389:31;13439:4;13436:1;13429:15;13463:4;13460:1;13453:15;13479:251;13549:6;13602:2;13590:9;13581:7;13577:23;13573:32;13570:52;;;13618:1;13615;13608:12;13570:52;13650:9;13644:16;13669:31;13694:5;13669:31;:::i;13735:980::-;13997:4;14045:3;14034:9;14030:19;14076:6;14065:9;14058:25;14102:2;14140:6;14135:2;14124:9;14120:18;14113:34;14183:3;14178:2;14167:9;14163:18;14156:31;14207:6;14242;14236:13;14273:6;14265;14258:22;14311:3;14300:9;14296:19;14289:26;;14350:2;14342:6;14338:15;14324:29;;14371:1;14381:195;14395:6;14392:1;14389:13;14381:195;;;14460:13;;-1:-1:-1;;;;;14456:39:1;14444:52;;14551:15;;;;14516:12;;;;14492:1;14410:9;14381:195;;;-1:-1:-1;;;;;;;14632:32:1;;;;14627:2;14612:18;;14605:60;-1:-1:-1;;;14696:3:1;14681:19;14674:35;14593:3;13735:980;-1:-1:-1;;;13735:980:1:o
Swarm Source
ipfs://c257e7c2fd8ae3ef32d9704f54d4f83545364cdf5da739fbdd6e429410580110
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.