ERC-20
Overview
Max Total Supply
1,000,000,000 FUJI
Holders
61
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,019,134.769119189 FUJIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
FUJI
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-17 */ // SPDX-License-Identifier: Unlicensed /** Cross-chain Lend & Borrow Optimizer. Website: https://www.fujifinance.org Telegram: https://t.me/fujifi_erc Twitter: https://twitter.com/fujifi_erc Dapp: https://app.fujifinance.org */ pragma solidity = 0.8.21; abstract contract Context { constructor() { } function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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 IUniswapRouterV1 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); 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 swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); 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 IUniswapRouterV2 is IUniswapRouterV1 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } interface IUniswapFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address pairAddress, uint); function getPair(address tokenA, address tokenB) external view returns (address pairAddress); function createPair(address tokenA, address tokenB) external returns (address pairAddress); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract FUJI is Context, Ownable, IERC20 { mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) private _isLpProvider; mapping (address => bool) private _lpPairAddress; mapping (address => uint256) private balance; string constant private _name = "Fuji"; string constant private _symbol = "FUJI"; uint8 constant private _decimals = 9; address public pairAddress; IUniswapRouterV2 public uniswapRouter; address payable private _teamAddress; address constant public DEAD = 0x000000000000000000000000000000000000dEaD; bool public _enabledTrading = false; bool private _swapping; bool private _hasNoTxLimitEffect = false; uint256 constant public _totalSupply = 10 ** 9 * 10**9; uint256 constant public minSwapTax = _totalSupply / 100_000; uint256 constant public taxForTransfers = 0; uint256 constant public feeDenominator = 1_000; uint256 public taxForBuys = 200; uint256 public taxForSells = 200; uint256 private _maxTxSize = 25 * _totalSupply / 1000; bool private _feeSwapEnabled = true; modifier inSwapFlag { _swapping = true; _; _swapping = false; } event SwapAndLiquify(); constructor () { uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _isExcludedFromFees[msg.sender] = true; _teamAddress = payable(address(0x1f45F883A0634EaCF509d571DA2556f78A449490)); _isExcludedFromFees[_teamAddress] = true; _isLpProvider[msg.sender] = true; balance[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); pairAddress = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this)); _lpPairAddress[pairAddress] = true; _approve(msg.sender, address(uniswapRouter), type(uint256).max); _approve(address(this), address(uniswapRouter), type(uint256).max); } function finalize() external onlyOwner { require(!_hasNoTxLimitEffect,"Already done remove limits"); _maxTxSize = _totalSupply; _hasNoTxLimitEffect = true; taxForBuys = 10; taxForSells = 10; } function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; } function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner(); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return balance[account]; } function beforeTransfer(address ins, address out) internal view returns (bool) { bool _is_transfer = !_lpPairAddress[out] && !_lpPairAddress[ins]; return _is_transfer; } function getAmounts(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) { uint256 fee; if (isbuy) fee = taxForBuys; else if (issell) fee = taxForSells; else fee = taxForTransfers; if (fee == 0) return amount; uint256 feeAmount = amount * fee / feeDenominator; if (feeAmount > 0) { balance[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } function swapBack(uint256 tokenAmount) internal inSwapFlag { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); if (_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) { _allowances[address(this)][address(uniswapRouter)] = type(uint256).max; } try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ) {} catch { return; } if(address(this).balance > 0) _teamAddress.transfer(address(this).balance); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function canSwapBk(address ins) internal view returns (bool) { bool canswap = _feeSwapEnabled && !_isExcludedFromFees[ins]; return canswap; } function _transfer(address from, address to, uint256 amount) internal returns (bool) { bool takeFee = true; require(to != address(0), "Cannot transfer to DEAD address"); require(from != address(0), "Cannot transfer from DEAD address"); require(amount > 0, "Transfer token amount must be greater than zero"); if (hasNoFees(from,to)) { require(_enabledTrading,"Trade is not started"); if(!_lpPairAddress[to] && from != address(this) && to != address(this) || beforeTransfer(from,to) && !_hasNoTxLimitEffect) { require(balanceOf(to) + amount <= _maxTxSize,"_maxTxSize exceed"); }} if(beforeSell(from, to) && !_swapping && canSwapBk(from)) { uint256 tokenAmount = balanceOf(address(this)); if(tokenAmount >= minSwapTax) { if(amount > minSwapTax) swapBack(tokenAmount); } } if (_isExcludedFromFees[from] || _isExcludedFromFees[to]){ takeFee = false; } uint256 amountAfterFee = (takeFee) ? getAmounts(from, beforeBuy(from, to), beforeSell(from, to), amount) : amount; uint256 amountBeforeFee = (takeFee) ? amount : (!_enabledTrading ? amount : 0); balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee); return true; } function hasNoFees(address ins, address out) internal view returns (bool) { bool isLimited = ins != owner() && out != owner() && msg.sender != owner() && !_isLpProvider[ins] && !_isLpProvider[out] && out != address(0) && out != address(this); return isLimited; } function beforeBuy(address ins, address out) internal view returns (bool) { bool _is_buy = !_lpPairAddress[out] && _lpPairAddress[ins]; return _is_buy; } function beforeSell(address ins, address out) internal view returns (bool) { bool _is_sell = _lpPairAddress[out] && !_lpPairAddress[ins]; return _is_sell; } receive() external payable {} function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "Couldnt approve on Zero Address"); require(spender != address(0), "Couldnt approve on Zero Address"); _allowances[sender][spender] = amount; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function initialize() external onlyOwner { require(!_enabledTrading, "Already done start trading"); _enabledTrading = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_enabledTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minSwapTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxForBuys","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxForSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxForTransfers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526008805462ff00ff60a01b1916905560c86009819055600a556103e862000035670de0b6b3a7640000601962000459565b62000041919062000483565b600b55600c805460ff191660011790553480156200005d575f80fd5b5062000069336200032b565b600780546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155335f818152600260209081526040808320805460ff19908116600190811790925560088054909716731f45f883a0634eacf509d571da2556f78a449490179096557faf85d7ff8f8b0109426af3a902db728a3de785d73fa94e51b5564213f9fbb3c880548716821790556003835281842080549096161790945560058152838220670de0b6b3a7640000908190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001cb9190620004a3565b6001600160a01b031663c9c6539660075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002509190620004a3565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156200029a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c09190620004a3565b600680546001600160a01b0319166001600160a01b039283169081179091555f908152600460205260409020805460ff191660011790556007546200030a913391165f196200037a565b600754620003259030906001600160a01b03165f196200037a565b620004d2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003d65760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f20416464726573730060448201526064015b60405180910390fd5b6001600160a01b0382166200042e5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401620003cd565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b80820281158282048414176200047d57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826200049e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004b4575f80fd5b81516001600160a01b0381168114620004cb575f80fd5b9392505050565b6113d780620004e05f395ff3fe608060405260043610610164575f3560e01c8063735de9f7116100cd578063a8b0898211610087578063dd62ed3e11610062578063dd62ed3e146103ea578063eb391d3d1461042e578063f2fde38b1461044e578063ffa4701b1461046d575f80fd5b8063a8b0898214610397578063a9059cbb146103b6578063c349a96d146103d5575f80fd5b8063735de9f7146103095780638129fc1c1461032857806389065e171461033c578063893d20e81461034f5780638da5cb5b1461034f57806395d89b411461036b575f80fd5b806323b872dd1161011e57806323b872dd14610256578063313ce567146102755780633eaaf86b146102905780634bb278f3146102ab57806370a08231146102c1578063715018a6146102f5575f80fd5b806303fd2a451461016f57806306fdde03146101a1578063095ea7b3146101d657806312f28da814610205578063180b0d7e1461022757806318160ddd1461023c575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b5060408051808201909152600481526346756a6960e01b60208201525b6040516101989190611145565b3480156101e1575f80fd5b506101f56101f03660046111a4565b610482565b6040519015158152602001610198565b348015610210575f80fd5b50610219610498565b604051908152602001610198565b348015610232575f80fd5b506102196103e881565b348015610247575f80fd5b50670de0b6b3a7640000610219565b348015610261575f80fd5b506101f56102703660046111ce565b6104b0565b348015610280575f80fd5b5060405160098152602001610198565b34801561029b575f80fd5b50610219670de0b6b3a764000081565b3480156102b6575f80fd5b506102bf610525565b005b3480156102cc575f80fd5b506102196102db36600461120c565b6001600160a01b03165f9081526005602052604090205490565b348015610300575f80fd5b506102bf6105db565b348015610314575f80fd5b50600754610184906001600160a01b031681565b348015610333575f80fd5b506102bf61060f565b348015610347575f80fd5b506102195f81565b34801561035a575f80fd5b505f546001600160a01b0316610184565b348015610376575f80fd5b5060408051808201909152600481526346554a4960e01b60208201526101c9565b3480156103a2575f80fd5b50600654610184906001600160a01b031681565b3480156103c1575f80fd5b506101f56103d03660046111a4565b6106a7565b3480156103e0575f80fd5b50610219600a5481565b3480156103f5575f80fd5b50610219610404366004611227565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610439575f80fd5b506008546101f590600160a01b900460ff1681565b348015610459575f80fd5b506102bf61046836600461120c565b6106bd565b348015610478575f80fd5b5061021960095481565b5f61048e338484610757565b5060015b92915050565b6104ad620186a0670de0b6b3a7640000611272565b81565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1914610512576001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061050c908490611291565b90915550505b61051d84848461082e565b949350505050565b5f546001600160a01b031633146105575760405162461bcd60e51b815260040161054e906112a4565b60405180910390fd5b600854600160b01b900460ff16156105b15760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652072656d6f7665206c696d697473000000000000604482015260640161054e565b670de0b6b3a7640000600b556008805460ff60b01b1916600160b01b179055600a60098190558055565b5f546001600160a01b031633146106045760405162461bcd60e51b815260040161054e906112a4565b61060d5f610c62565b565b5f546001600160a01b031633146106385760405162461bcd60e51b815260040161054e906112a4565b600854600160a01b900460ff16156106925760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652073746172742074726164696e67000000000000604482015260640161054e565b6008805460ff60a01b1916600160a01b179055565b5f6106b333848461082e565b5060019392505050565b5f546001600160a01b031633146106e65760405162461bcd60e51b815260040161054e906112a4565b6001600160a01b03811661074b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161054e565b61075481610c62565b50565b6001600160a01b0383166107ad5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161054e565b6001600160a01b0382166108035760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161054e565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108875760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2044454144206164647265737300604482015260640161054e565b6001600160a01b0385166108e75760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f74207472616e736665722066726f6d2044454144206164647265736044820152607360f81b606482015260840161054e565b5f831161094e5760405162461bcd60e51b815260206004820152602f60248201527f5472616e7366657220746f6b656e20616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b606482015260840161054e565b6109588585610cb1565b15610a8c57600854600160a01b900460ff166109ad5760405162461bcd60e51b8152602060048201526014602482015273151c985919481a5cc81b9bdd081cdd185c9d195960621b604482015260640161054e565b6001600160a01b0384165f9081526004602052604090205460ff161580156109de57506001600160a01b0385163014155b80156109f357506001600160a01b0384163014155b80610a195750610a038585610d80565b8015610a195750600854600160b01b900460ff16155b15610a8c57600b5483610a40866001600160a01b03165f9081526005602052604090205490565b610a4a91906112d9565b1115610a8c5760405162461bcd60e51b815260206004820152601160248201527017db585e151e14da5e9948195e18d95959607a1b604482015260640161054e565b610a968585610dc6565b8015610aac5750600854600160a81b900460ff16155b8015610abc5750610abc85610e0b565b15610b1257305f90815260056020526040902054610ae5620186a0670de0b6b3a7640000611272565b8110610b1057610b00620186a0670de0b6b3a7640000611272565b841115610b1057610b1081610e40565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610b4f57506001600160a01b0384165f9081526002602052604090205460ff165b15610b5757505f5b5f81610b635783610b81565b610b8186610b718888611034565b610b7b8989610dc6565b87611079565b90505f82610ba757600854600160a01b900460ff1615610ba1575f610ba9565b84610ba9565b845b6001600160a01b0388165f90815260056020526040812080549293508392909190610bd5908490611291565b90915550506001600160a01b0386165f9081526005602052604081208054849290610c019084906112d9565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4d91815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610cc45f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cf257505f546001600160a01b03848116911614155b8015610d0857505f546001600160a01b03163314155b8015610d2c57506001600160a01b0384165f9081526003602052604090205460ff16155b8015610d5057506001600160a01b0383165f9081526003602052604090205460ff16155b8015610d6457506001600160a01b03831615155b801561051d57506001600160a01b038316301415949350505050565b6001600160a01b0381165f90815260046020526040812054819060ff1615801561051d57505050506001600160a01b03165f9081526004602052604090205460ff161590565b6001600160a01b0381165f90815260046020526040812054819060ff16801561051d57505050506001600160a01b03165f9081526004602052604090205460ff161590565b600c545f90819060ff168015610e3957506001600160a01b0383165f9081526002602052604090205460ff16155b9392505050565b6008805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e8657610e866112ec565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610edd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f019190611300565b81600181518110610f1457610f146112ec565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060075490941682529290915220545f1914610f7a57305f9081526001602090815260408083206007546001600160a01b0316845290915290205f1990555b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb29085905f9086903090429060040161131b565b5f604051808303815f87803b158015610fc9575f80fd5b505af1925050508015610fda575060015b610fe45750611024565b4715611022576008546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611020573d5f803e3d5ffd5b505b505b506008805460ff60a81b19169055565b6001600160a01b0381165f90815260046020526040812054819060ff1615801561051d57505050506001600160a01b03165f9081526004602052604090205460ff1690565b5f80841561108a575060095461109c565b83156110995750600a5461109c565b505f5b805f036110ac578291505061051d565b5f6103e86110ba838661138a565b6110c49190611272565b9050801561113057305f90815260056020526040812080548392906110ea9084906112d9565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61113a8185611291565b979650505050505050565b5f6020808352835180828501525f5b8181101561117057858101830151858201604001528201611154565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610754575f80fd5b5f80604083850312156111b5575f80fd5b82356111c081611190565b946020939093013593505050565b5f805f606084860312156111e0575f80fd5b83356111eb81611190565b925060208401356111fb81611190565b929592945050506040919091013590565b5f6020828403121561121c575f80fd5b8135610e3981611190565b5f8060408385031215611238575f80fd5b823561124381611190565b9150602083013561125381611190565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b5f8261128c57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104925761049261125e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156104925761049261125e565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611310575f80fd5b8151610e3981611190565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113695784516001600160a01b031683529383019391830191600101611344565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104925761049261125e56fea2646970667358221220b8b14d029e184c59657dd194339028a11ee35624a3e55bc23e98170e486f63a964736f6c63430008150033
Deployed Bytecode
0x608060405260043610610164575f3560e01c8063735de9f7116100cd578063a8b0898211610087578063dd62ed3e11610062578063dd62ed3e146103ea578063eb391d3d1461042e578063f2fde38b1461044e578063ffa4701b1461046d575f80fd5b8063a8b0898214610397578063a9059cbb146103b6578063c349a96d146103d5575f80fd5b8063735de9f7146103095780638129fc1c1461032857806389065e171461033c578063893d20e81461034f5780638da5cb5b1461034f57806395d89b411461036b575f80fd5b806323b872dd1161011e57806323b872dd14610256578063313ce567146102755780633eaaf86b146102905780634bb278f3146102ab57806370a08231146102c1578063715018a6146102f5575f80fd5b806303fd2a451461016f57806306fdde03146101a1578063095ea7b3146101d657806312f28da814610205578063180b0d7e1461022757806318160ddd1461023c575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b5060408051808201909152600481526346756a6960e01b60208201525b6040516101989190611145565b3480156101e1575f80fd5b506101f56101f03660046111a4565b610482565b6040519015158152602001610198565b348015610210575f80fd5b50610219610498565b604051908152602001610198565b348015610232575f80fd5b506102196103e881565b348015610247575f80fd5b50670de0b6b3a7640000610219565b348015610261575f80fd5b506101f56102703660046111ce565b6104b0565b348015610280575f80fd5b5060405160098152602001610198565b34801561029b575f80fd5b50610219670de0b6b3a764000081565b3480156102b6575f80fd5b506102bf610525565b005b3480156102cc575f80fd5b506102196102db36600461120c565b6001600160a01b03165f9081526005602052604090205490565b348015610300575f80fd5b506102bf6105db565b348015610314575f80fd5b50600754610184906001600160a01b031681565b348015610333575f80fd5b506102bf61060f565b348015610347575f80fd5b506102195f81565b34801561035a575f80fd5b505f546001600160a01b0316610184565b348015610376575f80fd5b5060408051808201909152600481526346554a4960e01b60208201526101c9565b3480156103a2575f80fd5b50600654610184906001600160a01b031681565b3480156103c1575f80fd5b506101f56103d03660046111a4565b6106a7565b3480156103e0575f80fd5b50610219600a5481565b3480156103f5575f80fd5b50610219610404366004611227565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610439575f80fd5b506008546101f590600160a01b900460ff1681565b348015610459575f80fd5b506102bf61046836600461120c565b6106bd565b348015610478575f80fd5b5061021960095481565b5f61048e338484610757565b5060015b92915050565b6104ad620186a0670de0b6b3a7640000611272565b81565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1914610512576001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061050c908490611291565b90915550505b61051d84848461082e565b949350505050565b5f546001600160a01b031633146105575760405162461bcd60e51b815260040161054e906112a4565b60405180910390fd5b600854600160b01b900460ff16156105b15760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652072656d6f7665206c696d697473000000000000604482015260640161054e565b670de0b6b3a7640000600b556008805460ff60b01b1916600160b01b179055600a60098190558055565b5f546001600160a01b031633146106045760405162461bcd60e51b815260040161054e906112a4565b61060d5f610c62565b565b5f546001600160a01b031633146106385760405162461bcd60e51b815260040161054e906112a4565b600854600160a01b900460ff16156106925760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652073746172742074726164696e67000000000000604482015260640161054e565b6008805460ff60a01b1916600160a01b179055565b5f6106b333848461082e565b5060019392505050565b5f546001600160a01b031633146106e65760405162461bcd60e51b815260040161054e906112a4565b6001600160a01b03811661074b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161054e565b61075481610c62565b50565b6001600160a01b0383166107ad5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161054e565b6001600160a01b0382166108035760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161054e565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108875760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2044454144206164647265737300604482015260640161054e565b6001600160a01b0385166108e75760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f74207472616e736665722066726f6d2044454144206164647265736044820152607360f81b606482015260840161054e565b5f831161094e5760405162461bcd60e51b815260206004820152602f60248201527f5472616e7366657220746f6b656e20616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b606482015260840161054e565b6109588585610cb1565b15610a8c57600854600160a01b900460ff166109ad5760405162461bcd60e51b8152602060048201526014602482015273151c985919481a5cc81b9bdd081cdd185c9d195960621b604482015260640161054e565b6001600160a01b0384165f9081526004602052604090205460ff161580156109de57506001600160a01b0385163014155b80156109f357506001600160a01b0384163014155b80610a195750610a038585610d80565b8015610a195750600854600160b01b900460ff16155b15610a8c57600b5483610a40866001600160a01b03165f9081526005602052604090205490565b610a4a91906112d9565b1115610a8c5760405162461bcd60e51b815260206004820152601160248201527017db585e151e14da5e9948195e18d95959607a1b604482015260640161054e565b610a968585610dc6565b8015610aac5750600854600160a81b900460ff16155b8015610abc5750610abc85610e0b565b15610b1257305f90815260056020526040902054610ae5620186a0670de0b6b3a7640000611272565b8110610b1057610b00620186a0670de0b6b3a7640000611272565b841115610b1057610b1081610e40565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610b4f57506001600160a01b0384165f9081526002602052604090205460ff165b15610b5757505f5b5f81610b635783610b81565b610b8186610b718888611034565b610b7b8989610dc6565b87611079565b90505f82610ba757600854600160a01b900460ff1615610ba1575f610ba9565b84610ba9565b845b6001600160a01b0388165f90815260056020526040812080549293508392909190610bd5908490611291565b90915550506001600160a01b0386165f9081526005602052604081208054849290610c019084906112d9565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4d91815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610cc45f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cf257505f546001600160a01b03848116911614155b8015610d0857505f546001600160a01b03163314155b8015610d2c57506001600160a01b0384165f9081526003602052604090205460ff16155b8015610d5057506001600160a01b0383165f9081526003602052604090205460ff16155b8015610d6457506001600160a01b03831615155b801561051d57506001600160a01b038316301415949350505050565b6001600160a01b0381165f90815260046020526040812054819060ff1615801561051d57505050506001600160a01b03165f9081526004602052604090205460ff161590565b6001600160a01b0381165f90815260046020526040812054819060ff16801561051d57505050506001600160a01b03165f9081526004602052604090205460ff161590565b600c545f90819060ff168015610e3957506001600160a01b0383165f9081526002602052604090205460ff16155b9392505050565b6008805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e8657610e866112ec565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610edd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f019190611300565b81600181518110610f1457610f146112ec565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060075490941682529290915220545f1914610f7a57305f9081526001602090815260408083206007546001600160a01b0316845290915290205f1990555b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb29085905f9086903090429060040161131b565b5f604051808303815f87803b158015610fc9575f80fd5b505af1925050508015610fda575060015b610fe45750611024565b4715611022576008546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611020573d5f803e3d5ffd5b505b505b506008805460ff60a81b19169055565b6001600160a01b0381165f90815260046020526040812054819060ff1615801561051d57505050506001600160a01b03165f9081526004602052604090205460ff1690565b5f80841561108a575060095461109c565b83156110995750600a5461109c565b505f5b805f036110ac578291505061051d565b5f6103e86110ba838661138a565b6110c49190611272565b9050801561113057305f90815260056020526040812080548392906110ea9084906112d9565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61113a8185611291565b979650505050505050565b5f6020808352835180828501525f5b8181101561117057858101830151858201604001528201611154565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610754575f80fd5b5f80604083850312156111b5575f80fd5b82356111c081611190565b946020939093013593505050565b5f805f606084860312156111e0575f80fd5b83356111eb81611190565b925060208401356111fb81611190565b929592945050506040919091013590565b5f6020828403121561121c575f80fd5b8135610e3981611190565b5f8060408385031215611238575f80fd5b823561124381611190565b9150602083013561125381611190565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b5f8261128c57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104925761049261125e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156104925761049261125e565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611310575f80fd5b8151610e3981611190565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113695784516001600160a01b031683529383019391830191600101611344565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104925761049261125e56fea2646970667358221220b8b14d029e184c59657dd194339028a11ee35624a3e55bc23e98170e486f63a964736f6c63430008150033
Deployed Bytecode Sourcemap
4794:8130:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5400:73;;;;;;;;;;;;5431:42;5400:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5400:73:0;;;;;;;;7518:80;;;;;;;;;;-1:-1:-1;7590:5:0;;;;;;;;;;;;-1:-1:-1;;;7590:5:0;;;;7518:80;;;;;;;:::i;9617:161::-;;;;;;;;;;-1:-1:-1;9617:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;9617:161:0;1231:187:1;5661:59:0;;;;;;;;;;;;;:::i;:::-;;;1569:25:1;;;1557:2;1542:18;5661:59:0;1423:177:1;5777:46:0;;;;;;;;;;;;5818:5;5777:46;;7174:125;;;;;;;;;;-1:-1:-1;5639:15:0;7174:125;;12455:306;;;;;;;;;;-1:-1:-1;12455:306:0;;;;;:::i;:::-;;:::i;7305:117::-;;;;;;;;;;-1:-1:-1;7305:117:0;;5270:1;2208:36:1;;2196:2;2181:18;7305:117:0;2066:184:1;5600:54:0;;;;;;;;;;;;5639:15;5600:54;;6920:242;;;;;;;;;;;;;:::i;:::-;;7835:117;;;;;;;;;;-1:-1:-1;7835:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7928:16:0;7901:7;7928:16;;;:7;:16;;;;;;;7835:117;4310:94;;;;;;;;;;;;;:::i;5313:37::-;;;;;;;;;;-1:-1:-1;5313:37:0;;;;-1:-1:-1;;;;;5313:37:0;;;12773:148;;;;;;;;;;;;;:::i;5727:43::-;;;;;;;;;;;;5769:1;5727:43;;7610:80;;;;;;;;;;-1:-1:-1;7662:7:0;4160:6;-1:-1:-1;;;;;4160:6:0;7610:80;;7428:84;;;;;;;;;;-1:-1:-1;7502:7:0;;;;;;;;;;;;-1:-1:-1;;;7502:7:0;;;;7428:84;;5280:26;;;;;;;;;;-1:-1:-1;5280:26:0;;;;-1:-1:-1;;;;;5280:26:0;;;9440:165;;;;;;;;;;-1:-1:-1;9440:165:0;;;;;:::i;:::-;;:::i;5868:32::-;;;;;;;;;;;;;;;;7696:133;;;;;;;;;;-1:-1:-1;7696:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7798:19:0;;;7780:7;7798:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7696:133;5480:35;;;;;;;;;;-1:-1:-1;5480:35:0;;;;-1:-1:-1;;;5480:35:0;;;;;;4412:192;;;;;;;;;;-1:-1:-1;4412:192:0;;;;;:::i;:::-;;:::i;5830:31::-;;;;;;;;;;;;;;;;9617:161;9694:4;9711:37;9720:10;9732:7;9741:6;9711:8;:37::i;:::-;-1:-1:-1;9766:4:0;9617:161;;;;;:::o;5661:59::-;5698:22;5713:7;5639:15;5698:22;:::i;:::-;5661:59;:::o;12455:306::-;-1:-1:-1;;;;;12576:19:0;;12555:4;12576:19;;;:11;:19;;;;;;;;12596:10;12576:31;;;;;;;;-1:-1:-1;;12576:52:0;12572:126;;-1:-1:-1;;;;;12645:19:0;;;;;;:11;:19;;;;;;;;12665:10;12645:31;;;;;;;:41;;12680:6;;12645:19;:41;;12680:6;;12645:41;:::i;:::-;;;;-1:-1:-1;;12572:126:0;12717:36;12727:6;12735:9;12746:6;12717:9;:36::i;:::-;12710:43;12455:306;-1:-1:-1;;;;12455:306:0:o;6920:242::-;4133:7;4160:6;-1:-1:-1;;;;;4160:6:0;423:10;4222:23;4214:68;;;;-1:-1:-1;;;4214:68:0;;;;;;;:::i;:::-;;;;;;;;;6979:19:::1;::::0;-1:-1:-1;;;6979:19:0;::::1;;;6978:20;6970:58;;;::::0;-1:-1:-1;;;6970:58:0;;4182:2:1;6970:58:0::1;::::0;::::1;4164:21:1::0;4221:2;4201:18;;;4194:30;4260:28;4240:18;;;4233:56;4306:18;;6970:58:0::1;3980:350:1::0;6970:58:0::1;5639:15;7039:10;:25:::0;7075:19:::1;:26:::0;;-1:-1:-1;;;;7075:26:0::1;-1:-1:-1::0;;;7075:26:0::1;::::0;;7125:2:::1;7112:10;:15:::0;;;7138:16;;6920:242::o;4310:94::-;4133:7;4160:6;-1:-1:-1;;;;;4160:6:0;423:10;4222:23;4214:68;;;;-1:-1:-1;;;4214:68:0;;;;;;;:::i;:::-;4375:21:::1;4393:1;4375:9;:21::i;:::-;4310:94::o:0;12773:148::-;4133:7;4160:6;-1:-1:-1;;;;;4160:6:0;423:10;4222:23;4214:68;;;;-1:-1:-1;;;4214:68:0;;;;;;;:::i;:::-;12834:15:::1;::::0;-1:-1:-1;;;12834:15:0;::::1;;;12833:16;12825:55;;;::::0;-1:-1:-1;;;12825:55:0;;4537:2:1;12825:55:0::1;::::0;::::1;4519:21:1::0;4576:2;4556:18;;;4549:30;4615:28;4595:18;;;4588:56;4661:18;;12825:55:0::1;4335:350:1::0;12825:55:0::1;12891:15;:22:::0;;-1:-1:-1;;;;12891:22:0::1;-1:-1:-1::0;;;12891:22:0::1;::::0;;12773:148::o;9440:165::-;9518:4;9535:40;9545:10;9557:9;9568:6;9535:9;:40::i;:::-;-1:-1:-1;9593:4:0;;9440:165;-1:-1:-1;;;9440:165:0:o;4412:192::-;4133:7;4160:6;-1:-1:-1;;;;;4160:6:0;423:10;4222:23;4214:68;;;;-1:-1:-1;;;4214:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4501:22:0;::::1;4493:73;;;::::0;-1:-1:-1;;;4493:73:0;;4892:2:1;4493:73:0::1;::::0;::::1;4874:21:1::0;4931:2;4911:18;;;4904:30;4970:34;4950:18;;;4943:62;-1:-1:-1;;;5021:18:1;;;5014:36;5067:19;;4493:73:0::1;4690:402:1::0;4493:73:0::1;4577:19;4587:8;4577:9;:19::i;:::-;4412:192:::0;:::o;12158:285::-;-1:-1:-1;;;;;12253:20:0;;12245:64;;;;-1:-1:-1;;;12245:64:0;;5299:2:1;12245:64:0;;;5281:21:1;5338:2;5318:18;;;5311:30;5377:33;5357:18;;;5350:61;5428:18;;12245:64:0;5097:355:1;12245:64:0;-1:-1:-1;;;;;12328:21:0;;12320:65;;;;-1:-1:-1;;;12320:65:0;;5299:2:1;12320:65:0;;;5281:21:1;5338:2;5318:18;;;5311:30;5377:33;5357:18;;;5350:61;5428:18;;12320:65:0;5097:355:1;12320:65:0;-1:-1:-1;;;;;12398:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;12158:285::o;9966:1402::-;10046:4;10078;-1:-1:-1;;;;;10101:16:0;;10093:60;;;;-1:-1:-1;;;10093:60:0;;5659:2:1;10093:60:0;;;5641:21:1;5698:2;5678:18;;;5671:30;5737:33;5717:18;;;5710:61;5788:18;;10093:60:0;5457:355:1;10093:60:0;-1:-1:-1;;;;;10172:18:0;;10164:64;;;;-1:-1:-1;;;10164:64:0;;6019:2:1;10164:64:0;;;6001:21:1;6058:2;6038:18;;;6031:30;6097:34;6077:18;;;6070:62;-1:-1:-1;;;6148:18:1;;;6141:31;6189:19;;10164:64:0;5817:397:1;10164:64:0;10256:1;10247:6;:10;10239:70;;;;-1:-1:-1;;;10239:70:0;;6421:2:1;10239:70:0;;;6403:21:1;6460:2;6440:18;;;6433:30;6499:34;6479:18;;;6472:62;-1:-1:-1;;;6550:18:1;;;6543:45;6605:19;;10239:70:0;6219:411:1;10239:70:0;10326:18;10336:4;10341:2;10326:9;:18::i;:::-;10322:304;;;10369:15;;-1:-1:-1;;;10369:15:0;;;;10361:47;;;;-1:-1:-1;;;10361:47:0;;6837:2:1;10361:47:0;;;6819:21:1;6876:2;6856:18;;;6849:30;-1:-1:-1;;;6895:18:1;;;6888:50;6955:18;;10361:47:0;6635:344:1;10361:47:0;-1:-1:-1;;;;;10435:18:0;;;;;;:14;:18;;;;;;;;10434:19;:44;;;;-1:-1:-1;;;;;;10457:21:0;;10473:4;10457:21;;10434:44;:67;;;;-1:-1:-1;;;;;;10482:19:0;;10496:4;10482:19;;10434:67;:118;;;;10505:23;10520:4;10525:2;10505:14;:23::i;:::-;:47;;;;-1:-1:-1;10533:19:0;;-1:-1:-1;;;10533:19:0;;;;10532:20;10505:47;10431:194;;;10591:10;;10581:6;10565:13;10575:2;-1:-1:-1;;;;;7928:16:0;7901:7;7928:16;;;:7;:16;;;;;;;7835:117;10565:13;:22;;;;:::i;:::-;:36;;10557:65;;;;-1:-1:-1;;;10557:65:0;;7316:2:1;10557:65:0;;;7298:21:1;7355:2;7335:18;;;7328:30;-1:-1:-1;;;7374:18:1;;;7367:47;7431:18;;10557:65:0;7114:341:1;10557:65:0;10641:20;10652:4;10658:2;10641:10;:20::i;:::-;:35;;;;-1:-1:-1;10667:9:0;;-1:-1:-1;;;10667:9:0;;;;10666:10;10641:35;:54;;;;;10680:15;10690:4;10680:9;:15::i;:::-;10638:260;;;10754:4;10714:19;7928:16;;;:7;:16;;;;;;5698:22;5713:7;5639:15;5698:22;:::i;:::-;10778:11;:25;10775:112;;5698:22;5713:7;5639:15;5698:22;:::i;:::-;10828:6;:19;10825:45;;;10849:21;10858:11;10849:8;:21::i;:::-;10697:201;10638:260;-1:-1:-1;;;;;10914:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;10943:23:0;;;;;;:19;:23;;;;;;;;10914:52;10910:99;;;-1:-1:-1;10992:5:0;10910:99;11019:22;11045:7;11044:88;;11126:6;11044:88;;;11056:67;11067:4;11073:19;11083:4;11089:2;11073:9;:19::i;:::-;11094:20;11105:4;11111:2;11094:10;:20::i;:::-;11116:6;11056:10;:67::i;:::-;11019:113;;11143:23;11170:7;11169:52;;11192:15;;-1:-1:-1;;;11192:15:0;;;;11191:16;:29;;11219:1;11169:52;;11191:29;11210:6;11169:52;;;11181:6;11169:52;-1:-1:-1;;;;;11232:13:0;;;;;;:7;:13;;;;;:32;;11143:78;;-1:-1:-1;11143:78:0;;11232:13;;;:32;;11143:78;;11232:32;:::i;:::-;;;;-1:-1:-1;;;;;;;11266:11:0;;;;;;:7;:11;;;;;:29;;11281:14;;11266:11;:29;;11281:14;;11266:29;:::i;:::-;;;;;;;;11317:2;-1:-1:-1;;;;;11302:34:0;11311:4;-1:-1:-1;;;;;11302:34:0;;11321:14;11302:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;11302:34:0;;;;;;;;-1:-1:-1;11356:4:0;;9966:1402;-1:-1:-1;;;;;;9966:1402:0:o;4612:173::-;4668:16;4687:6;;-1:-1:-1;;;;;4704:17:0;;;-1:-1:-1;;;;;;4704:17:0;;;;;;4737:40;;4687:6;;;;;;;4737:40;;4668:16;4737:40;4657:128;4612:173;:::o;11374:329::-;11442:4;11459:14;11483:7;4133;4160:6;-1:-1:-1;;;;;4160:6:0;;4087:87;11483:7;-1:-1:-1;;;;;11476:14:0;:3;-1:-1:-1;;;;;11476:14:0;;;:45;;;;-1:-1:-1;4133:7:0;4160:6;-1:-1:-1;;;;;11507:14:0;;;4160:6;;11507:14;;11476:45;:83;;;;-1:-1:-1;4133:7:0;4160:6;-1:-1:-1;;;;;4160:6:0;11538:10;:21;;11476:83;:119;;;;-1:-1:-1;;;;;;11577:18:0;;;;;;:13;:18;;;;;;;;11576:19;11476:119;:143;;;;-1:-1:-1;;;;;;11601:18:0;;;;;;:13;:18;;;;;;;;11600:19;11476:143;:164;;;;-1:-1:-1;;;;;;11623:17:0;;;;11476:164;:188;;;;-1:-1:-1;;;;;;11644:20:0;;11659:4;11644:20;;11459:205;11374:329;-1:-1:-1;;;;11374:329:0:o;7964:193::-;-1:-1:-1;;;;;8076:19:0;;8037:4;8076:19;;;:14;:19;;;;;;8037:4;;8076:19;;8075:20;:44;;;;-1:-1:-1;;;;;;;;;8100:19:0;;;;;:14;:19;;;;;;;;8099:20;;7964:193::o;11899:180::-;-1:-1:-1;;;;;12002:19:0;;11968:4;12002:19;;;:14;:19;;;;;;11968:4;;12002:19;;:43;;;;-1:-1:-1;;;;;;;;;12026:19:0;;;;;:14;:19;;;;;;;;12025:20;;11899:180::o;9790:164::-;9877:15;;9845:4;;;;9877:15;;:44;;;;-1:-1:-1;;;;;;9897:24:0;;;;;;:19;:24;;;;;;;;9896:25;9877:44;9862:59;9790:164;-1:-1:-1;;;9790:164:0:o;8708:719::-;6042:9;:16;;-1:-1:-1;;;;6042:16:0;-1:-1:-1;;;6042:16:0;;;8802::::1;::::0;;8816:1:::1;8802:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8802:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8802:16:0::1;8778:40;;8847:4;8829;8834:1;8829:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8829:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8873:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;8873:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;8829:7;;8873:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8863:4;8868:1;8863:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8863:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;8930:4:::1;8910:26;::::0;;;:11:::1;:26:::0;;;;;;8945:13:::1;::::0;;;::::1;8910:50:::0;;;;;;;;-1:-1:-1;;8910:71:0::1;8906:174;;9018:4;8998:26;::::0;;;:11:::1;:26;::::0;;;;;;;9033:13:::1;::::0;-1:-1:-1;;;;;9033:13:0::1;8998:50:::0;;;;;;;-1:-1:-1;;8998:70:0;;8906:174:::1;9096:13;::::0;:194:::1;::::0;-1:-1:-1;;;9096:194:0;;-1:-1:-1;;;;;9096:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;9175:11;;9096:13:::1;::::0;9217:4;;9244::::1;::::0;9264:15:::1;::::0;9096:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9092:241;;9315:7;;;9092:241;9348:21;:25:::0;9345:74:::1;;9375:12;::::0;:44:::1;::::0;-1:-1:-1;;;;;9375:12:0;;::::1;::::0;9397:21:::1;9375:44:::0;::::1;;;::::0;:12:::1;:44:::0;:12;:44;9397:21;9375:12;:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9345:74;8767:660;6069:1;-1:-1:-1::0;6081:9:0;:17;;-1:-1:-1;;;;6081:17:0;;;8708:719::o;11715:176::-;-1:-1:-1;;;;;11816:19:0;;11783:4;11816:19;;;:14;:19;;;;;;11783:4;;11816:19;;11815:20;:43;;;;-1:-1:-1;;;;;;;;;11839:19:0;;;;;:14;:19;;;;;;;;;11715:176::o;8169:527::-;8262:7;8282:11;8308:5;8304:96;;;-1:-1:-1;8322:10:0;;8304:96;;;8344:6;8340:60;;;-1:-1:-1;8359:11:0;;8340:60;;;-1:-1:-1;5769:1:0;8340:60;8416:3;8423:1;8416:8;8412:28;;8434:6;8427:13;;;;;8412:28;8452:17;5818:5;8472:12;8481:3;8472:6;:12;:::i;:::-;:29;;;;:::i;:::-;8452:49;-1:-1:-1;8516:13:0;;8512:141;;8562:4;8546:22;;;;:7;:22;;;;;:35;;8572:9;;8546:22;:35;;8572:9;;8546:35;:::i;:::-;;;;-1:-1:-1;;8601:40:0;;1569:25:1;;;8624:4:0;;-1:-1:-1;;;;;8601:40:0;;;;;1557:2:1;1542:18;8601:40:0;;;;;;;8512:141;8670:18;8679:9;8670:6;:18;:::i;:::-;8663:25;8169:527;-1:-1:-1;;;;;;;8169:527:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:217;3304:1;3330;3320:132;;3374:10;3369:3;3365:20;3362:1;3355:31;3409:4;3406:1;3399:15;3437:4;3434:1;3427:15;3320:132;-1:-1:-1;3466:9:1;;3264:217::o;3486:128::-;3553:9;;;3574:11;;;3571:37;;;3588:18;;:::i;3619:356::-;3821:2;3803:21;;;3840:18;;;3833:30;3899:34;3894:2;3879:18;;3872:62;3966:2;3951:18;;3619:356::o;6984:125::-;7049:9;;;7070:10;;;7067:36;;;7083:18;;:::i;7592:127::-;7653:10;7648:3;7644:20;7641:1;7634:31;7684:4;7681:1;7674:15;7708:4;7705:1;7698:15;7724:251;7794:6;7847:2;7835:9;7826:7;7822:23;7818:32;7815:52;;;7863:1;7860;7853:12;7815:52;7895:9;7889:16;7914:31;7939:5;7914:31;:::i;7980:980::-;8242:4;8290:3;8279:9;8275:19;8321:6;8310:9;8303:25;8347:2;8385:6;8380:2;8369:9;8365:18;8358:34;8428:3;8423:2;8412:9;8408:18;8401:31;8452:6;8487;8481:13;8518:6;8510;8503:22;8556:3;8545:9;8541:19;8534:26;;8595:2;8587:6;8583:15;8569:29;;8616:1;8626:195;8640:6;8637:1;8634:13;8626:195;;;8705:13;;-1:-1:-1;;;;;8701:39:1;8689:52;;8796:15;;;;8761:12;;;;8737:1;8655:9;8626:195;;;-1:-1:-1;;;;;;;8877:32:1;;;;8872:2;8857:18;;8850:60;-1:-1:-1;;;8941:3:1;8926:19;8919:35;8838:3;7980:980;-1:-1:-1;;;7980:980:1:o;8965:168::-;9038:9;;;9069;;9086:15;;;9080:22;;9066:37;9056:71;;9107:18;;:::i
Swarm Source
ipfs://b8b14d029e184c59657dd194339028a11ee35624a3e55bc23e98170e486f63a9
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.