ETH Price: $3,180.34 (-7.81%)
Gas: 5 Gwei

Token

ShinEaster Inu (SHIE)
 

Overview

Max Total Supply

100,000,000,000 SHIE

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
879,999,999.12 SHIE

Value
$0.00
0xa01257a31a8b54d469e2646e0f94adab60292122
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Shi

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-09
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.3;

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);
}
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;
}

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;
    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) {
    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;
  uint256 private _lockTime;
  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;
  }
  function getUnlockTime() public view returns (uint256) {
    return _lockTime;
  }
  function getTime() public view returns (uint256) {
    return block.timestamp;
  }
  function lock(uint256 time) public virtual onlyOwner {
    _previousOwner = _owner;
    _owner = address(0);
    _lockTime = block.timestamp + time;
    emit OwnershipTransferred(_owner, address(0));
  }
  function unlock() public virtual {
    require(_previousOwner == msg.sender, "You don't have permission to unlock");
    require(block.timestamp > _lockTime , "Contract is locked until 7 days");
    emit OwnershipTransferred(_owner, _previousOwner);
    _owner = _previousOwner;
  }
}
contract Shi is Context, IERC20, Ownable {

  using SafeMath for uint256;
  using Address for address;

  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;
  }

  mapping (address => uint256) _balances;
  mapping (address => mapping (address => uint256)) private _allowances;
  mapping (address => bool) public nonfee;
  mapping (address => bool) public nonlimit;
  mapping (address => bool) public isBlacklisted;

  uint256 private _totalSupply = 100 * 10**9 * 10**9;
  uint8 private _decimals = 9;
  uint256 public _liquidity = 2;
  uint256 public _marketing = 5;
  uint256 public _developer = 5;
  uint256 public maxamount = 4 * 10**9 * 10**9;
  uint256 public maxwallet = 5 * 10**9 * 10**9;
  uint256 private minbeforetrading = 1000 * 10**9;
  address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;

  uint256 public _antidump = 0;
  uint256 public _totaltax = 0;
  uint256 public _cooldown = 0;

  IUniswapV2Router02 public uniswapV2Router;
  address public uniswapV2Pair;

  bool inSwapAndLiquify;
  bool public swapAndLiquifyEnabled = true;
  bool public swapAndLiquifyByLimitOnly = false;
  bool public checkWalletLimit = true;

  address payable public marketingWallet = payable(0xC49526f31452b61B0dF2B31388d6662a51caaa71);
  address payable public rewardsWallet = payable(0xbd1e7E9BF08C5F253997A905965e506953e36D33);
  string private _name = "ShinEaster Inu";
  string private _symbol = "SHIE";

  constructor() {
    IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    uniswapV2Router = _uniswapV2Router;
    _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

    nonfee[owner()] = true;
    nonfee[address(this)] = true;

    _totaltax = _liquidity.add(_marketing).add(_developer);
    _cooldown = _totaltax.add(_antidump);

    nonlimit[owner()] = true;
    nonlimit[address(uniswapV2Pair)] = true;

    _balances[_msgSender()] = _totalSupply;
    emit Transfer(address(0), _msgSender(), _totalSupply);
  }
    receive() external payable {}

  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 Minbeforetrading() public view returns (uint256) {
    return minbeforetrading;
  }
  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 blacklistAddress(address account, bool newValue) public onlyOwner {
    isBlacklisted[account] = newValue;
  }
  function newnonfee(address account, bool newValue) public onlyOwner {
    nonfee[account] = newValue;
  }
  function changetax(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newRewardsTax, uint256 newExtraFeeOnSell) external onlyOwner() {
    _liquidity = newLiquidityTax;
    _marketing = newMarketingTax;
    _developer = newRewardsTax;
    _antidump = newExtraFeeOnSell;
    _totaltax = _liquidity.add(_marketing).add(_developer);
    _cooldown = _totaltax.add(_antidump);
  }
  function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
    maxamount = maxTxAmount;
  }
  function enableDisableWalletLimit(bool newValue) external onlyOwner {
    checkWalletLimit = newValue;
  }
  function newnonlimit(address holder, bool exempt) external onlyOwner {
    nonlimit[holder] = exempt;
  }
  function setWalletLimit(uint256 newLimit) external onlyOwner {
    maxwallet  = newLimit;
  }
  function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
    minbeforetrading = newLimit;
  }
  function setMarketingWallet(address newAddress) external onlyOwner() {
    marketingWallet = payable(newAddress);
  }
  function setRewardsWallet(address newAddress) external onlyOwner() {
    rewardsWallet = payable(newAddress);
  }
  function transferToAddressETH(address payable recipient, uint256 amount) private {
    recipient.transfer(amount);
  }
  function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) {
    IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress);
    newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
    if(newPairAddress == address(0)) {
      newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    }
    uniswapV2Pair = newPairAddress;
    uniswapV2Router = _uniswapV2Router;
  }
  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");
    require(!isBlacklisted[sender] && !isBlacklisted[recipient], "To/from address is blacklisted!");
    require(amount > 0, "Transfer amount must be greater than zero");

    if(inSwapAndLiquify) {
      return _basicTransfer(sender, recipient, amount);
    } else {
      if(sender != owner() && recipient != owner()) {
        require(amount <= maxamount, "Transfer amount exceeds the maxTxAmount.");
      }

      uint256 contractTokenBalance = balanceOf(address(this));
      bool overMinimumTokenBalance = contractTokenBalance >= minbeforetrading;

      if(overMinimumTokenBalance && !inSwapAndLiquify && sender != uniswapV2Pair && swapAndLiquifyEnabled) {
        if(swapAndLiquifyByLimitOnly) {
          contractTokenBalance = minbeforetrading;
        }
        swapAndLiquify(contractTokenBalance);
      }

      _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
      uint256 finalAmount = (nonfee[sender] || nonfee[recipient]) ? amount : takeFee(sender, recipient, amount);

      if(checkWalletLimit && !nonlimit[recipient]) {
        require(balanceOf(recipient).add(finalAmount) <= maxwallet);
      }

      _balances[recipient] = _balances[recipient].add(finalAmount);

      emit Transfer(sender, recipient, finalAmount);
      return true;
    }
  }
  function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
    _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
    return true;
  }
  function swapAndLiquify(uint256 tAmount) private lockTheSwap {
    uint256 tokensForLP = tAmount.div(_totaltax).mul(_liquidity).div(2);
    uint256 tokensForSwap = tAmount.sub(tokensForLP);
    swapTokensForEth(tokensForSwap);
    uint256 amountReceived = address(this).balance;
    uint256 totalFee = _totaltax.sub(_liquidity.div(2));
    uint256 amountLiquidity = amountReceived.mul(_liquidity).div(totalFee).div(2);
    uint256 amountRewards = amountReceived.mul(_developer).div(totalFee);
    uint256 amountMarketing = amountReceived.sub(amountLiquidity).sub(amountRewards);
    transferToAddressETH(marketingWallet, amountMarketing);
    transferToAddressETH(rewardsWallet, amountRewards);
    addLiquidity(tokensForLP, amountLiquidity);
  }
  function swapTokensForEth(uint256 tokenAmount) private {
    // generate the uniswap pair path of token -> weth
    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = uniswapV2Router.WETH();
    _approve(address(this), address(uniswapV2Router), tokenAmount);
    // make the swap
    uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
      tokenAmount,
      0, // accept any amount of ETH
      path,
      address(this), // The contract
      block.timestamp
    );
    emit SwapTokensForETH(tokenAmount, path);
  }
  function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
    // approve token transfer to cover all possible scenarios
    _approve(address(this), address(uniswapV2Router), tokenAmount);
    // add the liquidity
    uniswapV2Router.addLiquidityETH{value: ethAmount}(
      address(this),
      tokenAmount,
      0, // slippage is unavoidable
      0, // slippage is unavoidable
      owner(),
      block.timestamp
    );
  }
  function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
    uint256 feeAmount = recipient == uniswapV2Pair ? amount.mul(_cooldown).div(100) : amount.mul(_totaltax).div(100);
    _balances[address(this)] = _balances[address(this)].add(feeAmount);
    emit Transfer(sender, address(this), feeAmount);
    return amount.sub(feeAmount);
  }
  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));
  }
}

Contract Security Audit

Contract ABI

[{"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":"Minbeforetrading","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_antidump","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totaltax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newRewardsTax","type":"uint256"},{"internalType":"uint256","name":"newExtraFeeOnSell","type":"uint256"}],"name":"changetax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxamount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxwallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"newnonfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"newnonlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonfee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonlimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardsWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setRewardsWallet","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":[],"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":"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"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

