Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
10,000,000,000,000 Roos
Holders
1
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
RoosCoin
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-07-30
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
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) {
require(b <= a, "SafeMath: subtraction overflow");
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) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0, "SafeMath: modulo by zero");
return a % b;
}
}
pragma solidity ^0.8.0;
contract RoosCoin {
using SafeMath for uint256;
string private constant _name = "Roos Coin";
string private constant _symbol = "Roos";
uint8 private constant _decimals = 18;
uint256 private _totalSupply = 10_000_000_000_000 * 10**_decimals;
uint256 private _burnRate = 50; // 0.5% burn rate (0.5 * 100)
uint256 private _liquidityFeeRate = 1; // 1% liquidity fee rate
uint256 private _redistributionRate = 100; // 1% redistribution fee rate (1 * 100)
uint256 private _buybackFeeRate = 5; // 0.5% buyback fee rate (0.5 * 10)
address private _owner;
address private _buybackWallet = 0x03f402c57EB6839CA70856756032080CAf1Ab58D;
address private _liquidityPool;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
address[] private _tokenHolders;
mapping(address => bool) private _excludedFromFees; // Addresses excluded from paying fees
mapping(address => bool) private _excludedFromRewards; // Addresses excluded from receiving rewards
bool private _feesEnabled = true;
modifier onlyOwner() {
require(msg.sender == _owner, "Only the contract owner can call this function.");
_;
}
constructor() {
_owner = msg.sender;
_balances[msg.sender] = _totalSupply;
_tokenHolders.push(msg.sender);
emit Transfer(address(0), msg.sender, _totalSupply);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}
function allowance(address owner, address spender) public view returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public returns (bool) {
_approve(msg.sender, spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
return true;
}
function setLiquidityPool(address liquidityPool) external onlyOwner {
require(liquidityPool != address(0), "Invalid liquidity pool address");
_liquidityPool = liquidityPool;
}
function renounceOwnership() external onlyOwner {
_owner = address(0);
emit OwnershipTransferred(msg.sender, address(0));
}
function setFeesEnabled(bool enabled) external onlyOwner {
_feesEnabled = enabled;
}
// Function to add addresses to the excluded list for paying fees (only callable by the contract owner)
function excludeFromFees(address account) external onlyOwner {
require(account != address(0), "Invalid address");
_excludedFromFees[account] = true;
}
// Function to remove addresses from the excluded list for paying fees (only callable by the contract owner)
function includeInFees(address account) external onlyOwner {
require(account != address(0), "Invalid address");
_excludedFromFees[account] = false;
}
function isExcludedFromFees(address account) public view returns (bool) {
return _excludedFromFees[account];
}
// Function to add addresses to the excluded list for receiving rewards (only callable by the contract owner)
function excludeFromRewards(address account) external onlyOwner {
require(account != address(0), "Invalid address");
_excludedFromRewards[account] = true;
}
// Function to remove addresses from the excluded list for receiving rewards (only callable by the contract owner)
function includeInRewards(address account) external onlyOwner {
require(account != address(0), "Invalid address");
_excludedFromRewards[account] = false;
}
function isExcludedFromRewards(address account) public view returns (bool) {
return _excludedFromRewards[account];
}
function _transfer(address sender, address recipient, uint256 amount) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "ERC20: transfer amount must be greater than zero");
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
uint256 burnAmount = amount.mul(_burnRate).div(10000); // divide by 10000 to convert from 0.5% (50 / 10000)
uint256 liquidityFee = amount.mul(_liquidityFeeRate).div(100);
uint256 redistributionFee = amount.mul(_redistributionRate).div(10000); // divide by 10000 to convert from 1% (100 / 10000)
uint256 buybackFee = amount.mul(_buybackFeeRate).div(1000); // divide by 1000 to convert from 0.5% (5 / 1000)
uint256 transferAmount = amount.sub(burnAmount).sub(liquidityFee).sub(redistributionFee).sub(buybackFee);
_balances[sender] = senderBalance.sub(amount);
_balances[recipient] = _balances[recipient].add(transferAmount);
// Apply fees if enabled and the sender is not excluded from fees
if (_feesEnabled && !_excludedFromFees[sender]) {
_balances[address(this)] = _balances[address(this)].add(liquidityFee).add(redistributionFee);
// Transfer buyback fee to the buyback wallet
_balances[_buybackWallet] = _balances[_buybackWallet].add(buybackFee);
// Update token holders if recipient is a new address
if (_balances[recipient] == 0) {
_tokenHolders.push(recipient);
}
emit Transfer(sender, recipient, transferAmount);
emit Transfer(sender, address(0), burnAmount);
emit Transfer(sender, _buybackWallet, buybackFee);
// Transfer liquidity fee to the liquidity pool
if (_liquidityPool != address(0) && liquidityFee > 0) {
_balances[_liquidityPool] = _balances[_liquidityPool].add(liquidityFee);
emit Transfer(sender, _liquidityPool, liquidityFee);
}
// Distribute redistribution fee to token holders
if (redistributionFee > 0) {
_distributeRedistributionFee(redistributionFee);
}
} else {
// Fees are disabled or the sender is excluded, transfer the full amount without applying fees
_balances[recipient] = _balances[recipient].add(amount);
_balances[sender] = _balances[sender].sub(amount);
emit Transfer(sender, recipient, amount);
}
}
function _distributeRedistributionFee(uint256 amount) internal {
uint256 numTokenHolders = _tokenHolders.length;
if (numTokenHolders > 0) {
uint256 feePerHolder = amount.div(numTokenHolders);
for (uint256 i = 0; i < numTokenHolders; i++) {
address holder = _tokenHolders[i];
if (!_excludedFromRewards[holder]) {
_balances[holder] = _balances[holder].add(feePerHolder);
emit Transfer(address(this), holder, feePerHolder);
}
}
}
}
function _approve(address owner, address spender, uint256 amount) internal {
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);
}
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setFeesEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidityPool","type":"address"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"}]Contract Creation Code
6080604052620000126012600a6200022a565b62000024906509184e72a00062000241565b5f5560326001908155600281905560646003556005600455600680546001600160a01b0319167303f402c57eb6839ca70856756032080caf1ab58d179055600d805460ff191690911790553480156200007b575f80fd5b5060058054336001600160a01b031991821681179092555f805483825260086020908152604080842092909255600a80546001810182559084527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a801805490941685179093558154905190815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200025b565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200016f57815f19048211156200015357620001536200011b565b808516156200016157918102915b93841c939080029062000134565b509250929050565b5f82620001875750600162000224565b816200019557505f62000224565b8160018114620001ae5760028114620001b957620001d9565b600191505062000224565b60ff841115620001cd57620001cd6200011b565b50506001821b62000224565b5060208310610133831016604e8410600b8410161715620001fe575081810a62000224565b6200020a83836200012f565b805f19048211156200022057620002206200011b565b0290505b92915050565b5f6200023a60ff84168362000177565b9392505050565b80820281158282048414176200022457620002246200011b565b61123280620002695f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c80634fbee1931161009e578063a901dd921161006e578063a901dd9214610283578063a9059cbb14610296578063b609995e146102a9578063dd62ed3e146102bc578063e57f14e1146102f4575f80fd5b80634fbee1931461020857806370a0823114610233578063715018a61461025b57806395d89b4114610263575f80fd5b8063111e0376116100e4578063111e0376146101af57806316a2f82a146101c257806318160ddd146101d557806323b872dd146101e6578063313ce567146101f9575f80fd5b8063018770201461011557806306fdde031461012a578063095ea7b3146101615780630e83227314610184575b5f80fd5b610128610123366004610fb3565b610307565b005b6040805180820190915260098152682937b7b99021b7b4b760b91b60208201525b6040516101589190610fcc565b60405180910390f35b61017461016f366004611017565b6103b2565b6040519015158152602001610158565b610174610192366004610fb3565b6001600160a01b03165f908152600c602052604090205460ff1690565b6101286101bd366004610fb3565b6103c8565b6101286101d0366004610fb3565b61043b565b5f545b604051908152602001610158565b6101746101f436600461103f565b6104ab565b60405160128152602001610158565b610174610216366004610fb3565b6001600160a01b03165f908152600b602052604090205460ff1690565b6101d8610241366004610fb3565b6001600160a01b03165f9081526008602052604090205490565b6101286104fa565b604080518082019091526004815263526f6f7360e01b602082015261014b565b610128610291366004611078565b610562565b6101746102a4366004611017565b61059f565b6101286102b7366004610fb3565b6105ab565b6101d86102ca366004611097565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b610128610302366004610fb3565b61061b565b6005546001600160a01b0316331461033a5760405162461bcd60e51b8152600401610331906110c8565b60405180910390fd5b6001600160a01b0381166103905760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206c697175696469747920706f6f6c206164647265737300006044820152606401610331565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b5f6103be33848461068e565b5060015b92915050565b6005546001600160a01b031633146103f25760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b0381166104185760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600c60205260409020805460ff19166001179055565b6005546001600160a01b031633146104655760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b03811661048b5760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600b60205260409020805460ff19169055565b5f6104b78484846107b1565b6001600160a01b0384165f908152600960209081526040808320338085529252909120546104f09186916104eb9086610d12565b61068e565b5060019392505050565b6005546001600160a01b031633146105245760405162461bcd60e51b8152600401610331906110c8565b600580546001600160a01b03191690556040515f9033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b6005546001600160a01b0316331461058c5760405162461bcd60e51b8152600401610331906110c8565b600d805460ff1916911515919091179055565b5f6103be3384846107b1565b6005546001600160a01b031633146105d55760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b0381166105fb5760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600c60205260409020805460ff19169055565b6005546001600160a01b031633146106455760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b03811661066b5760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600b60205260409020805460ff19166001179055565b6001600160a01b0383166106f05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610331565b6001600160a01b0382166107515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610331565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610331565b6001600160a01b0382166108775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610331565b5f81116108df5760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610331565b6001600160a01b0383165f90815260086020526040902054818110156109565760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610331565b5f61097861271061097260015486610d7690919063ffffffff16565b90610dfb565b90505f610995606461097260025487610d7690919063ffffffff16565b90505f6109b361271061097260035488610d7690919063ffffffff16565b90505f6109d16103e861097260045489610d7690919063ffffffff16565b90505f6109ec826109e6858188818d8c610d12565b90610d12565b90506109f88688610d12565b6001600160a01b03808b165f9081526008602052604080822093909355908a1681522054610a269082610e56565b6001600160a01b0389165f90815260086020526040902055600d5460ff168015610a6857506001600160a01b0389165f908152600b602052604090205460ff16155b15610c7457305f90815260086020526040902054610a92908490610a8c9087610e56565b90610e56565b305f90815260086020526040808220929092556006546001600160a01b031681522054610abf9083610e56565b6006546001600160a01b039081165f9081526008602052604080822093909355908a168152908120549003610b3957600a80546001810182555f919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b038a161790555b876001600160a01b0316896001600160a01b03165f805160206111dd83398151915283604051610b6b91815260200190565b60405180910390a36040518581525f906001600160a01b038b16905f805160206111dd8339815191529060200160405180910390a36006546040518381526001600160a01b03918216918b16905f805160206111dd8339815191529060200160405180910390a36007546001600160a01b031615801590610beb57505f84115b15610c60576007546001600160a01b03165f90815260086020526040902054610c149085610e56565b600780546001600160a01b039081165f90815260086020908152604091829020949094559154915187815291811692908c16915f805160206111dd833981519152910160405180910390a35b8215610c6f57610c6f83610eb4565b610d07565b6001600160a01b0388165f90815260086020526040902054610c969088610e56565b6001600160a01b03808a165f9081526008602052604080822093909355908b1681522054610cc49088610d12565b6001600160a01b038a81165f8181526008602090815260409182902094909455518a8152918b169290915f805160206111dd833981519152910160405180910390a35b505050505050505050565b5f82821115610d635760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401610331565b5f610d6e8385611154565b949350505050565b5f825f03610d8557505f6103c2565b5f610d908385611167565b905082610d9d858361117e565b14610df45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610331565b9392505050565b5f808211610e4b5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006044820152606401610331565b5f610d6e838561117e565b5f80610e62838561119d565b905083811015610df45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610331565b600a548015610f94575f610ec88383610dfb565b90505f5b82811015610f91575f600a8281548110610ee857610ee86111b0565b5f9182526020808320909101546001600160a01b0316808352600c90915260409091205490915060ff16610f7e576001600160a01b0381165f90815260086020526040902054610f389084610e56565b6001600160a01b0382165f818152600860205260409081902092909255905130905f805160206111dd83398151915290610f759087815260200190565b60405180910390a35b5080610f89816111c4565b915050610ecc565b50505b5050565b80356001600160a01b0381168114610fae575f80fd5b919050565b5f60208284031215610fc3575f80fd5b610df482610f98565b5f6020808352835180828501525f5b81811015610ff757858101830151858201604001528201610fdb565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611028575f80fd5b61103183610f98565b946020939093013593505050565b5f805f60608486031215611051575f80fd5b61105a84610f98565b925061106860208501610f98565b9150604084013590509250925092565b5f60208284031215611088575f80fd5b81358015158114610df4575f80fd5b5f80604083850312156110a8575f80fd5b6110b183610f98565b91506110bf60208401610f98565b90509250929050565b6020808252602f908201527f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60408201526e103a3434b990333ab731ba34b7b71760891b606082015260800190565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c2576103c2611140565b80820281158282048414176103c2576103c2611140565b5f8261119857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103c2576103c2611140565b634e487b7160e01b5f52603260045260245ffd5b5f600182016111d5576111d5611140565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122029a0b91a13c52d7e9e9dc505be4b267f53bc1ae37c9eafceb7b5c390a43499e564736f6c63430008140033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c80634fbee1931161009e578063a901dd921161006e578063a901dd9214610283578063a9059cbb14610296578063b609995e146102a9578063dd62ed3e146102bc578063e57f14e1146102f4575f80fd5b80634fbee1931461020857806370a0823114610233578063715018a61461025b57806395d89b4114610263575f80fd5b8063111e0376116100e4578063111e0376146101af57806316a2f82a146101c257806318160ddd146101d557806323b872dd146101e6578063313ce567146101f9575f80fd5b8063018770201461011557806306fdde031461012a578063095ea7b3146101615780630e83227314610184575b5f80fd5b610128610123366004610fb3565b610307565b005b6040805180820190915260098152682937b7b99021b7b4b760b91b60208201525b6040516101589190610fcc565b60405180910390f35b61017461016f366004611017565b6103b2565b6040519015158152602001610158565b610174610192366004610fb3565b6001600160a01b03165f908152600c602052604090205460ff1690565b6101286101bd366004610fb3565b6103c8565b6101286101d0366004610fb3565b61043b565b5f545b604051908152602001610158565b6101746101f436600461103f565b6104ab565b60405160128152602001610158565b610174610216366004610fb3565b6001600160a01b03165f908152600b602052604090205460ff1690565b6101d8610241366004610fb3565b6001600160a01b03165f9081526008602052604090205490565b6101286104fa565b604080518082019091526004815263526f6f7360e01b602082015261014b565b610128610291366004611078565b610562565b6101746102a4366004611017565b61059f565b6101286102b7366004610fb3565b6105ab565b6101d86102ca366004611097565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b610128610302366004610fb3565b61061b565b6005546001600160a01b0316331461033a5760405162461bcd60e51b8152600401610331906110c8565b60405180910390fd5b6001600160a01b0381166103905760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206c697175696469747920706f6f6c206164647265737300006044820152606401610331565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b5f6103be33848461068e565b5060015b92915050565b6005546001600160a01b031633146103f25760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b0381166104185760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600c60205260409020805460ff19166001179055565b6005546001600160a01b031633146104655760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b03811661048b5760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600b60205260409020805460ff19169055565b5f6104b78484846107b1565b6001600160a01b0384165f908152600960209081526040808320338085529252909120546104f09186916104eb9086610d12565b61068e565b5060019392505050565b6005546001600160a01b031633146105245760405162461bcd60e51b8152600401610331906110c8565b600580546001600160a01b03191690556040515f9033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b6005546001600160a01b0316331461058c5760405162461bcd60e51b8152600401610331906110c8565b600d805460ff1916911515919091179055565b5f6103be3384846107b1565b6005546001600160a01b031633146105d55760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b0381166105fb5760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600c60205260409020805460ff19169055565b6005546001600160a01b031633146106455760405162461bcd60e51b8152600401610331906110c8565b6001600160a01b03811661066b5760405162461bcd60e51b815260040161033190611117565b6001600160a01b03165f908152600b60205260409020805460ff19166001179055565b6001600160a01b0383166106f05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610331565b6001600160a01b0382166107515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610331565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610331565b6001600160a01b0382166108775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610331565b5f81116108df5760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610331565b6001600160a01b0383165f90815260086020526040902054818110156109565760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610331565b5f61097861271061097260015486610d7690919063ffffffff16565b90610dfb565b90505f610995606461097260025487610d7690919063ffffffff16565b90505f6109b361271061097260035488610d7690919063ffffffff16565b90505f6109d16103e861097260045489610d7690919063ffffffff16565b90505f6109ec826109e6858188818d8c610d12565b90610d12565b90506109f88688610d12565b6001600160a01b03808b165f9081526008602052604080822093909355908a1681522054610a269082610e56565b6001600160a01b0389165f90815260086020526040902055600d5460ff168015610a6857506001600160a01b0389165f908152600b602052604090205460ff16155b15610c7457305f90815260086020526040902054610a92908490610a8c9087610e56565b90610e56565b305f90815260086020526040808220929092556006546001600160a01b031681522054610abf9083610e56565b6006546001600160a01b039081165f9081526008602052604080822093909355908a168152908120549003610b3957600a80546001810182555f919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b038a161790555b876001600160a01b0316896001600160a01b03165f805160206111dd83398151915283604051610b6b91815260200190565b60405180910390a36040518581525f906001600160a01b038b16905f805160206111dd8339815191529060200160405180910390a36006546040518381526001600160a01b03918216918b16905f805160206111dd8339815191529060200160405180910390a36007546001600160a01b031615801590610beb57505f84115b15610c60576007546001600160a01b03165f90815260086020526040902054610c149085610e56565b600780546001600160a01b039081165f90815260086020908152604091829020949094559154915187815291811692908c16915f805160206111dd833981519152910160405180910390a35b8215610c6f57610c6f83610eb4565b610d07565b6001600160a01b0388165f90815260086020526040902054610c969088610e56565b6001600160a01b03808a165f9081526008602052604080822093909355908b1681522054610cc49088610d12565b6001600160a01b038a81165f8181526008602090815260409182902094909455518a8152918b169290915f805160206111dd833981519152910160405180910390a35b505050505050505050565b5f82821115610d635760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401610331565b5f610d6e8385611154565b949350505050565b5f825f03610d8557505f6103c2565b5f610d908385611167565b905082610d9d858361117e565b14610df45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610331565b9392505050565b5f808211610e4b5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006044820152606401610331565b5f610d6e838561117e565b5f80610e62838561119d565b905083811015610df45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610331565b600a548015610f94575f610ec88383610dfb565b90505f5b82811015610f91575f600a8281548110610ee857610ee86111b0565b5f9182526020808320909101546001600160a01b0316808352600c90915260409091205490915060ff16610f7e576001600160a01b0381165f90815260086020526040902054610f389084610e56565b6001600160a01b0382165f818152600860205260409081902092909255905130905f805160206111dd83398151915290610f759087815260200190565b60405180910390a35b5080610f89816111c4565b915050610ecc565b50505b5050565b80356001600160a01b0381168114610fae575f80fd5b919050565b5f60208284031215610fc3575f80fd5b610df482610f98565b5f6020808352835180828501525f5b81811015610ff757858101830151858201604001528201610fdb565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611028575f80fd5b61103183610f98565b946020939093013593505050565b5f805f60608486031215611051575f80fd5b61105a84610f98565b925061106860208501610f98565b9150604084013590509250925092565b5f60208284031215611088575f80fd5b81358015158114610df4575f80fd5b5f80604083850312156110a8575f80fd5b6110b183610f98565b91506110bf60208401610f98565b90509250929050565b6020808252602f908201527f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60408201526e103a3434b990333ab731ba34b7b71760891b606082015260800190565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c2576103c2611140565b80820281158282048414176103c2576103c2611140565b5f8261119857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103c2576103c2611140565b634e487b7160e01b5f52603260045260245ffd5b5f600182016111d5576111d5611140565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122029a0b91a13c52d7e9e9dc505be4b267f53bc1ae37c9eafceb7b5c390a43499e564736f6c63430008140033
Deployed Bytecode Sourcemap
1096:8581:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:198;;;;;;:::i;:::-;;:::i;:::-;;2585:83;2655:5;;;;;;;;;;;;-1:-1:-1;;;2655:5:0;;;;2585:83;;;;;;;:::i;:::-;;;;;;;;3385:150;;;;;;:::i;:::-;;:::i;:::-;;;1360:14:1;;1353:22;1335:41;;1323:2;1308:18;3385:150:0;1195:187:1;5597:130:0;;;;;;:::i;:::-;-1:-1:-1;;;;;5690:29:0;5666:4;5690:29;;;:20;:29;;;;;;;;;5597:130;5104:179;;;;;;:::i;:::-;;:::i;4677:172::-;;;;;;:::i;:::-;;:::i;2862:91::-;2906:7;2933:12;2862:91;;;1533:25:1;;;1521:2;1506:18;2862:91:0;1387:177:1;3543:256:0;;;;;;:::i;:::-;;:::i;2771:83::-;;;1288:2;2044:36:1;;2032:2;2017:18;2771:83:0;1902:184:1;4857:124:0;;;;;;:::i;:::-;-1:-1:-1;;;;;4947:26:0;4923:4;4947:26;;;:17;:26;;;;;;;;;4857:124;2961:110;;;;;;:::i;:::-;-1:-1:-1;;;;;3045:18:0;3018:7;3045:18;;;:9;:18;;;;;;;2961:110;4013:146;;;:::i;2676:87::-;2748:7;;;;;;;;;;;;-1:-1:-1;;;2748:7:0;;;;2676:87;;4167:98;;;;;;:::i;:::-;;:::i;3079:156::-;;;;;;:::i;:::-;;:::i;5411:178::-;;;;;;:::i;:::-;;:::i;3243:134::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3342:18:0;;;3315:7;3342:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3243:134;4382:173;;;;;;:::i;:::-;;:::i;3807:198::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3894:27:0;::::1;3886:70;;;::::0;-1:-1:-1;;;3886:70:0;;3252:2:1;3886:70:0::1;::::0;::::1;3234:21:1::0;3291:2;3271:18;;;3264:30;3330:32;3310:18;;;3303:60;3380:18;;3886:70:0::1;3050:354:1::0;3886:70:0::1;3967:14;:30:::0;;-1:-1:-1;;;;;;3967:30:0::1;-1:-1:-1::0;;;;;3967:30:0;;;::::1;::::0;;;::::1;::::0;;3807:198::o;3385:150::-;3451:4;3468:37;3477:10;3489:7;3498:6;3468:8;:37::i;:::-;-1:-1:-1;3523:4:0;3385:150;;;;;:::o;5104:179::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5187:21:0;::::1;5179:49;;;;-1:-1:-1::0;;;5179:49:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5239:29:0::1;;::::0;;;:20:::1;:29;::::0;;;;:36;;-1:-1:-1;;5239:36:0::1;5271:4;5239:36;::::0;;5104:179::o;4677:172::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4755:21:0;::::1;4747:49;;;;-1:-1:-1::0;;;4747:49:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4807:26:0::1;4836:5;4807:26:::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;4807:34:0::1;::::0;;4677:172::o;3543:256::-;3632:4;3649:36;3659:6;3667:9;3678:6;3649:9;:36::i;:::-;-1:-1:-1;;;;;3725:19:0;;;;;;:11;:19;;;;;;;;3713:10;3725:31;;;;;;;;;3696:73;;3705:6;;3725:43;;3761:6;3725:35;:43::i;:::-;3696:8;:73::i;:::-;-1:-1:-1;3787:4:0;3543:256;;;;;:::o;4013:146::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;4072:6:::1;:19:::0;;-1:-1:-1;;;;;;4072:19:0::1;::::0;;4107:44:::1;::::0;4089:1:::1;::::0;4128:10:::1;::::0;4107:44:::1;::::0;4089:1;;4107:44:::1;4013:146::o:0;4167:98::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;4235:12:::1;:22:::0;;-1:-1:-1;;4235:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4167:98::o;3079:156::-;3148:4;3165:40;3175:10;3187:9;3198:6;3165:9;:40::i;5411:178::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5492:21:0;::::1;5484:49;;;;-1:-1:-1::0;;;5484:49:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5544:29:0::1;5576:5;5544:29:::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;5544:37:0::1;::::0;;5411:178::o;4382:173::-;2289:6;;-1:-1:-1;;;;;2289:6:0;2275:10;:20;2267:80;;;;-1:-1:-1;;;2267:80:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4462:21:0;::::1;4454:49;;;;-1:-1:-1::0;;;4454:49:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4514:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;4514:33:0::1;4543:4;4514:33;::::0;;4382:173::o;9082:338::-;-1:-1:-1;;;;;9176:19:0;;9168:68;;;;-1:-1:-1;;;9168:68:0;;3955:2:1;9168:68:0;;;3937:21:1;3994:2;3974:18;;;3967:30;4033:34;4013:18;;;4006:62;-1:-1:-1;;;4084:18:1;;;4077:34;4128:19;;9168:68:0;3753:400:1;9168:68:0;-1:-1:-1;;;;;9255:21:0;;9247:68;;;;-1:-1:-1;;;9247:68:0;;4360:2:1;9247:68:0;;;4342:21:1;4399:2;4379:18;;;4372:30;4438:34;4418:18;;;4411:62;-1:-1:-1;;;4489:18:1;;;4482:32;4531:19;;9247:68:0;4158:398:1;9247:68:0;-1:-1:-1;;;;;9328:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9380:32;;1533:25:1;;;9380:32:0;;1506:18:1;9380:32:0;;;;;;;9082:338;;;:::o;5735:2739::-;-1:-1:-1;;;;;5833:20:0;;5825:70;;;;-1:-1:-1;;;5825:70:0;;4763:2:1;5825:70:0;;;4745:21:1;4802:2;4782:18;;;4775:30;4841:34;4821:18;;;4814:62;-1:-1:-1;;;4892:18:1;;;4885:35;4937:19;;5825:70:0;4561:401:1;5825:70:0;-1:-1:-1;;;;;5914:23:0;;5906:71;;;;-1:-1:-1;;;5906:71:0;;5169:2:1;5906:71:0;;;5151:21:1;5208:2;5188:18;;;5181:30;5247:34;5227:18;;;5220:62;-1:-1:-1;;;5298:18:1;;;5291:33;5341:19;;5906:71:0;4967:399:1;5906:71:0;6005:1;5996:6;:10;5988:71;;;;-1:-1:-1;;;5988:71:0;;5573:2:1;5988:71:0;;;5555:21:1;5612:2;5592:18;;;5585:30;5651:34;5631:18;;;5624:62;-1:-1:-1;;;5702:18:1;;;5695:46;5758:19;;5988:71:0;5371:412:1;5988:71:0;-1:-1:-1;;;;;6096:17:0;;6072:21;6096:17;;;:9;:17;;;;;;6132:23;;;;6124:74;;;;-1:-1:-1;;;6124:74:0;;5990:2:1;6124:74:0;;;5972:21:1;6029:2;6009:18;;;6002:30;6068:34;6048:18;;;6041:62;-1:-1:-1;;;6119:18:1;;;6112:36;6165:19;;6124:74:0;5788:402:1;6124:74:0;6211:18;6232:32;6258:5;6232:21;6243:9;;6232:6;:10;;:21;;;;:::i;:::-;:25;;:32::i;:::-;6211:53;;6328:20;6351:38;6385:3;6351:29;6362:17;;6351:6;:10;;:29;;;;:::i;:38::-;6328:61;;6400:25;6428:42;6464:5;6428:31;6439:19;;6428:6;:10;;:31;;;;:::i;:42::-;6400:70;;6533:18;6554:37;6586:4;6554:27;6565:15;;6554:6;:10;;:27;;;;:::i;:37::-;6533:58;-1:-1:-1;6654:22:0;6679:79;6533:58;6679:63;6724:17;6679:63;6706:12;6679:63;:6;6690:10;6679;:22::i;:::-;:26;;:40::i;:79::-;6654:104;-1:-1:-1;6791:25:0;:13;6809:6;6791:17;:25::i;:::-;-1:-1:-1;;;;;6771:17:0;;;;;;;:9;:17;;;;;;:45;;;;6850:20;;;;;;;:40;;6875:14;6850:24;:40::i;:::-;-1:-1:-1;;;;;6827:20:0;;;;;;:9;:20;;;;;:63;6982:12;;;;:42;;;;-1:-1:-1;;;;;;6999:25:0;;;;;;:17;:25;;;;;;;;6998:26;6982:42;6978:1489;;;7086:4;7068:24;;;;:9;:24;;;;;;:65;;7115:17;;7068:42;;7097:12;7068:28;:42::i;:::-;:46;;:65::i;:::-;7059:4;7041:24;;;;:9;:24;;;;;;:92;;;;7247:14;;-1:-1:-1;;;;;7247:14:0;7237:25;;;;:41;;7267:10;7237:29;:41::i;:::-;7219:14;;-1:-1:-1;;;;;7219:14:0;;;7209:25;;;;:9;:25;;;;;;:69;;;;7366:20;;;;;;;;;:25;;7362:95;;7412:13;:29;;;;;;;-1:-1:-1;7412:29:0;;;;;;;;-1:-1:-1;;;;;;7412:29:0;-1:-1:-1;;;;;7412:29:0;;;;;7362:95;7495:9;-1:-1:-1;;;;;7478:43:0;7487:6;-1:-1:-1;;;;;7478:43:0;-1:-1:-1;;;;;;;;;;;7506:14:0;7478:43;;;;1533:25:1;;1521:2;1506:18;;1387:177;7478:43:0;;;;;;;;7541:40;;1533:25:1;;;7566:1:0;;-1:-1:-1;;;;;7541:40:0;;;-1:-1:-1;;;;;;;;;;;7541:40:0;1521:2:1;1506:18;7541:40:0;;;;;;;7618:14;;7601:44;;1533:25:1;;;-1:-1:-1;;;;;7618:14:0;;;;7601:44;;;-1:-1:-1;;;;;;;;;;;7601:44:0;1521:2:1;1506:18;7601:44:0;;;;;;;7727:14;;-1:-1:-1;;;;;7727:14:0;:28;;;;:48;;;7774:1;7759:12;:16;7727:48;7723:230;;;7834:14;;-1:-1:-1;;;;;7834:14:0;7824:25;;;;:9;:25;;;;;;:43;;7854:12;7824:29;:43::i;:::-;7806:14;;;-1:-1:-1;;;;;7806:14:0;;;7796:25;;;;:9;:25;;;;;;;;;:71;;;;7908:14;;7891:46;;1533:25:1;;;7908:14:0;;;;7891:46;;;;-1:-1:-1;;;;;;;;;;;7891:46:0;1506:18:1;7891:46:0;;;;;;;7723:230;8036:21;;8032:109;;8078:47;8107:17;8078:28;:47::i;:::-;6978:1489;;;-1:-1:-1;;;;;8304:20:0;;;;;;:9;:20;;;;;;:32;;8329:6;8304:24;:32::i;:::-;-1:-1:-1;;;;;8281:20:0;;;;;;;:9;:20;;;;;;:55;;;;8371:17;;;;;;;:29;;8393:6;8371:21;:29::i;:::-;-1:-1:-1;;;;;8351:17:0;;;;;;;:9;:17;;;;;;;;;:49;;;;8420:35;1533:25:1;;;8420:35:0;;;;8351:17;;-1:-1:-1;;;;;;;;;;;8420:35:0;1506:18:1;8420:35:0;;;;;;;6978:1489;5814:2660;;;;;;5735:2739;;;:::o;275:182::-;333:7;366:1;361;:6;;353:49;;;;-1:-1:-1;;;353:49:0;;6397:2:1;353:49:0;;;6379:21:1;6436:2;6416:18;;;6409:30;6475:32;6455:18;;;6448:60;6525:18;;353:49:0;6195:354:1;353:49:0;413:9;425:5;429:1;425;:5;:::i;:::-;413:17;275:182;-1:-1:-1;;;;275:182:0:o;465:246::-;523:7;547:1;552;547:6;543:47;;-1:-1:-1;577:1:0;570:8;;543:47;600:9;612:5;616:1;612;:5;:::i;:::-;600:17;-1:-1:-1;645:1:0;636:5;640:1;600:17;636:5;:::i;:::-;:10;628:56;;;;-1:-1:-1;;;628:56:0;;7416:2:1;628:56:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:31;7586:19;;628:56:0;7214:397:1;628:56:0;702:1;465:246;-1:-1:-1;;;465:246:0:o;719:177::-;777:7;809:1;805;:5;797:44;;;;-1:-1:-1;;;797:44:0;;7818:2:1;797:44:0;;;7800:21:1;7857:2;7837:18;;;7830:30;7896:28;7876:18;;;7869:56;7942:18;;797:44:0;7616:350:1;797:44:0;852:9;864:5;868:1;864;:5;:::i;88:179::-;146:7;;178:5;182:1;178;:5;:::i;:::-;166:17;;207:1;202;:6;;194:46;;;;-1:-1:-1;;;194:46:0;;8303:2:1;194:46:0;;;8285:21:1;8342:2;8322:18;;;8315:30;8381:29;8361:18;;;8354:57;8428:18;;194:46:0;8101:351:1;8482:592:0;8582:13;:20;8617:19;;8613:454;;8653:20;8676:27;:6;8687:15;8676:10;:27::i;:::-;8653:50;;8723:9;8718:338;8742:15;8738:1;:19;8718:338;;;8783:14;8800:13;8814:1;8800:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;8800:16:0;8840:28;;;:20;:28;;;;;;;;8800:16;;-1:-1:-1;8840:28:0;;8835:206;;-1:-1:-1;;;;;8913:17:0;;;;;;:9;:17;;;;;;:35;;8935:12;8913:21;:35::i;:::-;-1:-1:-1;;;;;8893:17:0;;;;;;:9;:17;;;;;;;:55;;;;8976:45;;8993:4;;-1:-1:-1;;;;;;;;;;;8976:45:0;;;9008:12;1533:25:1;;1521:2;1506:18;;1387:177;8976:45:0;;;;;;;;8835:206;-1:-1:-1;8759:3:0;;;;:::i;:::-;;;;8718:338;;;;8638:429;8613:454;8545:529;8482:592;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:548::-;495:4;524:2;553;542:9;535:21;585:6;579:13;628:6;623:2;612:9;608:18;601:34;653:1;663:140;677:6;674:1;671:13;663:140;;;772:14;;;768:23;;762:30;738:17;;;757:2;734:26;727:66;692:10;;663:140;;;667:3;852:1;847:2;838:6;827:9;823:22;819:31;812:42;922:2;915;911:7;906:2;898:6;894:15;890:29;879:9;875:45;871:54;863:62;;;;383:548;;;;:::o;936:254::-;1004:6;1012;1065:2;1053:9;1044:7;1040:23;1036:32;1033:52;;;1081:1;1078;1071:12;1033:52;1104:29;1123:9;1104:29;:::i;:::-;1094:39;1180:2;1165:18;;;;1152:32;;-1:-1:-1;;;936:254:1:o;1569:328::-;1646:6;1654;1662;1715:2;1703:9;1694:7;1690:23;1686:32;1683:52;;;1731:1;1728;1721:12;1683:52;1754:29;1773:9;1754:29;:::i;:::-;1744:39;;1802:38;1836:2;1825:9;1821:18;1802:38;:::i;:::-;1792:48;;1887:2;1876:9;1872:18;1859:32;1849:42;;1569:328;;;;;:::o;2091:273::-;2147:6;2200:2;2188:9;2179:7;2175:23;2171:32;2168:52;;;2216:1;2213;2206:12;2168:52;2255:9;2242:23;2308:5;2301:13;2294:21;2287:5;2284:32;2274:60;;2330:1;2327;2320:12;2369:260;2437:6;2445;2498:2;2486:9;2477:7;2473:23;2469:32;2466:52;;;2514:1;2511;2504:12;2466:52;2537:29;2556:9;2537:29;:::i;:::-;2527:39;;2585:38;2619:2;2608:9;2604:18;2585:38;:::i;:::-;2575:48;;2369:260;;;;;:::o;2634:411::-;2836:2;2818:21;;;2875:2;2855:18;;;2848:30;2914:34;2909:2;2894:18;;2887:62;-1:-1:-1;;;2980:2:1;2965:18;;2958:45;3035:3;3020:19;;2634:411::o;3409:339::-;3611:2;3593:21;;;3650:2;3630:18;;;3623:30;-1:-1:-1;;;3684:2:1;3669:18;;3662:45;3739:2;3724:18;;3409:339::o;6554:127::-;6615:10;6610:3;6606:20;6603:1;6596:31;6646:4;6643:1;6636:15;6670:4;6667:1;6660:15;6686:128;6753:9;;;6774:11;;;6771:37;;;6788:18;;:::i;6819:168::-;6892:9;;;6923;;6940:15;;;6934:22;;6920:37;6910:71;;6961:18;;:::i;6992:217::-;7032:1;7058;7048:132;;7102:10;7097:3;7093:20;7090:1;7083:31;7137:4;7134:1;7127:15;7165:4;7162:1;7155:15;7048:132;-1:-1:-1;7194:9:1;;6992:217::o;7971:125::-;8036:9;;;8057:10;;;8054:36;;;8070:18;;:::i;8457:127::-;8518:10;8513:3;8509:20;8506:1;8499:31;8549:4;8546:1;8539:15;8573:4;8570:1;8563:15;8589:135;8628:3;8649:17;;;8646:43;;8669:18;;:::i;:::-;-1:-1:-1;8716:1:1;8705:13;;8589:135::o
Swarm Source
ipfs://29a0b91a13c52d7e9e9dc505be4b267f53bc1ae37c9eafceb7b5c390a43499e5
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.
Add Token to MetaMask (Web3)