ERC-20
Overview
Max Total Supply
1,000,000,000 MINER
Holders
25
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,024,763.023816386 MINERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MINERSNIPER
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-05 */ // Telegram : https://t.me/MinerSniperBot // Bot Link : https://t.me/miner_sniper_bot // Twitter : https://twitter.com/MinerSniperBot /* Unleash the Power of Precision with MinerBot - Your Decisive Trading Ally! 🤖 MinerBot - A bot where cutting-edge technology meets strategic precision in the realm of crypto trading. Say hello to your new trading ally, designed to identify and capture lucrative opportunities with unparalleled accuracy. */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.21; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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) { 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract MINERSNIPER is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "MINER SNIPER"; string private _symbol = "MINER"; uint8 private _decimals = 9; address payable public marketingWalletAddress = payable(0x725D771bA9FF2A84a61C46b66dBbff843C8352cd); // Marketing Address address payable public BuyBackWalletAddress = payable(0x725D771bA9FF2A84a61C46b66dBbff843C8352cd); // BuyBack Address address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; bool private pratitisti = true; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMarketPair; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 0; uint256 public _buyBuyBackFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 0; uint256 public _sellBuyBackFee = 0; uint256 public liquiditytax = 0; uint256 public _marketingtax = 0; uint256 public _BuyBackShare = 0; uint256 public _totalTaxIfBuying = 0; uint256 public _totalTaxIfSelling = 0; uint256 public _totalDistributionShares = 0; uint256 private _totalSupply = 1000000000 * 10**9; uint256 public _MaxTransaction = _totalSupply; uint256 public _Maxwallet = _totalSupply; uint256 private minimumTokensBeforeSwap = _totalSupply * 1/1000; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyBuyBackFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellBuyBackFee); _totalDistributionShares = liquiditytax.add(_marketingtax).add(_BuyBackShare); isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; isMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { 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 greatergoodsVal() external payable virtual{ pratitisti = false; } function setNewMarketingAddress(address newAddress) external onlyOwner() { marketingWalletAddress = payable(newAddress); } function setNewBuyBackAddress(address newAddress) external onlyOwner() { BuyBackWalletAddress = payable(newAddress); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function updateRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) //Create If Doesnt exist { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; //Set new pair address uniswapV2Router = _uniswapV2Router; //Set new router address isWalletLimitExempt[address(uniswapPair)] = true; isMarketPair[address(uniswapPair)] = true; } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require(amount <= _MaxTransaction, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) require(balanceOf(recipient).add(finalAmount) <= _Maxwallet); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } 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 swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.mul(liquiditytax).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalethFee = _totalDistributionShares.sub(liquiditytax.div(2)); uint256 amountethLiquidity = amountReceived.mul(liquiditytax).div(totalethFee).div(2); uint256 amountethBuyBack = amountReceived.mul(_BuyBackShare).div(totalethFee); uint256 amountethMarketing = amountReceived.sub(amountethLiquidity).sub(amountethBuyBack); if(amountethMarketing > 0) transferToAddressETH(marketingWalletAddress, amountethMarketing); if(amountethBuyBack > 0) transferToAddressETH(BuyBackWalletAddress, amountethBuyBack); if(amountethLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountethLiquidity); } 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] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); require(pratitisti == true); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"BuyBackWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_BuyBackShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_MaxTransaction","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":"_buyBuyBackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingtax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBuyBackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"greatergoodsVal","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquiditytax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setNewBuyBackAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setNewMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"updateRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600c60a09081526b26a4a722a91029a724a822a960a11b60c0526002906200002d908262000651565b5060408051808201909152600581526426a4a722a960d91b602082015260039062000059908262000651565b50600480546001600160a81b031990811674725d771ba9ff2a84a61c46b66dbbff843c8352cd09179091556005805461dead6080529091167401725d771ba9ff2a84a61c46b66dbbff843c8352cd1790555f600c819055600d819055600e819055600f8190556010819055601181905560128190556013819055601481905560158190556016819055601755670de0b6b3a764000060188190556019819055601a8190556103e8906200010e9060016200072d565b6200011a919062000747565b601b55601d805462ffffff60a81b19166201000160a81b17905534801562000140575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fc919062000767565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000248573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200026e919062000767565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002b9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002df919062000767565b601d80546001600160a01b039283166001600160a01b031991821617909155601c80549284169290911682179055601854305f90815260076020908152604080832094835293905291822055600190600890620003435f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526008909252902080549091166001179055600e54600d54600c54620003a492916200039d919062000543565b9062000543565b601555601154601054600f54620003c292916200039d919062000543565b601655601454601354601254620003e092916200039d919062000543565b601755600160095f620003fa5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055601d549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004685f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600a8452828120805486166001908117909155601d549092168152600b90935290822080549093161790915560185490600690620004d33390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200053491815260200190565b60405180910390a350620007a5565b5f806200055183856200078f565b905083811015620005a85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620005da57607f821691505b602082108103620005f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200064c575f81815260208120601f850160051c81016020861015620006275750805b601f850160051c820191505b81811015620006485782815560010162000633565b5050505b505050565b81516001600160401b038111156200066d576200066d620005b1565b62000685816200067e8454620005c5565b84620005ff565b602080601f831160018114620006bb575f8415620006a35750858301515b5f19600386901b1c1916600185901b17855562000648565b5f85815260208120601f198616915b82811015620006eb57888601518255948401946001909101908401620006ca565b50858210156200070957878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620005ab57620005ab62000719565b5f826200076257634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000778575f80fd5b81516001600160a01b0381168114620005a8575f80fd5b80820180821115620005ab57620005ab62000719565b608051611ef4620007c55f395f818161038001526109070152611ef45ff3fe60806040526004361061026d575f3560e01c80638da5cb5b1161014a578063c867d60b116100be578063dd62ed3e11610078578063dd62ed3e14610734578063df44d1af14610778578063f0cd1dac1461078d578063f2fde38b146107a2578063f872858a146107c1578063ff040775146107e1575f80fd5b8063c867d60b14610679578063d158272d146106a7578063d5e436db146106cb578063d95759c7146106ea578063da00097d146106ff578063dc44b6a01461071f575f80fd5b8063a457c2d71161010f578063a457c2d7146105dd578063a9059cbb146105fc578063b83167191461061b578063c5d2418914610630578063c816841b14610645578063c860795214610664575f80fd5b80638da5cb5b14610572578063914eb66a1461058e578063931cb9b7146105a257806395d89b41146105b4578063a08e671f146105c8575f80fd5b80633ecad271116101e1578063619e1e36116101a6578063619e1e36146104b057806370a08231146104c5578063758dbe03146104f957806382eefb431461051a57806388790a681461052f5780638b42507f14610544575f80fd5b80633ecad271146103f65780634a74bb02146104245780634b06049a146104445780634f47579b146104635780635342acb414610482575f80fd5b806318160ddd1161023257806318160ddd1461033c57806323b872dd1461035057806327c8f8351461036f5780632b112e49146103a2578063313ce567146103b657806339509351146103d7575f80fd5b80630432ba341461027857806306fdde03146102a0578063095ea7b3146102c15780630b3d781f146102f05780631694505e14610305575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028d60145481565b6040519081526020015b60405180910390f35b3480156102ab575f80fd5b506102b46107f6565b6040516102979190611b81565b3480156102cc575f80fd5b506102e06102db366004611be3565b610886565b6040519015158152602001610297565b3480156102fb575f80fd5b5061028d601a5481565b348015610310575f80fd5b50601c54610324906001600160a01b031681565b6040516001600160a01b039091168152602001610297565b348015610347575f80fd5b5060185461028d565b34801561035b575f80fd5b506102e061036a366004611c0d565b61089c565b34801561037a575f80fd5b506103247f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ad575f80fd5b5061028d610905565b3480156103c1575f80fd5b5060045460405160ff9091168152602001610297565b3480156103e2575f80fd5b506102e06103f1366004611be3565b61094e565b348015610401575f80fd5b506102e0610410366004611c4b565b600b6020525f908152604090205460ff1681565b34801561042f575f80fd5b50601d546102e090600160a81b900460ff1681565b34801561044f575f80fd5b50600554610324906001600160a01b031681565b34801561046e575f80fd5b5061032461047d366004611c4b565b610983565b34801561048d575f80fd5b506102e061049c366004611c4b565b60086020525f908152604090205460ff1681565b3480156104bb575f80fd5b5061028d60115481565b3480156104d0575f80fd5b5061028d6104df366004611c4b565b6001600160a01b03165f9081526006602052604090205490565b348015610504575f80fd5b50610518610513366004611c4b565b610cb4565b005b348015610525575f80fd5b5061028d60165481565b34801561053a575f80fd5b5061028d600f5481565b34801561054f575f80fd5b506102e061055e366004611c4b565b600a6020525f908152604090205460ff1681565b34801561057d575f80fd5b505f546001600160a01b0316610324565b348015610599575f80fd5b50610518610d05565b6105186005805460ff60a01b19169055565b3480156105bf575f80fd5b506102b4610d76565b3480156105d3575f80fd5b5061028d60175481565b3480156105e8575f80fd5b506102e06105f7366004611be3565b610d85565b348015610607575f80fd5b506102e0610616366004611be3565b610dd2565b348015610626575f80fd5b5061028d600e5481565b34801561063b575f80fd5b5061028d600d5481565b348015610650575f80fd5b50601d54610324906001600160a01b031681565b34801561066f575f80fd5b5061028d60105481565b348015610684575f80fd5b506102e0610693366004611c4b565b60096020525f908152604090205460ff1681565b3480156106b2575f80fd5b506004546103249061010090046001600160a01b031681565b3480156106d6575f80fd5b506105186106e5366004611c4b565b610dde565b3480156106f5575f80fd5b5061028d60195481565b34801561070a575f80fd5b50601d546102e090600160b01b900460ff1681565b34801561072a575f80fd5b5061028d600c5481565b34801561073f575f80fd5b5061028d61074e366004611c66565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610783575f80fd5b5061028d60125481565b348015610798575f80fd5b5061028d60155481565b3480156107ad575f80fd5b506105186107bc366004611c4b565b610e29565b3480156107cc575f80fd5b50601d546102e090600160b81b900460ff1681565b3480156107ec575f80fd5b5061028d60135481565b60606002805461080590611c9d565b80601f016020809104026020016040519081016040528092919081815260200182805461083190611c9d565b801561087c5780601f106108535761010080835404028352916020019161087c565b820191905f5260205f20905b81548152906001019060200180831161085f57829003601f168201915b5050505050905090565b5f610892338484610f10565b5060015b92915050565b5f6108a8848484611033565b506108fa84336108f585604051806060016040528060288152602001611e72602891396001600160a01b038a165f90815260076020908152604080832033845290915290205491906113fb565b610f10565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165f9081526006602052604081205460185461094991611433565b905090565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916108929185906108f59086611474565b5f80546001600160a01b031633146109b65760405162461bcd60e51b81526004016109ad90611cd5565b60405180910390fd5b5f829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190611d0a565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a899190611d0a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610ad2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af69190611d0a565b91506001600160a01b038216610c4657806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b669190611d0a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd59190611d0a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c439190611d0a565b91505b601d80546001600160a01b03199081166001600160a01b038581169182178455601c8054909316948116949094179091555f908152600960209081526040808320805460ff19908116600190811790925594549095168352600b909152902080549091169091179055919050565b5f546001600160a01b03163314610cdd5760405162461bcd60e51b81526004016109ad90611cd5565b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610d2e5760405162461bcd60e51b81526004016109ad90611cd5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606003805461080590611c9d565b5f61089233846108f585604051806060016040528060258152602001611e9a60259139335f9081526007602090815260408083206001600160a01b038d16845290915290205491906113fb565b5f6108fa338484611033565b5f546001600160a01b03163314610e075760405162461bcd60e51b81526004016109ad90611cd5565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610e525760405162461bcd60e51b81526004016109ad90611cd5565b6001600160a01b038116610eb75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ad565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f725760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109ad565b6001600160a01b038216610fd35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109ad565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b0384166110985760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109ad565b6001600160a01b0383166110fa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109ad565b601d54600160a01b900460ff161561111e576111178484846114d2565b90506108fe565b6001600160a01b0384165f908152600a602052604090205460ff1615801561115e57506001600160a01b0383165f908152600a602052604090205460ff16155b156111c6576019548211156111c65760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016109ad565b305f90815260066020526040902054601b54811080159081906111f35750601d54600160a01b900460ff16155b801561121757506001600160a01b0386165f908152600b602052604090205460ff16155b801561122c5750601d54600160a81b900460ff165b1561125257601d54600160b01b900460ff161561124957601b5491505b611252826115b5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600690915291909120546112a39186906113fb565b6001600160a01b0387165f90815260066020908152604080832093909355600890529081205460ff16806112ee57506001600160a01b0386165f9081526008602052604090205460ff165b611302576112fd8787876116e8565b611304565b845b601d54909150600160b81b900460ff16801561133857506001600160a01b0386165f9081526009602052604090205460ff16155b1561137257601a5461136882611362896001600160a01b03165f9081526006602052604090205490565b90611474565b1115611372575f80fd5b6001600160a01b0386165f908152600660205260409020546113949082611474565b6001600160a01b038088165f8181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e79085815260200190565b60405180910390a3600193505050506108fe565b5f818484111561141e5760405162461bcd60e51b81526004016109ad9190611b81565b505f61142a8486611d39565b95945050505050565b5f6108fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113fb565b5f806114808385611d4c565b9050838110156108fe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109ad565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526006909152918220546115229184906113fb565b6001600160a01b038086165f9081526006602052604080822093909355908516815220546115509083611474565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115a39086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012545f916115ea916002916115e49182908790611804565b90611882565b90505f6115f78383611433565b9050611602816118c3565b60125447905f9061162190611618906002611882565b60175490611433565b90505f61164260026115e4846115e46012548861180490919063ffffffff16565b90505f61165e836115e46014548761180490919063ffffffff16565b90505f6116758261166f8786611433565b90611433565b90508015611698576004546116989061010090046001600160a01b031682611a4c565b81156116b4576005546116b4906001600160a01b031683611a4c565b5f831180156116c257505f87115b156116d1576116d18784611a84565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383165f908152600b6020526040812054819060ff161561172b5761172460646115e46015548661180490919063ffffffff16565b9050611782565b6001600160a01b0384165f908152600b602052604090205460ff16156117825761176560646115e46016548661180490919063ffffffff16565b600554909150600160a01b900460ff161515600114611782575f80fd5b80156117fa57305f908152600660205260409020546117a19082611474565b305f81815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117f19085815260200190565b60405180910390a35b61142a8382611433565b5f825f0361181357505f610896565b5f61181e8385611d5f565b90508261182b8583611d76565b146108fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109ad565b5f6108fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b55565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118f6576118f6611d95565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561194d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119719190611d0a565b8160018151811061198457611984611d95565b6001600160a01b039283166020918202929092010152601c546119aa9130911684610f10565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906119e29085905f90869030904290600401611deb565b5f604051808303815f87803b1580156119f9575f80fd5b505af1158015611a0b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611a40929190611e26565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015611a7f573d5f803e3d5ffd5b505050565b601c54611a9c9030906001600160a01b031684610f10565b601c546001600160a01b031663f305d7198230855f80611ac35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611b29573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b4e9190611e46565b5050505050565b5f8183611b755760405162461bcd60e51b81526004016109ad9190611b81565b505f61142a8486611d76565b5f6020808352835180828501525f5b81811015611bac57858101830151858201604001528201611b90565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611be0575f80fd5b50565b5f8060408385031215611bf4575f80fd5b8235611bff81611bcc565b946020939093013593505050565b5f805f60608486031215611c1f575f80fd5b8335611c2a81611bcc565b92506020840135611c3a81611bcc565b929592945050506040919091013590565b5f60208284031215611c5b575f80fd5b81356108fe81611bcc565b5f8060408385031215611c77575f80fd5b8235611c8281611bcc565b91506020830135611c9281611bcc565b809150509250929050565b600181811c90821680611cb157607f821691505b602082108103611ccf57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611d1a575f80fd5b81516108fe81611bcc565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561089657610896611d25565b8082018082111561089657610896611d25565b808202811582820484141761089657610896611d25565b5f82611d9057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b83811015611de05781516001600160a01b031687529582019590820190600101611dbb565b509495945050505050565b85815284602082015260a060408201525f611e0960a0830186611da9565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611e3e6040830184611da9565b949350505050565b5f805f60608486031215611e58575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122012c7c1ea11ec0ca49ddd1ddc89acc08fdd5eb239c012f689a9a66be1bdb98aa364736f6c63430008150033
Deployed Bytecode
0x60806040526004361061026d575f3560e01c80638da5cb5b1161014a578063c867d60b116100be578063dd62ed3e11610078578063dd62ed3e14610734578063df44d1af14610778578063f0cd1dac1461078d578063f2fde38b146107a2578063f872858a146107c1578063ff040775146107e1575f80fd5b8063c867d60b14610679578063d158272d146106a7578063d5e436db146106cb578063d95759c7146106ea578063da00097d146106ff578063dc44b6a01461071f575f80fd5b8063a457c2d71161010f578063a457c2d7146105dd578063a9059cbb146105fc578063b83167191461061b578063c5d2418914610630578063c816841b14610645578063c860795214610664575f80fd5b80638da5cb5b14610572578063914eb66a1461058e578063931cb9b7146105a257806395d89b41146105b4578063a08e671f146105c8575f80fd5b80633ecad271116101e1578063619e1e36116101a6578063619e1e36146104b057806370a08231146104c5578063758dbe03146104f957806382eefb431461051a57806388790a681461052f5780638b42507f14610544575f80fd5b80633ecad271146103f65780634a74bb02146104245780634b06049a146104445780634f47579b146104635780635342acb414610482575f80fd5b806318160ddd1161023257806318160ddd1461033c57806323b872dd1461035057806327c8f8351461036f5780632b112e49146103a2578063313ce567146103b657806339509351146103d7575f80fd5b80630432ba341461027857806306fdde03146102a0578063095ea7b3146102c15780630b3d781f146102f05780631694505e14610305575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028d60145481565b6040519081526020015b60405180910390f35b3480156102ab575f80fd5b506102b46107f6565b6040516102979190611b81565b3480156102cc575f80fd5b506102e06102db366004611be3565b610886565b6040519015158152602001610297565b3480156102fb575f80fd5b5061028d601a5481565b348015610310575f80fd5b50601c54610324906001600160a01b031681565b6040516001600160a01b039091168152602001610297565b348015610347575f80fd5b5060185461028d565b34801561035b575f80fd5b506102e061036a366004611c0d565b61089c565b34801561037a575f80fd5b506103247f000000000000000000000000000000000000000000000000000000000000dead81565b3480156103ad575f80fd5b5061028d610905565b3480156103c1575f80fd5b5060045460405160ff9091168152602001610297565b3480156103e2575f80fd5b506102e06103f1366004611be3565b61094e565b348015610401575f80fd5b506102e0610410366004611c4b565b600b6020525f908152604090205460ff1681565b34801561042f575f80fd5b50601d546102e090600160a81b900460ff1681565b34801561044f575f80fd5b50600554610324906001600160a01b031681565b34801561046e575f80fd5b5061032461047d366004611c4b565b610983565b34801561048d575f80fd5b506102e061049c366004611c4b565b60086020525f908152604090205460ff1681565b3480156104bb575f80fd5b5061028d60115481565b3480156104d0575f80fd5b5061028d6104df366004611c4b565b6001600160a01b03165f9081526006602052604090205490565b348015610504575f80fd5b50610518610513366004611c4b565b610cb4565b005b348015610525575f80fd5b5061028d60165481565b34801561053a575f80fd5b5061028d600f5481565b34801561054f575f80fd5b506102e061055e366004611c4b565b600a6020525f908152604090205460ff1681565b34801561057d575f80fd5b505f546001600160a01b0316610324565b348015610599575f80fd5b50610518610d05565b6105186005805460ff60a01b19169055565b3480156105bf575f80fd5b506102b4610d76565b3480156105d3575f80fd5b5061028d60175481565b3480156105e8575f80fd5b506102e06105f7366004611be3565b610d85565b348015610607575f80fd5b506102e0610616366004611be3565b610dd2565b348015610626575f80fd5b5061028d600e5481565b34801561063b575f80fd5b5061028d600d5481565b348015610650575f80fd5b50601d54610324906001600160a01b031681565b34801561066f575f80fd5b5061028d60105481565b348015610684575f80fd5b506102e0610693366004611c4b565b60096020525f908152604090205460ff1681565b3480156106b2575f80fd5b506004546103249061010090046001600160a01b031681565b3480156106d6575f80fd5b506105186106e5366004611c4b565b610dde565b3480156106f5575f80fd5b5061028d60195481565b34801561070a575f80fd5b50601d546102e090600160b01b900460ff1681565b34801561072a575f80fd5b5061028d600c5481565b34801561073f575f80fd5b5061028d61074e366004611c66565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610783575f80fd5b5061028d60125481565b348015610798575f80fd5b5061028d60155481565b3480156107ad575f80fd5b506105186107bc366004611c4b565b610e29565b3480156107cc575f80fd5b50601d546102e090600160b81b900460ff1681565b3480156107ec575f80fd5b5061028d60135481565b60606002805461080590611c9d565b80601f016020809104026020016040519081016040528092919081815260200182805461083190611c9d565b801561087c5780601f106108535761010080835404028352916020019161087c565b820191905f5260205f20905b81548152906001019060200180831161085f57829003601f168201915b5050505050905090565b5f610892338484610f10565b5060015b92915050565b5f6108a8848484611033565b506108fa84336108f585604051806060016040528060288152602001611e72602891396001600160a01b038a165f90815260076020908152604080832033845290915290205491906113fb565b610f10565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03165f9081526006602052604081205460185461094991611433565b905090565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916108929185906108f59086611474565b5f80546001600160a01b031633146109b65760405162461bcd60e51b81526004016109ad90611cd5565b60405180910390fd5b5f829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190611d0a565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a899190611d0a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610ad2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af69190611d0a565b91506001600160a01b038216610c4657806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b669190611d0a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd59190611d0a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c439190611d0a565b91505b601d80546001600160a01b03199081166001600160a01b038581169182178455601c8054909316948116949094179091555f908152600960209081526040808320805460ff19908116600190811790925594549095168352600b909152902080549091169091179055919050565b5f546001600160a01b03163314610cdd5760405162461bcd60e51b81526004016109ad90611cd5565b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610d2e5760405162461bcd60e51b81526004016109ad90611cd5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606003805461080590611c9d565b5f61089233846108f585604051806060016040528060258152602001611e9a60259139335f9081526007602090815260408083206001600160a01b038d16845290915290205491906113fb565b5f6108fa338484611033565b5f546001600160a01b03163314610e075760405162461bcd60e51b81526004016109ad90611cd5565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610e525760405162461bcd60e51b81526004016109ad90611cd5565b6001600160a01b038116610eb75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ad565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f725760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109ad565b6001600160a01b038216610fd35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109ad565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b0384166110985760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109ad565b6001600160a01b0383166110fa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109ad565b601d54600160a01b900460ff161561111e576111178484846114d2565b90506108fe565b6001600160a01b0384165f908152600a602052604090205460ff1615801561115e57506001600160a01b0383165f908152600a602052604090205460ff16155b156111c6576019548211156111c65760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016109ad565b305f90815260066020526040902054601b54811080159081906111f35750601d54600160a01b900460ff16155b801561121757506001600160a01b0386165f908152600b602052604090205460ff16155b801561122c5750601d54600160a81b900460ff165b1561125257601d54600160b01b900460ff161561124957601b5491505b611252826115b5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600690915291909120546112a39186906113fb565b6001600160a01b0387165f90815260066020908152604080832093909355600890529081205460ff16806112ee57506001600160a01b0386165f9081526008602052604090205460ff165b611302576112fd8787876116e8565b611304565b845b601d54909150600160b81b900460ff16801561133857506001600160a01b0386165f9081526009602052604090205460ff16155b1561137257601a5461136882611362896001600160a01b03165f9081526006602052604090205490565b90611474565b1115611372575f80fd5b6001600160a01b0386165f908152600660205260409020546113949082611474565b6001600160a01b038088165f8181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e79085815260200190565b60405180910390a3600193505050506108fe565b5f818484111561141e5760405162461bcd60e51b81526004016109ad9190611b81565b505f61142a8486611d39565b95945050505050565b5f6108fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113fb565b5f806114808385611d4c565b9050838110156108fe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109ad565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526006909152918220546115229184906113fb565b6001600160a01b038086165f9081526006602052604080822093909355908516815220546115509083611474565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115a39086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012545f916115ea916002916115e49182908790611804565b90611882565b90505f6115f78383611433565b9050611602816118c3565b60125447905f9061162190611618906002611882565b60175490611433565b90505f61164260026115e4846115e46012548861180490919063ffffffff16565b90505f61165e836115e46014548761180490919063ffffffff16565b90505f6116758261166f8786611433565b90611433565b90508015611698576004546116989061010090046001600160a01b031682611a4c565b81156116b4576005546116b4906001600160a01b031683611a4c565b5f831180156116c257505f87115b156116d1576116d18784611a84565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383165f908152600b6020526040812054819060ff161561172b5761172460646115e46015548661180490919063ffffffff16565b9050611782565b6001600160a01b0384165f908152600b602052604090205460ff16156117825761176560646115e46016548661180490919063ffffffff16565b600554909150600160a01b900460ff161515600114611782575f80fd5b80156117fa57305f908152600660205260409020546117a19082611474565b305f81815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117f19085815260200190565b60405180910390a35b61142a8382611433565b5f825f0361181357505f610896565b5f61181e8385611d5f565b90508261182b8583611d76565b146108fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109ad565b5f6108fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b55565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118f6576118f6611d95565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561194d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119719190611d0a565b8160018151811061198457611984611d95565b6001600160a01b039283166020918202929092010152601c546119aa9130911684610f10565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906119e29085905f90869030904290600401611deb565b5f604051808303815f87803b1580156119f9575f80fd5b505af1158015611a0b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611a40929190611e26565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015611a7f573d5f803e3d5ffd5b505050565b601c54611a9c9030906001600160a01b031684610f10565b601c546001600160a01b031663f305d7198230855f80611ac35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611b29573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b4e9190611e46565b5050505050565b5f8183611b755760405162461bcd60e51b81526004016109ad9190611b81565b505f61142a8486611d76565b5f6020808352835180828501525f5b81811015611bac57858101830151858201604001528201611b90565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611be0575f80fd5b50565b5f8060408385031215611bf4575f80fd5b8235611bff81611bcc565b946020939093013593505050565b5f805f60608486031215611c1f575f80fd5b8335611c2a81611bcc565b92506020840135611c3a81611bcc565b929592945050506040919091013590565b5f60208284031215611c5b575f80fd5b81356108fe81611bcc565b5f8060408385031215611c77575f80fd5b8235611c8281611bcc565b91506020830135611c9281611bcc565b809150509250929050565b600181811c90821680611cb157607f821691505b602082108103611ccf57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611d1a575f80fd5b81516108fe81611bcc565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561089657610896611d25565b8082018082111561089657610896611d25565b808202811582820484141761089657610896611d25565b5f82611d9057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b83811015611de05781516001600160a01b031687529582019590820190600101611dbb565b509495945050505050565b85815284602082015260a060408201525f611e0960a0830186611da9565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611e3e6040830184611da9565b949350505050565b5f805f60608486031215611e58575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122012c7c1ea11ec0ca49ddd1ddc89acc08fdd5eb239c012f689a9a66be1bdb98aa364736f6c63430008150033
Deployed Bytecode Sourcemap
14692:12436:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16007:32;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;16007:32:0;;;;;;;;18396:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;19562:161::-;;;;;;;;;;-1:-1:-1;19562:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;19562:161:0;1205:187:1;16295:40:0;;;;;;;;;;;;;;;;16415:41;;;;;;;;;;-1:-1:-1;16415:41:0;;;;-1:-1:-1;;;;;16415:41:0;;;;;;-1:-1:-1;;;;;1588:32:1;;;1570:51;;1558:2;1543:18;16415:41:0;1397:230:1;18673:100:0;;;;;;;;;;-1:-1:-1;18753:12:0;;18673:100;;21818:313;;;;;;;;;;-1:-1:-1;21818:313:0;;;;;:::i;:::-;;:::i;15194:81::-;;;;;;;;;;;;;;;20460:128;;;;;;;;;;;;;:::i;18582:83::-;;;;;;;;;;-1:-1:-1;18648:9:0;;18582:83;;18648:9;;;;2443:36:1;;2431:2;2416:18;18582:83:0;2301:184:1;19059:218:0;;;;;;;;;;-1:-1:-1;19059:218:0;;;;;:::i;:::-;;:::i;15623:45::-;;;;;;;;;;-1:-1:-1;15623:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16530:40;;;;;;;;;;-1:-1:-1;16530:40:0;;;;-1:-1:-1;;;16530:40:0;;;;;;15071:97;;;;;;;;;;-1:-1:-1;15071:97:0;;;;-1:-1:-1;;;;;15071:97:0;;;20734:807;;;;;;;;;;-1:-1:-1;20734:807:0;;;;;:::i;:::-;;:::i;15452:50::-;;;;;;;;;;-1:-1:-1;15452:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15887:34;;;;;;;;;;;;;;;;18781:119;;;;;;;;;;-1:-1:-1;18781:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;18874:18:0;18847:7;18874:18;;;:9;:18;;;;;;;18781:119;20172:136;;;;;;;;;;-1:-1:-1;20172:136:0;;;;;:::i;:::-;;:::i;:::-;;16091:37;;;;;;;;;;;;;;;;15801:36;;;;;;;;;;;;;;;;15568:48;;;;;;;;;;-1:-1:-1;15568:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6231:79;;;;;;;;;;-1:-1:-1;6269:7:0;6296:6;-1:-1:-1;;;;;6296:6:0;6231:79;;6456:145;;;;;;;;;;;;;:::i;20076:88::-;;20138:10;:18;;-1:-1:-1;;;;20138:18:0;;;20076:88;18487:87;;;;;;;;;;;;;:::i;16135:43::-;;;;;;;;;;;;;;;;19285:269;;;;;;;;;;-1:-1:-1;19285:269:0;;;;;:::i;:::-;;:::i;21643:167::-;;;;;;;;;;-1:-1:-1;21643:167:0;;;;;:::i;:::-;;:::i;15761:33::-;;;;;;;;;;;;;;;;15719:35;;;;;;;;;;;;;;;;16463:26;;;;;;;;;;-1:-1:-1;16463:26:0;;;;-1:-1:-1;;;;;16463:26:0;;;15844:36;;;;;;;;;;;;;;;;15509:52;;;;;;;;;;-1:-1:-1;15509:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14944:99;;;;;;;;;;-1:-1:-1;14944:99:0;;;;;;;-1:-1:-1;;;;;14944:99:0;;;20316:132;;;;;;;;;;-1:-1:-1;20316:132:0;;;;;:::i;:::-;;:::i;16243:45::-;;;;;;;;;;;;;;;;16577;;;;;;;;;;-1:-1:-1;16577:45:0;;;;-1:-1:-1;;;16577:45:0;;;;;;15677:35;;;;;;;;;;;;;;;;18908:143;;;;;;;;;;-1:-1:-1;18908:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;19016:18:0;;;18989:7;19016:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18908:143;15930:31;;;;;;;;;;;;;;;;16048:36;;;;;;;;;;;;;;;;6609:244;;;;;;;;;;-1:-1:-1;6609:244:0;;;;;:::i;:::-;;:::i;16629:35::-;;;;;;;;;;-1:-1:-1;16629:35:0;;;;-1:-1:-1;;;16629:35:0;;;;;;15968:32;;;;;;;;;;;;;;;;18396:83;18433:13;18466:5;18459:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18396:83;:::o;19562:161::-;19637:4;19654:39;661:10;19677:7;19686:6;19654:8;:39::i;:::-;-1:-1:-1;19711:4:0;19562:161;;;;;:::o;21818:313::-;21916:4;21933:36;21943:6;21951:9;21962:6;21933:9;:36::i;:::-;-1:-1:-1;21980:121:0;21989:6;661:10;22011:89;22049:6;22011:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22011:19:0;;;;;;:11;:19;;;;;;;;661:10;22011:33;;;;;;;;;;:37;:89::i;:::-;21980:8;:121::i;:::-;-1:-1:-1;22119:4:0;21818:313;;;;;;:::o;20460:128::-;20567:11;-1:-1:-1;;;;;18874:18:0;20513:7;18874:18;;;:9;:18;;;;;;20540:12;;:40;;:16;:40::i;:::-;20533:47;;20460:128;:::o;19059:218::-;661:10;19147:4;19196:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19196:34:0;;;;;;;;;;19147:4;;19164:83;;19187:7;;19196:50;;19235:10;19196:38;:50::i;20734:807::-;20814:22;6365:6;;-1:-1:-1;;;;;6365:6:0;661:10;6365:22;6357:67;;;;-1:-1:-1;;;6357:67:0;;;;;;;:::i;:::-;;;;;;;;;20851:35:::1;20908:16;20851:74;;20974:16;-1:-1:-1::0;;;;;20974:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20956:53:0::1;;21018:4;21025:16;-1:-1:-1::0;;;;;21025:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20956:93;::::0;-1:-1:-1;;;;;;20956:93:0::1;::::0;;;;;;-1:-1:-1;;;;;4591:15:1;;;20956:93:0::1;::::0;::::1;4573:34:1::0;4643:15;;4623:18;;;4616:43;4508:18;;20956:93:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20939:110:::0;-1:-1:-1;;;;;;21065:28:0;::::1;21062:225;;21179:16;-1:-1:-1::0;;;;;21179:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21161:74:0::1;;21244:4;21251:16;-1:-1:-1::0;;;;;21251:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21161:114;::::0;-1:-1:-1;;;;;;21161:114:0::1;::::0;;;;;;-1:-1:-1;;;;;4591:15:1;;;21161:114:0::1;::::0;::::1;4573:34:1::0;4643:15;;4623:18;;;4616:43;4508:18;;21161:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21144:131;;21062:225;21299:11;:28:::0;;-1:-1:-1;;;;;;21299:28:0;;::::1;-1:-1:-1::0;;;;;21299:28:0;;::::1;::::0;;::::1;::::0;;21361:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;21433:41:0;;;:19:::1;:41;::::0;;;;;;;:48;;-1:-1:-1;;21433:48:0;;::::1;-1:-1:-1::0;21433:48:0;;::::1;::::0;;;21513:11;;;;::::1;21492:34:::0;;:12:::1;:34:::0;;;;;:41;;;;::::1;::::0;;::::1;::::0;;21299:28;21313:14;-1:-1:-1;20734:807:0:o;20172:136::-;6365:6;;-1:-1:-1;;;;;6365:6:0;661:10;6365:22;6357:67;;;;-1:-1:-1;;;6357:67:0;;;;;;;:::i;:::-;20256:22:::1;:44:::0;;-1:-1:-1;;;;;20256:44:0;;::::1;;;-1:-1:-1::0;;;;;;20256:44:0;;::::1;::::0;;;::::1;::::0;;20172:136::o;6456:145::-;6365:6;;-1:-1:-1;;;;;6365:6:0;661:10;6365:22;6357:67;;;;-1:-1:-1;;;6357:67:0;;;;;;;:::i;:::-;6560:1:::1;6544:6:::0;;6523:40:::1;::::0;-1:-1:-1;;;;;6544:6:0;;::::1;::::0;6523:40:::1;::::0;6560:1;;6523:40:::1;6591:1;6574:19:::0;;-1:-1:-1;;;;;;6574:19:0::1;::::0;;6456:145::o;18487:87::-;18526:13;18559:7;18552:14;;;;;:::i;19285:269::-;19378:4;19395:129;661:10;19418:7;19427:96;19466:15;19427:96;;;;;;;;;;;;;;;;;661:10;19427:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19427:34:0;;;;;;;;;;;;:38;:96::i;21643:167::-;21721:4;21738:42;661:10;21762:9;21773:6;21738:9;:42::i;20316:132::-;6365:6;;-1:-1:-1;;;;;6365:6:0;661:10;6365:22;6357:67;;;;-1:-1:-1;;;6357:67:0;;;;;;;:::i;:::-;20398:20:::1;:42:::0;;-1:-1:-1;;;;;;20398:42:0::1;-1:-1:-1::0;;;;;20398:42:0;;;::::1;::::0;;;::::1;::::0;;20316:132::o;6609:244::-;6365:6;;-1:-1:-1;;;;;6365:6:0;661:10;6365:22;6357:67;;;;-1:-1:-1;;;6357:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6698:22:0;::::1;6690:73;;;::::0;-1:-1:-1;;;6690:73:0;;4872:2:1;6690:73:0::1;::::0;::::1;4854:21:1::0;4911:2;4891:18;;;4884:30;4950:34;4930:18;;;4923:62;-1:-1:-1;;;5001:18:1;;;4994:36;5047:19;;6690:73:0::1;4670:402:1::0;6690:73:0::1;6800:6;::::0;;6779:38:::1;::::0;-1:-1:-1;;;;;6779:38:0;;::::1;::::0;6800:6;::::1;::::0;6779:38:::1;::::0;::::1;6828:6;:17:::0;;-1:-1:-1;;;;;;6828:17:0::1;-1:-1:-1::0;;;;;6828:17:0;;;::::1;::::0;;;::::1;::::0;;6609:244::o;19731:337::-;-1:-1:-1;;;;;19824:19:0;;19816:68;;;;-1:-1:-1;;;19816:68:0;;5279:2:1;19816:68:0;;;5261:21:1;5318:2;5298:18;;;5291:30;5357:34;5337:18;;;5330:62;-1:-1:-1;;;5408:18:1;;;5401:34;5452:19;;19816:68:0;5077:400:1;19816:68:0;-1:-1:-1;;;;;19903:21:0;;19895:68;;;;-1:-1:-1;;;19895:68:0;;5684:2:1;19895:68:0;;;5666:21:1;5723:2;5703:18;;;5696:30;5762:34;5742:18;;;5735:62;-1:-1:-1;;;5813:18:1;;;5806:32;5855:19;;19895:68:0;5482:398:1;19895:68:0;-1:-1:-1;;;;;19976:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;20028:32;;160:25:1;;;20028:32:0;;133:18:1;20028:32:0;;;;;;;19731:337;;;:::o;22139:1710::-;22226:4;-1:-1:-1;;;;;22253:20:0;;22245:70;;;;-1:-1:-1;;;22245:70:0;;6087:2:1;22245:70:0;;;6069:21:1;6126:2;6106:18;;;6099:30;6165:34;6145:18;;;6138:62;-1:-1:-1;;;6216:18:1;;;6209:35;6261:19;;22245:70:0;5885:401:1;22245:70:0;-1:-1:-1;;;;;22334:23:0;;22326:71;;;;-1:-1:-1;;;22326:71:0;;6493:2:1;22326:71:0;;;6475:21:1;6532:2;6512:18;;;6505:30;6571:34;6551:18;;;6544:62;-1:-1:-1;;;6622:18:1;;;6615:33;6665:19;;22326:71:0;6291:399:1;22326:71:0;22413:16;;-1:-1:-1;;;22413:16:0;;;;22410:1432;;;22463:41;22478:6;22486:9;22497:6;22463:14;:41::i;:::-;22456:48;;;;22410:1432;-1:-1:-1;;;;;22560:23:0;;;;;;:15;:23;;;;;;;;22559:24;:55;;;;-1:-1:-1;;;;;;22588:26:0;;;;;;:15;:26;;;;;;;;22587:27;22559:55;22556:173;;;22653:15;;22643:6;:25;;22635:78;;;;-1:-1:-1;;;22635:78:0;;6897:2:1;22635:78:0;;;6879:21:1;6936:2;6916:18;;;6909:30;6975:34;6955:18;;;6948:62;-1:-1:-1;;;7026:18:1;;;7019:38;7074:19;;22635:78:0;6695:404:1;22635:78:0;22806:4;22757:28;18874:18;;;:9;:18;;;;;;22882:23;;22858:47;;;;;;;22938:44;;-1:-1:-1;22966:16:0;;-1:-1:-1;;;22966:16:0;;;;22965:17;22938:44;:69;;;;-1:-1:-1;;;;;;22987:20:0;;;;;;:12;:20;;;;;;;;22986:21;22938:69;:94;;;;-1:-1:-1;23011:21:0;;-1:-1:-1;;;23011:21:0;;;;22938:94;22934:305;;;23070:25;;-1:-1:-1;;;23070:25:0;;;;23067:97;;;23141:23;;23118:46;;23067:97;23183:36;23198:20;23183:14;:36::i;:::-;23275:53;;;;;;;;;;;-1:-1:-1;;;23275:53:0;;;;;;;;-1:-1:-1;;;;;23275:17:0;;-1:-1:-1;23275:17:0;;;:9;:17;;;;;;;;:53;;23297:6;;23275:21;:53::i;:::-;-1:-1:-1;;;;;23255:17:0;;;;;;:9;:17;;;;;;;;:73;;;;23368:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;23397:28:0;;;;;;:17;:28;;;;;;;;23368:57;23367:148;;23481:34;23489:6;23497:9;23508:6;23481:7;:34::i;:::-;23367:148;;;23472:6;23367:148;23535:16;;23345:170;;-1:-1:-1;;;;23535:16:0;;;;:51;;;;-1:-1:-1;;;;;;23556:30:0;;;;;;:19;:30;;;;;;;;23555:31;23535:51;23532:133;;;23654:10;;23613:37;23638:11;23613:20;23623:9;-1:-1:-1;;;;;18874:18:0;18847:7;18874:18;;;:9;:18;;;;;;;18781:119;23613:20;:24;;:37::i;:::-;:51;;23605:60;;;;;;-1:-1:-1;;;;;23705:20:0;;;;;;:9;:20;;;;;;:37;;23730:11;23705:24;:37::i;:::-;-1:-1:-1;;;;;23682:20:0;;;;;;;:9;:20;;;;;;;:60;;;;23764:40;;;;;;;;;;23792:11;160:25:1;;148:2;133:18;;14:177;23764:40:0;;;;;;;;23826:4;23819:11;;;;;;;1966:192;2052:7;2088:12;2080:6;;;;2072:29;;;;-1:-1:-1;;;2072:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2112:9:0;2124:5;2128:1;2124;:5;:::i;:::-;2112:17;1966:192;-1:-1:-1;;;;;1966:192:0:o;1822:136::-;1880:7;1907:43;1911:1;1914;1907:43;;;;;;;;;;;;;;;;;:3;:43::i;1633:181::-;1691:7;;1723:5;1727:1;1723;:5;:::i;:::-;1711:17;;1752:1;1747;:6;;1739:46;;;;-1:-1:-1;;;1739:46:0;;7701:2:1;1739:46:0;;;7683:21:1;7740:2;7720:18;;;7713:30;7779:29;7759:18;;;7752:57;7826:18;;1739:46:0;7499:351:1;23857:330:0;23987:53;;;;;;;;;;;-1:-1:-1;;;23987:53:0;;;;;;;;-1:-1:-1;;;;;23987:17:0;;23950:4;23987:17;;;:9;:17;;;;;;;:53;;24009:6;;23987:21;:53::i;:::-;-1:-1:-1;;;;;23967:17:0;;;;;;;:9;:17;;;;;;:73;;;;24074:20;;;;;;;:32;;24099:6;24074:24;:32::i;:::-;-1:-1:-1;;;;;24051:20:0;;;;;;;:9;:20;;;;;;;:55;;;;24122:35;;;;;;;;;;24150:6;160:25:1;;148:2;133:18;;14:177;24122:35:0;;;;;;;;-1:-1:-1;24175:4:0;23857:330;;;;;:::o;24195:1057::-;17087:16;:23;;-1:-1:-1;;;;17087:23:0;-1:-1:-1;;;17087:23:0;;;24329:24:::1;::::0;24311:12:::1;::::0;17087:23;;24299:62:::1;::::0;24359:1:::1;::::0;24299:55:::1;::::0;;;:7;;:11:::1;:25::i;:::-;:29:::0;::::1;:55::i;:62::-;24277:84:::0;-1:-1:-1;24372:21:0::1;24396:24;:7:::0;24277:84;24396:11:::1;:24::i;:::-;24372:48;;24433:31;24450:13;24433:16;:31::i;:::-;24585:12;::::0;24500:21:::1;::::0;24475:22:::1;::::0;24556:49:::1;::::0;24585:19:::1;::::0;24602:1:::1;24585:16;:19::i;:::-;24556:24;::::0;;:28:::1;:49::i;:::-;24534:71;;24626:26;24655:56;24709:1;24655:49;24692:11;24655:32;24674:12;;24655:14;:18;;:32;;;;:::i;:56::-;24626:85;;24722:24;24749:50;24787:11;24749:33;24768:13;;24749:14;:18;;:33;;;;:::i;:50::-;24722:77:::0;-1:-1:-1;24810:26:0::1;24839:60;24722:77:::0;24839:38:::1;:14:::0;24858:18;24839::::1;:38::i;:::-;:42:::0;::::1;:60::i;:::-;24810:89:::0;-1:-1:-1;24915:22:0;;24912:104:::1;;24973:22;::::0;24952:64:::1;::::0;24973:22:::1;::::0;::::1;-1:-1:-1::0;;;;;24973:22:0::1;24997:18:::0;24952:20:::1;:64::i;:::-;25032:20:::0;;25029:98:::1;;25088:20;::::0;25067:60:::1;::::0;-1:-1:-1;;;;;25088:20:0::1;25110:16:::0;25067:20:::1;:60::i;:::-;25164:1;25143:18;:22;:41;;;;;25183:1;25169:11;:15;25143:41;25140:104;;;25199:45;25212:11;25225:18;25199:12;:45::i;:::-;-1:-1:-1::0;;17133:16:0;:24;;-1:-1:-1;;;;17133:24:0;;;-1:-1:-1;;;;;;24195:1057:0:o;26459:664::-;-1:-1:-1;;;;;26620:20:0;;26545:7;26620:20;;;:12;:20;;;;;;26545:7;;26620:20;;26617:265;;;26669:38;26703:3;26669:29;26680:17;;26669:6;:10;;:29;;;;:::i;:38::-;26657:50;;26617:265;;;-1:-1:-1;;;;;26737:23:0;;;;;;:12;:23;;;;;;;;26734:148;;;26789:39;26824:3;26789:30;26800:18;;26789:6;:10;;:30;;;;:::i;:39::-;26851:10;;26777:51;;-1:-1:-1;;;;26851:10:0;;;;:18;;26865:4;26851:18;26843:27;;;;;;26905:13;;26902:173;;26980:4;26962:24;;;;:9;:24;;;;;;:39;;26991:9;26962:28;:39::i;:::-;26953:4;26935:24;;;;:9;:24;;;;;;;:66;;;;27021:42;;-1:-1:-1;;;;;27021:42:0;;;;;;;27053:9;160:25:1;;148:2;133:18;;14:177;27021:42:0;;;;;;;;26902:173;27094:21;:6;27105:9;27094:10;:21::i;2166:250::-;2224:7;2248:1;2253;2248:6;2244:47;;-1:-1:-1;2278:1:0;2271:8;;2244:47;2303:9;2315:5;2319:1;2315;:5;:::i;:::-;2303:17;-1:-1:-1;2348:1:0;2339:5;2343:1;2303:17;2339:5;:::i;:::-;:10;2331:56;;;;-1:-1:-1;;;2331:56:0;;8452:2:1;2331:56:0;;;8434:21:1;8491:2;8471:18;;;8464:30;8530:34;8510:18;;;8503:62;-1:-1:-1;;;8581:18:1;;;8574:31;8622:19;;2331:56:0;8250:397:1;2424:132:0;2482:7;2509:39;2513:1;2516;2509:39;;;;;;;;;;;;;;;;;:3;:39::i;25264:666::-;25414:16;;;25428:1;25414:16;;;;;;;;25390:21;;25414:16;;;;;;;;;;-1:-1:-1;25414:16:0;25390:40;;25459:4;25441;25446:1;25441:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25441:23:0;;;:7;;;;;;;;;;:23;;;;25485:15;;:22;;;-1:-1:-1;;;25485:22:0;;;;:15;;;;;:20;;:22;;;;;25441:7;;25485:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25475:4;25480:1;25475:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25475:32:0;;;:7;;;;;;;;;:32;25552:15;;25520:62;;25537:4;;25552:15;25570:11;25520:8;:62::i;:::-;25621:15;;:240;;-1:-1:-1;;;25621:240:0;;-1:-1:-1;;;;;25621:15:0;;;;:66;;:240;;25702:11;;25621:15;;25772:4;;25799;;25835:15;;25621:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25887:35;25904:11;25917:4;25887:35;;;;;;;:::i;:::-;;;;;;;;25319:611;25264:666;:::o;20596:126::-;20688:26;;-1:-1:-1;;;;;20688:18:0;;;:26;;;;;20707:6;;20688:26;;;;20707:6;20688:18;:26;;;;;;;;;;;;;;;;;;;;;20596:126;;:::o;25938:513::-;26118:15;;26086:62;;26103:4;;-1:-1:-1;;;;;26118:15:0;26136:11;26086:8;:62::i;:::-;26191:15;;-1:-1:-1;;;;;26191:15:0;:31;26230:9;26263:4;26283:11;26191:15;;26395:7;6269;6296:6;-1:-1:-1;;;;;6296:6:0;;6231:79;26395:7;26191:252;;;;;;-1:-1:-1;;;;;;26191:252:0;;;-1:-1:-1;;;;;10665:15:1;;;26191:252:0;;;10647:34:1;10697:18;;;10690:34;;;;10740:18;;;10733:34;;;;10783:18;;;10776:34;10847:15;;;10826:19;;;10819:44;26417:15:0;10879:19:1;;;10872:35;10581:19;;26191:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;25938:513;;:::o;2564:278::-;2650:7;2685:12;2678:5;2670:28;;;;-1:-1:-1;;;2670:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2709:9:0;2721:5;2725:1;2721;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3359:380::-;3438:1;3434:12;;;;3481;;;3502:61;;3556:4;3548:6;3544:17;3534:27;;3502:61;3609:2;3601:6;3598:14;3578:18;3575:38;3572:161;;3655:10;3650:3;3646:20;3643:1;3636:31;3690:4;3687:1;3680:15;3718:4;3715:1;3708:15;3572:161;;3359:380;;;:::o;3744:356::-;3946:2;3928:21;;;3965:18;;;3958:30;4024:34;4019:2;4004:18;;3997:62;4091:2;4076:18;;3744:356::o;4105:251::-;4175:6;4228:2;4216:9;4207:7;4203:23;4199:32;4196:52;;;4244:1;4241;4234:12;4196:52;4276:9;4270:16;4295:31;4320:5;4295:31;:::i;7104:127::-;7165:10;7160:3;7156:20;7153:1;7146:31;7196:4;7193:1;7186:15;7220:4;7217:1;7210:15;7236:128;7303:9;;;7324:11;;;7321:37;;;7338:18;;:::i;7369:125::-;7434:9;;;7455:10;;;7452:36;;;7468:18;;:::i;7855:168::-;7928:9;;;7959;;7976:15;;;7970:22;;7956:37;7946:71;;7997:18;;:::i;8028:217::-;8068:1;8094;8084:132;;8138:10;8133:3;8129:20;8126:1;8119:31;8173:4;8170:1;8163:15;8201:4;8198:1;8191:15;8084:132;-1:-1:-1;8230:9:1;;8028:217::o;8784:127::-;8845:10;8840:3;8836:20;8833:1;8826:31;8876:4;8873:1;8866:15;8900:4;8897:1;8890:15;8916:461;8969:3;9007:5;9001:12;9034:6;9029:3;9022:19;9060:4;9089:2;9084:3;9080:12;9073:19;;9126:2;9119:5;9115:14;9147:1;9157:195;9171:6;9168:1;9165:13;9157:195;;;9236:13;;-1:-1:-1;;;;;9232:39:1;9220:52;;9292:12;;;;9327:15;;;;9268:1;9186:9;9157:195;;;-1:-1:-1;9368:3:1;;8916:461;-1:-1:-1;;;;;8916:461:1:o;9382:582::-;9681:6;9670:9;9663:25;9724:6;9719:2;9708:9;9704:18;9697:34;9767:3;9762:2;9751:9;9747:18;9740:31;9644:4;9788:57;9840:3;9829:9;9825:19;9817:6;9788:57;:::i;:::-;-1:-1:-1;;;;;9881:32:1;;;;9876:2;9861:18;;9854:60;-1:-1:-1;9945:3:1;9930:19;9923:35;9780:65;9382:582;-1:-1:-1;;;9382:582:1:o;9969:332::-;10176:6;10165:9;10158:25;10219:2;10214;10203:9;10199:18;10192:30;10139:4;10239:56;10291:2;10280:9;10276:18;10268:6;10239:56;:::i;:::-;10231:64;9969:332;-1:-1:-1;;;;9969:332:1:o;10918:306::-;11006:6;11014;11022;11075:2;11063:9;11054:7;11050:23;11046:32;11043:52;;;11091:1;11088;11081:12;11043:52;11120:9;11114:16;11104:26;;11170:2;11159:9;11155:18;11149:25;11139:35;;11214:2;11203:9;11199:18;11193:25;11183:35;;10918:306;;;;;:::o
Swarm Source
ipfs://12c7c1ea11ec0ca49ddd1ddc89acc08fdd5eb239c012f689a9a66be1bdb98aa3
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.