Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
69,696,969 PP2.0
Holders
43
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
871,412.63313133 PP2.0Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PrintPepe20
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-29 */ /* GOEES BRRR http://t.me/printpepe20 Missed $PEPE, $PEPE2.0? Don't Cry! Print $PEPE2.0 here! */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.17; /** * Standard SafeMath, stripped down to just add/sub/mul/div */ library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } /** * ERC20 standard interface. */ interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * Allows for contract ownership along with multi-address authorization */ abstract contract Auth { address internal owner; constructor(address _owner) { owner = _owner; } /** * Function modifier to require caller to be contract deployer */ modifier onlyOwner() { require(isOwner(msg.sender), "!Owner"); _; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, address path, address to ) external returns (bool); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IDividendDistributor { function setShare(address shareholder, uint256 amount) external; function deposit(uint256 amount) external; function claimDividend(address shareholder) external; function getDividendsClaimedOf (address shareholder) external returns (uint256); } contract DividendDistributor is IDividendDistributor { using SafeMath for uint256; address public _token; address public _owner; address public immutable PEPE20 = address(0xfb66321D7C674995dFcC2cb67A30bC978dc862AD); //Pepe2.0 struct Share { uint256 amount; uint256 totalExcluded; uint256 totalClaimed; } address[] private shareholders; mapping (address => uint256) private shareholderIndexes; mapping (address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalClaimed; uint256 public dividendsPerShare; uint256 private dividendsPerShareAccuracyFactor = 10 ** 36; modifier onlyToken() { require(msg.sender == _token); _; } modifier onlyOwner() { require(msg.sender == _owner); _; } constructor (address owner) { _token = msg.sender; _owner = owner; } receive() external payable { } function setShare(address shareholder, uint256 amount) external override onlyToken { if(shares[shareholder].amount > 0){ distributeDividend(shareholder); } if(amount > 0 && shares[shareholder].amount == 0){ addShareholder(shareholder); }else if(amount == 0 && shares[shareholder].amount > 0){ removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } function deposit(uint256 amount) external override onlyToken { if (amount > 0) { totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)); } } function distributeDividend(address shareholder) internal { if(shares[shareholder].amount == 0){ return; } uint256 amount = getClaimableDividendOf(shareholder); if(amount > 0){ totalClaimed = totalClaimed.add(amount); shares[shareholder].totalClaimed = shares[shareholder].totalClaimed.add(amount); shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); IERC20(PEPE20).transfer(shareholder, amount); } } function claimDividend(address shareholder) external override onlyToken { distributeDividend(shareholder); } function getClaimableDividendOf(address shareholder) public view returns (uint256) { if(shares[shareholder].amount == 0){ return 0; } uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1]; shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder]; shareholders.pop(); } function manualSend(uint256 amount, address holder) external onlyOwner { uint256 contractETHBalance = address(this).balance; payable(holder).transfer(amount > 0 ? amount : contractETHBalance); } function getDividendsClaimedOf (address shareholder) external view returns (uint256) { require (shares[shareholder].amount > 0, "You're not a PRINTER shareholder!"); return shares[shareholder].totalClaimed; } } contract PrintPepe20 is IERC20, Auth { using SafeMath for uint256; address private WETH; address private DEAD = 0x000000000000000000000000000000000000dEaD; address private ZERO = 0x0000000000000000000000000000000000000000; address public immutable PEPE20 = address(0xfb66321D7C674995dFcC2cb67A30bC978dc862AD); //Pepe2.0 string private constant _name = "PEPE2.0 PRINTERR"; string private constant _symbol = "PP2.0"; uint8 private constant _decimals = 9; uint256 private _totalSupply = 69696969 * (10 ** _decimals); uint256 private _maxTxAmountBuy = _totalSupply; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private cooldown; mapping (address => bool) private isFeeExempt; mapping (address => bool) private isDividendExempt; mapping (address => bool) private isBot; uint256 private totalFee = 14; uint256 private feeDenominator = 100; address payable public marketingWallet = payable(0xf7C389070439244f90b8d6f56Df7FAA8cD3E218A); IDEXRouter public router; IDEXRouter public router02; address public pair; bool private tradingOpen; bool private buyLimit = true; uint256 private maxBuy = 1393939 * (10 ** _decimals); uint256 public numTokensSellToAddToLiquidity = 278787 * 10**9; DividendDistributor private distributor; bool public blacklistEnabled = false; bool private inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor ( address _owner, address _router02 ) Auth(_owner) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; distributor = new DividendDistributor(_owner); isFeeExempt[_owner] = true; isFeeExempt[address(this)] = true; isFeeExempt[marketingWallet] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; router02 = IDEXRouter(_router02); _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if (sender!= owner && recipient!= owner) require(tradingOpen, "Trading not yet enabled."); //transfers disabled before openTrading if (blacklistEnabled) { require (!isBot[sender] && !isBot[recipient], "Bot!"); } if (buyLimit) { if (sender!=owner && recipient!= owner) require (amount<=maxBuy, "Too much sir"); } if(inSwap){ return _basicTransfer(sender, recipient, amount); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity; bool shouldSwapBack = (overMinTokenBalance && !isFeeExempt[sender] && recipient==pair && balanceOf(address(this)) > 0); if(shouldSwapBack){ swapBack(); } (uint256 amountSent, uint256 amountReceived) = _getAmountOut(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amountSent, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amountReceived); if(sender != pair && !isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} } if(recipient != pair && !isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} } emit Transfer(sender, recipient, amountReceived); return true; } function _getAmountOut(address sender, address recipient, uint256 amount) internal returns (uint256, uint256) { uint256 amountSent = router02.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, sender, recipient) ? 0 : amount; uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount; return (amountSent, amountReceived); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return ( !(isFeeExempt[sender] || isFeeExempt[recipient]) && (sender == pair || recipient == pair) ); } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount; feeAmount = amount.mul(totalFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function swapBack() internal swapping { uint256 amountToSwap = balanceOf(address(this)); swapTokensForEth(amountToSwap.div(2)); swapTokensForPEPE20(amountToSwap.div(2)); uint256 dividends = IERC20(PEPE20).balanceOf(address(this)); bool success = IERC20(PEPE20).transfer(address(distributor), dividends); if (success) { distributor.deposit(dividends); } payable(marketingWallet).transfer(address(this).balance); } function swapTokensForPEPE20(uint256 tokenAmount) private { address[] memory path = new address[](3); path[0] = address(this); path[1] = WETH; path[2] = PEPE20; // make the swap router.swapExactTokensForTokensSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // add the liquidity router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner, block.timestamp ); } function openTrading() external onlyOwner { tradingOpen = true; } function setBot(address _address, bool toggle) external onlyOwner { isBot[_address] = toggle; _setIsDividendExempt(_address, toggle); } function _setIsDividendExempt(address holder, bool exempt) internal { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ distributor.setShare(holder, 0); }else{ distributor.setShare(holder, _balances[holder]); } } function setIsDividendExempt(address holder, bool exempt) external onlyOwner { _setIsDividendExempt(holder, exempt); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setFee(uint256 _fee) external onlyOwner { require (_fee <= 14, "Fee can't exceed 14%"); totalFee = _fee; } function manualSend() external onlyOwner { uint256 contractETHBalance = address(this).balance; payable(marketingWallet).transfer(contractETHBalance); } function claimDividend() external { distributor.claimDividend(msg.sender); } function claimDividend(address holder) external onlyOwner { distributor.claimDividend(holder); } function getClaimableDividendOf(address shareholder) public view returns (uint256) { return distributor.getClaimableDividendOf(shareholder); } function manualBurn(uint256 amount) external onlyOwner returns (bool) { return _basicTransfer(address(this), DEAD, amount); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function setMarketingWallet(address _marketingWallet) external onlyOwner { marketingWallet = payable(_marketingWallet); } function getTotalDividends() external view returns (uint256) { return distributor.totalDividends(); } function getTotalClaimed() external view returns (uint256) { return distributor.totalClaimed(); } function getDividendsClaimedOf(address shareholder) external view returns (uint256) { return distributor.getDividendsClaimedOf(shareholder); } function removeBuyLimit() external onlyOwner { buyLimit = false; } function checkBot(address account) public view returns (bool) { return isBot[account]; } function setBlacklistEnabled() external onlyOwner { require (blacklistEnabled == false, "can only be called once"); blacklistEnabled = true; } function setSwapThresholdAmount(uint256 amount) external onlyOwner { require (amount <= _totalSupply.div(100), "can't exceed 1%"); numTokensSellToAddToLiquidity = amount * 10 ** 9; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_router02","type":"address"}],"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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"PEPE20","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getClaimableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getDividendsClaimedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router02","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052600280546001600160a01b031990811661dead1790915560038054909116905573fb66321d7c674995dfcc2cb67a30bc978dc862ad6080526200004a6009600a62000540565b6200005a906304277dc962000558565b6004819055600555600e600c8190556064600d5580546001600160a01b03191673f7c389070439244f90b8d6f56df7faa8cd3e218a1790556011805460ff60a81b1916600160a81b179055620000b36009600a62000540565b620000c2906215451362000558565b60125565fd8e281a5e006013556014805460ff60a01b19169055348015620000e957600080fd5b50604051620034b9380380620034b98339810160408190526200010c916200058f565b600080546001600160a01b03199081166001600160a01b03851617909155600f8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000185573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ab9190620005c7565b600180546001600160a01b0319166001600160a01b03928316179055600f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200020a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002309190620005c7565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a89190620005c7565b601180546001600160a01b0319166001600160a01b03928316179055306000908152600760209081526040808320600f5490941683529290528190206000199055518290620002f7906200041d565b6001600160a01b039091168152602001604051809103906000f08015801562000324573d6000803e3d6000fd5b50601480546001600160a01b03199081166001600160a01b03938416179091558382166000818152600960209081526040808320805460ff199081166001908117909255308086528386208054831684179055600e5489168652838620805483168417905560115489168652600a855283862080548316841790558552828520805482168317905560025488168552828520805490911690911790556010805490951695871695909517909355600454828252600684528482208190559351938452909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620005e5565b610d88806200273183390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004825781600019048211156200046657620004666200042b565b808516156200047457918102915b93841c939080029062000446565b509250929050565b6000826200049b575060016200053a565b81620004aa575060006200053a565b8160018114620004c35760028114620004ce57620004ee565b60019150506200053a565b60ff841115620004e257620004e26200042b565b50506001821b6200053a565b5060208310610133831016604e8410600b841016171562000513575081810a6200053a565b6200051f838362000441565b80600019048211156200053657620005366200042b565b0290505b92915050565b60006200055160ff8416836200048a565b9392505050565b80820281158282048414176200053a576200053a6200042b565b80516001600160a01b03811681146200058a57600080fd5b919050565b60008060408385031215620005a357600080fd5b620005ae8362000572565b9150620005be6020840162000572565b90509250929050565b600060208284031215620005da57600080fd5b620005518262000572565b60805161211b620006166000396000818161038301528181611811015281816118b30152611bfa015261211b6000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063bd00c9c4116100ab578063f0fc6bca1161006f578063f0fc6bca14610709578063f2fde38b1461071e578063f42938901461073e578063f708a64f14610753578063f887ea401461077357600080fd5b8063bd00c9c414610657578063bffb691d14610677578063c9567bf914610698578063d12a7688146106ad578063dd62ed3e146106c357600080fd5b80638ecc37fb116100f25780638ecc37fb1461059057806395d89b41146105b0578063a8aa1b31146105de578063a9059cbb146105fe578063b1a4e0dc1461061e57600080fd5b806370a08231146104f2578063736a83a11461052857806375f0a8741461053d578063764ca5121461055d578063893d20e81461057257600080fd5b80632f54bf6e116101bc5780635cc33f74116101805780635cc33f741461045d5780635d098b381461047d578063658d4b7f1461049d57806367ee5f09146104bd57806369fe0e2d146104d257600080fd5b80632f54bf6e146103bd578063313ce567146103ec578063342aa8b5146104085780633e07ce5b14610428578063571ac8b01461043d57600080fd5b806323b635851161020357806323b63585146102fc57806323b872dd1461031c57806329e04b4a1461033c5780632b112e491461035c5780632becb9a11461037157600080fd5b806306fdde0314610240578063095ea7b31461028b57806315f7e05e146102bb57806318160ddd146102dd57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5060408051808201909152601081526f2822a82299171810282924a72a22a92960811b60208201525b6040516102829190611e15565b60405180910390f35b34801561029757600080fd5b506102ab6102a6366004611e7b565b610793565b6040519015158152602001610282565b3480156102c757600080fd5b506102db6102d6366004611ea7565b610800565b005b3480156102e957600080fd5b506004545b604051908152602001610282565b34801561030857600080fd5b506102ab610317366004611ec4565b610895565b34801561032857600080fd5b506102ab610337366004611edd565b6108d8565b34801561034857600080fd5b506102db610357366004611ec4565b61099a565b34801561036857600080fd5b506102ee610a27565b34801561037d57600080fd5b506103a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610282565b3480156103c957600080fd5b506102ab6103d8366004611ea7565b6000546001600160a01b0391821691161490565b3480156103f857600080fd5b5060405160098152602001610282565b34801561041457600080fd5b506102db610423366004611f2c565b610a79565b34801561043457600080fd5b506102db610ad5565b34801561044957600080fd5b506102ab610458366004611ea7565b610b0e565b34801561046957600080fd5b506102ee610478366004611ea7565b610b1c565b34801561048957600080fd5b506102db610498366004611ea7565b610b8c565b3480156104a957600080fd5b506102db6104b8366004611f2c565b610bd8565b3480156104c957600080fd5b506102ee610c2d565b3480156104de57600080fd5b506102db6104ed366004611ec4565b610c9b565b3480156104fe57600080fd5b506102ee61050d366004611ea7565b6001600160a01b031660009081526006602052604090205490565b34801561053457600080fd5b506102ee610d12565b34801561054957600080fd5b50600e546103a5906001600160a01b031681565b34801561056957600080fd5b506102db610d5c565b34801561057e57600080fd5b506000546001600160a01b03166103a5565b34801561059c57600080fd5b506102ee6105ab366004611ea7565b610df5565b3480156105bc57600080fd5b5060408051808201909152600581526405050322e360dc1b6020820152610275565b3480156105ea57600080fd5b506011546103a5906001600160a01b031681565b34801561060a57600080fd5b506102ab610619366004611e7b565b610e28565b34801561062a57600080fd5b506102ab610639366004611ea7565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561066357600080fd5b506010546103a5906001600160a01b031681565b34801561068357600080fd5b506014546102ab90600160a01b900460ff1681565b3480156106a457600080fd5b506102db610e35565b3480156106b957600080fd5b506102ee60135481565b3480156106cf57600080fd5b506102ee6106de366004611f65565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561071557600080fd5b506102db610e74565b34801561072a57600080fd5b506102db610739366004611ea7565b610ed3565b34801561074a57600080fd5b506102db610f51565b34801561075f57600080fd5b506102db61076e366004611f2c565b610fb5565b34801561077f57600080fd5b50600f546103a5906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107ee9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108335760405162461bcd60e51b815260040161082a90611f93565b60405180910390fd5b601454604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e90602401600060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146108c05760405162461bcd60e51b815260040161082a90611f93565b6002546107fa9030906001600160a01b031684610fe9565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610985576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546109609184906110cf565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610990848484611109565b90505b9392505050565b6000546001600160a01b031633146109c45760405162461bcd60e51b815260040161082a90611f93565b6004546109d29060646115ba565b811115610a135760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b604482015260640161082a565b610a2181633b9aca00611fc9565b60135550565b6003546001600160a01b0316600090815260066020526040812054610a74906002546001600160a01b0316600090815260066020526040902054610a6e90600454906115fc565b906115fc565b905090565b6000546001600160a01b03163314610aa35760405162461bcd60e51b815260040161082a90611f93565b6001600160a01b0382166000908152600b60205260409020805460ff1916821515179055610ad1828261163e565b5050565b6000546001600160a01b03163314610aff5760405162461bcd60e51b815260040161082a90611f93565b6011805460ff60a81b19169055565b60006107fa82600019610793565b601454604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fa9190611fe0565b6000546001600160a01b03163314610bb65760405162461bcd60e51b815260040161082a90611f93565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c025760405162461bcd60e51b815260040161082a90611f93565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6014546040805163997664d760e01b815290516000926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190611fe0565b6000546001600160a01b03163314610cc55760405162461bcd60e51b815260040161082a90611f93565b600e811115610d0d5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031342560601b604482015260640161082a565b600c55565b6014546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610c77573d6000803e3d6000fd5b6000546001600160a01b03163314610d865760405162461bcd60e51b815260040161082a90611f93565b601454600160a01b900460ff1615610de05760405162461bcd60e51b815260206004820152601760248201527f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000604482015260640161082a565b6014805460ff60a01b1916600160a01b179055565b601454604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610b4b565b6000610993338484611109565b6000546001600160a01b03163314610e5f5760405162461bcd60e51b815260040161082a90611f93565b6011805460ff60a01b1916600160a01b179055565b601454604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610efd5760405162461bcd60e51b815260040161082a90611f93565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610f7b5760405162461bcd60e51b815260040161082a90611f93565b600e5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b6000546001600160a01b03163314610fdf5760405162461bcd60e51b815260040161082a90611f93565b610ad1828261163e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461103a9184906110cf565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611069908361174f565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110bd9086815260200190565b60405180910390a35060019392505050565b600081848411156110f35760405162461bcd60e51b815260040161082a9190611e15565b5060006111008486611ff9565b95945050505050565b600080546001600160a01b0385811691161480159061113657506000546001600160a01b03848116911614155b1561119457601154600160a01b900460ff166111945760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161082a565b601454600160a01b900460ff161561121d576001600160a01b0384166000908152600b602052604090205460ff161580156111e857506001600160a01b0383166000908152600b602052604090205460ff16155b61121d5760405162461bcd60e51b815260040161082a90602080825260049082015263426f742160e01b604082015260600190565b601154600160a81b900460ff16156112a1576000546001600160a01b0385811691161480159061125b57506000546001600160a01b03848116911614155b156112a1576012548211156112a15760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b604482015260640161082a565b601454600160a81b900460ff16156112c5576112be848484610fe9565b9050610993565b30600090815260066020526040812054601354909190821080159190829061130657506001600160a01b03871660009081526009602052604090205460ff16155b801561131f57506011546001600160a01b038781169116145b8015611338575030600090815260066020526040812054115b90508015611348576113486117ae565b6000806113568989896119d5565b915091506113c08260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008d6001600160a01b03166001600160a01b03168152602001908152602001600020546110cf9092919063ffffffff16565b6001600160a01b03808b1660009081526006602052604080822093909355908a16815220546113ef908261174f565b6001600160a01b03808a166000908152600660205260409020919091556011548a821691161480159061143b57506001600160a01b0389166000908152600a602052604090205460ff16155b156114b1576014546001600160a01b038a811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561149e57600080fd5b505af19250505080156114af575060015b505b6011546001600160a01b038981169116148015906114e857506001600160a01b0388166000908152600a602052604090205460ff16155b1561155e576014546001600160a01b0389811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561154b57600080fd5b505af192505050801561155c575060015b505b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115a391815260200190565b60405180910390a350600198975050505050505050565b600061099383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a98565b600061099383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110cf565b6001600160a01b038216301480159061166557506011546001600160a01b03838116911614155b61166e57600080fd5b6001600160a01b0382166000908152600a60205260409020805460ff1916821580159190911790915561170657601454604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b1580156116ea57600080fd5b505af11580156116fe573d6000803e3d6000fd5b505050505050565b6014546001600160a01b0383811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016116d0565b60008061175c838561200c565b9050838110156109935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161082a565b6014805460ff60a81b1916600160a81b1790553060009081526006602052604081205490506117e66117e18260026115ba565b611ac6565b6117f96117f48260026115ba565b611b71565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611860573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118849190611fe0565b60145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192506000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af11580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611922919061201f565b905080156119895760145460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b15801561197057600080fd5b505af1158015611984573d6000803e3d6000fd5b505050505b600e546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156119c2573d6000803e3d6000fd5b50506014805460ff60a81b191690555050565b601054604051630ccebe4f60e41b8152600481018390526001600160a01b0385811660248301528481166044830152600092839283929091169063ccebe4f0906064016020604051808303816000875af1158015611a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5b919061201f565b611a655783611a68565b60005b90506000611a768787611c72565b611a805784611a8a565b611a8a8786611ce7565b919791965090945050505050565b60008183611ab95760405162461bcd60e51b815260040161082a9190611e15565b506000611100848661203c565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611afb57611afb61205e565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611b2b57611b2b61205e565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac947906116d0908590600090869030904290600401612074565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611ba857611ba861205e565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611bd857611bd861205e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600281518110611c2c57611c2c61205e565b6001600160a01b039283166020918202929092010152600f54604051635c11d79560e01b8152911690635c11d795906116d0908590600090869030904290600401612074565b6001600160a01b03821660009081526009602052604081205460ff1680611cb157506001600160a01b03821660009081526009602052604090205460ff165b15801561099357506011546001600160a01b03848116911614806109935750506011546001600160a01b03908116911614919050565b600080611d0b600d54611d05600c5486611d9390919063ffffffff16565b906115ba565b30600090815260066020526040902054909150611d28908261174f565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d799085815260200190565b60405180910390a3611d8b83826115fc565b949350505050565b600082600003611da5575060006107fa565b6000611db18385611fc9565b905082611dbe858361203c565b146109935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161082a565b600060208083528351808285015260005b81811015611e4257858101830151858201604001528201611e26565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611e7857600080fd5b50565b60008060408385031215611e8e57600080fd5b8235611e9981611e63565b946020939093013593505050565b600060208284031215611eb957600080fd5b813561099381611e63565b600060208284031215611ed657600080fd5b5035919050565b600080600060608486031215611ef257600080fd5b8335611efd81611e63565b92506020840135611f0d81611e63565b929592945050506040919091013590565b8015158114611e7857600080fd5b60008060408385031215611f3f57600080fd5b8235611f4a81611e63565b91506020830135611f5a81611f1e565b809150509250929050565b60008060408385031215611f7857600080fd5b8235611f8381611e63565b91506020830135611f5a81611e63565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107fa576107fa611fb3565b600060208284031215611ff257600080fd5b5051919050565b818103818111156107fa576107fa611fb3565b808201808211156107fa576107fa611fb3565b60006020828403121561203157600080fd5b815161099381611f1e565b60008261205957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120c45784516001600160a01b03168352938301939183019160010161209f565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122096d773fd112f703dca6ee90edcd5ca73f287e6ba16d25fb54be6b5450939abeb64736f6c6343000811003360a060405273fb66321d7c674995dfcc2cb67a30bc978dc862ad6080526ec097ce7bc90715b34b9f100000000060095534801561003b57600080fd5b50604051610d88380380610d8883398101604081905261005a9161008d565b60008054336001600160a01b031991821617909155600180549091166001600160a01b03929092169190911790556100bd565b60006020828403121561009f57600080fd5b81516001600160a01b03811681146100b657600080fd5b9392505050565b608051610ca96100df6000396000818161016101526107410152610ca96000f3fe6080604052600436106100e15760003560e01c8063997664d71161007f578063ce7c2ac211610059578063ce7c2ac21461025a578063d54ad2a1146102b1578063e2d2e219146102c7578063ecd0c0c3146102dd57600080fd5b8063997664d714610204578063b2bdfa7b1461021a578063b6b55f251461023a57600080fd5b80632becb9a1116100bb5780632becb9a11461014f5780633a98ef39146101a05780635cc33f74146101c45780638ecc37fb146101e457600080fd5b80631014edf5146100ed57806314b6ca961461010f57806315f7e05e1461012f57600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610ad8565b6102fd565b005b34801561011b57600080fd5b5061010d61012a366004610b04565b61035d565b34801561013b57600080fd5b5061010d61014a366004610b2e565b6104d5565b34801561015b57600080fd5b506101837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac57600080fd5b506101b660055481565b604051908152602001610197565b3480156101d057600080fd5b506101b66101df366004610b2e565b6104f8565b3480156101f057600080fd5b506101b66101ff366004610b2e565b61058b565b34801561021057600080fd5b506101b660065481565b34801561022657600080fd5b50600154610183906001600160a01b031681565b34801561024657600080fd5b5061010d610255366004610b49565b610616565b34801561026657600080fd5b50610296610275366004610b2e565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610197565b3480156102bd57600080fd5b506101b660075481565b3480156102d357600080fd5b506101b660085481565b3480156102e957600080fd5b50600054610183906001600160a01b031681565b6001546001600160a01b0316331461031457600080fd5b476001600160a01b0382166108fc8461032d578261032f565b845b6040518115909202916000818181858888f19350505050158015610357573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331461037457600080fd5b6001600160a01b0382166000908152600460205260409020541561039b5761039b82610670565b6000811180156103c157506001600160a01b038216600090815260046020526040902054155b1561042757600280546001600160a01b0384166000818152600360205260408120839055600183018455929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905561045a565b8015801561044c57506001600160a01b03821660009081526004602052604090205415155b1561045a5761045a826107b4565b6001600160a01b03821660009081526004602052604090205460055461048b918391610485916108c9565b90610914565b6005556001600160a01b03821660009081526004602052604090208190556104b281610973565b6001600160a01b0390921660009081526004602052604090206001019190915550565b6000546001600160a01b031633146104ec57600080fd5b6104f581610670565b50565b6001600160a01b03811660009081526004602052604081205461056c5760405162461bcd60e51b815260206004820152602160248201527f596f75277265206e6f742061205052494e544552207368617265686f6c6465726044820152602160f81b60648201526084015b60405180910390fd5b506001600160a01b031660009081526004602052604090206002015490565b6001600160a01b03811660009081526004602052604081205481036105b257506000919050565b6001600160a01b0382166000908152600460205260408120546105d490610973565b6001600160a01b038416600090815260046020526040902060010154909150808211610604575060009392505050565b61060e82826108c9565b949350505050565b6000546001600160a01b0316331461062d57600080fd5b80156104f5576006546106409082610914565b60065560055460095461066a916106619161065b9085610990565b90610a12565b60085490610914565b60085550565b6001600160a01b03811660009081526004602052604081205490036106925750565b600061069d8261058b565b905080156107b0576007546106b29082610914565b6007556001600160a01b0382166000908152600460205260409020600201546106db9082610914565b6001600160a01b038316600090815260046020526040902060028101919091555461070590610973565b6001600160a01b03838116600081815260046020819052604091829020600101949094555163a9059cbb60e01b815292830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190610b62565b505b5050565b600280546107c490600190610b9a565b815481106107d4576107d4610bad565b60009182526020808320909101546001600160a01b038481168452600390925260409092205460028054929093169291811061081257610812610bad565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003918290526040812054600280549193929161085e90600190610b9a565b8154811061086e5761086e610bad565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560028054806108a4576108a4610bc3565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061090b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a54565b90505b92915050565b6000806109218385610bd9565b90508381101561090b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610563565b600061090e60095461065b6008548561099090919063ffffffff16565b6000826000036109a25750600061090e565b60006109ae8385610bec565b9050826109bb8583610c03565b1461090b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610563565b600061090b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a8e565b60008184841115610a785760405162461bcd60e51b81526004016105639190610c25565b506000610a858486610b9a565b95945050505050565b60008183610aaf5760405162461bcd60e51b81526004016105639190610c25565b506000610a858486610c03565b80356001600160a01b0381168114610ad357600080fd5b919050565b60008060408385031215610aeb57600080fd5b82359150610afb60208401610abc565b90509250929050565b60008060408385031215610b1757600080fd5b610b2083610abc565b946020939093013593505050565b600060208284031215610b4057600080fd5b61090b82610abc565b600060208284031215610b5b57600080fd5b5035919050565b600060208284031215610b7457600080fd5b8151801515811461090b57600080fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561090e5761090e610b84565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8082018082111561090e5761090e610b84565b808202811582820484141761090e5761090e610b84565b600082610c2057634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015610c5257858101830151858201604001528201610c36565b506000604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220a339945420ad5ffedb122d96bf9721a2387a934feaf17564e3044082d3b811f264736f6c6343000811003300000000000000000000000066926b3d7c473728ca904c78baba4080c19da7380000000000000000000000002dfb63e79d55b80de85da9f3b52f0481fb648af4
Deployed Bytecode
0x6080604052600436106102345760003560e01c806370a082311161012e578063bd00c9c4116100ab578063f0fc6bca1161006f578063f0fc6bca14610709578063f2fde38b1461071e578063f42938901461073e578063f708a64f14610753578063f887ea401461077357600080fd5b8063bd00c9c414610657578063bffb691d14610677578063c9567bf914610698578063d12a7688146106ad578063dd62ed3e146106c357600080fd5b80638ecc37fb116100f25780638ecc37fb1461059057806395d89b41146105b0578063a8aa1b31146105de578063a9059cbb146105fe578063b1a4e0dc1461061e57600080fd5b806370a08231146104f2578063736a83a11461052857806375f0a8741461053d578063764ca5121461055d578063893d20e81461057257600080fd5b80632f54bf6e116101bc5780635cc33f74116101805780635cc33f741461045d5780635d098b381461047d578063658d4b7f1461049d57806367ee5f09146104bd57806369fe0e2d146104d257600080fd5b80632f54bf6e146103bd578063313ce567146103ec578063342aa8b5146104085780633e07ce5b14610428578063571ac8b01461043d57600080fd5b806323b635851161020357806323b63585146102fc57806323b872dd1461031c57806329e04b4a1461033c5780632b112e491461035c5780632becb9a11461037157600080fd5b806306fdde0314610240578063095ea7b31461028b57806315f7e05e146102bb57806318160ddd146102dd57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5060408051808201909152601081526f2822a82299171810282924a72a22a92960811b60208201525b6040516102829190611e15565b60405180910390f35b34801561029757600080fd5b506102ab6102a6366004611e7b565b610793565b6040519015158152602001610282565b3480156102c757600080fd5b506102db6102d6366004611ea7565b610800565b005b3480156102e957600080fd5b506004545b604051908152602001610282565b34801561030857600080fd5b506102ab610317366004611ec4565b610895565b34801561032857600080fd5b506102ab610337366004611edd565b6108d8565b34801561034857600080fd5b506102db610357366004611ec4565b61099a565b34801561036857600080fd5b506102ee610a27565b34801561037d57600080fd5b506103a57f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad81565b6040516001600160a01b039091168152602001610282565b3480156103c957600080fd5b506102ab6103d8366004611ea7565b6000546001600160a01b0391821691161490565b3480156103f857600080fd5b5060405160098152602001610282565b34801561041457600080fd5b506102db610423366004611f2c565b610a79565b34801561043457600080fd5b506102db610ad5565b34801561044957600080fd5b506102ab610458366004611ea7565b610b0e565b34801561046957600080fd5b506102ee610478366004611ea7565b610b1c565b34801561048957600080fd5b506102db610498366004611ea7565b610b8c565b3480156104a957600080fd5b506102db6104b8366004611f2c565b610bd8565b3480156104c957600080fd5b506102ee610c2d565b3480156104de57600080fd5b506102db6104ed366004611ec4565b610c9b565b3480156104fe57600080fd5b506102ee61050d366004611ea7565b6001600160a01b031660009081526006602052604090205490565b34801561053457600080fd5b506102ee610d12565b34801561054957600080fd5b50600e546103a5906001600160a01b031681565b34801561056957600080fd5b506102db610d5c565b34801561057e57600080fd5b506000546001600160a01b03166103a5565b34801561059c57600080fd5b506102ee6105ab366004611ea7565b610df5565b3480156105bc57600080fd5b5060408051808201909152600581526405050322e360dc1b6020820152610275565b3480156105ea57600080fd5b506011546103a5906001600160a01b031681565b34801561060a57600080fd5b506102ab610619366004611e7b565b610e28565b34801561062a57600080fd5b506102ab610639366004611ea7565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561066357600080fd5b506010546103a5906001600160a01b031681565b34801561068357600080fd5b506014546102ab90600160a01b900460ff1681565b3480156106a457600080fd5b506102db610e35565b3480156106b957600080fd5b506102ee60135481565b3480156106cf57600080fd5b506102ee6106de366004611f65565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561071557600080fd5b506102db610e74565b34801561072a57600080fd5b506102db610739366004611ea7565b610ed3565b34801561074a57600080fd5b506102db610f51565b34801561075f57600080fd5b506102db61076e366004611f2c565b610fb5565b34801561077f57600080fd5b50600f546103a5906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107ee9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108335760405162461bcd60e51b815260040161082a90611f93565b60405180910390fd5b601454604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e90602401600060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146108c05760405162461bcd60e51b815260040161082a90611f93565b6002546107fa9030906001600160a01b031684610fe9565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610985576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546109609184906110cf565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610990848484611109565b90505b9392505050565b6000546001600160a01b031633146109c45760405162461bcd60e51b815260040161082a90611f93565b6004546109d29060646115ba565b811115610a135760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b604482015260640161082a565b610a2181633b9aca00611fc9565b60135550565b6003546001600160a01b0316600090815260066020526040812054610a74906002546001600160a01b0316600090815260066020526040902054610a6e90600454906115fc565b906115fc565b905090565b6000546001600160a01b03163314610aa35760405162461bcd60e51b815260040161082a90611f93565b6001600160a01b0382166000908152600b60205260409020805460ff1916821515179055610ad1828261163e565b5050565b6000546001600160a01b03163314610aff5760405162461bcd60e51b815260040161082a90611f93565b6011805460ff60a81b19169055565b60006107fa82600019610793565b601454604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fa9190611fe0565b6000546001600160a01b03163314610bb65760405162461bcd60e51b815260040161082a90611f93565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c025760405162461bcd60e51b815260040161082a90611f93565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6014546040805163997664d760e01b815290516000926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190611fe0565b6000546001600160a01b03163314610cc55760405162461bcd60e51b815260040161082a90611f93565b600e811115610d0d5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031342560601b604482015260640161082a565b600c55565b6014546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610c77573d6000803e3d6000fd5b6000546001600160a01b03163314610d865760405162461bcd60e51b815260040161082a90611f93565b601454600160a01b900460ff1615610de05760405162461bcd60e51b815260206004820152601760248201527f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000604482015260640161082a565b6014805460ff60a01b1916600160a01b179055565b601454604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610b4b565b6000610993338484611109565b6000546001600160a01b03163314610e5f5760405162461bcd60e51b815260040161082a90611f93565b6011805460ff60a01b1916600160a01b179055565b601454604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610efd5760405162461bcd60e51b815260040161082a90611f93565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610f7b5760405162461bcd60e51b815260040161082a90611f93565b600e5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b6000546001600160a01b03163314610fdf5760405162461bcd60e51b815260040161082a90611f93565b610ad1828261163e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461103a9184906110cf565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611069908361174f565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110bd9086815260200190565b60405180910390a35060019392505050565b600081848411156110f35760405162461bcd60e51b815260040161082a9190611e15565b5060006111008486611ff9565b95945050505050565b600080546001600160a01b0385811691161480159061113657506000546001600160a01b03848116911614155b1561119457601154600160a01b900460ff166111945760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161082a565b601454600160a01b900460ff161561121d576001600160a01b0384166000908152600b602052604090205460ff161580156111e857506001600160a01b0383166000908152600b602052604090205460ff16155b61121d5760405162461bcd60e51b815260040161082a90602080825260049082015263426f742160e01b604082015260600190565b601154600160a81b900460ff16156112a1576000546001600160a01b0385811691161480159061125b57506000546001600160a01b03848116911614155b156112a1576012548211156112a15760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b604482015260640161082a565b601454600160a81b900460ff16156112c5576112be848484610fe9565b9050610993565b30600090815260066020526040812054601354909190821080159190829061130657506001600160a01b03871660009081526009602052604090205460ff16155b801561131f57506011546001600160a01b038781169116145b8015611338575030600090815260066020526040812054115b90508015611348576113486117ae565b6000806113568989896119d5565b915091506113c08260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008d6001600160a01b03166001600160a01b03168152602001908152602001600020546110cf9092919063ffffffff16565b6001600160a01b03808b1660009081526006602052604080822093909355908a16815220546113ef908261174f565b6001600160a01b03808a166000908152600660205260409020919091556011548a821691161480159061143b57506001600160a01b0389166000908152600a602052604090205460ff16155b156114b1576014546001600160a01b038a811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561149e57600080fd5b505af19250505080156114af575060015b505b6011546001600160a01b038981169116148015906114e857506001600160a01b0388166000908152600a602052604090205460ff16155b1561155e576014546001600160a01b0389811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561154b57600080fd5b505af192505050801561155c575060015b505b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115a391815260200190565b60405180910390a350600198975050505050505050565b600061099383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a98565b600061099383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110cf565b6001600160a01b038216301480159061166557506011546001600160a01b03838116911614155b61166e57600080fd5b6001600160a01b0382166000908152600a60205260409020805460ff1916821580159190911790915561170657601454604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b1580156116ea57600080fd5b505af11580156116fe573d6000803e3d6000fd5b505050505050565b6014546001600160a01b0383811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016116d0565b60008061175c838561200c565b9050838110156109935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161082a565b6014805460ff60a81b1916600160a81b1790553060009081526006602052604081205490506117e66117e18260026115ba565b611ac6565b6117f96117f48260026115ba565b611b71565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad6001600160a01b0316906370a0823190602401602060405180830381865afa158015611860573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118849190611fe0565b60145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192506000917f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad9091169063a9059cbb906044016020604051808303816000875af11580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611922919061201f565b905080156119895760145460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b15801561197057600080fd5b505af1158015611984573d6000803e3d6000fd5b505050505b600e546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156119c2573d6000803e3d6000fd5b50506014805460ff60a81b191690555050565b601054604051630ccebe4f60e41b8152600481018390526001600160a01b0385811660248301528481166044830152600092839283929091169063ccebe4f0906064016020604051808303816000875af1158015611a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5b919061201f565b611a655783611a68565b60005b90506000611a768787611c72565b611a805784611a8a565b611a8a8786611ce7565b919791965090945050505050565b60008183611ab95760405162461bcd60e51b815260040161082a9190611e15565b506000611100848661203c565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611afb57611afb61205e565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611b2b57611b2b61205e565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac947906116d0908590600090869030904290600401612074565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611ba857611ba861205e565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611bd857611bd861205e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad81600281518110611c2c57611c2c61205e565b6001600160a01b039283166020918202929092010152600f54604051635c11d79560e01b8152911690635c11d795906116d0908590600090869030904290600401612074565b6001600160a01b03821660009081526009602052604081205460ff1680611cb157506001600160a01b03821660009081526009602052604090205460ff165b15801561099357506011546001600160a01b03848116911614806109935750506011546001600160a01b03908116911614919050565b600080611d0b600d54611d05600c5486611d9390919063ffffffff16565b906115ba565b30600090815260066020526040902054909150611d28908261174f565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d799085815260200190565b60405180910390a3611d8b83826115fc565b949350505050565b600082600003611da5575060006107fa565b6000611db18385611fc9565b905082611dbe858361203c565b146109935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161082a565b600060208083528351808285015260005b81811015611e4257858101830151858201604001528201611e26565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611e7857600080fd5b50565b60008060408385031215611e8e57600080fd5b8235611e9981611e63565b946020939093013593505050565b600060208284031215611eb957600080fd5b813561099381611e63565b600060208284031215611ed657600080fd5b5035919050565b600080600060608486031215611ef257600080fd5b8335611efd81611e63565b92506020840135611f0d81611e63565b929592945050506040919091013590565b8015158114611e7857600080fd5b60008060408385031215611f3f57600080fd5b8235611f4a81611e63565b91506020830135611f5a81611f1e565b809150509250929050565b60008060408385031215611f7857600080fd5b8235611f8381611e63565b91506020830135611f5a81611e63565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107fa576107fa611fb3565b600060208284031215611ff257600080fd5b5051919050565b818103818111156107fa576107fa611fb3565b808201808211156107fa576107fa611fb3565b60006020828403121561203157600080fd5b815161099381611f1e565b60008261205957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120c45784516001600160a01b03168352938301939183019160010161209f565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122096d773fd112f703dca6ee90edcd5ca73f287e6ba16d25fb54be6b5450939abeb64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000066926b3d7c473728ca904c78baba4080c19da7380000000000000000000000002dfb63e79d55b80de85da9f3b52f0481fb648af4
-----Decoded View---------------
Arg [0] : _owner (address): 0x66926B3D7C473728ca904C78Baba4080C19dA738
Arg [1] : _router02 (address): 0x2dfb63e79d55b80de85dA9F3b52F0481FB648AF4
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000066926b3d7c473728ca904c78baba4080c19da738
Arg [1] : 0000000000000000000000002dfb63e79d55b80de85da9f3b52f0481fb648af4
Deployed Bytecode Sourcemap
9594:11939:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12440:80;;;;;;;;;;-1:-1:-1;12512:5:0;;;;;;;;;;;;-1:-1:-1;;;12512:5:0;;;;12440:80;;;;;;;:::i;:::-;;;;;;;;12862:216;;;;;;;;;;-1:-1:-1;12862:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;12862:216:0;1023:187:1;19808:110:0;;;;;;;;;;-1:-1:-1;19808:110:0;;;;;:::i;:::-;;:::i;:::-;;12170:88;;;;;;;;;;-1:-1:-1;12243:12:0;;12170:88;;;1613:25:1;;;1601:2;1586:18;12170:88:0;1467:177:1;20098:139:0;;;;;;;;;;-1:-1:-1;20098:139:0;;;;;:::i;:::-;;:::i;13380:370::-;;;;;;;;;;-1:-1:-1;13380:370:0;;;;;:::i;:::-;;:::i;21325:205::-;;;;;;;;;;-1:-1:-1;21325:205:0;;;;;:::i;:::-;;:::i;20249:142::-;;;;;;;;;;;;;:::i;9846:85::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:32:1;;;2441:51;;2429:2;2414:18;9846:85:0;2295:203:1;2946:103:0;;;;;;;;;;-1:-1:-1;2946:103:0;;;;;:::i;:::-;3001:4;3036:5;-1:-1:-1;;;;;3025:16:0;;;3036:5;;3025:16;;2946:103;12264:80;;;;;;;;;;-1:-1:-1;12264:80:0;;10091:1;2645:36:1;;2633:2;2618:18;12264:80:0;2503:184:1;18594:158:0;;;;;;;;;;-1:-1:-1;18594:158:0;;;;;:::i;:::-;;:::i;20954:80::-;;;;;;;;;;;;;:::i;13086:122::-;;;;;;;;;;-1:-1:-1;13086:122:0;;;;;:::i;:::-;;:::i;20790:156::-;;;;;;;;;;-1:-1:-1;20790:156:0;;;;;:::i;:::-;;:::i;20399:135::-;;;;;;;;;;-1:-1:-1;20399:135:0;;;;;:::i;:::-;;:::i;19249:119::-;;;;;;;;;;-1:-1:-1;19249:119:0;;;;;:::i;:::-;;:::i;20543:115::-;;;;;;;;;;;;;:::i;19376:138::-;;;;;;;;;;-1:-1:-1;19376:138:0;;;;;:::i;:::-;;:::i;12610:105::-;;;;;;;;;;-1:-1:-1;12610:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;12694:18:0;12676:7;12694:18;;;:9;:18;;;;;;;12610:105;20670:111;;;;;;;;;;;;;:::i;10655:92::-;;;;;;;;;;-1:-1:-1;10655:92:0;;;;-1:-1:-1;;;;;10655:92:0;;;21152:165;;;;;;;;;;;;;:::i;12526:78::-;;;;;;;;;;-1:-1:-1;12578:7:0;12596:5;-1:-1:-1;;;;;12596:5:0;12526:78;;19930:156;;;;;;;;;;-1:-1:-1;19930:156:0;;;;;:::i;:::-;;:::i;12350:84::-;;;;;;;;;;-1:-1:-1;12424:7:0;;;;;;;;;;;;-1:-1:-1;;;12424:7:0;;;;12350:84;;10820:19;;;;;;;;;;-1:-1:-1;10820:19:0;;;;-1:-1:-1;;;;;10820:19:0;;;13216:156;;;;;;;;;;-1:-1:-1;13216:156:0;;;;;:::i;:::-;;:::i;21042:102::-;;;;;;;;;;-1:-1:-1;21042:102:0;;;;;:::i;:::-;-1:-1:-1;;;;;21122:14:0;21098:4;21122:14;;;:5;:14;;;;;;;;;21042:102;10787:26;;;;;;;;;;-1:-1:-1;10787:26:0;;;;-1:-1:-1;;;;;10787:26:0;;;11099:36;;;;;;;;;;-1:-1:-1;11099:36:0;;;;-1:-1:-1;;;11099:36:0;;;;;;18499:79;;;;;;;;;;;;;:::i;10973:61::-;;;;;;;;;;;;;;;;12721:133;;;;;;;;;;-1:-1:-1;12721:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12823:19:0;;;12805:7;12823:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12721:133;19706:90;;;;;;;;;;;;;:::i;3174:136::-;;;;;;;;;;-1:-1:-1;3174:136:0;;;;;:::i;:::-;;:::i;19524:174::-;;;;;;;;;;;;;:::i;19109:132::-;;;;;;;;;;-1:-1:-1;19109:132:0;;;;;:::i;:::-;;:::i;10756:24::-;;;;;;;;;;-1:-1:-1;10756:24:0;;;;-1:-1:-1;;;;;10756:24:0;;;12862:216;12966:10;12937:4;12954:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12954:32:0;;;;;;;;;;:41;;;13011:37;12937:4;;12954:32;;13011:37;;;;12989:6;1613:25:1;;1601:2;1586:18;;1467:177;13011:37:0;;;;;;;;-1:-1:-1;13066:4:0;12862:216;;;;;:::o;19808:110::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;;;;;;;;;19877:11:::1;::::0;:33:::1;::::0;-1:-1:-1;;;19877:33:0;;-1:-1:-1;;;;;2459:32:1;;;19877:33:0::1;::::0;::::1;2441:51:1::0;19877:11:0;;::::1;::::0;:25:::1;::::0;2414:18:1;;19877:33:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19808:110:::0;:::o;20098:139::-;20162:4;3036:5;;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;20216:4:::1;::::0;20186:43:::1;::::0;20209:4:::1;::::0;-1:-1:-1;;;;;20216:4:0::1;20222:6:::0;20186:14:::1;:43::i;13380:370::-:0;-1:-1:-1;;;;;13500:19:0;;13480:4;13500:19;;;:11;:19;;;;;;;;13520:10;13500:31;;;;;;;;-1:-1:-1;;13500:52:0;13497:186;;13602:69;;;;;;;;;;;-1:-1:-1;;;13602:69:0;;;;;;;;-1:-1:-1;;;;;13602:19:0;;-1:-1:-1;13602:19:0;;;:11;:19;;;;;13622:10;13602:31;;;;;;;;;;:69;;13638:6;;13602:35;:69::i;:::-;-1:-1:-1;;;;;13568:19:0;;;;;;:11;:19;;;;;;;;13588:10;13568:31;;;;;;;:103;13497:186;13702:40;13716:6;13724:9;13735:6;13702:13;:40::i;:::-;13695:47;;13380:370;;;;;;:::o;21325:205::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;21422:12:::1;::::0;:21:::1;::::0;21439:3:::1;21422:16;:21::i;:::-;21412:6;:31;;21403:60;;;::::0;-1:-1:-1;;;21403:60:0;;4841:2:1;21403:60:0::1;::::0;::::1;4823:21:1::0;4880:2;4860:18;;;4853:30;-1:-1:-1;;;4899:18:1;;;4892:45;4954:18;;21403:60:0::1;4639:339:1::0;21403:60:0::1;21506:16;:6:::0;21515:7:::1;21506:16;:::i;:::-;21474:29;:48:::0;-1:-1:-1;21325:205:0:o;20249:142::-;20377:4;;-1:-1:-1;;;;;20377:4:0;20302:7;12694:18;;;:9;:18;;;;;;20329:54;;20356:4;;-1:-1:-1;;;;;20356:4:0;12676:7;12694:18;;;:9;:18;;;;;;20329:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;20322:61;;20249:142;:::o;18594:158::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18671:15:0;::::1;;::::0;;;:5:::1;:15;::::0;;;;:24;;-1:-1:-1;;18671:24:0::1;::::0;::::1;;;::::0;;18706:38:::1;18671:15:::0;:24;18706:20:::1;:38::i;:::-;18594:158:::0;;:::o;20954:80::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;21010:8:::1;:16:::0;;-1:-1:-1;;;;21010:16:0::1;::::0;;20954:80::o;13086:122::-;13141:4;13165:35;13173:7;-1:-1:-1;;13165:7:0;:35::i;20790:156::-;20892:11;;:46;;-1:-1:-1;;;20892:46:0;;-1:-1:-1;;;;;2459:32:1;;;20892:46:0;;;2441:51:1;20865:7:0;;20892:11;;:33;;2414:18:1;;20892:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20399:135::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;20483:15:::1;:43:::0;;-1:-1:-1;;;;;;20483:43:0::1;-1:-1:-1::0;;;;;20483:43:0;;;::::1;::::0;;;::::1;::::0;;20399:135::o;19249:119::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19332:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;19332:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19249:119::o;20543:115::-;20622:11;;:28;;;-1:-1:-1;;;20622:28:0;;;;20595:7;;-1:-1:-1;;;;;20622:11:0;;:26;;:28;;;;;;;;;;;;;;:11;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19376:138::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;19453:2:::1;19445:4;:10;;19436:44;;;::::0;-1:-1:-1;;;19436:44:0;;5679:2:1;19436:44:0::1;::::0;::::1;5661:21:1::0;5718:2;5698:18;;;5691:30;-1:-1:-1;;;5737:18:1;;;5730:50;5797:18;;19436:44:0::1;5477:344:1::0;19436:44:0::1;19491:8;:15:::0;19376:138::o;20670:111::-;20747:11;;:26;;;-1:-1:-1;;;20747:26:0;;;;20720:7;;-1:-1:-1;;;;;20747:11:0;;:24;;:26;;;;;;;;;;;;;;:11;:26;;;;;;;;;;;;;;21152:165;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;21222:16:::1;::::0;-1:-1:-1;;;21222:16:0;::::1;;;:25;21213:62;;;::::0;-1:-1:-1;;;21213:62:0;;6028:2:1;21213:62:0::1;::::0;::::1;6010:21:1::0;6067:2;6047:18;;;6040:30;6106:25;6086:18;;;6079:53;6149:18;;21213:62:0::1;5826:347:1::0;21213:62:0::1;21286:16;:23:::0;;-1:-1:-1;;;;21286:23:0::1;-1:-1:-1::0;;;21286:23:0::1;::::0;;21152:165::o;19930:156::-;20031:11;;:47;;-1:-1:-1;;;20031:47:0;;-1:-1:-1;;;;;2459:32:1;;;20031:47:0;;;2441:51:1;20004:7:0;;20031:11;;:34;;2414:18:1;;20031:47:0;2295:203:1;13216:156:0;13296:4;13320:44;13334:10;13346:9;13357:6;13320:13;:44::i;18499:79::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;18552:11:::1;:18:::0;;-1:-1:-1;;;;18552:18:0::1;-1:-1:-1::0;;;18552:18:0::1;::::0;;18499:79::o;19706:90::-;19751:11;;:37;;-1:-1:-1;;;19751:37:0;;19777:10;19751:37;;;2441:51:1;-1:-1:-1;;;;;19751:11:0;;;;:25;;2414:18:1;;19751:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19706:90::o;3174:136::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;3250:5:::1;:11:::0;;-1:-1:-1;;;;;;3250:11:0::1;-1:-1:-1::0;;;;;3250:11:0;::::1;::::0;;::::1;::::0;;;3277:25:::1;::::0;2441:51:1;;;3277:25:0::1;::::0;2429:2:1;2414:18;3277:25:0::1;;;;;;;3174:136:::0;:::o;19524:174::-;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;19645:15:::1;::::0;19637:53:::1;::::0;19605:21:::1;::::0;-1:-1:-1;;;;;19645:15:0::1;::::0;19637:53;::::1;;;::::0;19605:21;;19576:26:::1;19637:53:::0;19576:26;19637:53;19605:21;19645:15;19637:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;19109:132:::0;3001:4;3036:5;-1:-1:-1;;;;;3036:5:0;2853:10;3025:16;2837:38;;;;-1:-1:-1;;;2837:38:0;;;;;;;:::i;:::-;19197:36:::1;19218:6;19226;19197:20;:36::i;15705:330::-:0;15835:53;;;;;;;;;;;-1:-1:-1;;;15835:53:0;;;;;;;;-1:-1:-1;;;;;15835:17:0;;15798:4;15835:17;;;:9;:17;;;;;;;:53;;15857:6;;15835:21;:53::i;:::-;-1:-1:-1;;;;;15815:17:0;;;;;;;:9;:17;;;;;;:73;;;;15922:20;;;;;;;:32;;15947:6;15922:24;:32::i;:::-;-1:-1:-1;;;;;15899:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15970:35;;;;;;;;;;15998:6;1613:25:1;;1601:2;1586:18;;1467:177;15970:35:0;;;;;;;;-1:-1:-1;16023:4:0;15705:330;;;;;:::o;608:192::-;694:7;730:12;722:6;;;;714:29;;;;-1:-1:-1;;;714:29:0;;;;;;;;:::i;:::-;-1:-1:-1;754:9:0;766:5;770:1;766;:5;:::i;:::-;754:17;608:192;-1:-1:-1;;;;;608:192:0:o;13758:1531::-;13850:4;13880:5;;-1:-1:-1;;;;;13871:14:0;;;13880:5;;13871:14;;;;:35;;-1:-1:-1;13901:5:0;;-1:-1:-1;;;;;13889:17:0;;;13901:5;;13889:17;;13871:35;13867:89;;;13916:11;;-1:-1:-1;;;13916:11:0;;;;13908:48;;;;-1:-1:-1;;;13908:48:0;;6729:2:1;13908:48:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:26;6787:18;;;6780:54;6851:18;;13908:48:0;6527:348:1;13908:48:0;14013:16;;-1:-1:-1;;;14013:16:0;;;;14009:102;;;-1:-1:-1;;;;;14056:13:0;;;;;;:5;:13;;;;;;;;14055:14;:35;;;;-1:-1:-1;;;;;;14074:16:0;;;;;;:5;:16;;;;;;;;14073:17;14055:35;14046:53;;;;-1:-1:-1;;;14046:53:0;;;;;;7082:2:1;7064:21;;;7121:1;7101:18;;;7094:29;-1:-1:-1;;;7154:2:1;7139:18;;7132:34;7198:2;7183:18;;6880:327;14046:53:0;14127:8;;-1:-1:-1;;;14127:8:0;;;;14123:130;;;14165:5;;-1:-1:-1;;;;;14157:13:0;;;14165:5;;14157:13;;;;:34;;-1:-1:-1;14186:5:0;;-1:-1:-1;;;;;14174:17:0;;;14186:5;;14174:17;;14157:34;14153:80;;;14210:6;;14202;:14;;14193:40;;;;-1:-1:-1;;;14193:40:0;;7414:2:1;14193:40:0;;;7396:21:1;7453:2;7433:18;;;7426:30;-1:-1:-1;;;7472:18:1;;;7465:42;7524:18;;14193:40:0;7212:336:1;14193:40:0;14268:6;;-1:-1:-1;;;14268:6:0;;;;14265:63;;;14284:41;14299:6;14307:9;14318:6;14284:14;:41::i;:::-;14277:48;;;;14265:63;14395:4;14346:28;12694:18;;;:9;:18;;;;;;14465:29;;12694:18;;14441:53;;;;;;14346:28;14441:53;;14534:43;;-1:-1:-1;;;;;;14558:19:0;;;;;;:11;:19;;;;;;;;14557:20;14534:43;:62;;;;-1:-1:-1;14592:4:0;;-1:-1:-1;;;;;14581:15:0;;;14592:4;;14581:15;14534:62;:94;;;;-1:-1:-1;14618:4:0;14627:1;12694:18;;;:9;:18;;;;;;14600:28;14534:94;14511:118;;14643:14;14640:33;;;14660:10;:8;:10::i;:::-;14686:18;14706:22;14732:40;14746:6;14754:9;14765:6;14732:13;:40::i;:::-;14685:87;;;;14805:57;14827:10;14805:57;;;;;;;;;;;;;-1:-1:-1;;;14805:57:0;;;:9;:17;14815:6;-1:-1:-1;;;;;14805:17:0;-1:-1:-1;;;;;14805:17:0;;;;;;;;;;;;;:21;;:57;;;;;:::i;:::-;-1:-1:-1;;;;;14785:17:0;;;;;;;:9;:17;;;;;;:77;;;;14896:20;;;;;;;:40;;14921:14;14896:24;:40::i;:::-;-1:-1:-1;;;;;14873:20:0;;;;;;;:9;:20;;;;;:63;;;;14962:4;;14952:14;;;14962:4;;14952:14;;;;:43;;-1:-1:-1;;;;;;14971:24:0;;;;;;:16;:24;;;;;;;;14970:25;14952:43;14949:114;;;15002:11;;-1:-1:-1;;;;;15031:17:0;;;15002:11;15031:17;;;:9;:17;;;;;;;;15002:47;;-1:-1:-1;;;15002:47:0;;;;;7727:51:1;;;;7794:18;;;7787:34;15002:11:0;;;:20;;7700:18:1;;15002:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14998:63;;15089:4;;-1:-1:-1;;;;;15076:17:0;;;15089:4;;15076:17;;;;:49;;-1:-1:-1;;;;;;15098:27:0;;;;;;:16;:27;;;;;;;;15097:28;15076:49;15073:126;;;15132:11;;-1:-1:-1;;;;;15164:20:0;;;15132:11;15164:20;;;:9;:20;;;;;;;;15132:53;;-1:-1:-1;;;15132:53:0;;;;;7727:51:1;;;;7794:18;;;7787:34;15132:11:0;;;:20;;7700:18:1;;15132:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15128:69;;15233:9;-1:-1:-1;;;;;15216:43:0;15225:6;-1:-1:-1;;;;;15216:43:0;;15244:14;15216:43;;;;1613:25:1;;1601:2;1586:18;;1467:177;15216:43:0;;;;;;;;-1:-1:-1;15277:4:0;;13758:1531;-1:-1:-1;;;;;;;;13758:1531:0:o;1062:132::-;1120:7;1147:39;1151:1;1154;1147:39;;;;;;;;;;;;;;;;;:3;:39::i;466:136::-;524:7;551:43;555:1;558;551:43;;;;;;;;;;;;;;;;;:3;:43::i;18764:337::-;-1:-1:-1;;;;;18851:23:0;;18869:4;18851:23;;;;:41;;-1:-1:-1;18888:4:0;;-1:-1:-1;;;;;18878:14:0;;;18888:4;;18878:14;;18851:41;18843:50;;;;;;-1:-1:-1;;;;;18904:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;18904:33:0;;;;;;;;;;;;18948:146;;18973:11;;:31;;-1:-1:-1;;;18973:31:0;;-1:-1:-1;;;;;7745:32:1;;;18973:31:0;;;7727:51:1;18973:11:0;7794:18:1;;;7787:34;18973:11:0;;;;:20;;7700:18:1;;18973:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18594:158;;:::o;18948:146::-;19035:11;;-1:-1:-1;;;;;19064:17:0;;;19035:11;19064:17;;;:9;:17;;;;;;;;19035:47;;-1:-1:-1;;;19035:47:0;;;;;7727:51:1;;;;7794:18;;;7787:34;19035:11:0;;;:20;;7700:18:1;;19035:47:0;7553:274:1;279:181:0;337:7;;369:5;373:1;369;:5;:::i;:::-;357:17;;398:1;393;:6;;385:46;;;;-1:-1:-1;;;385:46:0;;8451:2:1;385:46:0;;;8433:21:1;8490:2;8470:18;;;8463:30;8529:29;8509:18;;;8502:57;8576:18;;385:46:0;8249:351:1;16619:555:0;11190:6;:13;;-1:-1:-1;;;;11190:13:0;-1:-1:-1;;;11190:13:0;;;16711:4:::1;-1:-1:-1::0;12694:18:0;;;:9;:18;;;;;;16670:47;-1:-1:-1;16738:37:0::1;16755:19;16670:47:::0;16772:1:::1;16755:16;:19::i;:::-;16738:16;:37::i;:::-;16786:40;16806:19;:12:::0;16823:1:::1;16806:16;:19::i;:::-;16786;:40::i;:::-;16859:39;::::0;-1:-1:-1;;;16859:39:0;;16892:4:::1;16859:39;::::0;::::1;2441:51:1::0;16839:17:0::1;::::0;16866:6:::1;-1:-1:-1::0;;;;;16859:24:0::1;::::0;::::1;::::0;2414:18:1;;16859:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16958:11;::::0;16926:56:::1;::::0;-1:-1:-1;;;16926:56:0;;-1:-1:-1;;;;;16958:11:0;;::::1;16926:56;::::0;::::1;7727:51:1::0;7794:18;;;7787:34;;;16839:59:0;;-1:-1:-1;16911:12:0::1;::::0;16933:6:::1;16926:23:::0;;::::1;::::0;::::1;::::0;7700:18:1;;16926:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16911:71;;16999:7;16995:82;;;17023:11;::::0;:30:::1;::::0;-1:-1:-1;;;17023:30:0;;::::1;::::0;::::1;1613:25:1::0;;;-1:-1:-1;;;;;17023:11:0;;::::1;::::0;:19:::1;::::0;1586:18:1;;17023:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16995:82;17110:15;::::0;17102:56:::1;::::0;-1:-1:-1;;;;;17110:15:0;;::::1;::::0;17136:21:::1;17102:56:::0;::::1;;;::::0;17110:15:::1;17102:56:::0;17110:15;17102:56;17136:21;17110:15;17102:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11208:6:0;:14;;-1:-1:-1;;;;11208:14:0;;;-1:-1:-1;;16619:555:0:o;15297:400::-;15439:8;;:86;;-1:-1:-1;;;15439:86:0;;;;;9057:25:1;;;-1:-1:-1;;;;;9156:15:1;;;9136:18;;;9129:43;9208:15;;;9188:18;;;9181:43;15389:7:0;;;;;;15439:8;;;;:59;;9030:18:1;;15439:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:99;;15532:6;15439:99;;;15528:1;15439:99;15418:120;;15549:22;15574:32;15588:6;15596:9;15574:13;:32::i;:::-;:67;;15635:6;15574:67;;;15609:23;15617:6;15625;15609:7;:23::i;:::-;15662:10;;;;-1:-1:-1;15297:400:0;;-1:-1:-1;;;;;15297:400:0:o;1200:345::-;1286:7;1388:12;1381:5;1373:28;;;;-1:-1:-1;;;1373:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1412:9:0;1424:5;1428:1;1424;:5;:::i;17624:489::-;17776:16;;;17790:1;17776:16;;;;;;;;17752:21;;17776:16;;;;;;;;;;-1:-1:-1;17776:16:0;17752:40;;17821:4;17803;17808:1;17803:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17803:23:0;;;:7;;;;;;;;;:23;17847:4;;;17837:7;;17847:4;;;17837;;17847;17837:7;;;;;;:::i;:::-;-1:-1:-1;;;;;17837:14:0;;;:7;;;;;;;;;:14;17890:6;;:215;;-1:-1:-1;;;17890:215:0;;:6;;;:57;;:215;;17962:11;;17890:6;;18032:4;;18059;;18079:15;;17890:215;;;:::i;17182:434::-;17277:16;;;17291:1;17277:16;;;;;;;;;17253:21;;17277:16;;;;;;;;;;-1:-1:-1;17277:16:0;17253:40;;17322:4;17304;17309:1;17304:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17304:23:0;;;:7;;;;;;;;;:23;17348:4;;;17338:7;;17348:4;;;17338;;17348;17338:7;;;;;;:::i;:::-;;;;;;:14;-1:-1:-1;;;;;17338:14:0;;;-1:-1:-1;;;;;17338:14:0;;;;;17373:6;17363:4;17368:1;17363:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17363:16:0;;;:7;;;;;;;;;:16;17418:6;;:190;;-1:-1:-1;;;17418:190:0;;:6;;;:60;;:190;;17493:11;;17418:6;;17535:4;;17562;;17582:15;;17418:190;;;:::i;16043:206::-;-1:-1:-1;;;;;16152:19:0;;16124:4;16152:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;16175:22:0;;;;;;:11;:22;;;;;;;;16152:45;16150:48;:90;;;;-1:-1:-1;16214:4:0;;-1:-1:-1;;;;;16204:14:0;;;16214:4;;16204:14;;:35;;-1:-1:-1;;16235:4:0;;-1:-1:-1;;;;;16235:4:0;;;16222:17;;;;16043:206;-1:-1:-1;16043:206:0:o;16257:354::-;16324:7;16344:17;16384:40;16409:14;;16384:20;16395:8;;16384:6;:10;;:20;;;;:::i;:::-;:24;;:40::i;:::-;16480:4;16462:24;;;;:9;:24;;;;;;16372:52;;-1:-1:-1;16462:39:0;;16372:52;16462:28;:39::i;:::-;16453:4;16435:24;;;;:9;:24;;;;;;;:66;;;;16517:42;;-1:-1:-1;;;;;16517:42:0;;;;;;;16549:9;1613:25:1;;1601:2;1586:18;;1467:177;16517:42:0;;;;;;;;16582:21;:6;16593:9;16582:10;:21::i;:::-;16575:28;16257:354;-1:-1:-1;;;;16257:354:0:o;806:250::-;864:7;888:1;893;888:6;884:47;;-1:-1:-1;918:1:0;911:8;;884:47;943:9;955:5;959:1;955;:5;:::i;:::-;943:17;-1:-1:-1;988:1:0;979:5;983:1;943:17;979:5;:::i;:::-;:10;971:56;;;;-1:-1:-1;;;971:56:0;;10908:2:1;971:56:0;;;10890:21:1;10947:2;10927:18;;;10920:30;10986:34;10966:18;;;10959:62;-1:-1:-1;;;11037:18:1;;;11030:31;11078:19;;971:56:0;10706:397:1;14:548;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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1649:180::-;1708:6;1761:2;1749:9;1740:7;1736:23;1732:32;1729:52;;;1777:1;1774;1767:12;1729:52;-1:-1:-1;1800:23:1;;1649:180;-1:-1:-1;1649:180:1:o;1834:456::-;1911:6;1919;1927;1980:2;1968:9;1959:7;1955:23;1951:32;1948:52;;;1996:1;1993;1986:12;1948:52;2035:9;2022:23;2054:31;2079:5;2054:31;:::i;:::-;2104:5;-1:-1:-1;2161:2:1;2146:18;;2133:32;2174:33;2133:32;2174:33;:::i;:::-;1834:456;;2226:7;;-1:-1:-1;;;2280:2:1;2265:18;;;;2252:32;;1834:456::o;2692:118::-;2778:5;2771:13;2764:21;2757:5;2754:32;2744:60;;2800:1;2797;2790:12;2815:382;2880:6;2888;2941:2;2929:9;2920:7;2916:23;2912:32;2909:52;;;2957:1;2954;2947:12;2909:52;2996:9;2983:23;3015:31;3040:5;3015:31;:::i;:::-;3065:5;-1:-1:-1;3122:2:1;3107:18;;3094:32;3135:30;3094:32;3135:30;:::i;:::-;3184:7;3174:17;;;2815:382;;;;;:::o;3652:388::-;3720:6;3728;3781:2;3769:9;3760:7;3756:23;3752:32;3749:52;;;3797:1;3794;3787:12;3749:52;3836:9;3823:23;3855:31;3880:5;3855:31;:::i;:::-;3905:5;-1:-1:-1;3962:2:1;3947:18;;3934:32;3975:33;3934:32;3975:33;:::i;4305:329::-;4507:2;4489:21;;;4546:1;4526:18;;;4519:29;-1:-1:-1;;;4579:2:1;4564:18;;4557:36;4625:2;4610:18;;4305:329::o;4983:127::-;5044:10;5039:3;5035:20;5032:1;5025:31;5075:4;5072:1;5065:15;5099:4;5096:1;5089:15;5115:168;5188:9;;;5219;;5236:15;;;5230:22;;5216:37;5206:71;;5257:18;;:::i;5288:184::-;5358:6;5411:2;5399:9;5390:7;5386:23;5382:32;5379:52;;;5427:1;5424;5417:12;5379:52;-1:-1:-1;5450:16:1;;5288:184;-1:-1:-1;5288:184:1:o;6394:128::-;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8119:125::-;8184:9;;;8205:10;;;8202:36;;;8218:18;;:::i;8605:245::-;8672:6;8725:2;8713:9;8704:7;8700:23;8696:32;8693:52;;;8741:1;8738;8731:12;8693:52;8773:9;8767:16;8792:28;8814:5;8792:28;:::i;9235:217::-;9275:1;9301;9291:132;;9345:10;9340:3;9336:20;9333:1;9326:31;9380:4;9377:1;9370:15;9408:4;9405:1;9398:15;9291:132;-1:-1:-1;9437:9:1;;9235:217::o;9589:127::-;9650:10;9645:3;9641:20;9638:1;9631:31;9681:4;9678:1;9671:15;9705:4;9702:1;9695:15;9721:980;9983:4;10031:3;10020:9;10016:19;10062:6;10051:9;10044:25;10088:2;10126:6;10121:2;10110:9;10106:18;10099:34;10169:3;10164:2;10153:9;10149:18;10142:31;10193:6;10228;10222:13;10259:6;10251;10244:22;10297:3;10286:9;10282:19;10275:26;;10336:2;10328:6;10324:15;10310:29;;10357:1;10367:195;10381:6;10378:1;10375:13;10367:195;;;10446:13;;-1:-1:-1;;;;;10442:39:1;10430:52;;10537:15;;;;10502:12;;;;10478:1;10396:9;10367:195;;;-1:-1:-1;;;;;;;10618:32:1;;;;10613:2;10598:18;;10591:60;-1:-1:-1;;;10682:3:1;10667:19;10660:35;10579:3;9721:980;-1:-1:-1;;;9721:980:1:o
Swarm Source
ipfs://a339945420ad5ffedb122d96bf9721a2387a934feaf17564e3044082d3b811f2
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.