68056bc75e2d631000006008556009805460ff1916811790556002600a556005600b819055600c55673782dace9d900000600d55674563918244f40000600e90815564e8d4a51000600f5561dead608052600060108190556011819055601255601480546201000160a81b62ffffff60a81b19909116179055601580546001600160a01b031990811673c49526f31452b61b0df2b31388d6662a51caaa71179091556016805490911673bd1e7e9bf08c5f253997a905965e506953e36d3317905560e060405260a08190526d5368696e45617374657220496e7560901b60c0908152620000f0916017919062000526565b50604080518082019091526004808252635348494560e01b60209092019182526200011e9160189162000526565b503480156200012c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ec9190620005cc565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002609190620005cc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d49190620005cc565b601480546001600160a01b039283166001600160a01b031991821617909155601380549284169290911682179055600854306000908152600460209081526040808320948352939052918220556001906005906200033a6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260058352208054909216600117909155600c54600b54600a54620003b0936200039c929062001514620004b9821b17901c565b620004b960201b620015141790919060201c565b601181905550620003d4601054601154620004b960201b620015141790919060201c565b601255600160066000620003f06000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601454909116815260069092528120805490921660011790915560085490600390620004473390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620004aa91815260200190565b60405180910390a3506200065a565b600080620004c88385620005f7565b9050838110156200051f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b82805462000534906200061e565b90600052602060002090601f016020900481019282620005585760008555620005a3565b82601f106200057357805160ff1916838001178555620005a3565b82800160010185558215620005a3579182015b82811115620005a357825182559160200191906001019062000586565b50620005b1929150620005b5565b5090565b5b80821115620005b15760008155600101620005b6565b600060208284031215620005df57600080fd5b81516001600160a01b03811681146200051f57600080fd5b600082198211156200061957634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200063357607f821691505b6020821081036200065457634e487b7160e01b600052602260045260246000fd5b50919050565b6080516126976200067d600039600081816104410152610b0e01526126976000f3fe6080604052600436106103035760003560e01c806370a0823111610190578063c49b9a80116100dc578063ec28438a11610095578063f2fde38b1161006f578063f2fde38b14610916578063f7d6186214610936578063f872858a14610956578063fe575a871461097757600080fd5b8063ec28438a146108c0578063f06f5668146108e0578063f1d5f517146108f657600080fd5b8063c49b9a80146107c9578063d8760b8a146107e9578063da00097d14610819578063dd4670641461083a578063dd62ed3e1461085a578063e724f51b146108a057600080fd5b8063a198043011610149578063a69df4b511610123578063a69df4b51461075e578063a9059cbb14610773578063aa660bea14610793578063c109789b146107a957600080fd5b8063a1980430146106fe578063a457c2d71461071e578063a5d69d1f1461073e57600080fd5b806370a082311461064a578063715018a61461068057806375f0a874146106955780637a9d0758146106b55780638da5cb5b146106cb57806395d89b41146106e957600080fd5b80633b97084a1161024f578063557ed1ba116102085780635d098b38116101e25780635d098b38146105cf578063602bc62b146105ef57806362940cc4146106045780636a5e166c1461061a57600080fd5b8063557ed1ba1461057c5780635881f3ef1461058f5780635b35f9c9146105af57600080fd5b80633b97084a146104d0578063455a4396146104f0578063491d0a561461051057806349bd5a5e146105265780634a74bb02146105465780635084c2e81461056757600080fd5b806323b872dd116102bc5780632b112e49116102965780632b112e4914610463578063313ce56714610478578063395093511461049a57806339b09d4a146104ba57600080fd5b806323b872dd146103ed5780632563ae831461040d57806327c8f8351461042f57600080fd5b80630666e4131461030f57806306fdde0314610338578063095ea7b31461035a578063158ece131461038a5780631694505e146103a057806318160ddd146103d857600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b50610325600e5481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5061034d6109a7565b60405161032f919061221d565b34801561036657600080fd5b5061037a61037536600461228a565b610a39565b604051901515815260200161032f565b34801561039657600080fd5b5061032560105481565b3480156103ac57600080fd5b506013546103c0906001600160a01b031681565b6040516001600160a01b03909116815260200161032f565b3480156103e457600080fd5b50600854610325565b3480156103f957600080fd5b5061037a6104083660046122b6565b610a50565b34801561041957600080fd5b5061042d61042836600461230c565b610abb565b005b34801561043b57600080fd5b506103c07f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f57600080fd5b50610325610b0c565b34801561048457600080fd5b5060095460405160ff909116815260200161032f565b3480156104a657600080fd5b5061037a6104b536600461228a565b610b56565b3480156104c657600080fd5b5061032560125481565b3480156104dc57600080fd5b5061042d6104eb366004612327565b610b8c565b3480156104fc57600080fd5b5061042d61050b366004612340565b610bbb565b34801561051c57600080fd5b50610325600a5481565b34801561053257600080fd5b506014546103c0906001600160a01b031681565b34801561055257600080fd5b5060145461037a90600160a81b900460ff1681565b34801561057357600080fd5b50600f54610325565b34801561058857600080fd5b5042610325565b34801561059b57600080fd5b506103c06105aa366004612375565b610c10565b3480156105bb57600080fd5b506016546103c0906001600160a01b031681565b3480156105db57600080fd5b5061042d6105ea366004612375565b610f0d565b3480156105fb57600080fd5b50600254610325565b34801561061057600080fd5b50610325600b5481565b34801561062657600080fd5b5061037a610635366004612375565b60056020526000908152604090205460ff1681565b34801561065657600080fd5b50610325610665366004612375565b6001600160a01b031660009081526003602052604090205490565b34801561068c57600080fd5b5061042d610f59565b3480156106a157600080fd5b506015546103c0906001600160a01b031681565b3480156106c157600080fd5b50610325600c5481565b3480156106d757600080fd5b506000546001600160a01b03166103c0565b3480156106f557600080fd5b5061034d610fbb565b34801561070a57600080fd5b5061042d610719366004612375565b610fca565b34801561072a57600080fd5b5061037a61073936600461228a565b611016565b34801561074a57600080fd5b5061042d61075936600461230c565b611065565b34801561076a57600080fd5b5061042d6110ad565b34801561077f57600080fd5b5061037a61078e36600461228a565b6111b3565b34801561079f57600080fd5b5061032560115481565b3480156107b557600080fd5b5061042d6107c4366004612392565b6111c0565b3480156107d557600080fd5b5061042d6107e436600461230c565b61122d565b3480156107f557600080fd5b5061037a610804366004612375565b60066020526000908152604090205460ff1681565b34801561082557600080fd5b5060145461037a90600160b01b900460ff1681565b34801561084657600080fd5b5061042d610855366004612327565b6112af565b34801561086657600080fd5b506103256108753660046123c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156108ac57600080fd5b5061042d6108bb366004612340565b611334565b3480156108cc57600080fd5b5061042d6108db366004612327565b611389565b3480156108ec57600080fd5b50610325600d5481565b34801561090257600080fd5b5061042d610911366004612327565b6113b8565b34801561092257600080fd5b5061042d610931366004612375565b6113e7565b34801561094257600080fd5b5061042d610951366004612340565b6114bf565b34801561096257600080fd5b5060145461037a90600160b81b900460ff1681565b34801561098357600080fd5b5061037a610992366004612375565b60076020526000908152604090205460ff1681565b6060601780546109b6906123fd565b80601f01602080910402602001604051908101604052809291908181526020018280546109e2906123fd565b8015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b820191906000526020600020905b815481529060010190602001808311610a1257829003601f168201915b5050505050905090565b6000610a46338484611573565b5060015b92915050565b6000610a5d848484611697565b50610ab08433610aab856040518060600160405280602881526020016125f5602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611b35565b611573565b5060015b9392505050565b6000546001600160a01b03163314610aee5760405162461bcd60e51b8152600401610ae590612437565b60405180910390fd5b60148054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260036020526040812054600854610b5191611b6f565b905090565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610a46918590610aab9086611514565b6000546001600160a01b03163314610bb65760405162461bcd60e51b8152600401610ae590612437565b600f55565b6000546001600160a01b03163314610be55760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314610c3b5760405162461bcd60e51b8152600401610ae590612437565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca2919061246c565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d13919061246c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d82919061246c565b91506001600160a01b038216610ed957806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df4919061246c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e65919061246c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed6919061246c565b91505b601480546001600160a01b038085166001600160a01b03199283161790925560138054939092169216919091179055919050565b6000546001600160a01b03163314610f375760405162461bcd60e51b8152600401610ae590612437565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f835760405162461bcd60e51b8152600401610ae590612437565b600080546040516001600160a01b039091169060008051602061261d833981519152908390a3600080546001600160a01b0319169055565b6060601880546109b6906123fd565b6000546001600160a01b03163314610ff45760405162461bcd60e51b8152600401610ae590612437565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a463384610aab8560405180606001604052806025815260200161263d602591393360009081526004602090815260408083206001600160a01b038d1684529091529020549190611b35565b6000546001600160a01b0316331461108f5760405162461bcd60e51b8152600401610ae590612437565b60148054911515600160b01b0260ff60b01b19909216919091179055565b6001546001600160a01b031633146111135760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610ae5565b60025442116111645760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610ae5565b600154600080546040516001600160a01b03938416939091169160008051602061261d83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610ab0338484611697565b6000546001600160a01b031633146111ea5760405162461bcd60e51b8152600401610ae590612437565b600a849055600b839055600c82905560108190556112128261120c8686611514565b90611514565b60118190556010546112249190611514565b60125550505050565b6000546001600160a01b031633146112575760405162461bcd60e51b8152600401610ae590612437565b60148054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906112a490831515815260200190565b60405180910390a150565b6000546001600160a01b031633146112d95760405162461bcd60e51b8152600401610ae590612437565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055611308814261249f565b600255600080546040516001600160a01b039091169060008051602061261d833981519152908390a350565b6000546001600160a01b0316331461135e5760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113b35760405162461bcd60e51b8152600401610ae590612437565b600d55565b6000546001600160a01b031633146113e25760405162461bcd60e51b8152600401610ae590612437565b600e55565b6000546001600160a01b031633146114115760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b0381166114765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ae5565b600080546040516001600160a01b038085169392169160008051602061261d83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114e95760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600080611521838561249f565b905083811015610ab45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ae5565b6001600160a01b0383166115d55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ae5565b6001600160a01b0382166116365760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ae5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166116fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ae5565b6001600160a01b03831661175f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ae5565b6001600160a01b03841660009081526007602052604090205460ff161580156117a157506001600160a01b03831660009081526007602052604090205460ff16155b6117ed5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c697374656421006044820152606401610ae5565b6000821161184f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ae5565b601454600160a01b900460ff16156118735761186c848484611bb1565b9050610ab4565b6000546001600160a01b0385811691161480159061189f57506000546001600160a01b03848116911614155b1561190757600d548211156119075760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610ae5565b30600090815260036020526040902054600f54811080159081906119355750601454600160a01b900460ff16155b801561194f57506014546001600160a01b03878116911614155b80156119645750601454600160a81b900460ff165b1561198a57601454600160b01b900460ff161561198157600f5491505b61198a82611c97565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600390915291909120546119dc918690611b35565b6001600160a01b038716600090815260036020908152604080832093909355600590529081205460ff1680611a2957506001600160a01b03861660009081526005602052604090205460ff165b611a3d57611a38878787611db5565b611a3f565b845b601454909150600160b81b900460ff168015611a7457506001600160a01b03861660009081526006602052604090205460ff16155b15611aaa57600e54611a9f8261120c896001600160a01b031660009081526003602052604090205490565b1115611aaa57600080fd5b6001600160a01b038616600090815260036020526040902054611acd9082611514565b6001600160a01b0380881660008181526003602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b219085815260200190565b60405180910390a360019350505050610ab4565b60008184841115611b595760405162461bcd60e51b8152600401610ae5919061221d565b506000611b6684866124b7565b95945050505050565b6000610ab483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b35565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611c02918490611b35565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611c319083611514565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c859086815260200190565b60405180910390a35060019392505050565b6014805460ff60a01b1916600160a01b179055600a54601154600091611cd591600291611ccf91611cc9908790611e88565b90611eca565b90611e88565b90506000611ce38383611b6f565b9050611cee81611f4c565b600a544790600090611d0e90611d05906002611e88565b60115490611b6f565b90506000611d306002611ccf84611ccf600a5488611eca90919063ffffffff16565b90506000611d4d83611ccf600c5487611eca90919063ffffffff16565b90506000611d6582611d5f8786611b6f565b90611b6f565b601554909150611d7e906001600160a01b0316826120df565b601654611d94906001600160a01b0316836120df565b611d9e878461211a565b50506014805460ff60a01b19169055505050505050565b60145460009081906001600160a01b03858116911614611dee57611de96064611ccf60115486611eca90919063ffffffff16565b611e08565b611e086064611ccf60125486611eca90919063ffffffff16565b30600090815260036020526040902054909150611e259082611514565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e769085815260200190565b60405180910390a3611b668382611b6f565b6000610ab483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121ef565b600082600003611edc57506000610a4a565b6000611ee883856124ce565b905082611ef585836124ed565b14610ab45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ae5565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f8157611f8161250f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffe919061246c565b816001815181106120115761201161250f565b6001600160a01b0392831660209182029290920101526013546120379130911684611573565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790612070908590600090869030904290600401612569565b600060405180830381600087803b15801561208a57600080fd5b505af115801561209e573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516120d39291906125a5565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612115573d6000803e3d6000fd5b505050565b6013546121329030906001600160a01b031684611573565b6013546001600160a01b031663f305d71982308560008061215b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156121c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121e891906125c6565b5050505050565b600081836122105760405162461bcd60e51b8152600401610ae5919061221d565b506000611b6684866124ed565b600060208083528351808285015260005b8181101561224a5785810183015185820160400152820161222e565b8181111561225c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461228757600080fd5b50565b6000806040838503121561229d57600080fd5b82356122a881612272565b946020939093013593505050565b6000806000606084860312156122cb57600080fd5b83356122d681612272565b925060208401356122e681612272565b929592945050506040919091013590565b8035801515811461230757600080fd5b919050565b60006020828403121561231e57600080fd5b610ab4826122f7565b60006020828403121561233957600080fd5b5035919050565b6000806040838503121561235357600080fd5b823561235e81612272565b915061236c602084016122f7565b90509250929050565b60006020828403121561238757600080fd5b8135610ab481612272565b600080600080608085870312156123a857600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156123d757600080fd5b82356123e281612272565b915060208301356123f281612272565b809150509250929050565b600181811c9082168061241157607f821691505b60208210810361243157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561247e57600080fd5b8151610ab481612272565b634e487b7160e01b600052601160045260246000fd5b600082198211156124b2576124b2612489565b500190565b6000828210156124c9576124c9612489565b500390565b60008160001904831182151516156124e8576124e8612489565b500290565b60008261250a57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561255e5781516001600160a01b031687529582019590820190600101612539565b509495945050505050565b85815284602082015260a06040820152600061258860a0830186612525565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006125be6040830184612525565b949350505050565b6000806000606084860312156125db57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205b6b2e7a60fb9fdf201f26b75191909f35ddb2d0066bc2f833b8e8b7697131fb64736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106103035760003560e01c806370a0823111610190578063c49b9a80116100dc578063ec28438a11610095578063f2fde38b1161006f578063f2fde38b14610916578063f7d6186214610936578063f872858a14610956578063fe575a871461097757600080fd5b8063ec28438a146108c0578063f06f5668146108e0578063f1d5f517146108f657600080fd5b8063c49b9a80146107c9578063d8760b8a146107e9578063da00097d14610819578063dd4670641461083a578063dd62ed3e1461085a578063e724f51b146108a057600080fd5b8063a198043011610149578063a69df4b511610123578063a69df4b51461075e578063a9059cbb14610773578063aa660bea14610793578063c109789b146107a957600080fd5b8063a1980430146106fe578063a457c2d71461071e578063a5d69d1f1461073e57600080fd5b806370a082311461064a578063715018a61461068057806375f0a874146106955780637a9d0758146106b55780638da5cb5b146106cb57806395d89b41146106e957600080fd5b80633b97084a1161024f578063557ed1ba116102085780635d098b38116101e25780635d098b38146105cf578063602bc62b146105ef57806362940cc4146106045780636a5e166c1461061a57600080fd5b8063557ed1ba1461057c5780635881f3ef1461058f5780635b35f9c9146105af57600080fd5b80633b97084a146104d0578063455a4396146104f0578063491d0a561461051057806349bd5a5e146105265780634a74bb02146105465780635084c2e81461056757600080fd5b806323b872dd116102bc5780632b112e49116102965780632b112e4914610463578063313ce56714610478578063395093511461049a57806339b09d4a146104ba57600080fd5b806323b872dd146103ed5780632563ae831461040d57806327c8f8351461042f57600080fd5b80630666e4131461030f57806306fdde0314610338578063095ea7b31461035a578063158ece131461038a5780631694505e146103a057806318160ddd146103d857600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b50610325600e5481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5061034d6109a7565b60405161032f919061221d565b34801561036657600080fd5b5061037a61037536600461228a565b610a39565b604051901515815260200161032f565b34801561039657600080fd5b5061032560105481565b3480156103ac57600080fd5b506013546103c0906001600160a01b031681565b6040516001600160a01b03909116815260200161032f565b3480156103e457600080fd5b50600854610325565b3480156103f957600080fd5b5061037a6104083660046122b6565b610a50565b34801561041957600080fd5b5061042d61042836600461230c565b610abb565b005b34801561043b57600080fd5b506103c07f000000000000000000000000000000000000000000000000000000000000dead81565b34801561046f57600080fd5b50610325610b0c565b34801561048457600080fd5b5060095460405160ff909116815260200161032f565b3480156104a657600080fd5b5061037a6104b536600461228a565b610b56565b3480156104c657600080fd5b5061032560125481565b3480156104dc57600080fd5b5061042d6104eb366004612327565b610b8c565b3480156104fc57600080fd5b5061042d61050b366004612340565b610bbb565b34801561051c57600080fd5b50610325600a5481565b34801561053257600080fd5b506014546103c0906001600160a01b031681565b34801561055257600080fd5b5060145461037a90600160a81b900460ff1681565b34801561057357600080fd5b50600f54610325565b34801561058857600080fd5b5042610325565b34801561059b57600080fd5b506103c06105aa366004612375565b610c10565b3480156105bb57600080fd5b506016546103c0906001600160a01b031681565b3480156105db57600080fd5b5061042d6105ea366004612375565b610f0d565b3480156105fb57600080fd5b50600254610325565b34801561061057600080fd5b50610325600b5481565b34801561062657600080fd5b5061037a610635366004612375565b60056020526000908152604090205460ff1681565b34801561065657600080fd5b50610325610665366004612375565b6001600160a01b031660009081526003602052604090205490565b34801561068c57600080fd5b5061042d610f59565b3480156106a157600080fd5b506015546103c0906001600160a01b031681565b3480156106c157600080fd5b50610325600c5481565b3480156106d757600080fd5b506000546001600160a01b03166103c0565b3480156106f557600080fd5b5061034d610fbb565b34801561070a57600080fd5b5061042d610719366004612375565b610fca565b34801561072a57600080fd5b5061037a61073936600461228a565b611016565b34801561074a57600080fd5b5061042d61075936600461230c565b611065565b34801561076a57600080fd5b5061042d6110ad565b34801561077f57600080fd5b5061037a61078e36600461228a565b6111b3565b34801561079f57600080fd5b5061032560115481565b3480156107b557600080fd5b5061042d6107c4366004612392565b6111c0565b3480156107d557600080fd5b5061042d6107e436600461230c565b61122d565b3480156107f557600080fd5b5061037a610804366004612375565b60066020526000908152604090205460ff1681565b34801561082557600080fd5b5060145461037a90600160b01b900460ff1681565b34801561084657600080fd5b5061042d610855366004612327565b6112af565b34801561086657600080fd5b506103256108753660046123c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156108ac57600080fd5b5061042d6108bb366004612340565b611334565b3480156108cc57600080fd5b5061042d6108db366004612327565b611389565b3480156108ec57600080fd5b50610325600d5481565b34801561090257600080fd5b5061042d610911366004612327565b6113b8565b34801561092257600080fd5b5061042d610931366004612375565b6113e7565b34801561094257600080fd5b5061042d610951366004612340565b6114bf565b34801561096257600080fd5b5060145461037a90600160b81b900460ff1681565b34801561098357600080fd5b5061037a610992366004612375565b60076020526000908152604090205460ff1681565b6060601780546109b6906123fd565b80601f01602080910402602001604051908101604052809291908181526020018280546109e2906123fd565b8015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b820191906000526020600020905b815481529060010190602001808311610a1257829003601f168201915b5050505050905090565b6000610a46338484611573565b5060015b92915050565b6000610a5d848484611697565b50610ab08433610aab856040518060600160405280602881526020016125f5602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611b35565b611573565b5060015b9392505050565b6000546001600160a01b03163314610aee5760405162461bcd60e51b8152600401610ae590612437565b60405180910390fd5b60148054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260036020526040812054600854610b5191611b6f565b905090565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610a46918590610aab9086611514565b6000546001600160a01b03163314610bb65760405162461bcd60e51b8152600401610ae590612437565b600f55565b6000546001600160a01b03163314610be55760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314610c3b5760405162461bcd60e51b8152600401610ae590612437565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca2919061246c565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d13919061246c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d82919061246c565b91506001600160a01b038216610ed957806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df4919061246c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e65919061246c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed6919061246c565b91505b601480546001600160a01b038085166001600160a01b03199283161790925560138054939092169216919091179055919050565b6000546001600160a01b03163314610f375760405162461bcd60e51b8152600401610ae590612437565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f835760405162461bcd60e51b8152600401610ae590612437565b600080546040516001600160a01b039091169060008051602061261d833981519152908390a3600080546001600160a01b0319169055565b6060601880546109b6906123fd565b6000546001600160a01b03163314610ff45760405162461bcd60e51b8152600401610ae590612437565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a463384610aab8560405180606001604052806025815260200161263d602591393360009081526004602090815260408083206001600160a01b038d1684529091529020549190611b35565b6000546001600160a01b0316331461108f5760405162461bcd60e51b8152600401610ae590612437565b60148054911515600160b01b0260ff60b01b19909216919091179055565b6001546001600160a01b031633146111135760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610ae5565b60025442116111645760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610ae5565b600154600080546040516001600160a01b03938416939091169160008051602061261d83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610ab0338484611697565b6000546001600160a01b031633146111ea5760405162461bcd60e51b8152600401610ae590612437565b600a849055600b839055600c82905560108190556112128261120c8686611514565b90611514565b60118190556010546112249190611514565b60125550505050565b6000546001600160a01b031633146112575760405162461bcd60e51b8152600401610ae590612437565b60148054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906112a490831515815260200190565b60405180910390a150565b6000546001600160a01b031633146112d95760405162461bcd60e51b8152600401610ae590612437565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055611308814261249f565b600255600080546040516001600160a01b039091169060008051602061261d833981519152908390a350565b6000546001600160a01b0316331461135e5760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113b35760405162461bcd60e51b8152600401610ae590612437565b600d55565b6000546001600160a01b031633146113e25760405162461bcd60e51b8152600401610ae590612437565b600e55565b6000546001600160a01b031633146114115760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b0381166114765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ae5565b600080546040516001600160a01b038085169392169160008051602061261d83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114e95760405162461bcd60e51b8152600401610ae590612437565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600080611521838561249f565b905083811015610ab45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ae5565b6001600160a01b0383166115d55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ae5565b6001600160a01b0382166116365760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ae5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166116fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ae5565b6001600160a01b03831661175f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ae5565b6001600160a01b03841660009081526007602052604090205460ff161580156117a157506001600160a01b03831660009081526007602052604090205460ff16155b6117ed5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c697374656421006044820152606401610ae5565b6000821161184f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ae5565b601454600160a01b900460ff16156118735761186c848484611bb1565b9050610ab4565b6000546001600160a01b0385811691161480159061189f57506000546001600160a01b03848116911614155b1561190757600d548211156119075760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610ae5565b30600090815260036020526040902054600f54811080159081906119355750601454600160a01b900460ff16155b801561194f57506014546001600160a01b03878116911614155b80156119645750601454600160a81b900460ff165b1561198a57601454600160b01b900460ff161561198157600f5491505b61198a82611c97565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600390915291909120546119dc918690611b35565b6001600160a01b038716600090815260036020908152604080832093909355600590529081205460ff1680611a2957506001600160a01b03861660009081526005602052604090205460ff165b611a3d57611a38878787611db5565b611a3f565b845b601454909150600160b81b900460ff168015611a7457506001600160a01b03861660009081526006602052604090205460ff16155b15611aaa57600e54611a9f8261120c896001600160a01b031660009081526003602052604090205490565b1115611aaa57600080fd5b6001600160a01b038616600090815260036020526040902054611acd9082611514565b6001600160a01b0380881660008181526003602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b219085815260200190565b60405180910390a360019350505050610ab4565b60008184841115611b595760405162461bcd60e51b8152600401610ae5919061221d565b506000611b6684866124b7565b95945050505050565b6000610ab483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b35565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611c02918490611b35565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611c319083611514565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c859086815260200190565b60405180910390a35060019392505050565b6014805460ff60a01b1916600160a01b179055600a54601154600091611cd591600291611ccf91611cc9908790611e88565b90611eca565b90611e88565b90506000611ce38383611b6f565b9050611cee81611f4c565b600a544790600090611d0e90611d05906002611e88565b60115490611b6f565b90506000611d306002611ccf84611ccf600a5488611eca90919063ffffffff16565b90506000611d4d83611ccf600c5487611eca90919063ffffffff16565b90506000611d6582611d5f8786611b6f565b90611b6f565b601554909150611d7e906001600160a01b0316826120df565b601654611d94906001600160a01b0316836120df565b611d9e878461211a565b50506014805460ff60a01b19169055505050505050565b60145460009081906001600160a01b03858116911614611dee57611de96064611ccf60115486611eca90919063ffffffff16565b611e08565b611e086064611ccf60125486611eca90919063ffffffff16565b30600090815260036020526040902054909150611e259082611514565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e769085815260200190565b60405180910390a3611b668382611b6f565b6000610ab483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121ef565b600082600003611edc57506000610a4a565b6000611ee883856124ce565b905082611ef585836124ed565b14610ab45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ae5565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f8157611f8161250f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffe919061246c565b816001815181106120115761201161250f565b6001600160a01b0392831660209182029290920101526013546120379130911684611573565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790612070908590600090869030904290600401612569565b600060405180830381600087803b15801561208a57600080fd5b505af115801561209e573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516120d39291906125a5565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612115573d6000803e3d6000fd5b505050565b6013546121329030906001600160a01b031684611573565b6013546001600160a01b031663f305d71982308560008061215b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156121c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121e891906125c6565b5050505050565b600081836122105760405162461bcd60e51b8152600401610ae5919061221d565b506000611b6684866124ed565b600060208083528351808285015260005b8181101561224a5785810183015185820160400152820161222e565b8181111561225c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461228757600080fd5b50565b6000806040838503121561229d57600080fd5b82356122a881612272565b946020939093013593505050565b6000806000606084860312156122cb57600080fd5b83356122d681612272565b925060208401356122e681612272565b929592945050506040919091013590565b8035801515811461230757600080fd5b919050565b60006020828403121561231e57600080fd5b610ab4826122f7565b60006020828403121561233957600080fd5b5035919050565b6000806040838503121561235357600080fd5b823561235e81612272565b915061236c602084016122f7565b90509250929050565b60006020828403121561238757600080fd5b8135610ab481612272565b600080600080608085870312156123a857600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156123d757600080fd5b82356123e281612272565b915060208301356123f281612272565b809150509250929050565b600181811c9082168061241157607f821691505b60208210810361243157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561247e57600080fd5b8151610ab481612272565b634e487b7160e01b600052601160045260246000fd5b600082198211156124b2576124b2612489565b500190565b6000828210156124c9576124c9612489565b500390565b60008160001904831182151516156124e8576124e8612489565b500290565b60008261250a57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561255e5781516001600160a01b031687529582019590820190600101612539565b509495945050505050565b85815284602082015260a06040820152600061258860a0830186612525565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006125be6040830184612525565b949350505050565b6000806000606084860312156125db57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205b6b2e7a60fb9fdf201f26b75191909f35ddb2d0066bc2f833b8e8b7697131fb64736f6c634300080d0033

