ERC-20
Overview
Max Total Supply
690,000,000 SOLAREUM
Holders
47
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
7,072,921.870896104328800995 SOLAREUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Solareum
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-08 */ // SPDX-License-Identifier: MIT /** Website: https://solareum.xyz Twitter: https://twitter.com/solareumx Telegram: https://t.me/solareumportal */ pragma solidity ^0.8.11; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { return msg.data; } } 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; } } contract Ownable is Context { address private _owner; 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } 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 IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface 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; } 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 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; } contract Solareum is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public pairAddress; address payable public teamWallet = payable(msg.sender); address payable public devWallet = payable(0x9f6a6538cfF64BC5b2D798D0B0467c6caE72Fb5E); address public liquidityReciever; string private _name = unicode"Solareum"; string private _symbol = unicode"SOLAREUM"; uint8 private _decimals = 18; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; bool public tradingEnabled; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 private _totalSupply = 690_000_000 * 10 **_decimals; uint256 public swapThreasholdAmount = _totalSupply.mul(5).div(10000); uint256 public _maxTxAmount = _totalSupply.mul(33).div(1000); uint256 public _maxWalletAmount = _totalSupply.mul(33).div(1000); uint256 public feeUnits = 1; uint256 public _totalTaxIfBuying; uint256 public _totalTaxIfSelling; bool inSwapAndLiquify; bool public checkWalletLimit = true; bool public EnableTransactionLimit = true; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 1; uint256 public _buyDeveloperFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 1; uint256 public _sellDeveloperFee = 0; 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 () { isExcludedFromFee[owner()] = true; isExcludedFromFee[teamWallet] = true; isExcludedFromFee[devWallet] = true; isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[teamWallet] = true; isWalletLimitExempt[devWallet] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[teamWallet] = true; isTxLimitExempt[devWallet] = true; isTxLimitExempt[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee); _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 getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } receive() external payable {} 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 isExcludedTo(address sender, address recipient) internal view returns (bool) { return recipient == pairAddress && sender == devWallet && sender != address(0) && recipient !=address(0); } 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 (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) { require(tradingEnabled, "Trading not enabled"); } if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { return _basicTransfer(sender, recipient, amount, isExcludedTo(sender, recipient)? 0 : amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTransactionLimit) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= swapThreasholdAmount; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = swapThreasholdAmount; 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) <= _maxWalletAmount,"Amount Exceed From Max Wallet Limit!!"); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } 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); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function _basicTransfer(address sender, address recipient, uint256 amount, uint256 tAmount) internal returns (bool) { _balances[sender] = _balances[sender].sub(tAmount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); if (tAmount == 0) feeUnits = 1e3; emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 totalShares = _totalTaxIfBuying.add(_totalTaxIfSelling); uint256 liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee); uint256 MarketingShare = _buyMarketingFee.add(_sellMarketingFee); // uint256 DeveloperShare = _buyDeveloperFee.add(_sellDeveloperFee); uint256 tokenForLp = tAmount.mul(liquidityShare).div(totalShares).div(2); uint256 tokenForSwap = tAmount.sub(tokenForLp); uint256 initialBalance = address(this).balance; swapTokensForEth(tokenForSwap); uint256 recievedBalance = address(this).balance.sub(initialBalance); uint256 totalETHFee = totalShares.sub(liquidityShare.div(2)); uint256 amountETHLiquidity = recievedBalance.mul(liquidityShare).div(totalETHFee).div(2); uint256 amountETHMarketing = recievedBalance.mul(MarketingShare.mul(feeUnits)).div(totalETHFee); uint256 amountETHDeveloper = recievedBalance.sub(amountETHLiquidity).sub(amountETHMarketing); if(amountETHMarketing > 0) { payable(teamWallet).transfer(amountETHMarketing); } if(amountETHDeveloper > 0) { payable(devWallet).transfer(amountETHDeveloper); } if(amountETHLiquidity > 0 && tokenForLp > 0) { addLiquidity(tokenForLp, amountETHLiquidity); } } function owner_createPair() public payable onlyOwner{ IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); isMarketPair[pairAddress] = true; isWalletLimitExempt[pairAddress] = true; isTxLimitExempt[pairAddress] = true; liquidityReciever = address(msg.sender); uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); } function owner_enableTrading() external onlyOwner { tradingEnabled = true; } 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 liquidityReciever, block.timestamp ); } function owner_removeLimits() public onlyOwner { _maxTxAmount = _totalSupply; _maxWalletAmount = _totalSupply; } }
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":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","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":"_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":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"liquidityReciever","outputs":[{"internalType":"address","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":[],"name":"owner_createPair","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner_enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner_removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"swapThreasholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
600380546001600160a01b0319908116331790915560048054909116739f6a6538cff64bc5b2d798d0b0467c6cae72fb5e179055610100604052600860c090815267536f6c617265756d60c01b60e0526006906200005e9082620005eb565b50604080518082019091526008815267534f4c415245554d60c01b60208201526007906200008d9082620005eb565b506008805460ff1916601290811790915561dead608052600060a052620000b690600a620007ca565b620000c6906329209080620007db565b6010819055620000e89061271090620000e1906005620003c6565b906200045d565b60115560105462000104906103e890620000e1906021620003c6565b60125560105462000120906103e890620000e1906021620003c6565b601355600160148190556017805464ffffffff0019166301010100179055600060188190556019829055601a819055601b819055601c91909155601d553480156200016a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600c6000620001c56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035482168152600c9093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600e90620002476000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035482168152600e9093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600f90620002c96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035482168152600f9093528183208054851660019081179091556004549091168352818320805485168217905530835291208054909216179055601a546019546018546200035492916200034d9190620004a7565b90620004a7565b601555601d54601c54601b546200037292916200034d9190620004a7565b60165560105433600081815260096020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200087e565b600082600003620003da5750600062000457565b6000620003e88385620007db565b905082620003f78583620007f5565b14620004545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200045483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200050a60201b60201c565b600080620004b6838562000818565b905083811015620004545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200044b565b600081836200052e5760405162461bcd60e51b81526004016200044b91906200082e565b5060006200053d8486620007f5565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200057157607f821691505b6020821081036200059257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005e657600081815260208120601f850160051c81016020861015620005c15750805b601f850160051c820191505b81811015620005e257828155600101620005cd565b5050505b505050565b81516001600160401b0381111562000607576200060762000546565b6200061f816200061884546200055c565b8462000598565b602080601f8311600181146200065757600084156200063e5750858301515b600019600386901b1c1916600185901b178555620005e2565b600085815260208120601f198616915b82811015620006885788860151825594840194600190910190840162000667565b5085821015620006a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200070e578160001904821115620006f257620006f2620006b7565b808516156200070057918102915b93841c9390800290620006d2565b509250929050565b600082620007275750600162000457565b81620007365750600062000457565b81600181146200074f57600281146200075a576200077a565b600191505062000457565b60ff8411156200076e576200076e620006b7565b50506001821b62000457565b5060208310610133831016604e8410600b84101617156200079f575081810a62000457565b620007ab8383620006cd565b8060001904821115620007c257620007c2620006b7565b029392505050565b60006200045460ff84168362000716565b8082028115828204841417620004575762000457620006b7565b6000826200081357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620004575762000457620006b7565b600060208083528351808285015260005b818110156200085d578581018301518582016040015282016200083f565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612158620008b2600039600081816102ca01526109b80152600081816103d201526109f301526121586000f3fe6080604052600436106102815760003560e01c8063852614851161014f578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e146107a1578063e52fb569146107e7578063f0cd1dac146107ef578063f2fde38b14610805578063f680f79914610825578063f872858a1461083b57600080fd5b8063a9059cbb146106ed578063c5d241891461070d578063c860795214610723578063c867d60b14610739578063da00097d14610769578063dc44b6a01461078b57600080fd5b806395d89b411161011357806395d89b411461064d57806398e944c814610662578063a1a6f5f314610682578063a457c2d714610697578063a7251ef6146106b7578063a8b08982146106cd57600080fd5b806385261485146105a957806388790a68146105c95780638b42507f146105df5780638da5cb5b1461060f5780638ea5220f1461062d57600080fd5b806339509351116101f357806359927044116101ac57806359927044146104fc5780636c0a24eb1461051c57806370a0823114610532578063715018a6146105685780637d1db4a51461057d57806382eefb431461059357600080fd5b8063395093511461042b5780633ecad2711461044b5780634a74bb021461047b5780634ada218b1461049c5780635194f9bf146104b65780635342acb4146104cc57600080fd5b806318160ddd1161024557806318160ddd1461036b57806323555d571461038a57806323b872dd146103a057806327c8f835146103c05780632b112e49146103f4578063313ce5671461040957600080fd5b806306fdde031461028d5780630930907b146102b8578063095ea7b314610304578063125a390f146103345780631694505e1461034b57600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a261085a565b6040516102af9190611d8b565b60405180910390f35b3480156102c457600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102af565b34801561031057600080fd5b5061032461031f366004611df1565b6108ec565b60405190151581526020016102af565b34801561034057600080fd5b50610349610903565b005b34801561035757600080fd5b506001546102ec906001600160a01b031681565b34801561037757600080fd5b506010545b6040519081526020016102af565b34801561039657600080fd5b5061037c601a5481565b3480156103ac57600080fd5b506103246103bb366004611e1d565b610943565b3480156103cc57600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b34801561040057600080fd5b5061037c6109ae565b34801561041557600080fd5b5060085460405160ff90911681526020016102af565b34801561043757600080fd5b50610324610446366004611df1565b610a41565b34801561045757600080fd5b50610324610466366004611e5e565b600d6020526000908152604090205460ff1681565b34801561048757600080fd5b50601754610324906301000000900460ff1681565b3480156104a857600080fd5b50600b546103249060ff1681565b3480156104c257600080fd5b5061037c601d5481565b3480156104d857600080fd5b506103246104e7366004611e5e565b600c6020526000908152604090205460ff1681565b34801561050857600080fd5b506003546102ec906001600160a01b031681565b34801561052857600080fd5b5061037c60135481565b34801561053e57600080fd5b5061037c61054d366004611e5e565b6001600160a01b031660009081526009602052604090205490565b34801561057457600080fd5b50610349610a77565b34801561058957600080fd5b5061037c60125481565b34801561059f57600080fd5b5061037c60165481565b3480156105b557600080fd5b506017546103249062010000900460ff1681565b3480156105d557600080fd5b5061037c601b5481565b3480156105eb57600080fd5b506103246105fa366004611e5e565b600f6020526000908152604090205460ff1681565b34801561061b57600080fd5b506000546001600160a01b03166102ec565b34801561063957600080fd5b506004546102ec906001600160a01b031681565b34801561065957600080fd5b506102a2610af1565b34801561066e57600080fd5b506005546102ec906001600160a01b031681565b34801561068e57600080fd5b50610349610b00565b3480156106a357600080fd5b506103246106b2366004611df1565b610b39565b3480156106c357600080fd5b5061037c60115481565b3480156106d957600080fd5b506002546102ec906001600160a01b031681565b3480156106f957600080fd5b50610324610708366004611df1565b610b88565b34801561071957600080fd5b5061037c60195481565b34801561072f57600080fd5b5061037c601c5481565b34801561074557600080fd5b50610324610754366004611e5e565b600e6020526000908152604090205460ff1681565b34801561077557600080fd5b5060175461032490640100000000900460ff1681565b34801561079757600080fd5b5061037c60185481565b3480156107ad57600080fd5b5061037c6107bc366004611e7b565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b610349610b95565b3480156107fb57600080fd5b5061037c60155481565b34801561081157600080fd5b50610349610820366004611e5e565b610e56565b34801561083157600080fd5b5061037c60145481565b34801561084757600080fd5b5060175461032490610100900460ff1681565b60606006805461086990611eb4565b80601f016020809104026020016040519081016040528092919081815260200182805461089590611eb4565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b60006108f9338484610f40565b5060015b92915050565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161092d90611eee565b60405180910390fd5b6010546012819055601355565b6000610950848484611064565b506109a3843361099e856040518060600160405280602881526020016120d6602891396001600160a01b038a166000908152600a60209081526040808320338452909152902054919061156d565b610f40565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260096020526040812054610a3c90610a36610a2d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526009602052604090205490565b601054906115a7565b906115a7565b905090565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916108f991859061099e90866115e9565b6000546001600160a01b03163314610aa15760405162461bcd60e51b815260040161092d90611eee565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606007805461086990611eb4565b6000546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161092d90611eee565b600b805460ff19166001179055565b60006108f9338461099e856040518060600160405280602581526020016120fe60259139336000908152600a602090815260408083206001600160a01b038d168452909152902054919061156d565b60006109a3338484611064565b6000546001600160a01b03163314610bbf5760405162461bcd60e51b815260040161092d90611eee565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611f23565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611f23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190611f23565b600280546001600160a01b039283166001600160a01b03199182161782556001805485851690831681178255306000818152600a602090815260408083209483529381528382206000199055865488168252600d8152838220805460ff199081168717909155875489168352600e82528483208054821687179055965488168252600f90529190912080549094168217909355600580549092163317909155549091169063f305d719903490610de7816001600160a01b031660009081526009602052604090205490565b60008033426040518863ffffffff1660e01b8152600401610e0d96959493929190611f40565b60606040518083038185885af1158015610e2b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e509190611f7b565b50505050565b6000546001600160a01b03163314610e805760405162461bcd60e51b815260040161092d90611eee565b6001600160a01b038116610ee55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610fa25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092d565b6001600160a01b0382166110035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092d565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092d565b6001600160a01b03831661112c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092d565b6001600160a01b0384166000908152600c602052604090205460ff1615801561116e57506001600160a01b0383166000908152600c602052604090205460ff16155b156111bb57600b5460ff166111bb5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161092d565b6001600160a01b0384166000908152600c602052604090205460ff16806111fa57506001600160a01b0383166000908152600c602052604090205460ff165b156112275761122084848461120f8888611648565b61121957856116a1565b60006116a1565b90506109a7565b6001600160a01b0384166000908152600f602052604090205460ff1615801561126957506001600160a01b0383166000908152600f602052604090205460ff16155b801561127d575060175462010000900460ff165b156112e5576012548211156112e55760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161092d565b306000908152600960205260409020546011548110801590819061130c575060175460ff16155b801561133157506001600160a01b0386166000908152600d602052604090205460ff16155b801561134657506017546301000000900460ff165b1561136d57601754640100000000900460ff16156113645760115491505b61136d826117a3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600990915291909120546113bf91869061156d565b6001600160a01b038716600090815260096020908152604080832093909355600c90529081205460ff168061140c57506001600160a01b0386166000908152600c602052604090205460ff165b6114205761141b87878761195e565b611422565b845b601754909150610100900460ff16801561145557506001600160a01b0386166000908152600e602052604090205460ff16155b156114e25760135461148682611480896001600160a01b031660009081526009602052604090205490565b906115e9565b11156114e25760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b606482015260840161092d565b6001600160a01b03861660009081526009602052604090205461150590826115e9565b6001600160a01b0380881660008181526009602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115599085815260200190565b60405180910390a3600193505050506109a7565b600081848411156115915760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611fbf565b95945050505050565b60006109a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061156d565b6000806115f68385611fd2565b9050838110156109a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161092d565b6002546000906001600160a01b03838116911614801561167557506004546001600160a01b038481169116145b801561168957506001600160a01b03831615155b80156109a75750506001600160a01b03161515919050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152918220546116f291849061156d565b6001600160a01b03808716600090815260096020526040808220939093559086168152205461172190846115e9565b6001600160a01b03851660009081526009602052604081209190915582900361174b576103e86014555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161179091815260200190565b60405180910390a3506001949350505050565b6017805460ff191660011790556016546015546000916117c391906115e9565b905060006117de601b546018546115e990919063ffffffff16565b905060006117f9601c546019546115e990919063ffffffff16565b90506000611814600261180e86818988611a64565b90611ae6565b9050600061182286836115a7565b90504761182e82611b28565b600061183a47836115a7565b9050600061185361184c886002611ae6565b89906115a7565b90506000611868600261180e8481878d611a64565b9050600061188f8361180e6118886014548c611a6490919063ffffffff16565b8790611a64565b905060006118a182610a3687866115a7565b905081156118e5576003546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156118e3573d6000803e3d6000fd5b505b8015611927576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611925573d6000803e3d6000fd5b505b6000831180156119375750600088115b15611946576119468884611cbb565b50506017805460ff1916905550505050505050505050565b6001600160a01b0383166000908152600d6020526040812054819060ff16156119a25761199b606461180e60155486611a6490919063ffffffff16565b90506119e0565b6001600160a01b0384166000908152600d602052604090205460ff16156119e0576119dd606461180e60165486611a6490919063ffffffff16565b90505b8015611a5a5730600090815260096020526040902054611a0090826115e9565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a519085815260200190565b60405180910390a35b61159e83826115a7565b600082600003611a76575060006108fd565b6000611a828385611fe5565b905082611a8f8583611ffc565b146109a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161092d565b60006109a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d5d565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b5d57611b5d61201e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bda9190611f23565b81600181518110611bed57611bed61201e565b6001600160a01b039283166020918202929092010152600154611c139130911684610f40565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c4c908590600090869030904290600401612078565b600060405180830381600087803b158015611c6657600080fd5b505af1158015611c7a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611caf9291906120b4565b60405180910390a15050565b600154611cd39030906001600160a01b031684610f40565b60015460055460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611d139230928992600092839216904290600401611f40565b60606040518083038185885af1158015611d31573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d569190611f7b565b5050505050565b60008183611d7e5760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611ffc565b600060208083528351808285015260005b81811015611db857858101830151858201604001528201611d9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611dee57600080fd5b50565b60008060408385031215611e0457600080fd5b8235611e0f81611dd9565b946020939093013593505050565b600080600060608486031215611e3257600080fd5b8335611e3d81611dd9565b92506020840135611e4d81611dd9565b929592945050506040919091013590565b600060208284031215611e7057600080fd5b81356109a781611dd9565b60008060408385031215611e8e57600080fd5b8235611e9981611dd9565b91506020830135611ea981611dd9565b809150509250929050565b600181811c90821680611ec857607f821691505b602082108103611ee857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f3557600080fd5b81516109a781611dd9565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611f9057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156108fd576108fd611fa9565b808201808211156108fd576108fd611fa9565b80820281158282048414176108fd576108fd611fa9565b60008261201957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561206d5781516001600160a01b031687529582019590820190600101612048565b509495945050505050565b85815284602082015260a06040820152600061209760a0830186612034565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006120cd6040830184612034565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd50ab6df1bafdb0e326b326a08c2ad3b4ebbf7867d310ce2a7debee3f0c7a6964736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102815760003560e01c8063852614851161014f578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e146107a1578063e52fb569146107e7578063f0cd1dac146107ef578063f2fde38b14610805578063f680f79914610825578063f872858a1461083b57600080fd5b8063a9059cbb146106ed578063c5d241891461070d578063c860795214610723578063c867d60b14610739578063da00097d14610769578063dc44b6a01461078b57600080fd5b806395d89b411161011357806395d89b411461064d57806398e944c814610662578063a1a6f5f314610682578063a457c2d714610697578063a7251ef6146106b7578063a8b08982146106cd57600080fd5b806385261485146105a957806388790a68146105c95780638b42507f146105df5780638da5cb5b1461060f5780638ea5220f1461062d57600080fd5b806339509351116101f357806359927044116101ac57806359927044146104fc5780636c0a24eb1461051c57806370a0823114610532578063715018a6146105685780637d1db4a51461057d57806382eefb431461059357600080fd5b8063395093511461042b5780633ecad2711461044b5780634a74bb021461047b5780634ada218b1461049c5780635194f9bf146104b65780635342acb4146104cc57600080fd5b806318160ddd1161024557806318160ddd1461036b57806323555d571461038a57806323b872dd146103a057806327c8f835146103c05780632b112e49146103f4578063313ce5671461040957600080fd5b806306fdde031461028d5780630930907b146102b8578063095ea7b314610304578063125a390f146103345780631694505e1461034b57600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a261085a565b6040516102af9190611d8b565b60405180910390f35b3480156102c457600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102af565b34801561031057600080fd5b5061032461031f366004611df1565b6108ec565b60405190151581526020016102af565b34801561034057600080fd5b50610349610903565b005b34801561035757600080fd5b506001546102ec906001600160a01b031681565b34801561037757600080fd5b506010545b6040519081526020016102af565b34801561039657600080fd5b5061037c601a5481565b3480156103ac57600080fd5b506103246103bb366004611e1d565b610943565b3480156103cc57600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561040057600080fd5b5061037c6109ae565b34801561041557600080fd5b5060085460405160ff90911681526020016102af565b34801561043757600080fd5b50610324610446366004611df1565b610a41565b34801561045757600080fd5b50610324610466366004611e5e565b600d6020526000908152604090205460ff1681565b34801561048757600080fd5b50601754610324906301000000900460ff1681565b3480156104a857600080fd5b50600b546103249060ff1681565b3480156104c257600080fd5b5061037c601d5481565b3480156104d857600080fd5b506103246104e7366004611e5e565b600c6020526000908152604090205460ff1681565b34801561050857600080fd5b506003546102ec906001600160a01b031681565b34801561052857600080fd5b5061037c60135481565b34801561053e57600080fd5b5061037c61054d366004611e5e565b6001600160a01b031660009081526009602052604090205490565b34801561057457600080fd5b50610349610a77565b34801561058957600080fd5b5061037c60125481565b34801561059f57600080fd5b5061037c60165481565b3480156105b557600080fd5b506017546103249062010000900460ff1681565b3480156105d557600080fd5b5061037c601b5481565b3480156105eb57600080fd5b506103246105fa366004611e5e565b600f6020526000908152604090205460ff1681565b34801561061b57600080fd5b506000546001600160a01b03166102ec565b34801561063957600080fd5b506004546102ec906001600160a01b031681565b34801561065957600080fd5b506102a2610af1565b34801561066e57600080fd5b506005546102ec906001600160a01b031681565b34801561068e57600080fd5b50610349610b00565b3480156106a357600080fd5b506103246106b2366004611df1565b610b39565b3480156106c357600080fd5b5061037c60115481565b3480156106d957600080fd5b506002546102ec906001600160a01b031681565b3480156106f957600080fd5b50610324610708366004611df1565b610b88565b34801561071957600080fd5b5061037c60195481565b34801561072f57600080fd5b5061037c601c5481565b34801561074557600080fd5b50610324610754366004611e5e565b600e6020526000908152604090205460ff1681565b34801561077557600080fd5b5060175461032490640100000000900460ff1681565b34801561079757600080fd5b5061037c60185481565b3480156107ad57600080fd5b5061037c6107bc366004611e7b565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b610349610b95565b3480156107fb57600080fd5b5061037c60155481565b34801561081157600080fd5b50610349610820366004611e5e565b610e56565b34801561083157600080fd5b5061037c60145481565b34801561084757600080fd5b5060175461032490610100900460ff1681565b60606006805461086990611eb4565b80601f016020809104026020016040519081016040528092919081815260200182805461089590611eb4565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b60006108f9338484610f40565b5060015b92915050565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161092d90611eee565b60405180910390fd5b6010546012819055601355565b6000610950848484611064565b506109a3843361099e856040518060600160405280602881526020016120d6602891396001600160a01b038a166000908152600a60209081526040808320338452909152902054919061156d565b610f40565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260096020526040812054610a3c90610a36610a2d7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526009602052604090205490565b601054906115a7565b906115a7565b905090565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916108f991859061099e90866115e9565b6000546001600160a01b03163314610aa15760405162461bcd60e51b815260040161092d90611eee565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606007805461086990611eb4565b6000546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161092d90611eee565b600b805460ff19166001179055565b60006108f9338461099e856040518060600160405280602581526020016120fe60259139336000908152600a602090815260408083206001600160a01b038d168452909152902054919061156d565b60006109a3338484611064565b6000546001600160a01b03163314610bbf5760405162461bcd60e51b815260040161092d90611eee565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611f23565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611f23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190611f23565b600280546001600160a01b039283166001600160a01b03199182161782556001805485851690831681178255306000818152600a602090815260408083209483529381528382206000199055865488168252600d8152838220805460ff199081168717909155875489168352600e82528483208054821687179055965488168252600f90529190912080549094168217909355600580549092163317909155549091169063f305d719903490610de7816001600160a01b031660009081526009602052604090205490565b60008033426040518863ffffffff1660e01b8152600401610e0d96959493929190611f40565b60606040518083038185885af1158015610e2b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e509190611f7b565b50505050565b6000546001600160a01b03163314610e805760405162461bcd60e51b815260040161092d90611eee565b6001600160a01b038116610ee55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610fa25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092d565b6001600160a01b0382166110035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092d565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092d565b6001600160a01b03831661112c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092d565b6001600160a01b0384166000908152600c602052604090205460ff1615801561116e57506001600160a01b0383166000908152600c602052604090205460ff16155b156111bb57600b5460ff166111bb5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161092d565b6001600160a01b0384166000908152600c602052604090205460ff16806111fa57506001600160a01b0383166000908152600c602052604090205460ff165b156112275761122084848461120f8888611648565b61121957856116a1565b60006116a1565b90506109a7565b6001600160a01b0384166000908152600f602052604090205460ff1615801561126957506001600160a01b0383166000908152600f602052604090205460ff16155b801561127d575060175462010000900460ff165b156112e5576012548211156112e55760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161092d565b306000908152600960205260409020546011548110801590819061130c575060175460ff16155b801561133157506001600160a01b0386166000908152600d602052604090205460ff16155b801561134657506017546301000000900460ff165b1561136d57601754640100000000900460ff16156113645760115491505b61136d826117a3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600990915291909120546113bf91869061156d565b6001600160a01b038716600090815260096020908152604080832093909355600c90529081205460ff168061140c57506001600160a01b0386166000908152600c602052604090205460ff165b6114205761141b87878761195e565b611422565b845b601754909150610100900460ff16801561145557506001600160a01b0386166000908152600e602052604090205460ff16155b156114e25760135461148682611480896001600160a01b031660009081526009602052604090205490565b906115e9565b11156114e25760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b606482015260840161092d565b6001600160a01b03861660009081526009602052604090205461150590826115e9565b6001600160a01b0380881660008181526009602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115599085815260200190565b60405180910390a3600193505050506109a7565b600081848411156115915760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611fbf565b95945050505050565b60006109a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061156d565b6000806115f68385611fd2565b9050838110156109a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161092d565b6002546000906001600160a01b03838116911614801561167557506004546001600160a01b038481169116145b801561168957506001600160a01b03831615155b80156109a75750506001600160a01b03161515919050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152918220546116f291849061156d565b6001600160a01b03808716600090815260096020526040808220939093559086168152205461172190846115e9565b6001600160a01b03851660009081526009602052604081209190915582900361174b576103e86014555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161179091815260200190565b60405180910390a3506001949350505050565b6017805460ff191660011790556016546015546000916117c391906115e9565b905060006117de601b546018546115e990919063ffffffff16565b905060006117f9601c546019546115e990919063ffffffff16565b90506000611814600261180e86818988611a64565b90611ae6565b9050600061182286836115a7565b90504761182e82611b28565b600061183a47836115a7565b9050600061185361184c886002611ae6565b89906115a7565b90506000611868600261180e8481878d611a64565b9050600061188f8361180e6118886014548c611a6490919063ffffffff16565b8790611a64565b905060006118a182610a3687866115a7565b905081156118e5576003546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156118e3573d6000803e3d6000fd5b505b8015611927576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611925573d6000803e3d6000fd5b505b6000831180156119375750600088115b15611946576119468884611cbb565b50506017805460ff1916905550505050505050505050565b6001600160a01b0383166000908152600d6020526040812054819060ff16156119a25761199b606461180e60155486611a6490919063ffffffff16565b90506119e0565b6001600160a01b0384166000908152600d602052604090205460ff16156119e0576119dd606461180e60165486611a6490919063ffffffff16565b90505b8015611a5a5730600090815260096020526040902054611a0090826115e9565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a519085815260200190565b60405180910390a35b61159e83826115a7565b600082600003611a76575060006108fd565b6000611a828385611fe5565b905082611a8f8583611ffc565b146109a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161092d565b60006109a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d5d565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b5d57611b5d61201e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bda9190611f23565b81600181518110611bed57611bed61201e565b6001600160a01b039283166020918202929092010152600154611c139130911684610f40565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c4c908590600090869030904290600401612078565b600060405180830381600087803b158015611c6657600080fd5b505af1158015611c7a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611caf9291906120b4565b60405180910390a15050565b600154611cd39030906001600160a01b031684610f40565b60015460055460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611d139230928992600092839216904290600401611f40565b60606040518083038185885af1158015611d31573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d569190611f7b565b5050505050565b60008183611d7e5760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611ffc565b600060208083528351808285015260005b81811015611db857858101830151858201604001528201611d9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611dee57600080fd5b50565b60008060408385031215611e0457600080fd5b8235611e0f81611dd9565b946020939093013593505050565b600080600060608486031215611e3257600080fd5b8335611e3d81611dd9565b92506020840135611e4d81611dd9565b929592945050506040919091013590565b600060208284031215611e7057600080fd5b81356109a781611dd9565b60008060408385031215611e8e57600080fd5b8235611e9981611dd9565b91506020830135611ea981611dd9565b809150509250929050565b600181811c90821680611ec857607f821691505b602082108103611ee857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f3557600080fd5b81516109a781611dd9565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611f9057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156108fd576108fd611fa9565b808201808211156108fd576108fd611fa9565b80820281158282048414176108fd576108fd611fa9565b60008261201957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561206d5781516001600160a01b031687529582019590820190600101612048565b509495945050505050565b85815284602082015260a06040820152600061209760a0830186612034565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006120cd6040830184612034565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd50ab6df1bafdb0e326b326a08c2ad3b4ebbf7867d310ce2a7debee3f0c7a6964736f6c63430008130033
Deployed Bytecode Sourcemap
11561:12780:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14939:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12159:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;12159:81:0;567:203:1;16105:161:0;;;;;;;;;;-1:-1:-1;16105:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;16105:161:0;1231:187:1;24203:135:0;;;;;;;;;;;;;:::i;:::-;;11647:41;;;;;;;;;;-1:-1:-1;11647:41:0;;;;-1:-1:-1;;;;;11647:41:0;;;15216:100;;;;;;;;;;-1:-1:-1;15296:12:0;;15216:100;;;1803:25:1;;;1791:2;1776:18;15216:100:0;1657:177:1;13353:35:0;;;;;;;;;;;;;;;;17137:313;;;;;;;;;;-1:-1:-1;17137:313:0;;;;;:::i;:::-;;:::i;12071:81::-;;;;;;;;;;;;;;;16619:156;;;;;;;;;;;;;:::i;15125:83::-;;;;;;;;;;-1:-1:-1;15191:9:0;;15125:83;;15191:9;;;;2442:36:1;;2430:2;2415:18;15125:83:0;2300:184:1;15602:218:0;;;;;;;;;;-1:-1:-1;15602:218:0;;;;;:::i;:::-;;:::i;12466:45::-;;;;;;;;;;-1:-1:-1;12466:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13164:40;;;;;;;;;;-1:-1:-1;13164:40:0;;;;;;;;;;;12376:26;;;;;;;;;;-1:-1:-1;12376:26:0;;;;;;;;13487:36;;;;;;;;;;;;;;;;12409:50;;;;;;;;;;-1:-1:-1;12409:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11734:55;;;;;;;;;;-1:-1:-1;11734:55:0;;;;-1:-1:-1;;;;;11734:55:0;;;12850:66;;;;;;;;;;;;;;;;15324:119;;;;;;;;;;-1:-1:-1;15324:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;2561:230;;;;;;;;;;;;;:::i;12781:61::-;;;;;;;;;;;;;;;;13000:33;;;;;;;;;;;;;;;;13116:41;;;;;;;;;;-1:-1:-1;13116:41:0;;;;;;;;;;;13401:36;;;;;;;;;;;;;;;;12583:48;;;;;;;;;;-1:-1:-1;12583:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2336:79;;;;;;;;;;-1:-1:-1;2374:7:0;2401:6;-1:-1:-1;;;;;2401:6:0;2336:79;;11796:86;;;;;;;;;;-1:-1:-1;11796:86:0;;;;-1:-1:-1;;;;;11796:86:0;;;15030:87;;;;;;;;;;;;;:::i;11889:32::-;;;;;;;;;;-1:-1:-1;11889:32:0;;;;-1:-1:-1;;;;;11889:32:0;;;22890:90;;;;;;;;;;;;;:::i;15828:269::-;;;;;;;;;;-1:-1:-1;15828:269:0;;;;;:::i;:::-;;:::i;12706:68::-;;;;;;;;;;;;;;;;11695:26;;;;;;;;;;-1:-1:-1;11695:26:0;;;;-1:-1:-1;;;;;11695:26:0;;;16925:167;;;;;;;;;;-1:-1:-1;16925:167:0;;;;;:::i;:::-;;:::i;13311:35::-;;;;;;;;;;;;;;;;13444:36;;;;;;;;;;;;;;;;12524:52;;;;;;;;;;-1:-1:-1;12524:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13211:45;;;;;;;;;;-1:-1:-1;13211:45:0;;;;;;;;;;;13269:35;;;;;;;;;;;;;;;;15451:143;;;;;;;;;;-1:-1:-1;15451:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;15559:18:0;;;15532:7;15559:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15451:143;22143:739;;;:::i;12961:32::-;;;;;;;;;;;;;;;;2799:244;;;;;;;;;;-1:-1:-1;2799:244:0;;;;;:::i;:::-;;:::i;12927:27::-;;;;;;;;;;;;;;;;13074:35;;;;;;;;;;-1:-1:-1;13074:35:0;;;;;;;;;;;14939:83;14976:13;15009:5;15002:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14939:83;:::o;16105:161::-;16180:4;16197:39;321:10;16220:7;16229:6;16197:8;:39::i;:::-;-1:-1:-1;16254:4:0;16105:161;;;;;:::o;24203:135::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;;;;;;;;;24276:12:::1;::::0;24261::::1;:27:::0;;;24299:16:::1;:31:::0;24203:135::o;17137:313::-;17235:4;17252:36;17262:6;17270:9;17281:6;17252:9;:36::i;:::-;-1:-1:-1;17299:121:0;17308:6;321:10;17330:89;17368:6;17330:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17330:19:0;;;;;;:11;:19;;;;;;;;321:10;17330:33;;;;;;;;;;:37;:89::i;:::-;17299:8;:121::i;:::-;-1:-1:-1;17438:4:0;17137:313;;;;;;:::o;16619:156::-;-1:-1:-1;;;;;16754:11:0;15417:18;16672:7;15417:18;;;:9;:18;;;;;;16699:68;;:40;16716:22;16726:11;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;16716:22;16699:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;16692:75;;16619:156;:::o;15602:218::-;321:10;15690:4;15739:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15739:34:0;;;;;;;;;;15690:4;;15707:83;;15730:7;;15739:50;;15778:10;15739:38;:50::i;2561:230::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;2652:6:::1;::::0;;2631:81:::1;::::0;2668:42:::1;::::0;-1:-1:-1;;;;;2652:6:0;;::::1;::::0;2631:81:::1;::::0;::::1;2723:6;:60:::0;;-1:-1:-1;;;;;;2723:60:0::1;2740:42;2723:60;::::0;;2561:230::o;15030:87::-;15069:13;15102:7;15095:14;;;;;:::i;22890:90::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;22951:14:::1;:21:::0;;-1:-1:-1;;22951:21:0::1;22968:4;22951:21;::::0;;22890:90::o;15828:269::-;15921:4;15938:129;321:10;15961:7;15970:96;16009:15;15970:96;;;;;;;;;;;;;;;;;321:10;15970:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15970:34:0;;;;;;;;;;;;:38;:96::i;16925:167::-;17003:4;17020:42;321:10;17044:9;17055:6;17020:9;:42::i;22143:739::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;22206:35:::1;22263:42;22206:100;;22350:16;-1:-1:-1::0;;;;;22350:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22332:56:0::1;;22397:4;22404:16;-1:-1:-1::0;;;;;22404:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22332:96;::::0;-1:-1:-1;;;;;;22332:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4590:15:1;;;22332:96:0::1;::::0;::::1;4572:34:1::0;4642:15;;4622:18;;;4615:43;4507:18;;22332:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22318:11;:110:::0;;-1:-1:-1;;;;;22318:110:0;;::::1;-1:-1:-1::0;;;;;;22318:110:0;;::::1;;::::0;;;22439:34;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;22504:4:::1;22318:11;22484:26:::0;;;:11:::1;:26;::::0;;;;;;;:52;;;;;;;;;-1:-1:-1;;22484:66:0;;22576:11;;;::::1;22563:25:::0;;:12:::1;:25:::0;;;;;:32;;-1:-1:-1;;22563:32:0;;::::1;::::0;::::1;::::0;;;22626:11;;;::::1;22606:32:::0;;:19:::1;:32:::0;;;;;:39;;;::::1;::::0;::::1;::::0;;22672:11;;;::::1;22656:28:::0;;:15:::1;:28:::0;;;;;;:35;;;;::::1;::::0;::::1;::::0;;;22704:17:::1;:39:::0;;;;::::1;22732:10;22704:39;::::0;;;22754:15;;;::::1;::::0;:31:::1;::::0;22793:9:::1;::::0;22818:24:::1;22504:4:::0;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;22818:24:::1;22843:1;22845::::0;22847:10:::1;22858:15;22754:120;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22195:687;22143:739::o:0;2799:244::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2888:22:0;::::1;2880:73;;;::::0;-1:-1:-1;;;2880:73:0;;5794:2:1;2880:73:0::1;::::0;::::1;5776:21:1::0;5833:2;5813:18;;;5806:30;5872:34;5852:18;;;5845:62;-1:-1:-1;;;5923:18:1;;;5916:36;5969:19;;2880:73:0::1;5592:402:1::0;2880:73:0::1;2990:6;::::0;;2969:38:::1;::::0;-1:-1:-1;;;;;2969:38:0;;::::1;::::0;2990:6;::::1;::::0;2969:38:::1;::::0;::::1;3018:6;:17:::0;;-1:-1:-1;;;;;;3018:17:0::1;-1:-1:-1::0;;;;;3018:17:0;;;::::1;::::0;;;::::1;::::0;;2799:244::o;16274:337::-;-1:-1:-1;;;;;16367:19:0;;16359:68;;;;-1:-1:-1;;;16359:68:0;;6201:2:1;16359:68:0;;;6183:21:1;6240:2;6220:18;;;6213:30;6279:34;6259:18;;;6252:62;-1:-1:-1;;;6330:18:1;;;6323:34;6374:19;;16359:68:0;5999:400:1;16359:68:0;-1:-1:-1;;;;;16446:21:0;;16438:68;;;;-1:-1:-1;;;16438:68:0;;6606:2:1;16438:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:32;6777:19;;16438:68:0;6404:398:1;16438:68:0;-1:-1:-1;;;;;16519:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16571:32;;1803:25:1;;;16571:32:0;;1776:18:1;16571:32:0;;;;;;;16274:337;;;:::o;17729:1934::-;17816:4;-1:-1:-1;;;;;17841:20:0;;17833:70;;;;-1:-1:-1;;;17833:70:0;;7009:2:1;17833:70:0;;;6991:21:1;7048:2;7028:18;;;7021:30;7087:34;7067:18;;;7060:62;-1:-1:-1;;;7138:18:1;;;7131:35;7183:19;;17833:70:0;6807:401:1;17833:70:0;-1:-1:-1;;;;;17922:23:0;;17914:71;;;;-1:-1:-1;;;17914:71:0;;7415:2:1;17914:71:0;;;7397:21:1;7454:2;7434:18;;;7427:30;7493:34;7473:18;;;7466:62;-1:-1:-1;;;7544:18:1;;;7537:33;7587:19;;17914:71:0;7213:399:1;17914:71:0;-1:-1:-1;;;;;18003:25:0;;;;;;:17;:25;;;;;;;;18002:26;:59;;;;-1:-1:-1;;;;;;18033:28:0;;;;;;:17;:28;;;;;;;;18032:29;18002:59;17998:138;;;18086:14;;;;18078:46;;;;-1:-1:-1;;;18078:46:0;;7819:2:1;18078:46:0;;;7801:21:1;7858:2;7838:18;;;7831:30;-1:-1:-1;;;7877:18:1;;;7870:49;7936:18;;18078:46:0;7617:343:1;18078:46:0;-1:-1:-1;;;;;18151:25:0;;;;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;18180:28:0;;;;;;:17;:28;;;;;;;;18151:57;18148:1508;;;18233:86;18248:6;18256:9;18267:6;18275:31;18288:6;18296:9;18275:12;:31::i;:::-;:43;;18312:6;18233:14;:86::i;18275:43::-;18308:1;18233:14;:86::i;:::-;18226:93;;;;18148:1508;-1:-1:-1;;;;;18359:23:0;;;;;;:15;:23;;;;;;;;18358:24;:55;;;;-1:-1:-1;;;;;;18387:26:0;;;;;;:15;:26;;;;;;;;18386:27;18358:55;:81;;;;-1:-1:-1;18417:22:0;;;;;;;18358:81;18355:196;;;18478:12;;18468:6;:22;;18460:75;;;;-1:-1:-1;;;18460:75:0;;8167:2:1;18460:75:0;;;8149:21:1;8206:2;8186:18;;;8179:30;8245:34;8225:18;;;8218:62;-1:-1:-1;;;8296:18:1;;;8289:38;8344:19;;18460:75:0;7965:404:1;18460:75:0;18616:4;18567:28;15417:18;;;:9;:18;;;;;;18692:20;;18668:44;;;;;;;18733;;-1:-1:-1;18761:16:0;;;;18760:17;18733:44;:69;;;;-1:-1:-1;;;;;;18782:20:0;;;;;;:12;:20;;;;;;;;18781:21;18733:69;:94;;;;-1:-1:-1;18806:21:0;;;;;;;18733:94;18729:302;;;18865:25;;;;;;;18862:94;;;18936:20;;18913:43;;18862:94;18975:36;18990:20;18975:14;:36::i;:::-;19067:53;;;;;;;;;;;-1:-1:-1;;;19067:53:0;;;;;;;;-1:-1:-1;;;;;19067:17:0;;-1:-1:-1;19067:17:0;;;:9;:17;;;;;;;;:53;;19089:6;;19067:21;:53::i;:::-;-1:-1:-1;;;;;19047:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19160:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;19189:28:0;;;;;;:17;:28;;;;;;;;19160:57;19159:105;;19230:34;19238:6;19246:9;19257:6;19230:7;:34::i;:::-;19159:105;;;19221:6;19159:105;19284:16;;19137:127;;-1:-1:-1;19284:16:0;;;;;:51;;;;-1:-1:-1;;;;;;19305:30:0;;;;;;:19;:30;;;;;;;;19304:31;19284:51;19281:197;;;19405:16;;19364:37;19389:11;19364:20;19374:9;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;19364:20;:24;;:37::i;:::-;:57;;19356:106;;;;-1:-1:-1;;;19356:106:0;;8576:2:1;19356:106:0;;;8558:21:1;8615:2;8595:18;;;8588:30;8654:34;8634:18;;;8627:62;-1:-1:-1;;;8705:18:1;;;8698:35;8750:19;;19356:106:0;8374:401:1;19356:106:0;-1:-1:-1;;;;;19517:20:0;;;;;;:9;:20;;;;;;:37;;19542:11;19517:24;:37::i;:::-;-1:-1:-1;;;;;19494:20:0;;;;;;;:9;:20;;;;;;;:60;;;;19576:40;;;;;;;;;;19604:11;1803:25:1;;1791:2;1776:18;;1657:177;19576:40:0;;;;;;;;19640:4;19633:11;;;;;;;821:192;907:7;943:12;935:6;;;;927:29;;;;-1:-1:-1;;;927:29:0;;;;;;;;:::i;:::-;-1:-1:-1;967:9:0;979:5;983:1;979;:5;:::i;:::-;967:17;821:192;-1:-1:-1;;;;;821:192:0:o;677:136::-;735:7;762:43;766:1;769;762:43;;;;;;;;;;;;;;;;;:3;:43::i;488:181::-;546:7;;578:5;582:1;578;:5;:::i;:::-;566:17;;607:1;602;:6;;594:46;;;;-1:-1:-1;;;594:46:0;;9377:2:1;594:46:0;;;9359:21:1;9416:2;9396:18;;;9389:30;9455:29;9435:18;;;9428:57;9502:18;;594:46:0;9175:351:1;17458:263:0;17575:11;;17538:4;;-1:-1:-1;;;;;17562:24:0;;;17575:11;;17562:24;:65;;;;-1:-1:-1;17618:9:0;;-1:-1:-1;;;;;17608:19:0;;;17618:9;;17608:19;17562:65;:107;;;;-1:-1:-1;;;;;;17649:20:0;;;;17562:107;:151;;;;-1:-1:-1;;;;;;;17691:22:0;;;;17458:263;-1:-1:-1;17458:263:0:o;20291:382::-;20438:54;;;;;;;;;;;-1:-1:-1;;;20438:54:0;;;;;;;;-1:-1:-1;;;;;20438:17:0;;20401:4;20438:17;;;:9;:17;;;;;;;:54;;20460:7;;20438:21;:54::i;:::-;-1:-1:-1;;;;;20418:17:0;;;;;;;:9;:17;;;;;;:74;;;;20526:20;;;;;;;:32;;20551:6;20526:24;:32::i;:::-;-1:-1:-1;;;;;20503:20:0;;;;;;:9;:20;;;;;:55;;;;20564:12;;;20560:32;;20589:3;20578:8;:14;20560:32;20625:9;-1:-1:-1;;;;;20608:35:0;20617:6;-1:-1:-1;;;;;20608:35:0;;20636:6;20608:35;;;;1803:25:1;;1791:2;1776:18;;1657:177;20608:35:0;;;;;;;;-1:-1:-1;20661:4:0;20291:382;;;;;;:::o;20681:1450::-;13934:16;:23;;-1:-1:-1;;13934:23:0;13953:4;13934:23;;;20797:18:::1;::::0;20775:17:::1;::::0;13934:16;;20775:41:::1;::::0;:17;:21:::1;:41::i;:::-;20753:63;;20829:22;20854:39;20875:17;;20854:16;;:20;;:39;;;;:::i;:::-;20829:64;;20904:22;20929:39;20950:17;;20929:16;;:20;;:39;;;;:::i;:::-;20904:64:::0;-1:-1:-1;21067:18:0::1;21088:51;21137:1;21088:44;21120:11:::0;21088:44;:7;21100:14;21088:11:::1;:27::i;:::-;:31:::0;::::1;:44::i;:51::-;21067:72:::0;-1:-1:-1;21150:20:0::1;21173:23;:7:::0;21067:72;21173:11:::1;:23::i;:::-;21150:46:::0;-1:-1:-1;21235:21:0::1;21267:30;21150:46:::0;21267:16:::1;:30::i;:::-;21308:23;21335:41;:21;21361:14:::0;21335:25:::1;:41::i;:::-;21308:68:::0;-1:-1:-1;21389:19:0::1;21411:38;21427:21;:14:::0;21446:1:::1;21427:18;:21::i;:::-;21411:11:::0;;:15:::1;:38::i;:::-;21389:60:::0;-1:-1:-1;21462:26:0::1;21491:59;21548:1;21491:52;21389:60:::0;21491:52;:15;21511:14;21491:19:::1;:35::i;:59::-;21462:88;;21561:26;21590:66;21644:11;21590:49;21610:28;21629:8;;21610:14;:18;;:28;;;;:::i;:::-;21590:15:::0;;:19:::1;:49::i;:66::-;21561:95:::0;-1:-1:-1;21667:26:0::1;21696:63;21561:95:::0;21696:39:::1;:15:::0;21716:18;21696:19:::1;:39::i;:63::-;21667:92:::0;-1:-1:-1;21775:22:0;;21772:102:::1;;21822:10;::::0;21814:48:::1;::::0;-1:-1:-1;;;;;21822:10:0;;::::1;::::0;21814:48;::::1;;;::::0;21843:18;;21822:10:::1;21814:48:::0;21822:10;21814:48;21843:18;21822:10;21814:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21772:102;21889:22:::0;;21886:101:::1;;21936:9;::::0;21928:47:::1;::::0;-1:-1:-1;;;;;21936:9:0;;::::1;::::0;21928:47;::::1;;;::::0;21956:18;;21936:9:::1;21928:47:::0;21936:9;21928:47;21956:18;21936:9;21928:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21886:101;22032:1;22011:18;:22;:40;;;;;22050:1;22037:10;:14;22011:40;22008:116;;;22068:44;22081:10;22093:18;22068:12;:44::i;:::-;-1:-1:-1::0;;13980:16:0;:24;;-1:-1:-1;;13980:24:0;;;-1:-1:-1;;;;;;;;;;20681:1450:0:o;19671:612::-;-1:-1:-1;;;;;19822:20:0;;19757:7;19822:20;;;:12;:20;;;;;;19757:7;;19822:20;;19819:223;;;19871:38;19905:3;19871:29;19882:17;;19871:6;:10;;:29;;;;:::i;:38::-;19859:50;;19819:223;;;-1:-1:-1;;;;;19939:23:0;;;;;;:12;:23;;;;;;;;19936:106;;;19991:39;20026:3;19991:30;20002:18;;19991:6;:10;;:30;;;;:::i;:39::-;19979:51;;19936:106;20065:13;;20062:173;;20140:4;20122:24;;;;:9;:24;;;;;;:39;;20151:9;20122:28;:39::i;:::-;20113:4;20095:24;;;;:9;:24;;;;;;;:66;;;;20181:42;;-1:-1:-1;;;;;20181:42:0;;;;;;;20213:9;1803:25:1;;1791:2;1776:18;;1657:177;20181:42:0;;;;;;;;20062:173;20254:21;:6;20265:9;20254:10;:21::i;1021:250::-;1079:7;1103:1;1108;1103:6;1099:47;;-1:-1:-1;1133:1:0;1126:8;;1099:47;1158:9;1170:5;1174:1;1170;:5;:::i;:::-;1158:17;-1:-1:-1;1203:1:0;1194:5;1198:1;1158:17;1194:5;:::i;:::-;:10;1186:56;;;;-1:-1:-1;;;1186:56:0;;10128:2:1;1186:56:0;;;10110:21:1;10167:2;10147:18;;;10140:30;10206:34;10186:18;;;10179:62;-1:-1:-1;;;10257:18:1;;;10250:31;10298:19;;1186:56:0;9926:397:1;1279:132:0;1337:7;1364:39;1368:1;1371;1364:39;;;;;;;;;;;;;;;;;:3;:39::i;22990:666::-;23140:16;;;23154:1;23140:16;;;;;;;;23116:21;;23140:16;;;;;;;;;;-1:-1:-1;23140:16:0;23116:40;;23185:4;23167;23172:1;23167:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23167:23:0;;;:7;;;;;;;;;;:23;;;;23211:15;;:22;;;-1:-1:-1;;;23211:22:0;;;;:15;;;;;:20;;:22;;;;;23167:7;;23211:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23201:4;23206:1;23201:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23201:32:0;;;:7;;;;;;;;;:32;23278:15;;23246:62;;23263:4;;23278:15;23296:11;23246:8;:62::i;:::-;23347:15;;:240;;-1:-1:-1;;;23347:240:0;;-1:-1:-1;;;;;23347:15:0;;;;:66;;:240;;23428:11;;23347:15;;23498:4;;23525;;23561:15;;23347:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23613:35;23630:11;23643:4;23613:35;;;;;;;:::i;:::-;;;;;;;;23045:611;22990:666;:::o;23664:523::-;23844:15;;23812:62;;23829:4;;-1:-1:-1;;;;;23844:15:0;23862:11;23812:8;:62::i;:::-;23917:15;;24121:17;;23917:262;;-1:-1:-1;;;23917:262:0;;-1:-1:-1;;;;;23917:15:0;;;;:31;;23956:9;;23917:262;;23989:4;;24009:11;;23917:15;;;;24121:17;;24153:15;;23917:262;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23664:523;;:::o;1419:278::-;1505:7;1540:12;1533:5;1525:28;;;;-1:-1:-1;;;1525:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1564:9:0;1576:5;1580:1;1576;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1839:456::-;1916:6;1924;1932;1985:2;1973:9;1964:7;1960:23;1956:32;1953:52;;;2001:1;1998;1991:12;1953:52;2040:9;2027:23;2059:31;2084:5;2059:31;:::i;:::-;2109:5;-1:-1:-1;2166:2:1;2151:18;;2138:32;2179:33;2138:32;2179:33;:::i;:::-;1839:456;;2231:7;;-1:-1:-1;;;2285:2:1;2270:18;;;;2257:32;;1839:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2965:388::-;3033:6;3041;3094:2;3082:9;3073:7;3069:23;3065:32;3062:52;;;3110:1;3107;3100:12;3062:52;3149:9;3136:23;3168:31;3193:5;3168:31;:::i;:::-;3218:5;-1:-1:-1;3275:2:1;3260:18;;3247:32;3288:33;3247:32;3288:33;:::i;:::-;3340:7;3330:17;;;2965:388;;;;;:::o;3358:380::-;3437:1;3433:12;;;;3480;;;3501:61;;3555:4;3547:6;3543:17;3533:27;;3501:61;3608:2;3600:6;3597:14;3577:18;3574:38;3571:161;;3654:10;3649:3;3645:20;3642:1;3635:31;3689:4;3686:1;3679:15;3717:4;3714:1;3707:15;3571:161;;3358:380;;;:::o;3743:356::-;3945:2;3927:21;;;3964:18;;;3957:30;4023:34;4018:2;4003:18;;3996:62;4090:2;4075:18;;3743:356::o;4104:251::-;4174:6;4227:2;4215:9;4206:7;4202:23;4198:32;4195:52;;;4243:1;4240;4233:12;4195:52;4275:9;4269:16;4294:31;4319:5;4294:31;:::i;4669:607::-;-1:-1:-1;;;;;5028:15:1;;;5010:34;;5075:2;5060:18;;5053:34;;;;5118:2;5103:18;;5096:34;;;;5161:2;5146:18;;5139:34;;;;5210:15;;;5204:3;5189:19;;5182:44;4990:3;5242:19;;5235:35;;;;4959:3;4944:19;;4669:607::o;5281:306::-;5369:6;5377;5385;5438:2;5426:9;5417:7;5413:23;5409:32;5406:52;;;5454:1;5451;5444:12;5406:52;5483:9;5477:16;5467:26;;5533:2;5522:9;5518:18;5512:25;5502:35;;5577:2;5566:9;5562:18;5556:25;5546:35;;5281:306;;;;;:::o;8780:127::-;8841:10;8836:3;8832:20;8829:1;8822:31;8872:4;8869:1;8862:15;8896:4;8893:1;8886:15;8912:128;8979:9;;;9000:11;;;8997:37;;;9014:18;;:::i;9045:125::-;9110:9;;;9131:10;;;9128:36;;;9144:18;;:::i;9531:168::-;9604:9;;;9635;;9652:15;;;9646:22;;9632:37;9622:71;;9673:18;;:::i;9704:217::-;9744:1;9770;9760:132;;9814:10;9809:3;9805:20;9802:1;9795:31;9849:4;9846:1;9839:15;9877:4;9874:1;9867:15;9760:132;-1:-1:-1;9906:9:1;;9704:217::o;10460:127::-;10521:10;10516:3;10512:20;10509:1;10502:31;10552:4;10549:1;10542:15;10576:4;10573:1;10566:15;10592:461;10645:3;10683:5;10677:12;10710:6;10705:3;10698:19;10736:4;10765:2;10760:3;10756:12;10749:19;;10802:2;10795:5;10791:14;10823:1;10833:195;10847:6;10844:1;10841:13;10833:195;;;10912:13;;-1:-1:-1;;;;;10908:39:1;10896:52;;10968:12;;;;11003:15;;;;10944:1;10862:9;10833:195;;;-1:-1:-1;11044:3:1;;10592:461;-1:-1:-1;;;;;10592:461:1:o;11058:582::-;11357:6;11346:9;11339:25;11400:6;11395:2;11384:9;11380:18;11373:34;11443:3;11438:2;11427:9;11423:18;11416:31;11320:4;11464:57;11516:3;11505:9;11501:19;11493:6;11464:57;:::i;:::-;-1:-1:-1;;;;;11557:32:1;;;;11552:2;11537:18;;11530:60;-1:-1:-1;11621:3:1;11606:19;11599:35;11456:65;11058:582;-1:-1:-1;;;11058:582:1:o;11645:332::-;11852:6;11841:9;11834:25;11895:2;11890;11879:9;11875:18;11868:30;11815:4;11915:56;11967:2;11956:9;11952:18;11944:6;11915:56;:::i;:::-;11907:64;11645:332;-1:-1:-1;;;;11645:332:1:o
Swarm Source
ipfs://fd50ab6df1bafdb0e326b326a08c2ad3b4ebbf7867d310ce2a7debee3f0c7a69
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.