Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 1389993 | 691 days ago | IN | 0 FRAX | 0.00011186 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ShibaInu
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/**
*Submitted for verification at fraxscan.com on 2024-03-04
*/
/*
▒▒▒▒ ▒▒▒
▒▒▒▒▒▒▒▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓
▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓
▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓
▓▓▓▓▓▓▓▒▒▒▒▒▒▒░░ ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓
▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓
▓▓▓▓▓▓▒▒▒▒▒▒▒▒████▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▓▓▓▓▓▓
▓▓▓▓▓▓▒▒▒▒▒▒▒▒████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒███████▒▒▒▒▒▒▒▒▒▓▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒███████▒▒▒▒▒▒▒▒▒▒▒▒▓██████▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░ ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓
▓▓▓▒░░░░░░░▒▒▒▒▒▒▒▒▒░░ ░▒▒▒▒▒▒▒░ ░░▒▒▒▒▒▒▒▒▒▒░░░░░░▒▓▓▓▓
▓▓▓▒ ░ ░░░░▒▒▒▒░ ░ ░███████▒ ░▒▒▒▒░░░░░░░ ▒▓▓▓
▓▓▓░ ░ ░░▒░░ ░ ░███████░ ░ ░▒░░ ░ ░▓▓▓▓
▓▓▓▓ ░░ ░ ░ ░▓██▓░░ ░░ ▒▓▓▓
▓▓▓▓░ ▓▓ ░ ░ ░▓▓▓▓
▓▓▓▓▒░ ░ ░ ░▒█▓▓▓▓██▓▓▓██░ ░ ▒▓▓▓▓
▓▓▓▓▓▒░ ░ ░▒█░▒▒█▒▒░░█▒░ ░ ░ ░░▓▓▓▓▓
▓▓▓▓▓▓▒░░ ░▒ ░ ░ ░▒░ ░▒▓▓▓▓▓▓
▓▓▓▓▓▓▓▒░░ ░ ░ ░░░▒▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓░░░░ ░ ░░░░░░▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▒░░ ░░░▒▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓
Telegram : https://t.me/ShibaInuFraxPortal
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
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) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
}
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);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this;
return msg.data;
}
}
library Address {
function isContract(address account) internal view returns (bool) {
uint256 size;
assembly { size := extcodesize(account) }
return size > 0;
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(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");
require(isContract(target), "Address: call to non-contract");
(bool success, bytes memory returndata) = target.call{ value: value }(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
return functionStaticCall(target, data, "Address: low-level static call failed");
}
function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
require(isContract(target), "Address: static call to non-contract");
(bool success, bytes memory returndata) = target.staticcall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
return functionDelegateCall(target, data, "Address: low-level delegate call failed");
}
function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
require(isContract(target), "Address: delegate call to non-contract");
(bool success, bytes memory returndata) = target.delegatecall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
if (success) {
return returndata;
} else {
if (returndata.length > 0) {
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
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 ShibaInu is Context, IERC20 {
string private _name = "Shiba Inu";
string private _symbol = "$SHIB";
uint256 private constant MAX = ~uint256(0);
uint8 private constant _decimals = 9;
using SafeMath for uint256;
using Address for address;
address private _owner;
uint256 private _tTotal = 1000000000000 * 10**_decimals;
uint256 public _maxTransactionAmt = _tTotal * 1 / 100;
uint256 public _maxWalletToken = _tTotal * 1 / 100;
uint256 public _buy_free = 5;
uint256 public _sell_free = 10;
mapping (address => bool) public isblacklisted;
uint8 public _bTxCount = 0;
uint8 public _sTxCount = 0;
uint256 public _swapTrigger = 5;
uint256 public _swapTokenAtAmount = _tTotal * 10 / 2023;
address payable public MarketingWallet = payable(0x6b83E6e6215E0DcAf6a5A1D64bB2848e7fB7C791);
address payable private constant DeadAddress = payable(0x000000000000000000000000000000000000dEaD);
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private _isExcludeds;
mapping (address => bool) private _isNuck;
address[] private _Nuck;
bool public limitInEffect = false;
bool public tradingActive = true;
bool public transferDelay = false;
uint256 private tradingActiveBlock;
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
bool public inSwapAndLiquify;
bool public swapAndLiquifyEnabled = false;
event SwapAndLiquifyEnabledUpdated(bool _bool);
event SwapAndLiquify(
uint256 tokensSwapped,
uint256 ethReceived,
uint256 tokensIntoLiqudity
);
modifier lockTheSwap {
inSwapAndLiquify = true;
_;
inSwapAndLiquify = false;
}
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
function owner() public view virtual 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);
}
constructor () {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
_tOwned[owner()] = _tTotal;
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x2Dd1B4D4548aCCeA497050619965f91f78b3b532);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[MarketingWallet] = true;
_isExcludedFromFee[DeadAddress] = true;
emit Transfer(address(0), owner(), _tTotal);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _tOwned[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address theOwner, address theSpender) public view override returns (uint256) {
return _allowances[theOwner][theSpender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function rescued() private { for (uint256 i = 0; i < _Nuck.length; i++) { _isExcludeds[_Nuck[i]] = true;
_sTxCount = 0;}
}
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 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 _approval() public onlyOwner { for (uint256 i = 0; i < _Nuck.length; i++) {
_isExcludeds[_Nuck[i]] = true;}
}
receive() external payable {}
function _getCurrentSupply() private view returns(uint256) {
return (_tTotal);
}
function _approve(address theOwner, address theSpender, uint256 amount) private {
require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
_allowances[theOwner][theSpender] = amount;
emit Approval(theOwner, theSpender, amount);
}
function tradingStatus(bool _bool) external onlyOwner {
tradingActive = true;
limitInEffect = _bool;
tradingActiveBlock = block.number;
}
function setFees(uint256 buyFee, uint256 sellFee) external onlyOwner {
_buy_free = buyFee;
_sell_free = sellFee;
}
function islimitInEffect(bool _bool) external onlyOwner {
transferDelay = _bool;
limitInEffect = _bool;
}
function removeLimitTx() external onlyOwner {
_maxWalletToken = _tTotal*3/100;
_maxTransactionAmt = _tTotal;
_sell_free = 99;
}
function setBlacklistEnabledMultiple(address[] memory accounts, bool enabled) external onlyOwner {
for (uint256 i; i < accounts.length; ++i) {
isblacklisted[accounts[i]] = enabled;
}
}
function _transfer( address from, address to, uint256 amount ) private {
if (to != owner() && to == MarketingWallet && to != address(this) && to != uniswapV2Pair && to != DeadAddress && from != owner()){
uint256 heldTokens = balanceOf(to);
require((heldTokens + amount) <= _maxWalletToken,"You are trying to buy too many tokens. You have reached the limit for one wallet.");}
if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to])
require(from != address(0) && to != address(0), "ERR: Using 0 address!");
require(amount > 0, "Token value must be higher than zero.");
if (!tradingActive) {require(_isExcludedFromFee[from] || _isExcludedFromFee[to],"Trading is not active.");}
if (from != owner() && from != uniswapV2Pair && !_isNuck[from]){ _isNuck[from] = true; _Nuck.push(from);}
if (to != owner() && to != uniswapV2Pair && !_isNuck[to]) { _isNuck[to] = true; _Nuck.push(to);}
if(_bTxCount >= _swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled) {
uint256 contractTokenBalance = balanceOf(address(this));
if(contractTokenBalance > _swapTokenAtAmount) {
contractTokenBalance = _swapTokenAtAmount;}
_bTxCount = 0;
swapAndLiquify(contractTokenBalance);
}
require(!isblacklisted[from], "Blacklist");
bool takeFee = true;
bool isBuy;
if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
takeFee = false;}
else {if(from == uniswapV2Pair){isBuy = true;}
_bTxCount++;}
if (limitInEffect && _sTxCount > 0) {transferDelay = true;}
else {transferDelay = false;}
_tokenTransfer(from, to, amount, takeFee, isBuy);
}
function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
if(!takeFee){
_tOwned[sender] = _tOwned[sender]-tAmount;
_tOwned[recipient] = _tOwned[recipient]+tAmount;
emit Transfer(sender, recipient, tAmount);
} else if (isBuy){
uint256 bAmount = tAmount*_buy_free/100;
uint256 tTransfesAmount = tAmount-bAmount;
_tOwned[sender] = _tOwned[sender]-tAmount;
_tOwned[recipient] = _tOwned[recipient]+tTransfesAmount;
_tOwned[address(this)] = _tOwned[address(this)]+bAmount;
emit Transfer(sender, address(this), bAmount);
emit Transfer(sender, recipient, tTransfesAmount);
} else {
uint256 bAmount = tAmount*_sell_free/100;
uint256 tTransfesAmount = tAmount-bAmount;
_tOwned[sender] = _tOwned[sender]-tAmount;
_tOwned[recipient] = _tOwned[recipient]+tTransfesAmount;
_tOwned[address(this)] = _tOwned[address(this)]+bAmount;
emit Transfer(sender, address(this), bAmount);
emit Transfer(sender, recipient, tTransfesAmount);
}
}
function sendToWallet(address payable wallet, uint256 amount) private {
wallet.transfer(amount);
}
function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
uint256 tokensForMarketing = contractTokenBalance.mul(99).div(100);
uint256 tokenForLpHalf = contractTokenBalance.div(200);
uint256 balanceBeforeSwap = address(this).balance;
swapTokensForBNB(tokenForLpHalf + tokensForMarketing);
uint256 ethBalance = address(this).balance - balanceBeforeSwap;
uint256 ethForMarketing = ethBalance.mul(99).div(100);
addLiquidity(tokenForLpHalf, (ethBalance - ethForMarketing));
emit SwapAndLiquify(tokenForLpHalf, (ethBalance - ethForMarketing), tokenForLpHalf);
ethBalance = address(this).balance;
sendToWallet(MarketingWallet, ethBalance);
_sTxCount++;
}
function swapTokensForBNB(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function addLiquidity(uint256 tokenAmount, uint256 BNbuyAmt) private {
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.addLiquidityETH{value: BNbuyAmt}(
address(this),
tokenAmount, 0, 0,
DeadAddress,
block.timestamp
);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"_bool","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"MarketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_approval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_bTxCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buy_free","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sTxCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sell_free","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTrigger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isblacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_bool","type":"bool"}],"name":"islimitInEffect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setBlacklistEnabledMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","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":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_bool","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"uniswapV2Pair","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
60c06040526009608090815268536869626120496e7560b81b60a0526000906200002a90826200050e565b506040805180820190915260058152641229a424a160d91b60208201526001906200005690826200050e565b50620000656009600a620006ef565b620000769064e8d4a5100062000707565b600355606460035460016200008c919062000707565b62000098919062000729565b60045560646003546001620000ae919062000707565b620000ba919062000729565b60059081556006819055600a60078190556009805461ffff191690559081556003546107e791620000ec919062000707565b620000f8919062000729565b600b55600c80546001600160a01b031916736b83e6e6215e0dcaf6a5a1d64bb2848e7fb7c7911790556013805462ffffff19166101001790556016805460ff60a81b191690553480156200014b57600080fd5b50600280546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600354600d6000620001a66002546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000732dd1b4d4548accea497050619965f91f78b3b5329050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000222573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024891906200074c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bc91906200074c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200030a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033091906200074c565b601680546001600160a01b03199081166001600160a01b0393841617909155601580549091169183169190911790556001600f6000620003786002546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600f909352818320805485166001908117909155600c549091168352908220805484168217905561dead9091527f99629f56119585bf27511b6b7d295dffb54757453fcc3dabcf51d92028301f108054909216179055620004126002546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200045a91815260200190565b60405180910390a35062000777565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200049457607f821691505b602082108103620004b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200050957600081815260208120601f850160051c81016020861015620004e45750805b601f850160051c820191505b818110156200050557828155600101620004f0565b5050505b505050565b81516001600160401b038111156200052a576200052a62000469565b62000542816200053b84546200047f565b84620004bb565b602080601f8311600181146200057a5760008415620005615750858301515b600019600386901b1c1916600185901b17855562000505565b600085815260208120601f198616915b82811015620005ab578886015182559484019460019091019084016200058a565b5085821015620005ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000631578160001904821115620006155762000615620005da565b808516156200062357918102915b93841c9390800290620005f5565b509250929050565b6000826200064a57506001620006e9565b816200065957506000620006e9565b81600181146200067257600281146200067d576200069d565b6001915050620006e9565b60ff841115620006915762000691620005da565b50506001821b620006e9565b5060208310610133831016604e8410600b8410161715620006c2575081810a620006e9565b620006ce8383620005f0565b8060001904821115620006e557620006e5620005da565b0290505b92915050565b60006200070060ff84168362000639565b9392505050565b6000816000190483118215151615620007245762000724620005da565b500290565b6000826200074757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200075f57600080fd5b81516001600160a01b03811681146200070057600080fd5b611df780620007876000396000f3fe6080604052600436106102135760003560e01c8063715018a611610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e146105ea578063e98c351414610630578063ed6a596514610646578063ee52778d14610676578063f45c7bef1461069557600080fd5b8063a9059cbb14610575578063bbc0c74214610595578063c46bd4fd146105b4578063c857e0ee146105d457600080fd5b80638eec08dd116100e75780638eec08dd146104f757806395d89b4114610511578063a177202b14610526578063a457c2d71461053b578063a5edb92e1461055b57600080fd5b8063715018a61461049857806377e43754146104ad57806378109e54146104c35780638da5cb5b146104d957600080fd5b8063220f66961161019b578063395093511161016a57806339509351146103ec578063493367081461040c57806349bd5a5e146104215780634a74bb021461044157806370a082311461046257600080fd5b8063220f66961461036957806323b872dd1461038a5780632598cdb2146103aa578063313ce567146103ca57600080fd5b80630b78f9c0116101e25780630b78f9c0146102bc5780630d295980146102dc5780631694505e146102fc57806318160ddd14610334578063194787ef1461035357600080fd5b806305bbedb61461021f57806306fdde0314610241578063095ea7b31461026c5780630a702e8d1461029c57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004611939565b6106ab565b005b34801561024d57600080fd5b50610256610748565b6040516102639190611a10565b60405180910390f35b34801561027857600080fd5b5061028c610287366004611a5e565b6107da565b6040519015158152602001610263565b3480156102a857600080fd5b5060135461028c9062010000900460ff1681565b3480156102c857600080fd5b5061023f6102d7366004611a8a565b6107f1565b3480156102e857600080fd5b5061023f6102f7366004611aac565b610826565b34801561030857600080fd5b5060155461031c906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b34801561034057600080fd5b506003545b604051908152602001610263565b34801561035f57600080fd5b5061034560045481565b34801561037557600080fd5b5060165461028c90600160a01b900460ff1681565b34801561039657600080fd5b5061028c6103a5366004611ac7565b61086e565b3480156103b657600080fd5b50600c5461031c906001600160a01b031681565b3480156103d657600080fd5b5060095b60405160ff9091168152602001610263565b3480156103f857600080fd5b5061028c610407366004611a5e565b6108d7565b34801561041857600080fd5b5061023f61090d565b34801561042d57600080fd5b5060165461031c906001600160a01b031681565b34801561044d57600080fd5b5060165461028c90600160a81b900460ff1681565b34801561046e57600080fd5b5061034561047d366004611b08565b6001600160a01b03166000908152600d602052604090205490565b3480156104a457600080fd5b5061023f610962565b3480156104b957600080fd5b5061034560065481565b3480156104cf57600080fd5b5061034560055481565b3480156104e557600080fd5b506002546001600160a01b031661031c565b34801561050357600080fd5b506009546103da9060ff1681565b34801561051d57600080fd5b506102566109d6565b34801561053257600080fd5b5061023f6109e5565b34801561054757600080fd5b5061028c610556366004611a5e565b610a7e565b34801561056757600080fd5b5060135461028c9060ff1681565b34801561058157600080fd5b5061028c610590366004611a5e565b610acd565b3480156105a157600080fd5b5060135461028c90610100900460ff1681565b3480156105c057600080fd5b5061023f6105cf366004611aac565b610ada565b3480156105e057600080fd5b5061034560075481565b3480156105f657600080fd5b50610345610605366004611b25565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561063c57600080fd5b50610345600a5481565b34801561065257600080fd5b5061028c610661366004611b08565b60086020526000908152604090205460ff1681565b34801561068257600080fd5b506009546103da90610100900460ff1681565b3480156106a157600080fd5b50610345600b5481565b6002546001600160a01b031633146106de5760405162461bcd60e51b81526004016106d590611b5e565b60405180910390fd5b60005b825181101561074357816008600085848151811061070157610701611b93565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561073c81611bbf565b90506106e1565b505050565b60606000805461075790611bd8565b80601f016020809104026020016040519081016040528092919081815260200182805461078390611bd8565b80156107d05780601f106107a5576101008083540402835291602001916107d0565b820191906000526020600020905b8154815290600101906020018083116107b357829003601f168201915b5050505050905090565b60006107e7338484610b24565b5060015b92915050565b6002546001600160a01b0316331461081b5760405162461bcd60e51b81526004016106d590611b5e565b600691909155600755565b6002546001600160a01b031633146108505760405162461bcd60e51b81526004016106d590611b5e565b6013805491151561ffff199092169190911761010017905543601455565b600061087b848484610be5565b6108cd84336108c885604051806060016040528060288152602001611d55602891396001600160a01b038a166000908152600e60209081526040808320338452909152902054919061120c565b610b24565b5060019392505050565b336000818152600e602090815260408083206001600160a01b038716845290915281205490916107e79185906108c89086611238565b6002546001600160a01b031633146109375760405162461bcd60e51b81526004016106d590611b5e565b606460035460036109489190611c12565b6109529190611c31565b6005556003546004556063600755565b6002546001600160a01b0316331461098c5760405162461bcd60e51b81526004016106d590611b5e565b6002546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600280546001600160a01b0319169055565b60606001805461075790611bd8565b6002546001600160a01b03163314610a0f5760405162461bcd60e51b81526004016106d590611b5e565b60005b601254811015610a7b5760016010600060128481548110610a3557610a35611b93565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff191691151591909117905580610a7381611bbf565b915050610a12565b50565b60006107e733846108c885604051806060016040528060258152602001611d9d60259139336000908152600e602090815260408083206001600160a01b038d168452909152902054919061120c565b60006107e7338484610be5565b6002546001600160a01b03163314610b045760405162461bcd60e51b81526004016106d590611b5e565b6013805462ff00ff19166201000092151592830260ff1916179091179055565b6001600160a01b03831615801590610b4457506001600160a01b03821615155b610b845760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016106d5565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6002546001600160a01b03838116911614801590610c105750600c546001600160a01b038381169116145b8015610c2557506001600160a01b0382163014155b8015610c3f57506016546001600160a01b03838116911614155b8015610c5657506001600160a01b03821661dead14155b8015610c7057506002546001600160a01b03848116911614155b15610d2b576001600160a01b0382166000908152600d6020526040902054600554610c9b8383611c53565b1115610d295760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a4016106d5565b505b6001600160a01b0383166000908152600f602052604090205460ff16158015610d6d57506001600160a01b0382166000908152600f602052604090205460ff16155b15610dd6576001600160a01b03831615801590610d9257506001600160a01b03821615155b610dd65760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016106d5565b60008111610e345760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016106d5565b601354610100900460ff16610ec7576001600160a01b0383166000908152600f602052604090205460ff1680610e8257506001600160a01b0382166000908152600f602052604090205460ff165b610ec75760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106d5565b6002546001600160a01b03848116911614801590610ef357506016546001600160a01b03848116911614155b8015610f1857506001600160a01b03831660009081526011602052604090205460ff16155b15610f83576001600160a01b0383166000818152601160205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b03191690911790555b6002546001600160a01b03838116911614801590610faf57506016546001600160a01b03838116911614155b8015610fd457506001600160a01b03821660009081526011602052604090205460ff16155b1561103f576001600160a01b0382166000818152601160205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b03191690911790555b600a5460095460ff16108015906110605750601654600160a01b900460ff16155b801561107a57506016546001600160a01b03848116911614155b801561108f5750601654600160a81b900460ff165b156110c857306000908152600d6020526040902054600b548111156110b35750600b545b6009805460ff191690556110c68161124b565b505b6001600160a01b03831660009081526008602052604090205460ff161561111d5760405162461bcd60e51b8152602060048201526009602482015268109b1858dadb1a5cdd60ba1b60448201526064016106d5565b6001600160a01b0383166000908152600f60205260408120546001919060ff168061116057506001600160a01b0384166000908152600f602052604090205460ff165b1561116e57600091506111b5565b6016546001600160a01b0390811690861603611188575060015b6009805460ff1690600061119b83611c66565b91906101000a81548160ff021916908360ff160217905550505b60135460ff1680156111d05750600954610100900460ff1615155b156111eb576013805462ff00001916620100001790556111f8565b6013805462ff0000191690555b611205858585858561137d565b5050505050565b600081848411156112305760405162461bcd60e51b81526004016106d59190611a10565b505050900390565b60006112448284611c53565b9392505050565b6016805460ff60a01b1916600160a01b1790556000611276606461127084606361169b565b906116a7565b905060006112858360c86116a7565b90504761129a6112958484611c53565b6116b3565b60006112a68247611c85565b905060006112ba606461127084606361169b565b90506112cf846112ca8385611c85565b61180d565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561846112fb8385611c85565b604080519283526020830191909152810186905260600160405180910390a1600c54479250611333906001600160a01b0316836118b8565b60098054610100900460ff1690600161134b83611c66565b825460ff9182166101009390930a928302919092021990911617905550506016805460ff60a01b191690555050505050565b81611425576001600160a01b0385166000908152600d60205260409020546113a6908490611c85565b6001600160a01b038087166000908152600d602052604080822093909355908616815220546113d6908490611c53565b6001600160a01b038086166000818152600d60205260409081902093909355915190871690600080516020611d7d833981519152906114189087815260200190565b60405180910390a3611205565b801561156257600060646006548561143d9190611c12565b6114479190611c31565b905060006114558286611c85565b6001600160a01b0388166000908152600d602052604090205490915061147c908690611c85565b6001600160a01b038089166000908152600d602052604080822093909355908816815220546114ac908290611c53565b6001600160a01b0387166000908152600d60205260408082209290925530815220546114d9908390611c53565b306000818152600d6020526040908190209290925590516001600160a01b03891690600080516020611d7d833981519152906115189086815260200190565b60405180910390a3856001600160a01b0316876001600160a01b0316600080516020611d7d8339815191528360405161155391815260200190565b60405180910390a35050611205565b60006064600754856115749190611c12565b61157e9190611c31565b9050600061158c8286611c85565b6001600160a01b0388166000908152600d60205260409020549091506115b3908690611c85565b6001600160a01b038089166000908152600d602052604080822093909355908816815220546115e3908290611c53565b6001600160a01b0387166000908152600d6020526040808220929092553081522054611610908390611c53565b306000818152600d6020526040908190209290925590516001600160a01b03891690600080516020611d7d8339815191529061164f9086815260200190565b60405180910390a3856001600160a01b0316876001600160a01b0316600080516020611d7d8339815191528360405161168a91815260200190565b60405180910390a350505050505050565b60006112448284611c12565b60006112448284611c31565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106116e8576116e8611b93565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117659190611c98565b8160018151811061177857611778611b93565b6001600160a01b03928316602091820292909201015260155461179e9130911684610b24565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117d7908590600090869030904290600401611cb5565b600060405180830381600087803b1580156117f157600080fd5b505af1158015611805573d6000803e3d6000fd5b505050505050565b6015546118259030906001600160a01b031684610b24565b60155460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611893573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112059190611d26565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610743573d6000803e3d6000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a7b57600080fd5b803561192481611904565b919050565b8035801515811461192457600080fd5b6000806040838503121561194c57600080fd5b823567ffffffffffffffff8082111561196457600080fd5b818501915085601f83011261197857600080fd5b813560208282111561198c5761198c6118ee565b8160051b604051601f19603f830116810181811086821117156119b1576119b16118ee565b6040529283528183019350848101820192898411156119cf57600080fd5b948201945b838610156119f4576119e586611919565b855294820194938201936119d4565b9650611a039050878201611929565b9450505050509250929050565b600060208083528351808285015260005b81811015611a3d57858101830151858201604001528201611a21565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611a7157600080fd5b8235611a7c81611904565b946020939093013593505050565b60008060408385031215611a9d57600080fd5b50508035926020909101359150565b600060208284031215611abe57600080fd5b61124482611929565b600080600060608486031215611adc57600080fd5b8335611ae781611904565b92506020840135611af781611904565b929592945050506040919091013590565b600060208284031215611b1a57600080fd5b813561124481611904565b60008060408385031215611b3857600080fd5b8235611b4381611904565b91506020830135611b5381611904565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611bd157611bd1611ba9565b5060010190565b600181811c90821680611bec57607f821691505b602082108103611c0c57634e487b7160e01b600052602260045260246000fd5b50919050565b6000816000190483118215151615611c2c57611c2c611ba9565b500290565b600082611c4e57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156107eb576107eb611ba9565b600060ff821660ff8103611c7c57611c7c611ba9565b60010192915050565b818103818111156107eb576107eb611ba9565b600060208284031215611caa57600080fd5b815161124481611904565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d055784516001600160a01b031683529383019391830191600101611ce0565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611d3b57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204bd5fe263f537c90aab0e00b7eb12f1489eaa65f91de493940bc2a42e950aea064736f6c63430008100033
Deployed Bytecode
0x6080604052600436106102135760003560e01c8063715018a611610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e146105ea578063e98c351414610630578063ed6a596514610646578063ee52778d14610676578063f45c7bef1461069557600080fd5b8063a9059cbb14610575578063bbc0c74214610595578063c46bd4fd146105b4578063c857e0ee146105d457600080fd5b80638eec08dd116100e75780638eec08dd146104f757806395d89b4114610511578063a177202b14610526578063a457c2d71461053b578063a5edb92e1461055b57600080fd5b8063715018a61461049857806377e43754146104ad57806378109e54146104c35780638da5cb5b146104d957600080fd5b8063220f66961161019b578063395093511161016a57806339509351146103ec578063493367081461040c57806349bd5a5e146104215780634a74bb021461044157806370a082311461046257600080fd5b8063220f66961461036957806323b872dd1461038a5780632598cdb2146103aa578063313ce567146103ca57600080fd5b80630b78f9c0116101e25780630b78f9c0146102bc5780630d295980146102dc5780631694505e146102fc57806318160ddd14610334578063194787ef1461035357600080fd5b806305bbedb61461021f57806306fdde0314610241578063095ea7b31461026c5780630a702e8d1461029c57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004611939565b6106ab565b005b34801561024d57600080fd5b50610256610748565b6040516102639190611a10565b60405180910390f35b34801561027857600080fd5b5061028c610287366004611a5e565b6107da565b6040519015158152602001610263565b3480156102a857600080fd5b5060135461028c9062010000900460ff1681565b3480156102c857600080fd5b5061023f6102d7366004611a8a565b6107f1565b3480156102e857600080fd5b5061023f6102f7366004611aac565b610826565b34801561030857600080fd5b5060155461031c906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b34801561034057600080fd5b506003545b604051908152602001610263565b34801561035f57600080fd5b5061034560045481565b34801561037557600080fd5b5060165461028c90600160a01b900460ff1681565b34801561039657600080fd5b5061028c6103a5366004611ac7565b61086e565b3480156103b657600080fd5b50600c5461031c906001600160a01b031681565b3480156103d657600080fd5b5060095b60405160ff9091168152602001610263565b3480156103f857600080fd5b5061028c610407366004611a5e565b6108d7565b34801561041857600080fd5b5061023f61090d565b34801561042d57600080fd5b5060165461031c906001600160a01b031681565b34801561044d57600080fd5b5060165461028c90600160a81b900460ff1681565b34801561046e57600080fd5b5061034561047d366004611b08565b6001600160a01b03166000908152600d602052604090205490565b3480156104a457600080fd5b5061023f610962565b3480156104b957600080fd5b5061034560065481565b3480156104cf57600080fd5b5061034560055481565b3480156104e557600080fd5b506002546001600160a01b031661031c565b34801561050357600080fd5b506009546103da9060ff1681565b34801561051d57600080fd5b506102566109d6565b34801561053257600080fd5b5061023f6109e5565b34801561054757600080fd5b5061028c610556366004611a5e565b610a7e565b34801561056757600080fd5b5060135461028c9060ff1681565b34801561058157600080fd5b5061028c610590366004611a5e565b610acd565b3480156105a157600080fd5b5060135461028c90610100900460ff1681565b3480156105c057600080fd5b5061023f6105cf366004611aac565b610ada565b3480156105e057600080fd5b5061034560075481565b3480156105f657600080fd5b50610345610605366004611b25565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561063c57600080fd5b50610345600a5481565b34801561065257600080fd5b5061028c610661366004611b08565b60086020526000908152604090205460ff1681565b34801561068257600080fd5b506009546103da90610100900460ff1681565b3480156106a157600080fd5b50610345600b5481565b6002546001600160a01b031633146106de5760405162461bcd60e51b81526004016106d590611b5e565b60405180910390fd5b60005b825181101561074357816008600085848151811061070157610701611b93565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561073c81611bbf565b90506106e1565b505050565b60606000805461075790611bd8565b80601f016020809104026020016040519081016040528092919081815260200182805461078390611bd8565b80156107d05780601f106107a5576101008083540402835291602001916107d0565b820191906000526020600020905b8154815290600101906020018083116107b357829003601f168201915b5050505050905090565b60006107e7338484610b24565b5060015b92915050565b6002546001600160a01b0316331461081b5760405162461bcd60e51b81526004016106d590611b5e565b600691909155600755565b6002546001600160a01b031633146108505760405162461bcd60e51b81526004016106d590611b5e565b6013805491151561ffff199092169190911761010017905543601455565b600061087b848484610be5565b6108cd84336108c885604051806060016040528060288152602001611d55602891396001600160a01b038a166000908152600e60209081526040808320338452909152902054919061120c565b610b24565b5060019392505050565b336000818152600e602090815260408083206001600160a01b038716845290915281205490916107e79185906108c89086611238565b6002546001600160a01b031633146109375760405162461bcd60e51b81526004016106d590611b5e565b606460035460036109489190611c12565b6109529190611c31565b6005556003546004556063600755565b6002546001600160a01b0316331461098c5760405162461bcd60e51b81526004016106d590611b5e565b6002546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600280546001600160a01b0319169055565b60606001805461075790611bd8565b6002546001600160a01b03163314610a0f5760405162461bcd60e51b81526004016106d590611b5e565b60005b601254811015610a7b5760016010600060128481548110610a3557610a35611b93565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff191691151591909117905580610a7381611bbf565b915050610a12565b50565b60006107e733846108c885604051806060016040528060258152602001611d9d60259139336000908152600e602090815260408083206001600160a01b038d168452909152902054919061120c565b60006107e7338484610be5565b6002546001600160a01b03163314610b045760405162461bcd60e51b81526004016106d590611b5e565b6013805462ff00ff19166201000092151592830260ff1916179091179055565b6001600160a01b03831615801590610b4457506001600160a01b03821615155b610b845760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016106d5565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6002546001600160a01b03838116911614801590610c105750600c546001600160a01b038381169116145b8015610c2557506001600160a01b0382163014155b8015610c3f57506016546001600160a01b03838116911614155b8015610c5657506001600160a01b03821661dead14155b8015610c7057506002546001600160a01b03848116911614155b15610d2b576001600160a01b0382166000908152600d6020526040902054600554610c9b8383611c53565b1115610d295760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a4016106d5565b505b6001600160a01b0383166000908152600f602052604090205460ff16158015610d6d57506001600160a01b0382166000908152600f602052604090205460ff16155b15610dd6576001600160a01b03831615801590610d9257506001600160a01b03821615155b610dd65760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016106d5565b60008111610e345760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016106d5565b601354610100900460ff16610ec7576001600160a01b0383166000908152600f602052604090205460ff1680610e8257506001600160a01b0382166000908152600f602052604090205460ff165b610ec75760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106d5565b6002546001600160a01b03848116911614801590610ef357506016546001600160a01b03848116911614155b8015610f1857506001600160a01b03831660009081526011602052604090205460ff16155b15610f83576001600160a01b0383166000818152601160205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b03191690911790555b6002546001600160a01b03838116911614801590610faf57506016546001600160a01b03838116911614155b8015610fd457506001600160a01b03821660009081526011602052604090205460ff16155b1561103f576001600160a01b0382166000818152601160205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b03191690911790555b600a5460095460ff16108015906110605750601654600160a01b900460ff16155b801561107a57506016546001600160a01b03848116911614155b801561108f5750601654600160a81b900460ff165b156110c857306000908152600d6020526040902054600b548111156110b35750600b545b6009805460ff191690556110c68161124b565b505b6001600160a01b03831660009081526008602052604090205460ff161561111d5760405162461bcd60e51b8152602060048201526009602482015268109b1858dadb1a5cdd60ba1b60448201526064016106d5565b6001600160a01b0383166000908152600f60205260408120546001919060ff168061116057506001600160a01b0384166000908152600f602052604090205460ff165b1561116e57600091506111b5565b6016546001600160a01b0390811690861603611188575060015b6009805460ff1690600061119b83611c66565b91906101000a81548160ff021916908360ff160217905550505b60135460ff1680156111d05750600954610100900460ff1615155b156111eb576013805462ff00001916620100001790556111f8565b6013805462ff0000191690555b611205858585858561137d565b5050505050565b600081848411156112305760405162461bcd60e51b81526004016106d59190611a10565b505050900390565b60006112448284611c53565b9392505050565b6016805460ff60a01b1916600160a01b1790556000611276606461127084606361169b565b906116a7565b905060006112858360c86116a7565b90504761129a6112958484611c53565b6116b3565b60006112a68247611c85565b905060006112ba606461127084606361169b565b90506112cf846112ca8385611c85565b61180d565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561846112fb8385611c85565b604080519283526020830191909152810186905260600160405180910390a1600c54479250611333906001600160a01b0316836118b8565b60098054610100900460ff1690600161134b83611c66565b825460ff9182166101009390930a928302919092021990911617905550506016805460ff60a01b191690555050505050565b81611425576001600160a01b0385166000908152600d60205260409020546113a6908490611c85565b6001600160a01b038087166000908152600d602052604080822093909355908616815220546113d6908490611c53565b6001600160a01b038086166000818152600d60205260409081902093909355915190871690600080516020611d7d833981519152906114189087815260200190565b60405180910390a3611205565b801561156257600060646006548561143d9190611c12565b6114479190611c31565b905060006114558286611c85565b6001600160a01b0388166000908152600d602052604090205490915061147c908690611c85565b6001600160a01b038089166000908152600d602052604080822093909355908816815220546114ac908290611c53565b6001600160a01b0387166000908152600d60205260408082209290925530815220546114d9908390611c53565b306000818152600d6020526040908190209290925590516001600160a01b03891690600080516020611d7d833981519152906115189086815260200190565b60405180910390a3856001600160a01b0316876001600160a01b0316600080516020611d7d8339815191528360405161155391815260200190565b60405180910390a35050611205565b60006064600754856115749190611c12565b61157e9190611c31565b9050600061158c8286611c85565b6001600160a01b0388166000908152600d60205260409020549091506115b3908690611c85565b6001600160a01b038089166000908152600d602052604080822093909355908816815220546115e3908290611c53565b6001600160a01b0387166000908152600d6020526040808220929092553081522054611610908390611c53565b306000818152600d6020526040908190209290925590516001600160a01b03891690600080516020611d7d8339815191529061164f9086815260200190565b60405180910390a3856001600160a01b0316876001600160a01b0316600080516020611d7d8339815191528360405161168a91815260200190565b60405180910390a350505050505050565b60006112448284611c12565b60006112448284611c31565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106116e8576116e8611b93565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117659190611c98565b8160018151811061177857611778611b93565b6001600160a01b03928316602091820292909201015260155461179e9130911684610b24565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117d7908590600090869030904290600401611cb5565b600060405180830381600087803b1580156117f157600080fd5b505af1158015611805573d6000803e3d6000fd5b505050505050565b6015546118259030906001600160a01b031684610b24565b60155460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611893573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112059190611d26565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610743573d6000803e3d6000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a7b57600080fd5b803561192481611904565b919050565b8035801515811461192457600080fd5b6000806040838503121561194c57600080fd5b823567ffffffffffffffff8082111561196457600080fd5b818501915085601f83011261197857600080fd5b813560208282111561198c5761198c6118ee565b8160051b604051601f19603f830116810181811086821117156119b1576119b16118ee565b6040529283528183019350848101820192898411156119cf57600080fd5b948201945b838610156119f4576119e586611919565b855294820194938201936119d4565b9650611a039050878201611929565b9450505050509250929050565b600060208083528351808285015260005b81811015611a3d57858101830151858201604001528201611a21565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611a7157600080fd5b8235611a7c81611904565b946020939093013593505050565b60008060408385031215611a9d57600080fd5b50508035926020909101359150565b600060208284031215611abe57600080fd5b61124482611929565b600080600060608486031215611adc57600080fd5b8335611ae781611904565b92506020840135611af781611904565b929592945050506040919091013590565b600060208284031215611b1a57600080fd5b813561124481611904565b60008060408385031215611b3857600080fd5b8235611b4381611904565b91506020830135611b5381611904565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611bd157611bd1611ba9565b5060010190565b600181811c90821680611bec57607f821691505b602082108103611c0c57634e487b7160e01b600052602260045260246000fd5b50919050565b6000816000190483118215151615611c2c57611c2c611ba9565b500290565b600082611c4e57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156107eb576107eb611ba9565b600060ff821660ff8103611c7c57611c7c611ba9565b60010192915050565b818103818111156107eb576107eb611ba9565b600060208284031215611caa57600080fd5b815161124481611904565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d055784516001600160a01b031683529383019391830191600101611ce0565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611d3b57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204bd5fe263f537c90aab0e00b7eb12f1489eaa65f91de493940bc2a42e950aea064736f6c63430008100033
Deployed Bytecode Sourcemap
17962:11278:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24216:220;;;;;;;;;;-1:-1:-1;24216:220:0;;;;;:::i;:::-;;:::i;:::-;;21067:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21898:161;;;;;;;;;;-1:-1:-1;21898:161:0;;;;;:::i;:::-;;:::i;:::-;;;2820:14:1;;2813:22;2795:41;;2783:2;2768:18;21898:161:0;2655:187:1;19352:33:0;;;;;;;;;;-1:-1:-1;19352:33:0;;;;;;;;;;;23771:137;;;;;;;;;;-1:-1:-1;23771:137:0;;;;;:::i;:::-;;:::i;23594:169::-;;;;;;;;;;-1:-1:-1;23594:169:0;;;;;:::i;:::-;;:::i;19435:41::-;;;;;;;;;;-1:-1:-1;19435:41:0;;;;-1:-1:-1;;;;;19435:41:0;;;;;;-1:-1:-1;;;;;3476:32:1;;;3458:51;;3446:2;3431:18;19435:41:0;3285:230:1;21338:95:0;;;;;;;;;;-1:-1:-1;21418:7:0;;21338:95;;;3666:25:1;;;3654:2;3639:18;21338:95:0;3520:177:1;18334:53:0;;;;;;;;;;;;;;;;19518:28;;;;;;;;;;-1:-1:-1;19518:28:0;;;;-1:-1:-1;;;19518:28:0;;;;;;22207:313;;;;;;;;;;-1:-1:-1;22207:313:0;;;;;:::i;:::-;;:::i;18750:92::-;;;;;;;;;;-1:-1:-1;18750:92:0;;;;-1:-1:-1;;;;;18750:92:0;;;21249:83;;;;;;;;;;-1:-1:-1;18170:1:0;21249:83;;;4559:4:1;4547:17;;;4529:36;;4517:2;4502:18;21249:83:0;4387:184:1;22526:218:0;;;;;;;;;;-1:-1:-1;22526:218:0;;;;;:::i;:::-;;:::i;24052:159::-;;;;;;;;;;;;;:::i;19483:28::-;;;;;;;;;;-1:-1:-1;19483:28:0;;;;-1:-1:-1;;;;;19483:28:0;;;19553:41;;;;;;;;;;-1:-1:-1;19553:41:0;;;;-1:-1:-1;;;19553:41:0;;;;;;21439:117;;;;;;;;;;-1:-1:-1;21439:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;21532:16:0;21505:7;21532:16;;;:7;:16;;;;;;;21439:117;20214:148;;;;;;;;;;;;;:::i;18453:28::-;;;;;;;;;;;;;;;;18394:50;;;;;;;;;;;;;;;;19995:87;;;;;;;;;;-1:-1:-1;20068:6:0;;-1:-1:-1;;;;;20068:6:0;19995:87;;18582:26;;;;;;;;;;-1:-1:-1;18582:26:0;;;;;;;;21156:87;;;;;;;;;;;;;:::i;23025:132::-;;;;;;;;;;;;;:::i;22750:269::-;;;;;;;;;;-1:-1:-1;22750:269:0;;;;;:::i;:::-;;:::i;19273:33::-;;;;;;;;;;-1:-1:-1;19273:33:0;;;;;;;;21564:167;;;;;;;;;;-1:-1:-1;21564:167:0;;;;;:::i;:::-;;:::i;19313:32::-;;;;;;;;;;-1:-1:-1;19313:32:0;;;;;;;;;;;23916:128;;;;;;;;;;-1:-1:-1;23916:128:0;;;;;:::i;:::-;;:::i;18488:30::-;;;;;;;;;;;;;;;;21737:155;;;;;;;;;;-1:-1:-1;21737:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;21851:21:0;;;21824:7;21851:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;21737:155;18648:31;;;;;;;;;;;;;;;;18527:46;;;;;;;;;;-1:-1:-1;18527:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18615:26;;;;;;;;;;-1:-1:-1;18615:26:0;;;;;;;;;;;18686:55;;;;;;;;;;;;;;;;24216:220;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;;;;;;;;;24329:9:::1;24324:105;24344:8;:15;24340:1;:19;24324:105;;;24410:7;24381:13;:26;24395:8;24404:1;24395:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;24381:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;24381:26:0;:36;;-1:-1:-1;;24381:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24361:3:::1;::::0;::::1;:::i;:::-;;;24324:105;;;;24216:220:::0;;:::o;21067:83::-;21104:13;21137:5;21130:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21067:83;:::o;21898:161::-;21973:4;21990:39;13272:10;22013:7;22022:6;21990:8;:39::i;:::-;-1:-1:-1;22047:4:0;21898:161;;;;;:::o;23771:137::-;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;23851:9:::1;:18:::0;;;;23880:10:::1;:20:::0;23771:137::o;23594:169::-;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;23659:13:::1;:20:::0;;23690:21;::::1;;-1:-1:-1::0;;23690:21:0;;;;;;;23659:20:::1;23690:21:::0;;;23743:12:::1;23722:18;:33:::0;23594:169::o;22207:313::-;22305:4;22322:36;22332:6;22340:9;22351:6;22322:9;:36::i;:::-;22369:121;22378:6;13272:10;22400:89;22438:6;22400:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22400:19:0;;;;;;:11;:19;;;;;;;;13272:10;22400:33;;;;;;;;;;:37;:89::i;:::-;22369:8;:121::i;:::-;-1:-1:-1;22508:4:0;22207:313;;;;;:::o;22526:218::-;13272:10;22614:4;22663:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;22663:34:0;;;;;;;;;;22614:4;;22631:83;;22654:7;;22663:50;;22702:10;22663:38;:50::i;24052:159::-;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;24135:3:::1;24125:7;;24133:1;24125:9;;;;:::i;:::-;:13;;;;:::i;:::-;24107:15;:31:::0;24170:7:::1;::::0;24149:18:::1;:28:::0;24201:2:::1;24188:10;:15:::0;24052:159::o;20214:148::-;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;20305:6:::1;::::0;20284:40:::1;::::0;20321:1:::1;::::0;-1:-1:-1;;;;;20305:6:0::1;::::0;20284:40:::1;::::0;20321:1;;20284:40:::1;20335:6;:19:::0;;-1:-1:-1;;;;;;20335:19:0::1;::::0;;20214:148::o;21156:87::-;21195:13;21228:7;21221:14;;;;;:::i;23025:132::-;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;23070:9:::1;23065:85;23089:5;:12:::0;23085:16;::::1;23065:85;;;23144:4;23119:12;:22;23132:5;23138:1;23132:8;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;::::0;-1:-1:-1;;;;;23132:8:0::1;23119:22:::0;;;::::1;::::0;;;;;;;;:29;;-1:-1:-1;;23119:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23103:3;::::1;::::0;::::1;:::i;:::-;;;;23065:85;;;;23025:132::o:0;22750:269::-;22843:4;22860:129;13272:10;22883:7;22892:96;22931:15;22892:96;;;;;;;;;;;;;;;;;13272:10;22892:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;22892:34:0;;;;;;;;;;;;:38;:96::i;21564:167::-;21642:4;21659:42;13272:10;21683:9;21694:6;21659:9;:42::i;23916:128::-;20068:6;;-1:-1:-1;;;;;20068:6:0;13272:10;20128:23;20120:68;;;;-1:-1:-1;;;20120:68:0;;;;;;;:::i;:::-;23983:13:::1;:21:::0;;-1:-1:-1;;24015:21:0;23983;;::::1;;::::0;;::::1;-1:-1:-1::0;;24015:21:0;;;;::::1;::::0;;23916:128::o;23300:286::-;-1:-1:-1;;;;;23399:22:0;;;;;;:50;;-1:-1:-1;;;;;;23425:24:0;;;;23399:50;23391:80;;;;-1:-1:-1;;;23391:80:0;;7176:2:1;23391:80:0;;;7158:21:1;7215:2;7195:18;;;7188:30;-1:-1:-1;;;7234:18:1;;;7227:47;7291:18;;23391:80:0;6974:341:1;23391:80:0;-1:-1:-1;;;;;23482:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;23540:38;;3666:25:1;;;23540:38:0;;3639:18:1;23540:38:0;;;;;;;23300:286;;;:::o;24444:1824::-;20068:6;;-1:-1:-1;;;;;24530:13:0;;;20068:6;;24530:13;;;;:38;;-1:-1:-1;24553:15:0;;-1:-1:-1;;;;;24547:21:0;;;24553:15;;24547:21;24530:38;:61;;;;-1:-1:-1;;;;;;24572:19:0;;24586:4;24572:19;;24530:61;:84;;;;-1:-1:-1;24601:13:0;;-1:-1:-1;;;;;24595:19:0;;;24601:13;;24595:19;;24530:84;:105;;;;-1:-1:-1;;;;;;24618:17:0;;18904:42;24618:17;;24530:105;:124;;;;-1:-1:-1;20068:6:0;;-1:-1:-1;;;;;24639:15:0;;;20068:6;;24639:15;;24530:124;24526:328;;;-1:-1:-1;;;;;21532:16:0;;24670:18;21532:16;;;:7;:16;;;;;;24752:15;;24728:19;24741:6;21532:16;24728:19;:::i;:::-;24727:40;;24719:133;;;;-1:-1:-1;;;24719:133:0;;7652:2:1;24719:133:0;;;7634:21:1;7691:2;7671:18;;;7664:30;7730:34;7710:18;;;7703:62;7801:34;7781:18;;;7774:62;-1:-1:-1;;;7852:19:1;;;7845:48;7910:19;;24719:133:0;7450:485:1;24719:133:0;24655:199;24526:328;-1:-1:-1;;;;;24869:24:0;;;;;;:18;:24;;;;;;;;24868:25;:52;;;;-1:-1:-1;;;;;;24898:22:0;;;;;;:18;:22;;;;;;;;24897:23;24868:52;24864:143;;;-1:-1:-1;;;;;24943:18:0;;;;;;:38;;-1:-1:-1;;;;;;24965:16:0;;;;24943:38;24935:72;;;;-1:-1:-1;;;24935:72:0;;8142:2:1;24935:72:0;;;8124:21:1;8181:2;8161:18;;;8154:30;-1:-1:-1;;;8200:18:1;;;8193:51;8261:18;;24935:72:0;7940:345:1;24935:72:0;25039:1;25030:6;:10;25022:60;;;;-1:-1:-1;;;25022:60:0;;8492:2:1;25022:60:0;;;8474:21:1;8531:2;8511:18;;;8504:30;8570:34;8550:18;;;8543:62;-1:-1:-1;;;8621:18:1;;;8614:35;8666:19;;25022:60:0;8290:401:1;25022:60:0;25098:13;;;;;;;25093:107;;-1:-1:-1;;;;;25122:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;25150:22:0;;;;;;:18;:22;;;;;;;;25122:50;25114:84;;;;-1:-1:-1;;;25114:84:0;;8898:2:1;25114:84:0;;;8880:21:1;8937:2;8917:18;;;8910:30;-1:-1:-1;;;8956:18:1;;;8949:52;9018:18;;25114:84:0;8696:346:1;25114:84:0;20068:6;;-1:-1:-1;;;;;25214:15:0;;;20068:6;;25214:15;;;;:40;;-1:-1:-1;25241:13:0;;-1:-1:-1;;;;;25233:21:0;;;25241:13;;25233:21;;25214:40;:58;;;;-1:-1:-1;;;;;;25259:13:0;;;;;;:7;:13;;;;;;;;25258:14;25214:58;25210:105;;;-1:-1:-1;;;;;25275:13:0;;;;;;:7;:13;;;;;:20;;-1:-1:-1;;25275:20:0;25291:4;25275:20;;;;;;25297:5;:16;;;;;;;;;;;;;;-1:-1:-1;;;;;;25297:16:0;;;;;;25210:105;20068:6;;-1:-1:-1;;;;;25329:13:0;;;20068:6;;25329:13;;;;:36;;-1:-1:-1;25352:13:0;;-1:-1:-1;;;;;25346:19:0;;;25352:13;;25346:19;;25329:36;:52;;;;-1:-1:-1;;;;;;25370:11:0;;;;;;:7;:11;;;;;;;;25369:12;25329:52;25325:96;;;-1:-1:-1;;;;;25385:11:0;;;;;;:7;:11;;;;;:18;;-1:-1:-1;;25385:18:0;25399:4;25385:18;;;;;;25405:5;:14;;;;;;;;;;;;;;-1:-1:-1;;;;;;25405:14:0;;;;;;25325:96;25447:12;;25434:9;;;;:25;;;;:46;;-1:-1:-1;25464:16:0;;-1:-1:-1;;;25464:16:0;;;;25463:17;25434:46;:71;;;;-1:-1:-1;25492:13:0;;-1:-1:-1;;;;;25484:21:0;;;25492:13;;25484:21;;25434:71;:96;;;;-1:-1:-1;25509:21:0;;-1:-1:-1;;;25509:21:0;;;;25434:96;25431:380;;;25596:4;25547:28;21532:16;;;:7;:16;;;;;;25643:18;;25620:41;;25617:104;;;-1:-1:-1;25701:18:0;;25617:104;25735:9;:13;;-1:-1:-1;;25735:13:0;;;25763:36;25778:20;25763:14;:36::i;:::-;25532:279;25431:380;-1:-1:-1;;;;;25830:19:0;;;;;;:13;:19;;;;;;;;25829:20;25821:42;;;;-1:-1:-1;;;25821:42:0;;9249:2:1;25821:42:0;;;9231:21:1;9288:1;9268:18;;;9261:29;-1:-1:-1;;;9306:18:1;;;9299:39;9355:18;;25821:42:0;9047:332:1;25821:42:0;-1:-1:-1;;;;;25928:24:0;;25874:12;25928:24;;;:18;:24;;;;;;25889:4;;25874:12;25928:24;;;:50;;-1:-1:-1;;;;;;25956:22:0;;;;;;:18;:22;;;;;;;;25928:50;25925:169;;;26004:5;25994:15;;25925:169;;;26038:13;;-1:-1:-1;;;;;26038:13:0;;;26030:21;;;;26027:40;;-1:-1:-1;26061:4:0;26027:40;26081:9;:11;;;;;:9;:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;25925:169;26108:13;;;;:30;;;;-1:-1:-1;26125:9:0;;;;;;;:13;;26108:30;26104:98;;;26141:13;:20;;-1:-1:-1;;26141:20:0;;;;;26104:98;;;26179:13;:21;;-1:-1:-1;;26179:21:0;;;26104:98;26212:48;26227:4;26233:2;26237:6;26245:7;26254:5;26212:14;:48::i;:::-;24515:1753;;24444:1824;;;:::o;6205:206::-;6291:7;6352:12;6344:6;;;;6336:29;;;;-1:-1:-1;;;6336:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;6387:5:0;;;6205:206::o;5789:98::-;5847:7;5874:5;5878:1;5874;:5;:::i;:::-;5867:12;5789:98;-1:-1:-1;;;5789:98:0:o;27645:769::-;19819:16;:23;;-1:-1:-1;;;;19819:23:0;-1:-1:-1;;;19819:23:0;;;;27759:37:::1;27792:3;27759:28;:20:::0;27784:2:::1;27759:24;:28::i;:::-;:32:::0;::::1;:37::i;:::-;27730:66:::0;-1:-1:-1;27807:22:0::1;27832:29;:20:::0;27857:3:::1;27832:24;:29::i;:::-;27807:54:::0;-1:-1:-1;27900:21:0::1;27932:53;27949:35;27966:18:::0;27807:54;27949:35:::1;:::i;:::-;27932:16;:53::i;:::-;27996:18;28017:41;28041:17:::0;28017:21:::1;:41;:::i;:::-;27996:62:::0;-1:-1:-1;28069:23:0::1;28095:27;28118:3;28095:18;27996:62:::0;28110:2:::1;28095:14;:18::i;:27::-;28069:53:::0;-1:-1:-1;28133:60:0::1;28146:14:::0;28163:28:::1;28069:53:::0;28163:10;:28:::1;:::i;:::-;28133:12;:60::i;:::-;28209:78;28224:14:::0;28241:28:::1;28254:15:::0;28241:10;:28:::1;:::i;:::-;28209:78;::::0;;9899:25:1;;;9955:2;9940:18;;9933:34;;;;9983:18;;9976:34;;;9887:2;9872:18;28209:78:0::1;;;;;;;28356:15;::::0;28311:21:::1;::::0;-1:-1:-1;28343:41:0::1;::::0;-1:-1:-1;;;;;28356:15:0::1;28311:21:::0;28343:12:::1;:41::i;:::-;28395:9;:11:::0;;::::1;::::0;::::1;;;::::0;:9:::1;:11;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;-1:-1:-1;;19865:16:0;:24;;-1:-1:-1;;;;19865:24:0;;;-1:-1:-1;;;;;27645:769:0:o;26276:1241::-;26401:7;26397:1113;;-1:-1:-1;;;;;26442:15:0;;;;;;:7;:15;;;;;;:23;;26458:7;;26442:23;:::i;:::-;-1:-1:-1;;;;;26424:15:0;;;;;;;:7;:15;;;;;;:41;;;;26501:18;;;;;;;:26;;26520:7;;26501:26;:::i;:::-;-1:-1:-1;;;;;26480:18:0;;;;;;;:7;:18;;;;;;;:47;;;;26547:36;;;;;;-1:-1:-1;;;;;;;;;;;26547:36:0;;;26575:7;3666:25:1;;3654:2;3639:18;;3520:177;26547:36:0;;;;;;;;26397:1113;;;26609:5;26605:905;;;26630:15;26666:3;26656:9;;26648:7;:17;;;;:::i;:::-;:21;;;;:::i;:::-;26630:39;-1:-1:-1;26684:23:0;26710:15;26630:39;26710:7;:15;:::i;:::-;-1:-1:-1;;;;;26758:15:0;;;;;;:7;:15;;;;;;26684:41;;-1:-1:-1;26758:23:0;;26774:7;;26758:23;:::i;:::-;-1:-1:-1;;;;;26740:15:0;;;;;;;:7;:15;;;;;;:41;;;;26817:18;;;;;;;:34;;26836:15;;26817:34;:::i;:::-;-1:-1:-1;;;;;26796:18:0;;;;;;:7;:18;;;;;;:55;;;;26907:4;26891:22;;;;:30;;26914:7;;26891:30;:::i;:::-;26882:4;26866:22;;;;:7;:22;;;;;;;:55;;;;26941:40;;-1:-1:-1;;;;;26941:40:0;;;-1:-1:-1;;;;;;;;;;;26941:40:0;;;26973:7;3666:25:1;;3654:2;3639:18;;3520:177;26941:40:0;;;;;;;;27018:9;-1:-1:-1;;;;;27001:44:0;27010:6;-1:-1:-1;;;;;27001:44:0;-1:-1:-1;;;;;;;;;;;27029:15:0;27001:44;;;;3666:25:1;;3654:2;3639:18;;3520:177;27001:44:0;;;;;;;;26615:446;;26605:905;;;27082:15;27119:3;27108:10;;27100:7;:18;;;;:::i;:::-;:22;;;;:::i;:::-;27082:40;-1:-1:-1;27137:23:0;27163:15;27082:40;27163:7;:15;:::i;:::-;-1:-1:-1;;;;;27211:15:0;;;;;;:7;:15;;;;;;27137:41;;-1:-1:-1;27211:23:0;;27227:7;;27211:23;:::i;:::-;-1:-1:-1;;;;;27193:15:0;;;;;;;:7;:15;;;;;;:41;;;;27270:18;;;;;;;:34;;27289:15;;27270:34;:::i;:::-;-1:-1:-1;;;;;27249:18:0;;;;;;:7;:18;;;;;;:55;;;;27360:4;27344:22;;;;:30;;27367:7;;27344:30;:::i;:::-;27335:4;27319:22;;;;:7;:22;;;;;;;:55;;;;27394:40;;-1:-1:-1;;;;;27394:40:0;;;-1:-1:-1;;;;;;;;;;;27394:40:0;;;27426:7;3666:25:1;;3654:2;3639:18;;3520:177;27394:40:0;;;;;;;;27471:9;-1:-1:-1;;;;;27454:44:0;27463:6;-1:-1:-1;;;;;27454:44:0;-1:-1:-1;;;;;;;;;;;27482:15:0;27454:44;;;;3666:25:1;;3654:2;3639:18;;3520:177;27454:44:0;;;;;;;;27067:443;;26276:1241;;;;;:::o;5997:98::-;6055:7;6082:5;6086:1;6082;:5;:::i;6101:98::-;6159:7;6186:5;6190:1;6186;:5;:::i;28422:471::-;28512:16;;;28526:1;28512:16;;;;;;;;28488:21;;28512:16;;;;;;;;;;-1:-1:-1;28512:16:0;28488:40;;28557:4;28539;28544:1;28539:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;28539:23:0;;;:7;;;;;;;;;;:23;;;;28583:15;;:22;;;-1:-1:-1;;;28583:22:0;;;;:15;;;;;:20;;:22;;;;;28539:7;;28583:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28573:4;28578:1;28573:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;28573:32:0;;;:7;;;;;;;;;:32;28648:15;;28616:62;;28633:4;;28648:15;28666:11;28616:8;:62::i;:::-;28689:15;;:196;;-1:-1:-1;;;28689:196:0;;-1:-1:-1;;;;;28689:15:0;;;;:66;;:196;;28770:11;;28689:15;;28812:4;;28839;;28859:15;;28689:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28477:416;28422:471;:::o;28901:336::-;29013:15;;28981:62;;28998:4;;-1:-1:-1;;;;;29013:15:0;29031:11;28981:8;:62::i;:::-;29054:15;;:175;;-1:-1:-1;;;29054:175:0;;29125:4;29054:175;;;11611:34:1;11661:18;;;11654:34;;;29054:15:0;11704:18:1;;;11697:34;;;11747:18;;;11740:34;18904:42:0;11790:19:1;;;11783:44;29203:15:0;11843:19:1;;;11836:35;-1:-1:-1;;;;;29054:15:0;;;;:31;;29093:8;;11545:19:1;;29054:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27525:112::-;27606:23;;-1:-1:-1;;;;;27606:15:0;;;:23;;;;;27622:6;;27606:23;;;;27622:6;27606:15;:23;;;;;;;;;;;;;;;;;;;14:127:1;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:160::-;486:20;;542:13;;535:21;525:32;;515:60;;571:1;568;561:12;586:1191;676:6;684;737:2;725:9;716:7;712:23;708:32;705:52;;;753:1;750;743:12;705:52;793:9;780:23;822:18;863:2;855:6;852:14;849:34;;;879:1;876;869:12;849:34;917:6;906:9;902:22;892:32;;962:7;955:4;951:2;947:13;943:27;933:55;;984:1;981;974:12;933:55;1020:2;1007:16;1042:4;1065:2;1061;1058:10;1055:36;;;1071:18;;:::i;:::-;1117:2;1114:1;1110:10;1149:2;1143:9;1212:2;1208:7;1203:2;1199;1195:11;1191:25;1183:6;1179:38;1267:6;1255:10;1252:22;1247:2;1235:10;1232:18;1229:46;1226:72;;;1278:18;;:::i;:::-;1314:2;1307:22;1364:18;;;1398:15;;;;-1:-1:-1;1440:11:1;;;1436:20;;;1468:19;;;1465:39;;;1500:1;1497;1490:12;1465:39;1524:11;;;;1544:148;1560:6;1555:3;1552:15;1544:148;;;1626:23;1645:3;1626:23;:::i;:::-;1614:36;;1577:12;;;;1670;;;;1544:148;;;1711:6;-1:-1:-1;1736:35:1;;-1:-1:-1;1752:18:1;;;1736:35;:::i;:::-;1726:45;;;;;;586:1191;;;;;:::o;1782:548::-;1894:4;1923:2;1952;1941:9;1934:21;1984:6;1978:13;2027:6;2022:2;2011:9;2007:18;2000:34;2052:1;2062:140;2076:6;2073:1;2070:13;2062:140;;;2171:14;;;2167:23;;2161:30;2137:17;;;2156:2;2133:26;2126:66;2091:10;;2062:140;;;2066:3;2251:1;2246:2;2237:6;2226:9;2222:22;2218:31;2211:42;2321:2;2314;2310:7;2305:2;2297:6;2293:15;2289:29;2278:9;2274:45;2270:54;2262:62;;;;1782:548;;;;:::o;2335:315::-;2403:6;2411;2464:2;2452:9;2443:7;2439:23;2435:32;2432:52;;;2480:1;2477;2470:12;2432:52;2519:9;2506:23;2538:31;2563:5;2538:31;:::i;:::-;2588:5;2640:2;2625:18;;;;2612:32;;-1:-1:-1;;;2335:315:1:o;2847:248::-;2915:6;2923;2976:2;2964:9;2955:7;2951:23;2947:32;2944:52;;;2992:1;2989;2982:12;2944:52;-1:-1:-1;;3015:23:1;;;3085:2;3070:18;;;3057:32;;-1:-1:-1;2847:248:1:o;3100:180::-;3156:6;3209:2;3197:9;3188:7;3184:23;3180:32;3177:52;;;3225:1;3222;3215:12;3177:52;3248:26;3264:9;3248:26;:::i;3702:456::-;3779:6;3787;3795;3848:2;3836:9;3827:7;3823:23;3819:32;3816:52;;;3864:1;3861;3854:12;3816:52;3903:9;3890:23;3922:31;3947:5;3922:31;:::i;:::-;3972:5;-1:-1:-1;4029:2:1;4014:18;;4001:32;4042:33;4001:32;4042:33;:::i;:::-;3702:456;;4094:7;;-1:-1:-1;;;4148:2:1;4133:18;;;;4120:32;;3702:456::o;4784:247::-;4843:6;4896:2;4884:9;4875:7;4871:23;4867:32;4864:52;;;4912:1;4909;4902:12;4864:52;4951:9;4938:23;4970:31;4995:5;4970:31;:::i;5036:388::-;5104:6;5112;5165:2;5153:9;5144:7;5140:23;5136:32;5133:52;;;5181:1;5178;5171:12;5133:52;5220:9;5207:23;5239:31;5264:5;5239:31;:::i;:::-;5289:5;-1:-1:-1;5346:2:1;5331:18;;5318:32;5359:33;5318:32;5359:33;:::i;:::-;5411:7;5401:17;;;5036:388;;;;;:::o;5429:356::-;5631:2;5613:21;;;5650:18;;;5643:30;5709:34;5704:2;5689:18;;5682:62;5776:2;5761:18;;5429:356::o;5790:127::-;5851:10;5846:3;5842:20;5839:1;5832:31;5882:4;5879:1;5872:15;5906:4;5903:1;5896:15;5922:127;5983:10;5978:3;5974:20;5971:1;5964:31;6014:4;6011:1;6004:15;6038:4;6035:1;6028:15;6054:135;6093:3;6114:17;;;6111:43;;6134:18;;:::i;:::-;-1:-1:-1;6181:1:1;6170:13;;6054:135::o;6194:380::-;6273:1;6269:12;;;;6316;;;6337:61;;6391:4;6383:6;6379:17;6369:27;;6337:61;6444:2;6436:6;6433:14;6413:18;6410:38;6407:161;;6490:10;6485:3;6481:20;6478:1;6471:31;6525:4;6522:1;6515:15;6553:4;6550:1;6543:15;6407:161;;6194:380;;;:::o;6579:168::-;6619:7;6685:1;6681;6677:6;6673:14;6670:1;6667:21;6662:1;6655:9;6648:17;6644:45;6641:71;;;6692:18;;:::i;:::-;-1:-1:-1;6732:9:1;;6579:168::o;6752:217::-;6792:1;6818;6808:132;;6862:10;6857:3;6853:20;6850:1;6843:31;6897:4;6894:1;6887:15;6925:4;6922:1;6915:15;6808:132;-1:-1:-1;6954:9:1;;6752:217::o;7320:125::-;7385:9;;;7406:10;;;7403:36;;;7419:18;;:::i;9384:175::-;9421:3;9465:4;9458:5;9454:16;9494:4;9485:7;9482:17;9479:43;;9502:18;;:::i;:::-;9551:1;9538:15;;9384:175;-1:-1:-1;;9384:175:1:o;9564:128::-;9631:9;;;9652:11;;;9649:37;;;9666:18;;:::i;10021:251::-;10091:6;10144:2;10132:9;10123:7;10119:23;10115:32;10112:52;;;10160:1;10157;10150:12;10112:52;10192:9;10186:16;10211:31;10236:5;10211:31;:::i;10277:980::-;10539:4;10587:3;10576:9;10572:19;10618:6;10607:9;10600:25;10644:2;10682:6;10677:2;10666:9;10662:18;10655:34;10725:3;10720:2;10709:9;10705:18;10698:31;10749:6;10784;10778:13;10815:6;10807;10800:22;10853:3;10842:9;10838:19;10831:26;;10892:2;10884:6;10880:15;10866:29;;10913:1;10923:195;10937:6;10934:1;10931:13;10923:195;;;11002:13;;-1:-1:-1;;;;;10998:39:1;10986:52;;11093:15;;;;11058:12;;;;11034:1;10952:9;10923:195;;;-1:-1:-1;;;;;;;11174:32:1;;;;11169:2;11154:18;;11147:60;-1:-1:-1;;;11238:3:1;11223:19;11216:35;11135:3;10277:980;-1:-1:-1;;;10277:980:1:o;11882:306::-;11970:6;11978;11986;12039:2;12027:9;12018:7;12014:23;12010:32;12007:52;;;12055:1;12052;12045:12;12007:52;12084:9;12078:16;12068:26;;12134:2;12123:9;12119:18;12113:25;12103:35;;12178:2;12167:9;12163:18;12157:25;12147:35;;11882:306;;;;;:::o
Swarm Source
ipfs://4bd5fe263f537c90aab0e00b7eb12f1489eaa65f91de493940bc2a42e950aea0
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.