Deployed Bytecode Sourcemap

13718:11278:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14701:44;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;14701:44:0;;;;;;;;16269:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17445:151::-;;;;;;;;;;-1:-1:-1;17445:151:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;17445:151:0;1254:187:1;14890:28:0;;;;;;;;;;;;;;;;14991:41;;;;;;;;;;-1:-1:-1;14991:41:0;;;;-1:-1:-1;;;;;14991:41:0;;;;;;-1:-1:-1;;;;;1636:32:1;;;1618:51;;1606:2;1591:18;14991:41:0;1446:229:1;16516:94:0;;;;;;;;;;-1:-1:-1;16592:12:0;;16516:94;;20179:305;;;;;;;;;;-1:-1:-1;20179:305:0;;;;;:::i;:::-;;:::i;18656:108::-;;;;;;;;;;-1:-1:-1;18656:108:0;;;;;:::i;:::-;;:::i;:::-;;14802:81;;;;;;;;;;;;;;;24871:122;;;;;;;;;;;;;:::i;16435:77::-;;;;;;;;;;-1:-1:-1;16497:9:0;;16435:77;;16497:9;;;;2841:36:1;;2829:2;2814:18;16435:77:0;2699:184:1;16872:208:0;;;;;;;;;;-1:-1:-1;16872:208:0;;;;;:::i;:::-;;:::i;14956:28::-;;;;;;;;;;;;;;;;18978:111;;;;;;;;;;-1:-1:-1;18978:111:0;;;;;:::i;:::-;;:::i;17921:121::-;;;;;;;;;;-1:-1:-1;17921:121:0;;;;;:::i;:::-;;:::i;14550:29::-;;;;;;;;;;;;;;;;15037:28;;;;;;;;;;-1:-1:-1;15037:28:0;;;;-1:-1:-1;;;;;15037:28:0;;;15098:40;;;;;;;;;;-1:-1:-1;15098:40:0;;;;-1:-1:-1;;;15098:40:0;;;;;;17347:94;;;;;;;;;;-1:-1:-1;17419:16:0;;17347:94;;13126:84;;;;;;;;;;-1:-1:-1;13189:15:0;13126:84;;19459:555;;;;;;;;;;-1:-1:-1;19459:555:0;;;;;:::i;:::-;;:::i;15332:90::-;;;;;;;;;;-1:-1:-1;15332:90:0;;;;-1:-1:-1;;;;;15332:90:0;;;19093:119;;;;;;;;;;-1:-1:-1;19093:119:0;;;;;:::i;:::-;;:::i;13038:84::-;;;;;;;;;;-1:-1:-1;13107:9:0;;13038:84;;14584:29;;;;;;;;;;;;;;;;14320:39;;;;;;;;;;-1:-1:-1;14320:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16614:113;;;;;;;;;;-1:-1:-1;16614:113:0;;;;;:::i;:::-;-1:-1:-1;;;;;16703:18:0;16680:7;16703:18;;;:9;:18;;;;;;;16614:113;12662:138;;;;;;;;;;;;;:::i;15235:92::-;;;;;;;;;;-1:-1:-1;15235:92:0;;;;-1:-1:-1;;;;;15235:92:0;;;14618:29;;;;;;;;;;;;;;;;12472:73;;;;;;;;;;-1:-1:-1;12510:7:0;12533:6;-1:-1:-1;;;;;12533:6:0;12472:73;;16350:81;;;;;;;;;;;;;:::i;19216:115::-;;;;;;;;;;-1:-1:-1;19216:115:0;;;;;:::i;:::-;;:::i;17084:259::-;;;;;;;;;;-1:-1:-1;17084:259:0;;;;;:::i;:::-;;:::i;24748:119::-;;;;;;;;;;-1:-1:-1;24748:119:0;;;;;:::i;:::-;;:::i;13426:287::-;;;;;;;;;;;;;:::i;20018:157::-;;;;;;;;;;-1:-1:-1;20018:157:0;;;;;:::i;:::-;;:::i;14923:28::-;;;;;;;;;;;;;;;;18157:389;;;;;;;;;;-1:-1:-1;18157:389:0;;;;;:::i;:::-;;:::i;24583:161::-;;;;;;;;;;-1:-1:-1;24583:161:0;;;;;:::i;:::-;;:::i;14364:41::-;;;;;;;;;;-1:-1:-1;14364:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15143:45;;;;;;;;;;-1:-1:-1;15143:45:0;;;;-1:-1:-1;;;15143:45:0;;;;;;13214:208;;;;;;;;;;-1:-1:-1;13214:208:0;;;;;:::i;:::-;;:::i;16731:137::-;;;;;;;;;;-1:-1:-1;16731:137:0;;;;;:::i;:::-;-1:-1:-1;;;;;16835:18:0;;;16812:7;16835:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16731:137;18046:107;;;;;;;;;;-1:-1:-1;18046:107:0;;;;;:::i;:::-;;:::i;18550:102::-;;;;;;;;;;-1:-1:-1;18550:102:0;;;;;:::i;:::-;;:::i;14652:44::-;;;;;;;;;;;;;;;;18879:95;;;;;;;;;;-1:-1:-1;18879:95:0;;;;;:::i;:::-;;:::i;12804:230::-;;;;;;;;;;-1:-1:-1;12804:230:0;;;;;:::i;:::-;;:::i;18768:107::-;;;;;;;;;;-1:-1:-1;18768:107:0;;;;;:::i;:::-;;:::i;15193:35::-;;;;;;;;;;-1:-1:-1;15193:35:0;;;;-1:-1:-1;;;15193:35:0;;;;;;14410:46;;;;;;;;;;-1:-1:-1;14410:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16269:77;16306:13;16335:5;16328:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16269:77;:::o;17445:151::-;17520:4;17533:39;192:10;17556:7;17565:6;17533:8;:39::i;:::-;-1:-1:-1;17586:4:0;17445:151;;;;;:::o;20179:305::-;20277:4;20292:36;20302:6;20310:9;20321:6;20292:9;:36::i;:::-;-1:-1:-1;20337:121:0;20346:6;192:10;20368:89;20406:6;20368:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20368:19:0;;;;;;:11;:19;;;;;;;;192:10;20368:33;;;;;;;;;;:37;:89::i;:::-;20337:8;:121::i;:::-;-1:-1:-1;20474:4:0;20179:305;;;;;;:::o;18656:108::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;;;;;;;;;18731:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;18731:27:0::1;-1:-1:-1::0;;;;18731:27:0;;::::1;::::0;;;::::1;::::0;;18656:108::o;24871:122::-;24974:11;-1:-1:-1;;;;;16703:18:0;24924:7;16703:18;;;:9;:18;;;;;;24947:12;;:40;;:16;:40::i;:::-;24940:47;;24871:122;:::o;16872:208::-;192:10;16960:4;17005:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17005:34:0;;;;;;;;;;16960:4;;16973:83;;16996:7;;17005:50;;17044:10;17005:38;:50::i;18978:111::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;19056:16:::1;:27:::0;18978:111::o;17921:121::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18003:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:33;;-1:-1:-1;;18003:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17921:121::o;19459:555::-;19539:22;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;19570:35:::1;19627:16;19570:74;;19686:16;-1:-1:-1::0;;;;;19686:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19668:53:0::1;;19730:4;19737:16;-1:-1:-1::0;;;;;19737:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19668:93;::::0;-1:-1:-1;;;;;;19668:93:0::1;::::0;;;;;;-1:-1:-1;;;;;5884:15:1;;;19668:93:0::1;::::0;::::1;5866:34:1::0;5936:15;;5916:18;;;5909:43;5801:18;;19668:93:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19651:110:::0;-1:-1:-1;;;;;;19771:28:0;::::1;19768:163;;19845:16;-1:-1:-1::0;;;;;19845:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19827:56:0::1;;19892:4;19899:16;-1:-1:-1::0;;;;;19899:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19827:96;::::0;-1:-1:-1;;;;;;19827:96:0::1;::::0;;;;;;-1:-1:-1;;;;;5884:15:1;;;19827:96:0::1;::::0;::::1;5866:34:1::0;5936:15;;5916:18;;;5909:43;5801:18;;19827:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19810:113;;19768:163;19937:13;:30:::0;;-1:-1:-1;;;;;19937:30:0;;::::1;-1:-1:-1::0;;;;;;19937:30:0;;::::1;;::::0;;;19974:15:::1;:34:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;19953:14;19459:555;-1:-1:-1;19459:555:0:o;19093:119::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;19169:15:::1;:37:::0;;-1:-1:-1;;;;;;19169:37:0::1;-1:-1:-1::0;;;;;19169:37:0;;;::::1;::::0;;;::::1;::::0;;19093:119::o;12662:138::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;12765:1:::1;12749:6:::0;;12728:40:::1;::::0;-1:-1:-1;;;;;12749:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;12728:40:0;12765:1;;12728:40:::1;12792:1;12775:19:::0;;-1:-1:-1;;;;;;12775:19:0::1;::::0;;12662:138::o;16350:81::-;16389:13;16418:7;16411:14;;;;;:::i;19216:115::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;19290:13:::1;:35:::0;;-1:-1:-1;;;;;;19290:35:0::1;-1:-1:-1::0;;;;;19290:35:0;;;::::1;::::0;;;::::1;::::0;;19216:115::o;17084:259::-;17177:4;17190:129;192:10;17213:7;17222:96;17261:15;17222:96;;;;;;;;;;;;;;;;;192:10;17222:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17222:34:0;;;;;;;;;;;;:38;:96::i;24748:119::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;24825:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;24825:36:0::1;-1:-1:-1::0;;;;24825:36:0;;::::1;::::0;;;::::1;::::0;;24748:119::o;13426:287::-;13474:14;;-1:-1:-1;;;;;13474:14:0;13492:10;13474:28;13466:76;;;;-1:-1:-1;;;13466:76:0;;6165:2:1;13466:76:0;;;6147:21:1;6204:2;6184:18;;;6177:30;6243:34;6223:18;;;6216:62;-1:-1:-1;;;6294:18:1;;;6287:33;6337:19;;13466:76:0;5963:399:1;13466:76:0;13575:9;;13557:15;:27;13549:72;;;;-1:-1:-1;;;13549:72:0;;6569:2:1;13549:72:0;;;6551:21:1;6608:2;6588:18;;;6581:30;6647:33;6627:18;;;6620:61;6698:18;;13549:72:0;6367:355:1;13549:72:0;13662:14;;;13654:6;;13633:44;;-1:-1:-1;;;;;13662:14:0;;;;13654:6;;;;-1:-1:-1;;;;;;;;;;;13633:44:0;;13693:14;;;13684:23;;-1:-1:-1;;;;;;13684:23:0;-1:-1:-1;;;;;13693:14:0;;;13684:23;;;;;;13426:287::o;20018:157::-;20096:4;20109:42;192:10;20133:9;20144:6;20109:9;:42::i;18157:389::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;18304:10:::1;:28:::0;;;18339:10:::1;:28:::0;;;18374:10:::1;:26:::0;;;18407:9:::1;:29:::0;;;18455:42:::1;18387:13:::0;18455:26:::1;18317:15:::0;18352;18455:14:::1;:26::i;:::-;:30:::0;::::1;:42::i;:::-;18443:9;:54:::0;;;18530:9:::1;::::0;18516:24:::1;::::0;18443:54;18516:13:::1;:24::i;:::-;18504:9;:36:::0;-1:-1:-1;;;;18157:389:0:o;24583:161::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;24656:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;24656:32:0::1;-1:-1:-1::0;;;;24656:32:0;;::::1;;::::0;;24700:38:::1;::::0;::::1;::::0;::::1;::::0;24680:8;1419:14:1;1412:22;1394:41;;1382:2;1367:18;;1254:187;24700:38:0::1;;;;;;;;24583:161:::0;:::o;13214:208::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;13291:6:::1;::::0;;;13274:23;;-1:-1:-1;;;;;;13274:23:0;;::::1;-1:-1:-1::0;;;;;13291:6:0;::::1;13274:23;::::0;;;13304:19:::1;::::0;;13342:22:::1;13360:4:::0;13342:15:::1;:22;:::i;:::-;13330:9;:34:::0;13413:1:::1;13397:6:::0;;13376:40:::1;::::0;-1:-1:-1;;;;;13397:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;13376:40:0;13413:1;;13376:40:::1;13214:208:::0;:::o;18046:107::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18121:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:26;;-1:-1:-1;;18121:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18046:107::o;18550:102::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;18623:9:::1;:23:::0;18550:102::o;18879:95::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;18947:9:::1;:21:::0;18879:95::o;12804:230::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12889:22:0;::::1;12881:73;;;::::0;-1:-1:-1;;;12881:73:0;;7194:2:1;12881:73:0::1;::::0;::::1;7176:21:1::0;7233:2;7213:18;;;7206:30;7272:34;7252:18;;;7245:62;-1:-1:-1;;;7323:18:1;;;7316:36;7369:19;;12881:73:0::1;6992:402:1::0;12881:73:0::1;12987:6;::::0;;12966:38:::1;::::0;-1:-1:-1;;;;;12966:38:0;;::::1;::::0;12987:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;12966:38:0;::::1;13011:6;:17:::0;;-1:-1:-1;;;;;;13011:17:0::1;-1:-1:-1::0;;;;;13011:17:0;;;::::1;::::0;;;::::1;::::0;;12804:230::o;18768:107::-;12585:6;;-1:-1:-1;;;;;12585:6:0;192:10;12585:22;12577:67;;;;-1:-1:-1;;;12577:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18844:16:0;;;::::1;;::::0;;;:8:::1;:16;::::0;;;;:25;;-1:-1:-1;;18844:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18768:107::o;8574:165::-;8632:7;;8660:5;8664:1;8660;:5;:::i;:::-;8648:17;;8685:1;8680;:6;;8672:46;;;;-1:-1:-1;;;8672:46:0;;7601:2:1;8672:46:0;;;7583:21:1;7640:2;7620:18;;;7613:30;7679:29;7659:18;;;7652:57;7726:18;;8672:46:0;7399:351:1;17600:317:0;-1:-1:-1;;;;;17689:19:0;;17681:68;;;;-1:-1:-1;;;17681:68:0;;7957:2:1;17681:68:0;;;7939:21:1;7996:2;7976:18;;;7969:30;8035:34;8015:18;;;8008:62;-1:-1:-1;;;8086:18:1;;;8079:34;8130:19;;17681:68:0;7755:400:1;17681:68:0;-1:-1:-1;;;;;17764:21:0;;17756:68;;;;-1:-1:-1;;;17756:68:0;;8362:2:1;17756:68:0;;;8344:21:1;8401:2;8381:18;;;8374:30;8440:34;8420:18;;;8413:62;-1:-1:-1;;;8491:18:1;;;8484:32;8533:19;;17756:68:0;8160:398:1;17756:68:0;-1:-1:-1;;;;;17831:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17879:32;;160:25:1;;;17879:32:0;;133:18:1;17879:32:0;;;;;;;17600:317;;;:::o;20490:1580::-;20577:4;-1:-1:-1;;;;;20598:20:0;;20590:70;;;;-1:-1:-1;;;20590:70:0;;8765:2:1;20590:70:0;;;8747:21:1;8804:2;8784:18;;;8777:30;8843:34;8823:18;;;8816:62;-1:-1:-1;;;8894:18:1;;;8887:35;8939:19;;20590:70:0;8563:401:1;20590:70:0;-1:-1:-1;;;;;20675:23:0;;20667:71;;;;-1:-1:-1;;;20667:71:0;;9171:2:1;20667:71:0;;;9153:21:1;9210:2;9190:18;;;9183:30;9249:34;9229:18;;;9222:62;-1:-1:-1;;;9300:18:1;;;9293:33;9343:19;;20667:71:0;8969:399:1;20667:71:0;-1:-1:-1;;;;;20754:21:0;;;;;;:13;:21;;;;;;;;20753:22;:51;;;;-1:-1:-1;;;;;;20780:24:0;;;;;;:13;:24;;;;;;;;20779:25;20753:51;20745:95;;;;-1:-1:-1;;;20745:95:0;;9575:2:1;20745:95:0;;;9557:21:1;9614:2;9594:18;;;9587:30;9653:33;9633:18;;;9626:61;9704:18;;20745:95:0;9373:355:1;20745:95:0;20864:1;20855:6;:10;20847:64;;;;-1:-1:-1;;;20847:64:0;;9935:2:1;20847:64:0;;;9917:21:1;9974:2;9954:18;;;9947:30;10013:34;9993:18;;;9986:62;-1:-1:-1;;;10064:18:1;;;10057:39;10113:19;;20847:64:0;9733:405:1;20847:64:0;20923:16;;-1:-1:-1;;;20923:16:0;;;;20920:1145;;;20957:41;20972:6;20980:9;20991:6;20957:14;:41::i;:::-;20950:48;;;;20920:1145;12510:7;12533:6;-1:-1:-1;;;;;21024:17:0;;;12533:6;;21024:17;;;;:41;;-1:-1:-1;12510:7:0;12533:6;-1:-1:-1;;;;;21045:20:0;;;12533:6;;21045:20;;21024:41;21021:139;;;21096:9;;21086:6;:19;;21078:72;;;;-1:-1:-1;;;21078:72:0;;10345:2:1;21078:72:0;;;10327:21:1;10384:2;10364:18;;;10357:30;10423:34;10403:18;;;10396:62;-1:-1:-1;;;10474:18:1;;;10467:38;10522:19;;21078:72:0;10143:404:1;21078:72:0;21219:4;21170:28;16703:18;;;:9;:18;;;;;;21289:16;;21265:40;;;;;;;21319:44;;-1:-1:-1;21347:16:0;;-1:-1:-1;;;21347:16:0;;;;21346:17;21319:44;:71;;;;-1:-1:-1;21377:13:0;;-1:-1:-1;;;;;21367:23:0;;;21377:13;;21367:23;;21319:71;:96;;;;-1:-1:-1;21394:21:0;;-1:-1:-1;;;21394:21:0;;;;21319:96;21316:262;;;21431:25;;-1:-1:-1;;;21431:25:0;;;;21428:94;;;21494:16;;21471:39;;21428:94;21532:36;21547:20;21532:14;:36::i;:::-;21608:53;;;;;;;;;;;-1:-1:-1;;;21608:53:0;;;;;;;;-1:-1:-1;;;;;21608:17:0;;-1:-1:-1;21608:17:0;;;:9;:17;;;;;;;;:53;;21630:6;;21608:21;:53::i;:::-;-1:-1:-1;;;;;21588:17:0;;;;;;:9;:17;;;;;;;;:73;;;;21693:6;:14;;;;;;;;;:35;;-1:-1:-1;;;;;;21711:17:0;;;;;;:6;:17;;;;;;;;21693:35;21692:83;;21741:34;21749:6;21757:9;21768:6;21741:7;:34::i;:::-;21692:83;;;21732:6;21692:83;21789:16;;21670:105;;-1:-1:-1;;;;21789:16:0;;;;:40;;;;-1:-1:-1;;;;;;21810:19:0;;;;;;:8;:19;;;;;;;;21809:20;21789:40;21786:125;;;21891:9;;21850:37;21875:11;21850:20;21860:9;-1:-1:-1;;;;;16703:18:0;16680:7;16703:18;;;:9;:18;;;;;;;16614:113;21850:37;:50;;21842:59;;;;;;-1:-1:-1;;;;;21944:20:0;;;;;;:9;:20;;;;;;:37;;21969:11;21944:24;:37::i;:::-;-1:-1:-1;;;;;21921:20:0;;;;;;;:9;:20;;;;;;;:60;;;;21997:40;;;;;;;;;;22025:11;160:25:1;;148:2;133:18;;14:177;21997:40:0;;;;;;;;22053:4;22046:11;;;;;;;8877:176;8963:7;8995:12;8987:6;;;;8979:29;;;;-1:-1:-1;;;8979:29:0;;;;;;;;:::i;:::-;-1:-1:-1;9015:9:0;9027:5;9031:1;9027;:5;:::i;:::-;9015:17;8877:176;-1:-1:-1;;;;;8877:176:0:o;8743:130::-;8801:7;8824:43;8828:1;8831;8824:43;;;;;;;;;;;;;;;;;:3;:43::i;22074:312::-;22200:53;;;;;;;;;;;-1:-1:-1;;;22200:53:0;;;;;;;;-1:-1:-1;;;;;22200:17:0;;22167:4;22200:17;;;:9;:17;;;;;;;:53;;22222:6;;22200:21;:53::i;:::-;-1:-1:-1;;;;;22180:17:0;;;;;;;:9;:17;;;;;;:73;;;;22283:20;;;;;;;:32;;22308:6;22283:24;:32::i;:::-;-1:-1:-1;;;;;22260:20:0;;;;;;;:9;:20;;;;;;;:55;;;;22327:35;;;;;;;;;;22355:6;160:25:1;;148:2;133:18;;14:177;22327:35:0;;;;;;;;-1:-1:-1;22376:4:0;22074:312;;;;;:::o;22390:758::-;14129:16;:23;;-1:-1:-1;;;;14129:23:0;-1:-1:-1;;;14129:23:0;;;22507:10:::1;::::0;22492:9:::1;::::0;14129:23;;22480:45:::1;::::0;22523:1:::1;::::0;22480:38:::1;::::0;:22:::1;::::0;:7;;:11:::1;:22::i;:::-;:26:::0;::::1;:38::i;:::-;:42:::0;::::1;:45::i;:::-;22458:67:::0;-1:-1:-1;22532:21:0::1;22556:24;:7:::0;22458:67;22556:11:::1;:24::i;:::-;22532:48;;22587:31;22604:13;22587:16;:31::i;:::-;22711:10;::::0;22650:21:::1;::::0;22625:22:::1;::::0;22697:32:::1;::::0;22711:17:::1;::::0;22726:1:::1;22711:14;:17::i;:::-;22697:9;::::0;;:13:::1;:32::i;:::-;22678:51;;22736:23;22762:51;22811:1;22762:44;22797:8;22762:30;22781:10;;22762:14;:18;;:30;;;;:::i;:51::-;22736:77;;22820:21;22844:44;22879:8;22844:30;22863:10;;22844:14;:18;;:30;;;;:::i;:44::-;22820:68:::0;-1:-1:-1;22895:23:0::1;22921:54;22820:68:::0;22921:35:::1;:14:::0;22940:15;22921:18:::1;:35::i;:::-;:39:::0;::::1;:54::i;:::-;23003:15;::::0;22895:80;;-1:-1:-1;22982:54:0::1;::::0;-1:-1:-1;;;;;23003:15:0::1;22895:80:::0;22982:20:::1;:54::i;:::-;23064:13;::::0;23043:50:::1;::::0;-1:-1:-1;;;;;23064:13:0::1;23079::::0;23043:20:::1;:50::i;:::-;23100:42;23113:11;23126:15;23100:12;:42::i;:::-;-1:-1:-1::0;;14167:16:0;:24;;-1:-1:-1;;;;14167:24:0;;;-1:-1:-1;;;;;;22390:758:0:o;24197:382::-;24332:13;;24283:7;;;;-1:-1:-1;;;;;24319:26:0;;;24332:13;;24319:26;:92;;24381:30;24407:3;24381:21;24392:9;;24381:6;:10;;:21;;;;:::i;:30::-;24319:92;;;24348:30;24374:3;24348:21;24359:9;;24348:6;:10;;:21;;;;:::i;:30::-;24463:4;24445:24;;;;:9;:24;;;;;;24299:112;;-1:-1:-1;24445:39:0;;24299:112;24445:28;:39::i;:::-;24436:4;24418:24;;;;:9;:24;;;;;;;:66;;;;24496:42;;-1:-1:-1;;;;;24496:42:0;;;;;;;24528:9;160:25:1;;148:2;133:18;;14:177;24496:42:0;;;;;;;;24552:21;:6;24563:9;24552:10;:21::i;9267:126::-;9325:7;9348:39;9352:1;9355;9348:39;;;;;;;;;;;;;;;;;:3;:39::i;9057:206::-;9115:7;9135:1;9140;9135:6;9131:25;;-1:-1:-1;9152:1:0;9145:8;;9131:25;9162:9;9174:5;9178:1;9174;:5;:::i;:::-;9162:17;-1:-1:-1;9203:1:0;9194:5;9198:1;9162:17;9194:5;:::i;:::-;:10;9186:56;;;;-1:-1:-1;;;9186:56:0;;11279:2:1;9186:56:0;;;11261:21:1;11318:2;11298:18;;;11291:30;11357:34;11337:18;;;11330:62;-1:-1:-1;;;11408:18:1;;;11401:31;11449:19;;9186:56:0;11077:397:1;23152:584:0;23294:16;;;23308:1;23294:16;;;;;;;;23270:21;;23294:16;;;;;;;;;;-1:-1:-1;23294:16:0;23270:40;;23335:4;23317;23322:1;23317:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23317:23:0;;;:7;;;;;;;;;;:23;;;;23357:15;;:22;;;-1:-1:-1;;;23357:22:0;;;;:15;;;;;:20;;:22;;;;;23317:7;;23357:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23347:4;23352:1;23347:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23347:32:0;;;:7;;;;;;;;;:32;23418:15;;23386:62;;23403:4;;23418:15;23436:11;23386:8;:62::i;:::-;23477:15;;:206;;-1:-1:-1;;;23477:206:0;;-1:-1:-1;;;;;23477:15:0;;;;:66;;:206;;23552:11;;23477:15;;23610:4;;23631;;23661:15;;23477:206;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23695:35;23712:11;23725:4;23695:35;;;;;;;:::i;:::-;;;;;;;;23207:529;23152:584;:::o;19335:120::-;19423:26;;-1:-1:-1;;;;;19423:18:0;;;:26;;;;;19442:6;;19423:26;;;;19442:6;19423:18;:26;;;;;;;;;;;;;;;;;;;;;19335:120;;:::o;23740:453::-;23912:15;;23880:62;;23897:4;;-1:-1:-1;;;;;23912:15:0;23930:11;23880:8;:62::i;:::-;23975:15;;-1:-1:-1;;;;;23975:15:0;:31;24014:9;24041:4;24055:11;23975:15;;24149:7;12510;12533:6;-1:-1:-1;;;;;12533:6:0;;12472:73;24149:7;23975:212;;;;;;-1:-1:-1;;;;;;23975:212:0;;;-1:-1:-1;;;;;13492:15:1;;;23975:212:0;;;13474:34:1;13524:18;;;13517:34;;;;13567:18;;;13560:34;;;;13610:18;;;13603:34;13674:15;;;13653:19;;;13646:44;24165:15:0;13706:19:1;;;13699:35;13408:19;;23975:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23740:453;;:::o;9397:175::-;9483:7;9514:12;9507:5;9499:28;;;;-1:-1:-1;;;9499:28:0;;;;;;;;:::i;:::-;-1:-1:-1;9534:9:0;9546:5;9550:1;9546;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;853:70;798:131;:::o;934:315::-;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1680:456::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:456;;2072:7;;-1:-1:-1;;;2126:2:1;2111:18;;;;2098:32;;1680:456::o;2141:160::-;2206:20;;2262:13;;2255:21;2245:32;;2235:60;;2291:1;2288;2281:12;2235:60;2141:160;;;:::o;2306:180::-;2362:6;2415:2;2403:9;2394:7;2390:23;2386:32;2383:52;;;2431:1;2428;2421:12;2383:52;2454:26;2470:9;2454:26;:::i;2888:180::-;2947:6;3000:2;2988:9;2979:7;2975:23;2971:32;2968:52;;;3016:1;3013;3006:12;2968:52;-1:-1:-1;3039:23:1;;2888:180;-1:-1:-1;2888:180:1:o;3073:315::-;3138:6;3146;3199:2;3187:9;3178:7;3174:23;3170:32;3167:52;;;3215:1;3212;3205:12;3167:52;3254:9;3241:23;3273:31;3298:5;3273:31;:::i;:::-;3323:5;-1:-1:-1;3347:35:1;3378:2;3363:18;;3347:35;:::i;:::-;3337:45;;3073:315;;;;;:::o;3393:247::-;3452:6;3505:2;3493:9;3484:7;3480:23;3476:32;3473:52;;;3521:1;3518;3511:12;3473:52;3560:9;3547:23;3579:31;3604:5;3579:31;:::i;3869:385::-;3955:6;3963;3971;3979;4032:3;4020:9;4011:7;4007:23;4003:33;4000:53;;;4049:1;4046;4039:12;4000:53;-1:-1:-1;;4072:23:1;;;4142:2;4127:18;;4114:32;;-1:-1:-1;4193:2:1;4178:18;;4165:32;;4244:2;4229:18;4216:32;;-1:-1:-1;3869:385:1;-1:-1:-1;3869:385:1:o;4259:388::-;4327:6;4335;4388:2;4376:9;4367:7;4363:23;4359:32;4356:52;;;4404:1;4401;4394:12;4356:52;4443:9;4430:23;4462:31;4487:5;4462:31;:::i;:::-;4512:5;-1:-1:-1;4569:2:1;4554:18;;4541:32;4582:33;4541:32;4582:33;:::i;:::-;4634:7;4624:17;;;4259:388;;;;;:::o;4652:380::-;4731:1;4727:12;;;;4774;;;4795:61;;4849:4;4841:6;4837:17;4827:27;;4795:61;4902:2;4894:6;4891:14;4871:18;4868:38;4865:161;;4948:10;4943:3;4939:20;4936:1;4929:31;4983:4;4980:1;4973:15;5011:4;5008:1;5001:15;4865:161;;4652:380;;;:::o;5037:356::-;5239:2;5221:21;;;5258:18;;;5251:30;5317:34;5312:2;5297:18;;5290:62;5384:2;5369:18;;5037:356::o;5398:251::-;5468:6;5521:2;5509:9;5500:7;5496:23;5492:32;5489:52;;;5537:1;5534;5527:12;5489:52;5569:9;5563:16;5588:31;5613:5;5588:31;:::i;6727:127::-;6788:10;6783:3;6779:20;6776:1;6769:31;6819:4;6816:1;6809:15;6843:4;6840:1;6833:15;6859:128;6899:3;6930:1;6926:6;6923:1;6920:13;6917:39;;;6936:18;;:::i;:::-;-1:-1:-1;6972:9:1;;6859:128::o;10552:125::-;10592:4;10620:1;10617;10614:8;10611:34;;;10625:18;;:::i;:::-;-1:-1:-1;10662:9:1;;10552:125::o;10682:168::-;10722:7;10788:1;10784;10780:6;10776:14;10773:1;10770:21;10765:1;10758:9;10751:17;10747:45;10744:71;;;10795:18;;:::i;:::-;-1:-1:-1;10835:9:1;;10682:168::o;10855:217::-;10895:1;10921;10911:132;;10965:10;10960:3;10956:20;10953:1;10946:31;11000:4;10997:1;10990:15;11028:4;11025:1;11018:15;10911:132;-1:-1:-1;11057:9:1;;10855:217::o;11611:127::-;11672:10;11667:3;11663:20;11660:1;11653:31;11703:4;11700:1;11693:15;11727:4;11724:1;11717:15;11743:461;11796:3;11834:5;11828:12;11861:6;11856:3;11849:19;11887:4;11916:2;11911:3;11907:12;11900:19;;11953:2;11946:5;11942:14;11974:1;11984:195;11998:6;11995:1;11992:13;11984:195;;;12063:13;;-1:-1:-1;;;;;12059:39:1;12047:52;;12119:12;;;;12154:15;;;;12095:1;12013:9;11984:195;;;-1:-1:-1;12195:3:1;;11743:461;-1:-1:-1;;;;;11743:461:1:o;12209:582::-;12508:6;12497:9;12490:25;12551:6;12546:2;12535:9;12531:18;12524:34;12594:3;12589:2;12578:9;12574:18;12567:31;12471:4;12615:57;12667:3;12656:9;12652:19;12644:6;12615:57;:::i;:::-;-1:-1:-1;;;;;12708:32:1;;;;12703:2;12688:18;;12681:60;-1:-1:-1;12772:3:1;12757:19;12750:35;12607:65;12209:582;-1:-1:-1;;;12209:582:1:o;12796:332::-;13003:6;12992:9;12985:25;13046:2;13041;13030:9;13026:18;13019:30;12966:4;13066:56;13118:2;13107:9;13103:18;13095:6;13066:56;:::i;:::-;13058:64;12796:332;-1:-1:-1;;;;12796:332:1:o;13745:306::-;13833:6;13841;13849;13902:2;13890:9;13881:7;13877:23;13873:32;13870:52;;;13918:1;13915;13908:12;13870:52;13947:9;13941:16;13931:26;;13997:2;13986:9;13982:18;13976:25;13966:35;;14041:2;14030:9;14026:18;14020:25;14010:35;;13745:306;;;;;:::o

Swarm Source

ipfs://5b6b2e7a60fb9fdf201f26b75191909f35ddb2d0066bc2f833b8e8b7697131fb
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.