Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 286 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 16915742 | 611 days ago | IN | 0 ETH | 0.00041229 | ||||
Approve | 16732179 | 637 days ago | IN | 0 ETH | 0.00041304 | ||||
Approve | 16417755 | 681 days ago | IN | 0 ETH | 0.00042478 | ||||
Manual Send | 16304097 | 697 days ago | IN | 0 ETH | 0.00062485 | ||||
Manual Send | 16304056 | 697 days ago | IN | 0 ETH | 0.00045426 | ||||
Approve | 16153191 | 718 days ago | IN | 0 ETH | 0.00066505 | ||||
Approve | 16132442 | 721 days ago | IN | 0 ETH | 0.00034733 | ||||
Approve | 16116074 | 723 days ago | IN | 0 ETH | 0.00058721 | ||||
Approve | 16112297 | 724 days ago | IN | 0 ETH | 0.00057184 | ||||
Approve | 16103338 | 725 days ago | IN | 0 ETH | 0.00072208 | ||||
Approve | 16095428 | 726 days ago | IN | 0 ETH | 0.00058251 | ||||
Approve | 16094170 | 726 days ago | IN | 0 ETH | 0.00056198 | ||||
Approve | 16093530 | 726 days ago | IN | 0 ETH | 0.00076613 | ||||
Approve | 16093183 | 726 days ago | IN | 0 ETH | 0.00056237 | ||||
Approve | 16093020 | 726 days ago | IN | 0 ETH | 0.00050692 | ||||
Transfer | 16092497 | 726 days ago | IN | 0 ETH | 0.00232884 | ||||
Transfer | 16092492 | 726 days ago | IN | 0 ETH | 0.00196515 | ||||
Approve | 16092481 | 726 days ago | IN | 0 ETH | 0.00061584 | ||||
Approve | 16092433 | 726 days ago | IN | 0 ETH | 0.00060811 | ||||
Approve | 16092400 | 726 days ago | IN | 0 ETH | 0.00063996 | ||||
Approve | 16092388 | 726 days ago | IN | 0 ETH | 0.00067258 | ||||
Approve | 16092363 | 726 days ago | IN | 0 ETH | 0.00155372 | ||||
Approve | 16092355 | 726 days ago | IN | 0 ETH | 0.00071305 | ||||
Approve | 16091398 | 726 days ago | IN | 0 ETH | 0.0011659 | ||||
Approve | 16091392 | 726 days ago | IN | 0 ETH | 0.00139158 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
16304097 | 697 days ago | 0.0030905 ETH | ||||
16304080 | 697 days ago | 0.0030905 ETH | ||||
16304056 | 697 days ago | 0.02641322 ETH | ||||
16105911 | 724 days ago | 0.00871683 ETH | ||||
16094666 | 726 days ago | 0.00681278 ETH | ||||
16093198 | 726 days ago | 0.01088359 ETH | ||||
16092750 | 726 days ago | 0.07360128 ETH | ||||
16092750 | 726 days ago | 0.02586501 ETH | ||||
16092451 | 726 days ago | 0.04773626 ETH | ||||
16092409 | 726 days ago | 0.01851393 ETH | ||||
16092376 | 726 days ago | 0.0656023 ETH | ||||
16092376 | 726 days ago | 0.04282044 ETH | ||||
16092341 | 726 days ago | 0.02278186 ETH | ||||
16092135 | 726 days ago | 0.05655759 ETH | ||||
16092135 | 726 days ago | 0.00843017 ETH | ||||
16091319 | 726 days ago | 0.01407198 ETH | ||||
16091131 | 727 days ago | 0.03405543 ETH | ||||
16090954 | 727 days ago | 0.13681239 ETH | ||||
16090954 | 727 days ago | 0.08972557 ETH | ||||
16090846 | 727 days ago | 0.04708682 ETH | ||||
16090840 | 727 days ago | 0.10011615 ETH | ||||
16090840 | 727 days ago | 0.10011615 ETH | ||||
16090731 | 727 days ago | 0.05238924 ETH | ||||
16090731 | 727 days ago | 0.05238924 ETH | ||||
16090728 | 727 days ago | 0.05238924 ETH |
Loading...
Loading
Contract Name:
BABYTYRANT
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-01 */ /** Fable Of The Dwagon (BABY TYRANT) https://t.me/BABYFOTD */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; 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 RenounceOwnership() 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 BABYTYRANT is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name ="Fable Of The Dwagon"; string private _symbol = "BABY TYRANT"; uint8 private _decimals = 9; address payable private taxWallet1 = payable(0x49c5A1D3170d805E6d4Cc3E60A91784c35E92DA7); address payable private taxWallet2 = payable(0x49c5A1D3170d805E6d4Cc3E60A91784c35E92DA7); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public checkExcludedFromFees; mapping (address => bool) public checkWalletLimitExcept; mapping (address => bool) public checkTxLimitExcept; mapping (address => bool) public checkMarketPair; uint256 public _buyLiquidityFees = 0; uint256 public _buyMarketingFees = 5; uint256 public _buyDevelopmentFees = 0; uint256 public _sellLiquidityFees = 0; uint256 public _sellMarketingFees = 99; uint256 public _sellDevelopmentFees = 0; uint256 public _liquidityShares = 0; uint256 public _marketingShares = 10; uint256 public _developmentShares = 0; uint256 public _totalTaxIfBuying = 5; uint256 public _totalTaxIfSelling = 99; uint256 public _totalDistributionShares = 10; uint256 private _totalSupply = 1_000_000_000 * 10**9; uint256 public _maxTxAmount = _totalSupply; uint256 public _walletMax = _totalSupply*2/100; uint256 private minimumTokensBeforeSwap = _totalSupply*3/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; checkExcludedFromFees[owner()] = true; checkExcludedFromFees[address(this)] = true; checkWalletLimitExcept[owner()] = true; checkWalletLimitExcept[address(uniswapPair)] = true; checkWalletLimitExcept[address(this)] = true; checkTxLimitExcept[owner()] = true; checkTxLimitExcept[address(this)] = true; checkMarketPair[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 addMarketPair(address account) public onlyOwner { checkMarketPair[account] = true; } function setcheckTxLimitExcept(address holder, bool exempt) external onlyOwner { checkTxLimitExcept[holder] = exempt; } function setcheckExcludedFromFees(address account, bool newValue) public onlyOwner { checkExcludedFromFees[account] = newValue; } function setBuyFee(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newDevelopmentTax) external onlyOwner() { _buyLiquidityFees = newLiquidityTax; _buyMarketingFees = newMarketingTax; _buyDevelopmentFees = newDevelopmentTax; _totalTaxIfBuying = _buyLiquidityFees.add(_buyMarketingFees).add(_buyDevelopmentFees); require (_totalTaxIfBuying <= 10); } function setSellFee(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newDevelopmentTax) external onlyOwner() { _sellLiquidityFees = newLiquidityTax; _sellMarketingFees = newMarketingTax; _sellDevelopmentFees = newDevelopmentTax; _totalTaxIfSelling = _sellLiquidityFees.add(_sellMarketingFees).add(_sellDevelopmentFees); require (_totalTaxIfSelling <= 20); } function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newDevelopmentShare) external onlyOwner() { _liquidityShares = newLiquidityShare; _marketingShares = newMarketingShare; _developmentShares = newDevelopmentShare; _totalDistributionShares = _liquidityShares.add(_marketingShares).add(_developmentShares); } function adjustMaxTxAmount(uint256 maxTxAmount) external onlyOwner() { require(maxTxAmount >= _totalSupply/100, "Max wallet should be more or equal to 1%"); _maxTxAmount = maxTxAmount; } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setcheckWalletLimitExcept(address holder, bool exempt) external onlyOwner { checkWalletLimitExcept[holder] = exempt; } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function settaxWallet1(address newAddress) external onlyOwner() { taxWallet1 = payable(newAddress); } function settaxWallet2(address newAddress) external onlyOwner() { taxWallet2 = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function manualSend() external { transferToAddressETH(taxWallet1, address(this).balance); } //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(!checkTxLimitExcept[sender] && !checkTxLimitExcept[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (contractTokenBalance >= minimumTokensBeforeSwap*2) contractTokenBalance = minimumTokensBeforeSwap*2; if (overMinimumTokenBalance && !inSwapAndLiquify && !checkMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (checkExcludedFromFees[sender] || checkExcludedFromFees[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !checkWalletLimitExcept[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _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 { swapTokensForEth(tAmount); uint256 amountETHMarketing = address(this).balance; if(amountETHMarketing > 50000000000000000) transferToAddressETH(taxWallet1, amountETHMarketing); } 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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(checkMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(checkMarketPair[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); } }
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":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developmentShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShares","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":"_sellDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","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":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"adjustMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkTxLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkWalletLimitExcept","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":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","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":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentTax","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setcheckExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setcheckTxLimitExcept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setcheckWalletLimitExcept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"settaxWallet1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"settaxWallet2","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052601360a08190527f4661626c65204f662054686520447761676f6e0000000000000000000000000060c090815262000040916002919062000578565b5060408051808201909152600b8082526a109050964815165490539560aa1b6020909201918252620000759160039162000578565b50600480547449c5a1d3170d805e6d4cc3e60a91784c35e92da7096001600160a81b0319909116179055600580546001600160a01b0319167349c5a1d3170d805e6d4cc3e60a91784c35e92da71781556ddead0000000000000000000000006080526000600c819055600d829055600e819055600f8190556063601081905560118290556012829055600a6013819055601492909255601592909255601691909155601755670de0b6b3a7640000601881905560198190556064906200013d9060026200066f565b6200014991906200064e565b601a556103e860185460036200016091906200066f565b6200016c91906200064e565b601b55601d805462ffffff60a81b19166201000160a81b1790553480156200019357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022857600080fd5b505afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200061e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ac57600080fd5b505afa158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e791906200061e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200033057600080fd5b505af115801562000345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036b91906200061e565b601d80546001600160a01b039283166001600160a01b031991821617909155601c8054928416929091168217905560185430600090815260076020908152604080832094835293905291822055600190600890620003d16000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260089092528120805490921660019081179092556009906200042a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601d549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a906200049a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600a8452828120805486166001908117909155601d549092168152600b90935290822080549093161790915560185490600690620005063390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200056991815260200190565b60405180910390a350620006d8565b82805462000586906200069b565b90600052602060002090601f016020900481019282620005aa5760008555620005f5565b82601f10620005c557805160ff1916838001178555620005f5565b82800160010185558215620005f5579182015b82811115620005f5578251825591602001919060010190620005d8565b506200060392915062000607565b5090565b5b8082111562000603576000815560010162000608565b60006020828403121562000630578081fd5b81516001600160a01b038116811462000647578182fd5b9392505050565b6000826200066a57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156200069657634e487b7160e01b81526011600452602481fd5b500290565b600181811c90821680620006b057607f821691505b60208210811415620006d257634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c6121f3620006fe600039600081816104c60152610cc501526121f36000f3fe6080604052600436106103545760003560e01c806370a08231116101c6578063c2d4640e116100f7578063e207a92b11610095578063f2fde38b1161006f578063f2fde38b146109c9578063f4293890146109e9578063f872858a146109fe578063fabf706314610a1f57600080fd5b8063e207a92b14610973578063f0cd1dac14610993578063f1d5f517146109a957600080fd5b8063c816841b116100d1578063c816841b146108d6578063d76e26a3146108f6578063da00097d1461090c578063dd62ed3e1461092d57600080fd5b8063c2d4640e14610866578063c49b9a8014610886578063c78a789b146108a657600080fd5b80639e3fa32311610164578063a5d69d1f1161013e578063a5d69d1f146107f0578063a9059cbb14610810578063b6c3af3414610830578063bbaa7d441461084657600080fd5b80639e3fa323146107a4578063a08e671f146107ba578063a457c2d7146107d057600080fd5b806382eefb43116101a057806382eefb431461073b5780638da5cb5b146107515780638f03aad51461076f57806395d89b411461078f57600080fd5b806370a08231146106d95780637d1db4a51461070f578063807c2d9c1461072557600080fd5b80632f0a5fd4116102a0578063565cec381161023e578063661b6e3611610218578063661b6e3614610678578063667b511c1461068e5780636e4ee811146106ae578063705f9d74146106c357600080fd5b8063565cec381461062c57806357e6adcb14610642578063646d47001461066257600080fd5b80633b97084a1161027a5780633b97084a1461058b5780634a74bb02146105ab578063526012e8146105cc57806355324fa9146105fc57600080fd5b80632f0a5fd414610533578063313ce56714610549578063395093511461056b57600080fd5b806323b872dd1161030d57806327c8f835116102e757806327c8f835146104b45780632b112e49146104e85780632cdae5cb146104fd5780632df671091461051d57600080fd5b806323b872dd1461045457806325519cf2146104745780632563ae831461049457600080fd5b806306fdde0314610360578063095ea7b31461038b5780630fe1203c146103bb5780631694505e146103dd57806318160ddd146104155780631d865c301461043457600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610a4f565b6040516103829190611fb4565b60405180910390f35b34801561039757600080fd5b506103ab6103a6366004611ee9565b610ae1565b6040519015158152602001610382565b3480156103c757600080fd5b506103db6103d6366004611e05565b610af8565b005b3480156103e957600080fd5b50601c546103fd906001600160a01b031681565b6040516001600160a01b039091168152602001610382565b34801561042157600080fd5b506018545b604051908152602001610382565b34801561044057600080fd5b506103db61044f366004611f46565b610b53565b34801561046057600080fd5b506103ab61046f366004611e75565b610bb7565b34801561048057600080fd5b506103db61048f366004611f46565b610c22565b3480156104a057600080fd5b506103db6104af366004611f14565b610c7b565b3480156104c057600080fd5b506103fd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f457600080fd5b50610426610cc3565b34801561050957600080fd5b506103db610518366004611eb5565b610d0d565b34801561052957600080fd5b50610426600d5481565b34801561053f57600080fd5b50610426600f5481565b34801561055557600080fd5b5060045460405160ff9091168152602001610382565b34801561057757600080fd5b506103ab610586366004611ee9565b610d62565b34801561059757600080fd5b506103db6105a6366004611f2e565b610d98565b3480156105b757600080fd5b50601d546103ab90600160a81b900460ff1681565b3480156105d857600080fd5b506103ab6105e7366004611e05565b60096020526000908152604090205460ff1681565b34801561060857600080fd5b506103ab610617366004611e05565b600b6020526000908152604090205460ff1681565b34801561063857600080fd5b5061042660135481565b34801561064e57600080fd5b506103db61065d366004611eb5565b610dc7565b34801561066e57600080fd5b5061042660115481565b34801561068457600080fd5b5061042660105481565b34801561069a57600080fd5b506103db6106a9366004611eb5565b610e1c565b3480156106ba57600080fd5b506103db610e71565b3480156106cf57600080fd5b50610426600e5481565b3480156106e557600080fd5b506104266106f4366004611e05565b6001600160a01b031660009081526006602052604090205490565b34801561071b57600080fd5b5061042660195481565b34801561073157600080fd5b50610426601a5481565b34801561074757600080fd5b5061042660165481565b34801561075d57600080fd5b506000546001600160a01b03166103fd565b34801561077b57600080fd5b506103db61078a366004611f2e565b610ee5565b34801561079b57600080fd5b50610375610f83565b3480156107b057600080fd5b5061042660125481565b3480156107c657600080fd5b5061042660175481565b3480156107dc57600080fd5b506103ab6107eb366004611ee9565b610f92565b3480156107fc57600080fd5b506103db61080b366004611f14565b610fe1565b34801561081c57600080fd5b506103ab61082b366004611ee9565b611029565b34801561083c57600080fd5b50610426600c5481565b34801561085257600080fd5b506103db610861366004611e05565b611036565b34801561087257600080fd5b506103db610881366004611f46565b611082565b34801561089257600080fd5b506103db6108a1366004611f14565b6110d1565b3480156108b257600080fd5b506103ab6108c1366004611e05565b600a6020526000908152604090205460ff1681565b3480156108e257600080fd5b50601d546103fd906001600160a01b031681565b34801561090257600080fd5b5061042660145481565b34801561091857600080fd5b50601d546103ab90600160b01b900460ff1681565b34801561093957600080fd5b50610426610948366004611e3d565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097f57600080fd5b506103db61098e366004611e05565b611153565b34801561099f57600080fd5b5061042660155481565b3480156109b557600080fd5b506103db6109c4366004611f2e565b6111a1565b3480156109d557600080fd5b506103db6109e4366004611e05565b6111d0565b3480156109f557600080fd5b506103db6112ba565b348015610a0a57600080fd5b50601d546103ab90600160b81b900460ff1681565b348015610a2b57600080fd5b506103ab610a3a366004611e05565b60086020526000908152604090205460ff1681565b606060028054610a5e90612107565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8a90612107565b8015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050505050905090565b6000610aee3384846112d7565b5060015b92915050565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b8152600401610b2290612007565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610b2290612007565b600f83905560108290556011819055610ba081610b9a85856113fb565b906113fb565b601681905560141015610bb257600080fd5b505050565b6000610bc484848461145a565b50610c178433610c1285604051806060016040528060288152602001612171602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061184c565b6112d7565b5060015b9392505050565b6000546001600160a01b03163314610c4c5760405162461bcd60e51b8152600401610b2290612007565b600c839055600d829055600e819055610c6981610b9a85856113fb565b6015819055600a1015610bb257600080fd5b6000546001600160a01b03163314610ca55760405162461bcd60e51b8152600401610b2290612007565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260066020526040812054601854610d0891611886565b905090565b6000546001600160a01b03163314610d375760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610aee918590610c1290866113fb565b6000546001600160a01b03163314610dc25760405162461bcd60e51b8152600401610b2290612007565b601b55565b6000546001600160a01b03163314610df15760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e465760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e9b5760405162461bcd60e51b8152600401610b2290612007565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f0f5760405162461bcd60e51b8152600401610b2290612007565b6064601854610f1e91906120b1565b811015610f7e5760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073686f756c64206265206d6f7265206f7220657175604482015267616c20746f20312560c01b6064820152608401610b22565b601955565b606060038054610a5e90612107565b6000610aee3384610c1285604051806060016040528060258152602001612199602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061184c565b6000546001600160a01b0316331461100b5760405162461bcd60e51b8152600401610b2290612007565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000610c1733848461145a565b6000546001600160a01b031633146110605760405162461bcd60e51b8152600401610b2290612007565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b8152600401610b2290612007565b6012839055601382905560148190556110c981610b9a85856113fb565b601755505050565b6000546001600160a01b031633146110fb5760405162461bcd60e51b8152600401610b2290612007565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061114890831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146111cb5760405162461bcd60e51b8152600401610b2290612007565b601a55565b6000546001600160a01b031633146111fa5760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03811661125f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b22565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004546112d59061010090046001600160a01b0316476118c8565b565b6001600160a01b0383166113395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b22565b6001600160a01b03821661139a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b22565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806114088385612099565b905083811015610c1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b22565b60006001600160a01b0384166114c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b22565b6001600160a01b0383166115225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b22565b601d54600160a01b900460ff16156115465761153f8484846118fe565b9050610c1b565b6001600160a01b0384166000908152600a602052604090205460ff1615801561158857506001600160a01b0383166000908152600a602052604090205460ff16155b156115f0576019548211156115f05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b22565b30600090815260066020526040902054601b5480821015906116139060026120d1565b821061162a57601b546116279060026120d1565b91505b8080156116415750601d54600160a01b900460ff16155b801561166657506001600160a01b0386166000908152600b602052604090205460ff16155b801561167b5750601d54600160a81b900460ff165b156116a157601d54600160b01b900460ff161561169857601b5491505b6116a1826119e4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600690915291909120546116f391869061184c565b6001600160a01b038716600090815260066020908152604080832093909355600890529081205460ff168061174057506001600160a01b03861660009081526008602052604090205460ff165b6117545761174f878787611a3c565b611756565b845b601d54909150600160b81b900460ff16801561178b57506001600160a01b03861660009081526009602052604090205460ff16155b156117c157601a546117b682610b9a896001600160a01b031660009081526006602052604090205490565b11156117c157600080fd5b6001600160a01b0386166000908152600660205260409020546117e490826113fb565b6001600160a01b0380881660008181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118389085815260200190565b60405180910390a360019350505050610c1b565b600081848411156118705760405162461bcd60e51b8152600401610b229190611fb4565b50600061187d84866120f0565b95945050505050565b6000610c1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061184c565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610bb2573d6000803e3d6000fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461194f91849061184c565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461197e90836113fb565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119d29086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b179055611a0081611b48565b4766b1a2bc2ec50000811115611a2b57600454611a2b9061010090046001600160a01b0316826118c8565b5050601d805460ff60a01b19169055565b6001600160a01b0383166000908152600b6020526040812054819060ff1615611a8657611a7f6064611a7960155486611d0690919063ffffffff16565b90611d85565b9050611ac4565b6001600160a01b0384166000908152600b602052604090205460ff1615611ac457611ac16064611a7960165486611d0690919063ffffffff16565b90505b8015611b3e5730600090815260066020526040902054611ae490826113fb565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b359085815260200190565b60405180910390a35b61187d8382611886565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b8b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611bdf57600080fd5b505afa158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c179190611e21565b81600181518110611c3857634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601c54611c5e91309116846112d7565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c9790859060009086903090429060040161205d565b600060405180830381600087803b158015611cb157600080fd5b505af1158015611cc5573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611cfa92919061203c565b60405180910390a15050565b600082611d1557506000610af2565b6000611d2183856120d1565b905082611d2e85836120b1565b14610c1b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b22565b6000610c1b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611de35760405162461bcd60e51b8152600401610b229190611fb4565b50600061187d84866120b1565b80358015158114611e0057600080fd5b919050565b600060208284031215611e16578081fd5b8135610c1b81612158565b600060208284031215611e32578081fd5b8151610c1b81612158565b60008060408385031215611e4f578081fd5b8235611e5a81612158565b91506020830135611e6a81612158565b809150509250929050565b600080600060608486031215611e89578081fd5b8335611e9481612158565b92506020840135611ea481612158565b929592945050506040919091013590565b60008060408385031215611ec7578182fd5b8235611ed281612158565b9150611ee060208401611df0565b90509250929050565b60008060408385031215611efb578182fd5b8235611f0681612158565b946020939093013593505050565b600060208284031215611f25578081fd5b610c1b82611df0565b600060208284031215611f3f578081fd5b5035919050565b600080600060608486031215611f5a578283fd5b505081359360208301359350604090920135919050565b6000815180845260208085019450808401835b83811015611fa95781516001600160a01b031687529582019590820190600101611f84565b509495945050505050565b6000602080835283518082850152825b81811015611fe057858101830151858201604001528201611fc4565b81811115611ff15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006120556040830184611f71565b949350505050565b85815284602082015260a06040820152600061207c60a0830186611f71565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156120ac576120ac612142565b500190565b6000826120cc57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120eb576120eb612142565b500290565b60008282101561210257612102612142565b500390565b600181811c9082168061211b57607f821691505b6020821081141561213c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461216d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122042318adc47d5286ddce57e6a961e603ba2dac84516fe9278e4d5a38184be82bd64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106103545760003560e01c806370a08231116101c6578063c2d4640e116100f7578063e207a92b11610095578063f2fde38b1161006f578063f2fde38b146109c9578063f4293890146109e9578063f872858a146109fe578063fabf706314610a1f57600080fd5b8063e207a92b14610973578063f0cd1dac14610993578063f1d5f517146109a957600080fd5b8063c816841b116100d1578063c816841b146108d6578063d76e26a3146108f6578063da00097d1461090c578063dd62ed3e1461092d57600080fd5b8063c2d4640e14610866578063c49b9a8014610886578063c78a789b146108a657600080fd5b80639e3fa32311610164578063a5d69d1f1161013e578063a5d69d1f146107f0578063a9059cbb14610810578063b6c3af3414610830578063bbaa7d441461084657600080fd5b80639e3fa323146107a4578063a08e671f146107ba578063a457c2d7146107d057600080fd5b806382eefb43116101a057806382eefb431461073b5780638da5cb5b146107515780638f03aad51461076f57806395d89b411461078f57600080fd5b806370a08231146106d95780637d1db4a51461070f578063807c2d9c1461072557600080fd5b80632f0a5fd4116102a0578063565cec381161023e578063661b6e3611610218578063661b6e3614610678578063667b511c1461068e5780636e4ee811146106ae578063705f9d74146106c357600080fd5b8063565cec381461062c57806357e6adcb14610642578063646d47001461066257600080fd5b80633b97084a1161027a5780633b97084a1461058b5780634a74bb02146105ab578063526012e8146105cc57806355324fa9146105fc57600080fd5b80632f0a5fd414610533578063313ce56714610549578063395093511461056b57600080fd5b806323b872dd1161030d57806327c8f835116102e757806327c8f835146104b45780632b112e49146104e85780632cdae5cb146104fd5780632df671091461051d57600080fd5b806323b872dd1461045457806325519cf2146104745780632563ae831461049457600080fd5b806306fdde0314610360578063095ea7b31461038b5780630fe1203c146103bb5780631694505e146103dd57806318160ddd146104155780631d865c301461043457600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610a4f565b6040516103829190611fb4565b60405180910390f35b34801561039757600080fd5b506103ab6103a6366004611ee9565b610ae1565b6040519015158152602001610382565b3480156103c757600080fd5b506103db6103d6366004611e05565b610af8565b005b3480156103e957600080fd5b50601c546103fd906001600160a01b031681565b6040516001600160a01b039091168152602001610382565b34801561042157600080fd5b506018545b604051908152602001610382565b34801561044057600080fd5b506103db61044f366004611f46565b610b53565b34801561046057600080fd5b506103ab61046f366004611e75565b610bb7565b34801561048057600080fd5b506103db61048f366004611f46565b610c22565b3480156104a057600080fd5b506103db6104af366004611f14565b610c7b565b3480156104c057600080fd5b506103fd7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104f457600080fd5b50610426610cc3565b34801561050957600080fd5b506103db610518366004611eb5565b610d0d565b34801561052957600080fd5b50610426600d5481565b34801561053f57600080fd5b50610426600f5481565b34801561055557600080fd5b5060045460405160ff9091168152602001610382565b34801561057757600080fd5b506103ab610586366004611ee9565b610d62565b34801561059757600080fd5b506103db6105a6366004611f2e565b610d98565b3480156105b757600080fd5b50601d546103ab90600160a81b900460ff1681565b3480156105d857600080fd5b506103ab6105e7366004611e05565b60096020526000908152604090205460ff1681565b34801561060857600080fd5b506103ab610617366004611e05565b600b6020526000908152604090205460ff1681565b34801561063857600080fd5b5061042660135481565b34801561064e57600080fd5b506103db61065d366004611eb5565b610dc7565b34801561066e57600080fd5b5061042660115481565b34801561068457600080fd5b5061042660105481565b34801561069a57600080fd5b506103db6106a9366004611eb5565b610e1c565b3480156106ba57600080fd5b506103db610e71565b3480156106cf57600080fd5b50610426600e5481565b3480156106e557600080fd5b506104266106f4366004611e05565b6001600160a01b031660009081526006602052604090205490565b34801561071b57600080fd5b5061042660195481565b34801561073157600080fd5b50610426601a5481565b34801561074757600080fd5b5061042660165481565b34801561075d57600080fd5b506000546001600160a01b03166103fd565b34801561077b57600080fd5b506103db61078a366004611f2e565b610ee5565b34801561079b57600080fd5b50610375610f83565b3480156107b057600080fd5b5061042660125481565b3480156107c657600080fd5b5061042660175481565b3480156107dc57600080fd5b506103ab6107eb366004611ee9565b610f92565b3480156107fc57600080fd5b506103db61080b366004611f14565b610fe1565b34801561081c57600080fd5b506103ab61082b366004611ee9565b611029565b34801561083c57600080fd5b50610426600c5481565b34801561085257600080fd5b506103db610861366004611e05565b611036565b34801561087257600080fd5b506103db610881366004611f46565b611082565b34801561089257600080fd5b506103db6108a1366004611f14565b6110d1565b3480156108b257600080fd5b506103ab6108c1366004611e05565b600a6020526000908152604090205460ff1681565b3480156108e257600080fd5b50601d546103fd906001600160a01b031681565b34801561090257600080fd5b5061042660145481565b34801561091857600080fd5b50601d546103ab90600160b01b900460ff1681565b34801561093957600080fd5b50610426610948366004611e3d565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097f57600080fd5b506103db61098e366004611e05565b611153565b34801561099f57600080fd5b5061042660155481565b3480156109b557600080fd5b506103db6109c4366004611f2e565b6111a1565b3480156109d557600080fd5b506103db6109e4366004611e05565b6111d0565b3480156109f557600080fd5b506103db6112ba565b348015610a0a57600080fd5b50601d546103ab90600160b81b900460ff1681565b348015610a2b57600080fd5b506103ab610a3a366004611e05565b60086020526000908152604090205460ff1681565b606060028054610a5e90612107565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8a90612107565b8015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050505050905090565b6000610aee3384846112d7565b5060015b92915050565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b8152600401610b2290612007565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610b2290612007565b600f83905560108290556011819055610ba081610b9a85856113fb565b906113fb565b601681905560141015610bb257600080fd5b505050565b6000610bc484848461145a565b50610c178433610c1285604051806060016040528060288152602001612171602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061184c565b6112d7565b5060015b9392505050565b6000546001600160a01b03163314610c4c5760405162461bcd60e51b8152600401610b2290612007565b600c839055600d829055600e819055610c6981610b9a85856113fb565b6015819055600a1015610bb257600080fd5b6000546001600160a01b03163314610ca55760405162461bcd60e51b8152600401610b2290612007565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260066020526040812054601854610d0891611886565b905090565b6000546001600160a01b03163314610d375760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610aee918590610c1290866113fb565b6000546001600160a01b03163314610dc25760405162461bcd60e51b8152600401610b2290612007565b601b55565b6000546001600160a01b03163314610df15760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e465760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e9b5760405162461bcd60e51b8152600401610b2290612007565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f0f5760405162461bcd60e51b8152600401610b2290612007565b6064601854610f1e91906120b1565b811015610f7e5760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073686f756c64206265206d6f7265206f7220657175604482015267616c20746f20312560c01b6064820152608401610b22565b601955565b606060038054610a5e90612107565b6000610aee3384610c1285604051806060016040528060258152602001612199602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061184c565b6000546001600160a01b0316331461100b5760405162461bcd60e51b8152600401610b2290612007565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000610c1733848461145a565b6000546001600160a01b031633146110605760405162461bcd60e51b8152600401610b2290612007565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b8152600401610b2290612007565b6012839055601382905560148190556110c981610b9a85856113fb565b601755505050565b6000546001600160a01b031633146110fb5760405162461bcd60e51b8152600401610b2290612007565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061114890831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146111cb5760405162461bcd60e51b8152600401610b2290612007565b601a55565b6000546001600160a01b031633146111fa5760405162461bcd60e51b8152600401610b2290612007565b6001600160a01b03811661125f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b22565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004546112d59061010090046001600160a01b0316476118c8565b565b6001600160a01b0383166113395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b22565b6001600160a01b03821661139a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b22565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806114088385612099565b905083811015610c1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b22565b60006001600160a01b0384166114c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b22565b6001600160a01b0383166115225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b22565b601d54600160a01b900460ff16156115465761153f8484846118fe565b9050610c1b565b6001600160a01b0384166000908152600a602052604090205460ff1615801561158857506001600160a01b0383166000908152600a602052604090205460ff16155b156115f0576019548211156115f05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b22565b30600090815260066020526040902054601b5480821015906116139060026120d1565b821061162a57601b546116279060026120d1565b91505b8080156116415750601d54600160a01b900460ff16155b801561166657506001600160a01b0386166000908152600b602052604090205460ff16155b801561167b5750601d54600160a81b900460ff165b156116a157601d54600160b01b900460ff161561169857601b5491505b6116a1826119e4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600690915291909120546116f391869061184c565b6001600160a01b038716600090815260066020908152604080832093909355600890529081205460ff168061174057506001600160a01b03861660009081526008602052604090205460ff165b6117545761174f878787611a3c565b611756565b845b601d54909150600160b81b900460ff16801561178b57506001600160a01b03861660009081526009602052604090205460ff16155b156117c157601a546117b682610b9a896001600160a01b031660009081526006602052604090205490565b11156117c157600080fd5b6001600160a01b0386166000908152600660205260409020546117e490826113fb565b6001600160a01b0380881660008181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118389085815260200190565b60405180910390a360019350505050610c1b565b600081848411156118705760405162461bcd60e51b8152600401610b229190611fb4565b50600061187d84866120f0565b95945050505050565b6000610c1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061184c565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610bb2573d6000803e3d6000fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461194f91849061184c565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461197e90836113fb565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119d29086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b179055611a0081611b48565b4766b1a2bc2ec50000811115611a2b57600454611a2b9061010090046001600160a01b0316826118c8565b5050601d805460ff60a01b19169055565b6001600160a01b0383166000908152600b6020526040812054819060ff1615611a8657611a7f6064611a7960155486611d0690919063ffffffff16565b90611d85565b9050611ac4565b6001600160a01b0384166000908152600b602052604090205460ff1615611ac457611ac16064611a7960165486611d0690919063ffffffff16565b90505b8015611b3e5730600090815260066020526040902054611ae490826113fb565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b359085815260200190565b60405180910390a35b61187d8382611886565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b8b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611bdf57600080fd5b505afa158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c179190611e21565b81600181518110611c3857634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601c54611c5e91309116846112d7565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c9790859060009086903090429060040161205d565b600060405180830381600087803b158015611cb157600080fd5b505af1158015611cc5573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611cfa92919061203c565b60405180910390a15050565b600082611d1557506000610af2565b6000611d2183856120d1565b905082611d2e85836120b1565b14610c1b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b22565b6000610c1b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611de35760405162461bcd60e51b8152600401610b229190611fb4565b50600061187d84866120b1565b80358015158114611e0057600080fd5b919050565b600060208284031215611e16578081fd5b8135610c1b81612158565b600060208284031215611e32578081fd5b8151610c1b81612158565b60008060408385031215611e4f578081fd5b8235611e5a81612158565b91506020830135611e6a81612158565b809150509250929050565b600080600060608486031215611e89578081fd5b8335611e9481612158565b92506020840135611ea481612158565b929592945050506040919091013590565b60008060408385031215611ec7578182fd5b8235611ed281612158565b9150611ee060208401611df0565b90509250929050565b60008060408385031215611efb578182fd5b8235611f0681612158565b946020939093013593505050565b600060208284031215611f25578081fd5b610c1b82611df0565b600060208284031215611f3f578081fd5b5035919050565b600080600060608486031215611f5a578283fd5b505081359360208301359350604090920135919050565b6000815180845260208085019450808401835b83811015611fa95781516001600160a01b031687529582019590820190600101611f84565b509495945050505050565b6000602080835283518082850152825b81811015611fe057858101830151858201604001528201611fc4565b81811115611ff15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006120556040830184611f71565b949350505050565b85815284602082015260a06040820152600061207c60a0830186611f71565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156120ac576120ac612142565b500190565b6000826120cc57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120eb576120eb612142565b500290565b60008282101561210257612102612142565b500390565b600181811c9082168061211b57607f821691505b6020821081141561213c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461216d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122042318adc47d5286ddce57e6a961e603ba2dac84516fe9278e4d5a38184be82bd64736f6c63430008040033
Deployed Bytecode Sourcemap
14301:12835:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17708:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18874:161;;;;;;;;;;-1:-1:-1;18874:161:0;;;;;:::i;:::-;;:::i;:::-;;;3803:14:1;;3796:22;3778:41;;3766:2;3751:18;18874:161:0;3733:92:1;21779:115:0;;;;;;;;;;-1:-1:-1;21779:115:0;;;;;:::i;:::-;;:::i;:::-;;15981:41;;;;;;;;;;-1:-1:-1;15981:41:0;;;;-1:-1:-1;;;;;15981:41:0;;;;;;-1:-1:-1;;;;;3594:32:1;;;3576:51;;3564:2;3549:18;15981:41:0;3531:102:1;17985:100:0;;;;;;;;;;-1:-1:-1;18065:12:0;;17985:100;;;8781:25:1;;;8769:2;8754:18;17985:100:0;8736:76:1;20216:418:0;;;;;;;;;;-1:-1:-1;20216:418:0;;;;;:::i;:::-;;:::i;22993:313::-;;;;;;;;;;-1:-1:-1;22993:313:0;;;;;:::i;:::-;;:::i;19799:409::-;;;;;;;;;;-1:-1:-1;19799:409:0;;;;;:::i;:::-;;:::i;21267:113::-;;;;;;;;;;-1:-1:-1;21267:113:0;;;;;:::i;:::-;;:::i;14750:81::-;;;;;;;;;;;;;;;22341:128;;;;;;;;;;;;;:::i;19648:143::-;;;;;;;;;;-1:-1:-1;19648:143:0;;;;;:::i;:::-;;:::i;15252:36::-;;;;;;;;;;;;;;;;15340:37;;;;;;;;;;;;;;;;17894:83;;;;;;;;;;-1:-1:-1;17960:9:0;;17894:83;;17960:9;;;;9883:36:1;;9871:2;9856:18;17894:83:0;9838:87:1;18371:218:0;;;;;;;;;;-1:-1:-1;18371:218:0;;;;;:::i;:::-;;:::i;21647:124::-;;;;;;;;;;-1:-1:-1;21647:124:0;;;;;:::i;:::-;;:::i;16096:40::-;;;;;;;;;;-1:-1:-1;16096:40:0;;;;-1:-1:-1;;;16096:40:0;;;;;;15032:55;;;;;;;;;;-1:-1:-1;15032:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15152:48;;;;;;;;;;-1:-1:-1;15152:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15519:36;;;;;;;;;;;;;;;;21388:141;;;;;;;;;;-1:-1:-1;21388:141:0;;;;;:::i;:::-;;:::i;15429:39::-;;;;;;;;;;;;;;;;15384:38;;;;;;;;;;;;;;;;19503:133;;;;;;;;;;-1:-1:-1;19503:133:0;;;;;:::i;:::-;;:::i;6062:148::-;;;;;;;;;;;;;:::i;15295:38::-;;;;;;;;;;;;;;;;18093:119;;;;;;;;;;-1:-1:-1;18093:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;18186:18:0;18159:7;18186:18;;;:9;:18;;;;;;;18093:119;15808:42;;;;;;;;;;;;;;;;15857:46;;;;;;;;;;;;;;;;15651:38;;;;;;;;;;;;;;;;5837:79;;;;;;;;;;-1:-1:-1;5875:7:0;5902:6;-1:-1:-1;;;;;5902:6:0;5837:79;;21050:209;;;;;;;;;;-1:-1:-1;21050:209:0;;;;;:::i;:::-;;:::i;17799:87::-;;;;;;;;;;;;;:::i;15477:35::-;;;;;;;;;;;;;;;;15696:44;;;;;;;;;;;;;;;;18597:269;;;;;;;;;;-1:-1:-1;18597:269:0;;;;;:::i;:::-;;:::i;22204:125::-;;;;;;;;;;-1:-1:-1;22204:125:0;;;;;:::i;:::-;;:::i;22818:167::-;;;;;;;;;;-1:-1:-1;22818:167:0;;;;;:::i;:::-;;:::i;15209:36::-;;;;;;;;;;;;;;;;21902:115;;;;;;;;;;-1:-1:-1;21902:115:0;;;;;:::i;:::-;;:::i;20646:392::-;;;;;;;;;;-1:-1:-1;20646:392:0;;;;;:::i;:::-;;:::i;22025:171::-;;;;;;;;;;-1:-1:-1;22025:171:0;;;;;:::i;:::-;;:::i;15094:51::-;;;;;;;;;;-1:-1:-1;15094:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16029:26;;;;;;;;;;-1:-1:-1;16029:26:0;;;;-1:-1:-1;;;;;16029:26:0;;;15562:37;;;;;;;;;;;;;;;;16143:45;;;;;;;;;;-1:-1:-1;16143:45:0;;;;-1:-1:-1;;;16143:45:0;;;;;;18220:143;;;;;;;;;;-1:-1:-1;18220:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18328:18:0;;;18301:7;18328:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18220:143;19388:107;;;;;;;;;;-1:-1:-1;19388:107:0;;;;;:::i;:::-;;:::i;15608:36::-;;;;;;;;;;;;;;;;21537:102;;;;;;;;;;-1:-1:-1;21537:102:0;;;;;:::i;:::-;;:::i;6218:244::-;;;;;;;;;;-1:-1:-1;6218:244:0;;;;;:::i;:::-;;:::i;22611:105::-;;;;;;;;;;;;;:::i;16195:35::-;;;;;;;;;;-1:-1:-1;16195:35:0;;;;-1:-1:-1;;;16195:35:0;;;;;;14971:54;;;;;;;;;;-1:-1:-1;14971:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17708:83;17745:13;17778:5;17771:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17708:83;:::o;18874:161::-;18949:4;18966:39;267:10;18989:7;18998:6;18966:8;:39::i;:::-;-1:-1:-1;19023:4:0;18874:161;;;;;:::o;21779:115::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;;;;;;;;;21854:10:::1;:32:::0;;-1:-1:-1;;;;;21854:32:0;;::::1;;;-1:-1:-1::0;;;;;;21854:32:0;;::::1;::::0;;;::::1;::::0;;21779:115::o;20216:418::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;20345:18:::1;:36:::0;;;20392:18:::1;:36:::0;;;20439:20:::1;:40:::0;;;20513:68:::1;20462:17:::0;20513:42:::1;20366:15:::0;20413;20513:22:::1;:42::i;:::-;:46:::0;::::1;:68::i;:::-;20492:18;:89:::0;;;20623:2:::1;-1:-1:-1::0;20601:24:0::1;20592:34;;;::::0;::::1;;20216:418:::0;;;:::o;22993:313::-;23091:4;23108:36;23118:6;23126:9;23137:6;23108:9;:36::i;:::-;-1:-1:-1;23155:121:0;23164:6;267:10;23186:89;23224:6;23186:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23186:19:0;;;;;;:11;:19;;;;;;;;267:10;23186:33;;;;;;;;;;:37;:89::i;:::-;23155:8;:121::i;:::-;-1:-1:-1;23294:4:0;22993:313;;;;;;:::o;19799:409::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;19927:17:::1;:35:::0;;;19973:17:::1;:35:::0;;;20019:19:::1;:39:::0;;;20091:65:::1;20041:17:::0;20091:40:::1;19947:15:::0;19993;20091:21:::1;:40::i;:65::-;20071:17;:85:::0;;;20197:2:::1;-1:-1:-1::0;20176:23:0::1;20167:33;;;::::0;::::1;21267:113:::0;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;21345:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;21345:27:0::1;-1:-1:-1::0;;;;21345:27:0;;::::1;::::0;;;::::1;::::0;;21267:113::o;22341:128::-;22448:11;-1:-1:-1;;;;;18186:18:0;22394:7;18186:18;;;:9;:18;;;;;;22421:12;;:40;;:16;:40::i;:::-;22414:47;;22341:128;:::o;19648:143::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19742:30:0;;;::::1;;::::0;;;:21:::1;:30;::::0;;;;:41;;-1:-1:-1;;19742:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19648:143::o;18371:218::-;267:10;18459:4;18508:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18508:34:0;;;;;;;;;;18459:4;;18476:83;;18499:7;;18508:50;;18547:10;18508:38;:50::i;21647:124::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;21729:23:::1;:34:::0;21647:124::o;21388:141::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21482:30:0;;;::::1;;::::0;;;:22:::1;:30;::::0;;;;:39;;-1:-1:-1;;21482:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21388:141::o;19503:133::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19593:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;19593:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19503:133::o;6062:148::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;6169:1:::1;6153:6:::0;;6132:40:::1;::::0;-1:-1:-1;;;;;6153:6:0;;::::1;::::0;6132:40:::1;::::0;6169:1;;6132:40:::1;6200:1;6183:19:::0;;-1:-1:-1;;;;;;6183:19:0::1;::::0;;6062:148::o;21050:209::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;21166:3:::1;21153:12;;:16;;;;:::i;:::-;21138:11;:31;;21130:84;;;::::0;-1:-1:-1;;;21130:84:0;;5279:2:1;21130:84:0::1;::::0;::::1;5261:21:1::0;5318:2;5298:18;;;5291:30;5357:34;5337:18;;;5330:62;-1:-1:-1;;;5408:18:1;;;5401:38;5456:19;;21130:84:0::1;5251:230:1::0;21130:84:0::1;21225:12;:26:::0;21050:209::o;17799:87::-;17838:13;17871:7;17864:14;;;;;:::i;18597:269::-;18690:4;18707:129;267:10;18730:7;18739:96;18778:15;18739:96;;;;;;;;;;;;;;;;;267:10;18739:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18739:34:0;;;;;;;;;;;;:38;:96::i;22204:125::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;22285:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;22285:36:0::1;-1:-1:-1::0;;;;22285:36:0;;::::1;::::0;;;::::1;::::0;;22204:125::o;22818:167::-;22896:4;22913:42;267:10;22937:9;22948:6;22913:9;:42::i;21902:115::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;21977:10:::1;:32:::0;;-1:-1:-1;;;;;;21977:32:0::1;-1:-1:-1::0;;;;;21977:32:0;;;::::1;::::0;;;::::1;::::0;;21902:115::o;20646:392::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;20794:16:::1;:36:::0;;;20841:16:::1;:36:::0;;;20888:18:::1;:40:::0;;;20968:62:::1;20909:19:::0;20968:38:::1;20813:17:::0;20860;20968:20:::1;:38::i;:62::-;20941:24;:89:::0;-1:-1:-1;;;20646:392:0:o;22025:171::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;22102:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;22102:32:0::1;-1:-1:-1::0;;;;22102:32:0;;::::1;;::::0;;22150:38:::1;::::0;::::1;::::0;::::1;::::0;22126:8;3803:14:1;3796:22;3778:41;;3766:2;3751:18;;3733:92;22150:38:0::1;;;;;;;;22025:171:::0;:::o;19388:107::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19456:24:0::1;;::::0;;;:15:::1;:24;::::0;;;;:31;;-1:-1:-1;;19456:31:0::1;19483:4;19456:31;::::0;;19388:107::o;21537:102::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;21609:10:::1;:22:::0;21537:102::o;6218:244::-;5971:6;;-1:-1:-1;;;;;5971:6:0;267:10;5971:22;5963:67;;;;-1:-1:-1;;;5963:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6307:22:0;::::1;6299:73;;;::::0;-1:-1:-1;;;6299:73:0;;5688:2:1;6299:73:0::1;::::0;::::1;5670:21:1::0;5727:2;5707:18;;;5700:30;5766:34;5746:18;;;5739:62;-1:-1:-1;;;5817:18:1;;;5810:36;5863:19;;6299:73:0::1;5660:228:1::0;6299:73:0::1;6409:6;::::0;;6388:38:::1;::::0;-1:-1:-1;;;;;6388:38:0;;::::1;::::0;6409:6;::::1;::::0;6388:38:::1;::::0;::::1;6437:6;:17:::0;;-1:-1:-1;;;;;;6437:17:0::1;-1:-1:-1::0;;;;;6437:17:0;;;::::1;::::0;;;::::1;::::0;;6218:244::o;22611:105::-;22674:10;;22653:55;;22674:10;;;-1:-1:-1;;;;;22674:10:0;22686:21;22653:20;:55::i;:::-;22611:105::o;19043:337::-;-1:-1:-1;;;;;19136:19:0;;19128:68;;;;-1:-1:-1;;;19128:68:0;;8432:2:1;19128:68:0;;;8414:21:1;8471:2;8451:18;;;8444:30;8510:34;8490:18;;;8483:62;-1:-1:-1;;;8561:18:1;;;8554:34;8605:19;;19128:68:0;8404:226:1;19128:68:0;-1:-1:-1;;;;;19215:21:0;;19207:68;;;;-1:-1:-1;;;19207:68:0;;6095:2:1;19207:68:0;;;6077:21:1;6134:2;6114:18;;;6107:30;6173:34;6153:18;;;6146:62;-1:-1:-1;;;6224:18:1;;;6217:32;6266:19;;19207:68:0;6067:224:1;19207:68:0;-1:-1:-1;;;;;19288:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19340:32;;8781:25:1;;;19340:32:0;;8754:18:1;19340:32:0;;;;;;;19043:337;;;:::o;1239:181::-;1297:7;;1329:5;1333:1;1329;:5;:::i;:::-;1317:17;;1358:1;1353;:6;;1345:46;;;;-1:-1:-1;;;1345:46:0;;6498:2:1;1345:46:0;;;6480:21:1;6537:2;6517:18;;;6510:30;6576:29;6556:18;;;6549:57;6623:18;;1345:46:0;6470:177:1;23314:1862:0;23401:4;-1:-1:-1;;;;;23428:20:0;;23420:70;;;;-1:-1:-1;;;23420:70:0;;8026:2:1;23420:70:0;;;8008:21:1;8065:2;8045:18;;;8038:30;8104:34;8084:18;;;8077:62;-1:-1:-1;;;8155:18:1;;;8148:35;8200:19;;23420:70:0;7998:227:1;23420:70:0;-1:-1:-1;;;;;23509:23:0;;23501:71;;;;-1:-1:-1;;;23501:71:0;;4875:2:1;23501:71:0;;;4857:21:1;4914:2;4894:18;;;4887:30;4953:34;4933:18;;;4926:62;-1:-1:-1;;;5004:18:1;;;4997:33;5047:19;;23501:71:0;4847:225:1;23501:71:0;23588:16;;-1:-1:-1;;;23588:16:0;;;;23585:1584;;;23638:41;23653:6;23661:9;23672:6;23638:14;:41::i;:::-;23631:48;;;;23585:1584;-1:-1:-1;;;;;23735:26:0;;;;;;:18;:26;;;;;;;;23734:27;:61;;;;-1:-1:-1;;;;;;23766:29:0;;;;;;:18;:29;;;;;;;;23765:30;23734:61;23731:176;;;23834:12;;23824:6;:22;;23816:75;;;;-1:-1:-1;;;23816:75:0;;6854:2:1;23816:75:0;;;6836:21:1;6893:2;6873:18;;;6866:30;6932:34;6912:18;;;6905:62;-1:-1:-1;;;6983:18:1;;;6976:38;7031:19;;23816:75:0;6826:230:1;23816:75:0;23984:4;23935:28;18186:18;;;:9;:18;;;;;;24060:23;;24036:47;;;;;24126:25;;24150:1;24126:25;:::i;:::-;24102:20;:49;24098:120;;24193:23;;:25;;24217:1;24193:25;:::i;:::-;24170:48;;24098:120;24251:23;:44;;;;-1:-1:-1;24279:16:0;;-1:-1:-1;;;24279:16:0;;;;24278:17;24251:44;:72;;;;-1:-1:-1;;;;;;24300:23:0;;;;;;:15;:23;;;;;;;;24299:24;24251:72;:97;;;;-1:-1:-1;24327:21:0;;-1:-1:-1;;;24327:21:0;;;;24251:97;24247:308;;;24386:25;;-1:-1:-1;;;24386:25:0;;;;24383:97;;;24457:23;;24434:46;;24383:97;24499:36;24514:20;24499:14;:36::i;:::-;24591:53;;;;;;;;;;;-1:-1:-1;;;24591:53:0;;;;;;;;-1:-1:-1;;;;;24591:17:0;;-1:-1:-1;24591:17:0;;;:9;:17;;;;;;;;:53;;24613:6;;24591:21;:53::i;:::-;-1:-1:-1;;;;;24571:17:0;;;;;;:9;:17;;;;;;;;:73;;;;24684:21;:29;;;;;;;;;:65;;-1:-1:-1;;;;;;24717:32:0;;;;;;:21;:32;;;;;;;;24684:65;24683:156;;24805:34;24813:6;24821:9;24832:6;24805:7;:34::i;:::-;24683:156;;;24796:6;24683:156;24859:16;;24661:178;;-1:-1:-1;;;;24859:16:0;;;;:54;;;;-1:-1:-1;;;;;;24880:33:0;;;;;;:22;:33;;;;;;;;24879:34;24859:54;24856:136;;;24981:10;;24940:37;24965:11;24940:20;24950:9;-1:-1:-1;;;;;18186:18:0;18159:7;18186:18;;;:9;:18;;;;;;;18093:119;24940:37;:51;;24932:60;;;;;;-1:-1:-1;;;;;25032:20:0;;;;;;:9;:20;;;;;;:37;;25057:11;25032:24;:37::i;:::-;-1:-1:-1;;;;;25009:20:0;;;;;;;:9;:20;;;;;;;:60;;;;25091:40;;;;;;;;;;25119:11;8781:25:1;;8769:2;8754:18;;8736:76;25091:40:0;;;;;;;;25153:4;25146:11;;;;;;;1572:192;1658:7;1694:12;1686:6;;;;1678:29;;;;-1:-1:-1;;;1678:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1718:9:0;1730:5;1734:1;1730;:5;:::i;:::-;1718:17;1572:192;-1:-1:-1;;;;;1572:192:0:o;1428:136::-;1486:7;1513:43;1517:1;1520;1513:43;;;;;;;;;;;;;;;;;:3;:43::i;22477:126::-;22569:26;;-1:-1:-1;;;;;22569:18:0;;;:26;;;;;22588:6;;22569:26;;;;22588:6;22569:18;:26;;;;;;;;;;;;;;;;;;;25184:330;25314:53;;;;;;;;;;;-1:-1:-1;;;25314:53:0;;;;;;;;-1:-1:-1;;;;;25314:17:0;;25277:4;25314:17;;;:9;:17;;;;;;;:53;;25336:6;;25314:21;:53::i;:::-;-1:-1:-1;;;;;25294:17:0;;;;;;;:9;:17;;;;;;:73;;;;25401:20;;;;;;;:32;;25426:6;25401:24;:32::i;:::-;-1:-1:-1;;;;;25378:20:0;;;;;;;:9;:20;;;;;;;:55;;;;25449:35;;;;;;;;;;25477:6;8781:25:1;;8769:2;8754:18;;8736:76;25449:35:0;;;;;;;;-1:-1:-1;25502:4:0;25184:330;;;;;:::o;25522:291::-;16653:16;:23;;-1:-1:-1;;;;16653:23:0;-1:-1:-1;;;16653:23:0;;;25596:25:::1;25613:7:::0;25596:16:::1;:25::i;:::-;25661:21;25719:17;25698:38:::0;::::1;25695:108;;;25772:10;::::0;25751:52:::1;::::0;25772:10:::1;::::0;::::1;-1:-1:-1::0;;;;;25772:10:0::1;25784:18:::0;25751:20:::1;:52::i;:::-;-1:-1:-1::0;;16699:16:0;:24;;-1:-1:-1;;;;16699:24:0;;;25522:291::o;26499:628::-;-1:-1:-1;;;;;26660:23:0;;26585:7;26660:23;;;:15;:23;;;;;;26585:7;;26660:23;;26657:229;;;26712:38;26746:3;26712:29;26723:17;;26712:6;:10;;:29;;;;:::i;:::-;:33;;:38::i;:::-;26700:50;;26657:229;;;-1:-1:-1;;;;;26780:26:0;;;;;;:15;:26;;;;;;;;26777:109;;;26835:39;26870:3;26835:30;26846:18;;26835:6;:10;;:30;;;;:::i;:39::-;26823:51;;26777:109;26909:13;;26906:173;;26984:4;26966:24;;;;:9;:24;;;;;;:39;;26995:9;26966:28;:39::i;:::-;26957:4;26939:24;;;;:9;:24;;;;;;;:66;;;;27025:42;;-1:-1:-1;;;;;27025:42:0;;;;;;;27057:9;8781:25:1;;8769:2;8754:18;;8736:76;27025:42:0;;;;;;;;26906:173;27098:21;:6;27109:9;27098:10;:21::i;25825:666::-;25975:16;;;25989:1;25975:16;;;;;;;;25951:21;;25975:16;;;;;;;;;;-1:-1:-1;25975:16:0;25951:40;;26020:4;26002;26007:1;26002:7;;;;;;-1:-1:-1;;;26002:7:0;;;;;;;;;-1:-1:-1;;;;;26002:23:0;;;:7;;;;;;;;;;:23;;;;26046:15;;:22;;;-1:-1:-1;;;26046:22:0;;;;:15;;;;;:20;;:22;;;;;26002:7;;26046:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26036:4;26041:1;26036:7;;;;;;-1:-1:-1;;;26036:7:0;;;;;;;;;-1:-1:-1;;;;;26036:32:0;;;:7;;;;;;;;;:32;26113:15;;26081:62;;26098:4;;26113:15;26131:11;26081:8;:62::i;:::-;26182:15;;:240;;-1:-1:-1;;;26182:240:0;;-1:-1:-1;;;;;26182:15:0;;;;:66;;:240;;26263:11;;26182:15;;26333:4;;26360;;26396:15;;26182:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26448:35;26465:11;26478:4;26448:35;;;;;;;:::i;:::-;;;;;;;;25825:666;;:::o;1772:250::-;1830:7;1854:6;1850:47;;-1:-1:-1;1884:1:0;1877:8;;1850:47;1909:9;1921:5;1925:1;1921;:5;:::i;:::-;1909:17;-1:-1:-1;1954:1:0;1945:5;1949:1;1909:17;1945:5;:::i;:::-;:10;1937:56;;;;-1:-1:-1;;;1937:56:0;;7263:2:1;1937:56:0;;;7245:21:1;7302:2;7282:18;;;7275:30;7341:34;7321:18;;;7314:62;-1:-1:-1;;;7392:18:1;;;7385:31;7433:19;;1937:56:0;7235:223:1;2030:132:0;2088:7;2115:39;2119:1;2122;2115:39;;;;;;;;;;;;;;;;;2256:7;2291:12;2284:5;2276:28;;;;-1:-1:-1;;;2276:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2315:9:0;2327:5;2331:1;2327;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1646:6;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:2;;;1728:6;1720;1713:22;1675:2;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1865:35:1;1896:2;1881:18;;1865:35;:::i;:::-;1855:45;;1665:241;;;;;:::o;1911:325::-;1979:6;1987;2040:2;2028:9;2019:7;2015:23;2011:32;2008:2;;;2061:6;2053;2046:22;2008:2;2105:9;2092:23;2124:31;2149:5;2124:31;:::i;:::-;2174:5;2226:2;2211:18;;;;2198:32;;-1:-1:-1;;;1998:238:1:o;2241:190::-;2297:6;2350:2;2338:9;2329:7;2325:23;2321:32;2318:2;;;2371:6;2363;2356:22;2318:2;2399:26;2415:9;2399:26;:::i;2436:190::-;2495:6;2548:2;2536:9;2527:7;2523:23;2519:32;2516:2;;;2569:6;2561;2554:22;2516:2;-1:-1:-1;2597:23:1;;2506:120;-1:-1:-1;2506:120:1:o;2631:326::-;2708:6;2716;2724;2777:2;2765:9;2756:7;2752:23;2748:32;2745:2;;;2798:6;2790;2783:22;2745:2;-1:-1:-1;;2826:23:1;;;2896:2;2881:18;;2868:32;;-1:-1:-1;2947:2:1;2932:18;;;2919:32;;2735:222;-1:-1:-1;2735:222:1:o;2962:463::-;3015:3;3053:5;3047:12;3080:6;3075:3;3068:19;3106:4;3135:2;3130:3;3126:12;3119:19;;3172:2;3165:5;3161:14;3193:3;3205:195;3219:6;3216:1;3213:13;3205:195;;;3284:13;;-1:-1:-1;;;;;3280:39:1;3268:52;;3340:12;;;;3375:15;;;;3316:1;3234:9;3205:195;;;-1:-1:-1;3416:3:1;;3023:402;-1:-1:-1;;;;;3023:402:1:o;4065:603::-;4177:4;4206:2;4235;4224:9;4217:21;4267:6;4261:13;4310:6;4305:2;4294:9;4290:18;4283:34;4335:4;4348:140;4362:6;4359:1;4356:13;4348:140;;;4457:14;;;4453:23;;4447:30;4423:17;;;4442:2;4419:26;4412:66;4377:10;;4348:140;;;4506:6;4503:1;4500:13;4497:2;;;4576:4;4571:2;4562:6;4551:9;4547:22;4543:31;4536:45;4497:2;-1:-1:-1;4652:2:1;4631:15;-1:-1:-1;;4627:29:1;4612:45;;;;4659:2;4608:54;;4186:482;-1:-1:-1;;;4186:482:1:o;7463:356::-;7665:2;7647:21;;;7684:18;;;7677:30;7743:34;7738:2;7723:18;;7716:62;7810:2;7795:18;;7637:182::o;8817:332::-;9024:6;9013:9;9006:25;9067:2;9062;9051:9;9047:18;9040:30;8987:4;9087:56;9139:2;9128:9;9124:18;9116:6;9087:56;:::i;:::-;9079:64;8996:153;-1:-1:-1;;;;8996:153:1:o;9154:582::-;9453:6;9442:9;9435:25;9496:6;9491:2;9480:9;9476:18;9469:34;9539:3;9534:2;9523:9;9519:18;9512:31;9416:4;9560:57;9612:3;9601:9;9597:19;9589:6;9560:57;:::i;:::-;-1:-1:-1;;;;;9653:32:1;;;;9648:2;9633:18;;9626:60;-1:-1:-1;9717:3:1;9702:19;9695:35;9552:65;9425:311;-1:-1:-1;;;9425:311:1:o;9930:128::-;9970:3;10001:1;9997:6;9994:1;9991:13;9988:2;;;10007:18;;:::i;:::-;-1:-1:-1;10043:9:1;;9978:80::o;10063:217::-;10103:1;10129;10119:2;;-1:-1:-1;;;10154:31:1;;10208:4;10205:1;10198:15;10236:4;10161:1;10226:15;10119:2;-1:-1:-1;10265:9:1;;10109:171::o;10285:168::-;10325:7;10391:1;10387;10383:6;10379:14;10376:1;10373:21;10368:1;10361:9;10354:17;10350:45;10347:2;;;10398:18;;:::i;:::-;-1:-1:-1;10438:9:1;;10337:116::o;10458:125::-;10498:4;10526:1;10523;10520:8;10517:2;;;10531:18;;:::i;:::-;-1:-1:-1;10568:9:1;;10507:76::o;10588:380::-;10667:1;10663:12;;;;10710;;;10731:2;;10785:4;10777:6;10773:17;10763:27;;10731:2;10838;10830:6;10827:14;10807:18;10804:38;10801:2;;;10884:10;10879:3;10875:20;10872:1;10865:31;10919:4;10916:1;10909:15;10947:4;10944:1;10937:15;10801:2;;10643:325;;;:::o;10973:127::-;11034:10;11029:3;11025:20;11022:1;11015:31;11065:4;11062:1;11055:15;11089:4;11086:1;11079:15;11105:131;-1:-1:-1;;;;;11180:31:1;;11170:42;;11160:2;;11226:1;11223;11216:12;11160:2;11150:86;:::o
Swarm Source
ipfs://42318adc47d5286ddce57e6a961e603ba2dac84516fe9278e4d5a38184be82bd
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.