ERC-20
Source Code
Overview
Max Total Supply
2,453,561,516.549261965906159844 Baseforever Token
Holders
5,930
Transfers
-
518 ( 9.98%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
BaseforeverToken
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2025-10-25
*/
// $$$$$$$\ $$$$$$\
// $$ __$$\ $$ __$$\
// $$ | $$ | $$$$$$\ $$$$$$$\ $$$$$$\ $$ / \__|$$$$$$\ $$$$$$\ $$$$$$\ $$\ $$\ $$$$$$\ $$$$$$\
// $$$$$$$\ | \____$$\ $$ _____|$$ __$$\ $$$$\ $$ __$$\ $$ __$$\ $$ __$$\\$$\ $$ |$$ __$$\ $$ __$$\
// $$ __$$\ $$$$$$$ |\$$$$$$\ $$$$$$$$ |$$ _| $$ / $$ |$$ | \__|$$$$$$$$ |\$$\$$ / $$$$$$$$ |$$ | \__|
// $$ | $$ |$$ __$$ | \____$$\ $$ ____|$$ | $$ | $$ |$$ | $$ ____| \$$$ / $$ ____|$$ |
// $$$$$$$ |\$$$$$$$ |$$$$$$$ |\$$$$$$$\ $$ | \$$$$$$ |$$ | \$$$$$$$\ \$ / \$$$$$$$\ $$ |
// \_______/ \_______|\_______/ \_______|\__| \______/ \__| \_______| \_/ \_______|\__|
//Official Website: https://baseforever.io/
// Staking Webiste: https://stake.baseforever.io/
//Socials
// X Account : https://x.com/baseforever_off
// Telegram : https://t.me/baseforeverofficiall
// Youtube : https://www.youtube.com/@baseforeverofficial
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
/**
* @dev Provides information about the current execution context
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
/**
* @dev Contract module which provides a basic access control mechanism
*/
abstract contract Ownable is Context {
address private _owner;
error OwnableUnauthorizedAccount(address account);
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
/**
* @title BaseforeverToken
* @dev Reflection token with minting, vesting, and configurable buy/sell fees
*/
contract BaseforeverToken is Ownable {
// ERC20 standard details
string private constant _name = "Baseforever";
string private constant _symbol = "Baseforever Token";
uint8 private constant _decimals = 18;
// Reflection mechanism variables
uint256 private _tTotal;
uint256 private _rTotal;
uint256 private _tFeeTotal;
// Mapping for reflected and standard balances
mapping(address => uint256) private _rOwned;
mapping(address => uint256) private _tOwned;
// Excluded addresses from reflections
mapping(address => bool) private _isExcluded;
address[] private _excluded;
uint256 public constant MAX_EXCLUDED = 50; // Prevent gas griefing
// Fee structure (in basis points, 100 = 1%)
uint256 public buyFee = 0; // 0% initially
uint256 public sellFee = 1000; // 10% initially
uint256 public constant MAX_FEE = 2500; // 25% maximum
// Fee distribution percentages (out of total fee)
uint256 public reflectionPortion = 50; // 50% of fee goes to reflection
uint256 public marketingPortion = 25; // 25% of fee goes to marketing
uint256 public burnPortion = 25; // 25% of fee goes to burn
// Token allocation constants (in wei)
uint256 public constant TOTAL_SUPPLY = 10_000_000_000 ether;
uint256 public constant INITIAL_MINT = 2_500_000_000 ether; // 25%
uint256 public constant STAKING_POOL = 2_500_000_000 ether; // 25%
uint256 public constant VESTING_POOL = 5_000_000_000 ether; // 50%
// Vesting configuration
uint256 public constant MONTHLY_RELEASE_BPS = 1; // 0.01% = 1 basis point
uint256 public constant BPS_DENOMINATOR = 10_000;
uint256 public constant SECONDS_PER_MONTH = 30 days;
// State tracking
uint256 public totalStakingMinted;
uint256 public claimedVesting;
uint256 public lastClaim;
// Other contract configurations
mapping(address => bool) public isTaxFree;
mapping(address => bool) public isPairAddress;
mapping(address => bool) public isAuthorizedUser;
mapping(address => mapping(address => uint256)) private _allowances;
// Wallets
address public marketingWallet;
address public teamWallet;
// Events
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event TaxFreeStatusChanged(address indexed account, bool isTaxFree);
event PairAddressSet(address indexed pairAddress);
event ExcessTokensRecovered(uint256 amount);
event MarketingWalletUpdated(address indexed newWallet);
event Mint(address indexed to, uint256 amount);
event AuthorizedUserSet(address indexed user, bool isAuthorized);
event ExcludeFromReflection(address indexed account);
event IncludeInReflection(address indexed account);
event Burn(address indexed from, uint256 amount);
event MarketingFeeCollected(uint256 amount);
event VestingClaimed(address indexed to, uint256 amount);
event FeesUpdated(uint256 buyFee, uint256 sellFee);
event FeeDistributionUpdated(uint256 reflection, uint256 marketing, uint256 burn);
constructor(
address _marketingWallet,
address _owner,
address _teamWallet
) Ownable(_owner) {
require(_marketingWallet != address(0), "Invalid marketing wallet");
require(_teamWallet != address(0), "Invalid team wallet");
marketingWallet = _marketingWallet;
teamWallet = _teamWallet;
// Initialize reflection supplies based on INITIAL MINT ONLY (25%)
// Remaining 75% (staking 25% + vesting 50%) will be minted later
_tTotal = INITIAL_MINT;
_rTotal = type(uint256).max - (type(uint256).max % _tTotal);
uint256 rate = _rTotal / _tTotal;
// Split the initial 25% supply: 52% owner, 16% marketing, 32% team
uint256 tOwner = (INITIAL_MINT * 13) / 25; // 1,300,000,000 tokens (52% of 2.5B)
uint256 tMarketing = (INITIAL_MINT * 4) / 25; // 400,000,000 tokens (16% of 2.5B)
uint256 tTeam = (INITIAL_MINT * 8) / 25; // 800,000,000 tokens (32% of 2.5B)
// Assign reflected balances
_rOwned[_owner] = tOwner * rate;
_rOwned[_marketingWallet] = tMarketing * rate;
_rOwned[_teamWallet] = tTeam * rate;
// Emit transfer events
emit Transfer(address(0), _owner, tOwner);
emit Transfer(address(0), _marketingWallet, tMarketing);
emit Transfer(address(0), _teamWallet, tTeam);
// Initialize vesting
lastClaim = block.timestamp;
// Set initial configurations
isTaxFree[address(this)] = true;
isTaxFree[_owner] = true;
isAuthorizedUser[_owner] = true;
}
// ==================== ERC20 STANDARD FUNCTIONS ====================
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 _tTotal;
}
function balanceOf(address account) public view returns (uint256) {
if (_isExcluded[account]) return _tOwned[account];
return tokenFromReflection(_rOwned[account]);
}
function transfer(address recipient, uint256 amount) public returns (bool) {
_transfer(_msgSender(), 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(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
}
return true;
}
// ==================== MINTING FUNCTIONS ====================
/**
* @dev Mint tokens from staking pool (25% allocation = 2.5B tokens)
*/
function mint(address account, uint256 amount) external {
require(isAuthorizedUser[_msgSender()], "Not authorized");
require(account != address(0), "Zero address");
require(amount > 0, "Cannot mint zero");
require(totalStakingMinted + amount <= STAKING_POOL, "Staking pool exhausted");
require(_tTotal + amount <= TOTAL_SUPPLY, "Exceeds total supply");
totalStakingMinted += amount;
_mintInternal(account, amount);
emit Mint(account, amount);
}
/**
* @dev Calculate unlocked vesting tokens based on time elapsed
*/
function unlockedTokens() public view returns (uint256) {
if (claimedVesting >= VESTING_POOL) return 0;
uint256 elapsed = block.timestamp - lastClaim;
if (elapsed == 0) return 0;
// Monthly amount = 0.01% of 5B = 500,000 tokens
uint256 monthlyAmount = (VESTING_POOL * MONTHLY_RELEASE_BPS) / BPS_DENOMINATOR;
// Pro-rate by elapsed time
uint256 amount = (monthlyAmount * elapsed) / SECONDS_PER_MONTH;
// Don't exceed remaining vesting pool
uint256 remaining = VESTING_POOL - claimedVesting;
if (amount > remaining) amount = remaining;
return amount;
}
/**
* @dev Withdraw unlocked vesting tokens
*/
function withdraw() external onlyOwner {
uint256 amount = unlockedTokens();
require(amount > 0, "No tokens to withdraw");
require(_tTotal + amount <= TOTAL_SUPPLY, "Exceeds total supply");
claimedVesting += amount;
lastClaim = block.timestamp;
_mintInternal(msg.sender, amount);
emit VestingClaimed(msg.sender, amount);
}
/**
* @dev Internal mint function with proper rTotal synchronization
*/
function _mintInternal(address account, uint256 amount) private {
require(account != address(0), "ERC20: mint to zero address");
uint256 rate = _getRate();
uint256 rAmount = amount * rate;
// CRITICAL FIX: Update both _tTotal and _rTotal to maintain rate
_tTotal += amount;
_rTotal += rAmount;
_rOwned[account] += rAmount;
if (_isExcluded[account]) {
_tOwned[account] += amount;
}
emit Transfer(address(0), account, amount);
}
// ==================== VIEW FUNCTIONS FOR ALLOCATION ====================
function remainingStakingPool() public view returns (uint256) {
return STAKING_POOL - totalStakingMinted;
}
function remainingVestingPool() public view returns (uint256) {
return VESTING_POOL - claimedVesting;
}
function circulatingSupply() public view returns (uint256) {
return _tTotal;
}
// ==================== REFLECTION FUNCTIONS ====================
function totalFees() public view returns (uint256) {
return _tFeeTotal;
}
function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns (uint256) {
require(tAmount <= _tTotal, "Amount must be less than supply");
if (!deductTransferFee) {
uint256 rate = _getRate();
return tAmount * rate;
} else {
(uint256 tTransferAmount, , , ) = _calculateFees(tAmount, sellFee);
uint256 rate = _getRate();
return tTransferAmount * rate;
}
}
function tokenFromReflection(uint256 rAmount) public view returns (uint256) {
require(rAmount <= _rTotal, "Amount must be less than total reflections");
uint256 currentRate = _getRate();
return rAmount / currentRate;
}
function excludeFromReflection(address account) public onlyOwner {
require(!_isExcluded[account], "Account already excluded");
require(_excluded.length < MAX_EXCLUDED, "Too many excluded addresses");
if (_rOwned[account] > 0) {
_tOwned[account] = tokenFromReflection(_rOwned[account]);
}
_isExcluded[account] = true;
_excluded.push(account);
emit ExcludeFromReflection(account);
}
function includeInReflection(address account) public onlyOwner {
require(_isExcluded[account], "Account not excluded");
for (uint256 i = 0; i < _excluded.length; i++) {
if (_excluded[i] == account) {
_excluded[i] = _excluded[_excluded.length - 1];
_tOwned[account] = 0;
_isExcluded[account] = false;
_excluded.pop();
break;
}
}
emit IncludeInReflection(account);
}
// ==================== ADMIN FUNCTIONS ====================
function setTaxFree(address account, bool status) external onlyOwner {
isTaxFree[account] = status;
emit TaxFreeStatusChanged(account, status);
}
function setAuthorizedUser(address user, bool status) external onlyOwner {
isAuthorizedUser[user] = status;
emit AuthorizedUserSet(user, status);
}
function setPairAddress(address pairAddress) external onlyOwner {
require(pairAddress != address(0), "Invalid pair address");
require(_isContract(pairAddress), "Not a contract");
isPairAddress[pairAddress] = true;
emit PairAddressSet(pairAddress);
}
function recoverExcessTokens(uint256 amount) external onlyOwner {
require(amount > 0, "Zero amount");
require(amount <= balanceOf(address(this)), "Insufficient balance");
_transfer(address(this), _msgSender(), amount);
emit ExcessTokensRecovered(amount);
}
function setMarketingWallet(address newWallet) external onlyOwner {
require(newWallet != address(0), "Zero address");
marketingWallet = newWallet;
emit MarketingWalletUpdated(newWallet);
}
/**
* @dev Set buy and sell fees (in basis points, 100 = 1%)
* FIXED: Now properly implements separate buy and sell fees
*/
function setTradeFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
require(_buyFee <= MAX_FEE, "Buy fee exceeds maximum");
require(_sellFee <= MAX_FEE, "Sell fee exceeds maximum");
buyFee = _buyFee;
sellFee = _sellFee;
emit FeesUpdated(_buyFee, _sellFee);
}
/**
* @dev Set fee distribution percentages (must total 100)
*/
function setFeeDistribution(
uint256 _reflectionPortion,
uint256 _marketingPortion,
uint256 _burnPortion
) external onlyOwner {
require(
_reflectionPortion + _marketingPortion + _burnPortion == 100,
"Portions must total 100"
);
reflectionPortion = _reflectionPortion;
marketingPortion = _marketingPortion;
burnPortion = _burnPortion;
emit FeeDistributionUpdated(_reflectionPortion, _marketingPortion, _burnPortion);
}
function burn(uint256 amount) external {
_burn(msg.sender, amount);
}
function _burn(address account, uint256 amount) internal {
require(account != address(0), "Burn from zero address");
require(amount > 0, "Cannot burn zero");
uint256 currentRate = _getRate();
uint256 rAmount = amount * currentRate;
if (_isExcluded[account]) {
require(_tOwned[account] >= amount, "Burn exceeds balance");
_tOwned[account] -= amount;
_rOwned[account] -= rAmount;
} else {
require(_rOwned[account] >= rAmount, "Burn exceeds balance");
_rOwned[account] -= rAmount;
}
_tTotal -= amount;
_rTotal -= rAmount;
emit Transfer(account, address(0), amount);
emit Burn(account, amount);
}
// ==================== INTERNAL UTILITY FUNCTIONS ====================
function _isContract(address addr) internal view returns (bool) {
uint256 size;
assembly {
size := extcodesize(addr)
}
return size > 0;
}
/**
* @dev Calculate fees based on transaction type
* FIXED: Now properly differentiates between buy and sell
*/
function _calculateFees(uint256 tAmount, uint256 feePercent)
private
view
returns (uint256 tTransferAmount, uint256 tReflection, uint256 tMarketing, uint256 tBurn)
{
if (feePercent == 0) {
return (tAmount, 0, 0, 0);
}
uint256 totalFee = (tAmount * feePercent) / 10000;
tReflection = (totalFee * reflectionPortion) / 100;
tMarketing = (totalFee * marketingPortion) / 100;
tBurn = (totalFee * burnPortion) / 100;
tTransferAmount = tAmount - tReflection - tMarketing - tBurn;
}
function _getRate() private view returns (uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply / tSupply;
}
function _getCurrentSupply() private view returns (uint256, uint256) {
uint256 rSupply = _rTotal;
uint256 tSupply = _tTotal;
uint256 excludedLength = _excluded.length;
for (uint256 i = 0; i < excludedLength; i++) {
if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) {
return (_rTotal, _tTotal);
}
rSupply -= _rOwned[_excluded[i]];
tSupply -= _tOwned[_excluded[i]];
}
if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal);
return (rSupply, tSupply);
}
function _reflectFee(uint256 rFee, uint256 tFee) private {
_rTotal -= rFee;
_tFeeTotal += tFee;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "Approve from zero address");
require(spender != address(0), "Approve to zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
/**
* @dev Main transfer function with proper buy/sell detection
* FIXED: Now properly identifies and applies correct fees
*/
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "Transfer from zero address");
require(to != address(0), "Transfer to zero address");
require(amount > 0, "Zero amount");
bool takeFee = true;
// Don't take fee if tax-free or owner
if (isTaxFree[from] || isTaxFree[to] || from == owner() || to == owner()) {
takeFee = false;
}
// Determine if buy or sell
bool isBuy = isPairAddress[from] && !isPairAddress[to];
bool isSell = !isPairAddress[from] && isPairAddress[to];
uint256 feeToApply = 0;
if (takeFee) {
if (isBuy) {
feeToApply = buyFee;
} else if (isSell) {
feeToApply = sellFee;
}
// Regular transfers have no fee
}
_executeTransfer(from, to, amount, feeToApply);
}
function _executeTransfer(
address sender,
address recipient,
uint256 tAmount,
uint256 feePercent
) private {
// 1) compute token-side fees and rate
(uint256 tTransfer, uint256 tRef, uint256 tMkt, uint256 tBurn) =
_calculateFees(tAmount, feePercent);
uint256 rate = _getRate();
// 2) derive reflected amounts and dispatch
_applyTransfer(
sender,
recipient,
tAmount,
tTransfer,
tRef * rate,
tRef,
tMkt * rate,
tMkt,
tBurn * rate,
tBurn,
rate
);
}
function _applyTransfer(
address sender,
address recipient,
uint256 tAmount,
uint256 tTransferAmount,
uint256 rReflection,
uint256 tReflection,
uint256 rMarketing,
uint256 tMarketing,
uint256 rBurn,
uint256 tBurn,
uint256 rate
) private {
uint256 rAmount = tAmount * rate;
uint256 rTransferAmount = rAmount - rReflection - rMarketing - rBurn;
// debit sender
_rOwned[sender] -= rAmount;
if (_isExcluded[sender]) { _tOwned[sender] -= tAmount; }
// credit recipient
_rOwned[recipient] += rTransferAmount;
if (_isExcluded[recipient]) { _tOwned[recipient] += tTransferAmount; }
// reflection
if (tReflection > 0) { _reflectFee(rReflection, tReflection); }
// marketing
if (tMarketing > 0) {
_rOwned[marketingWallet] += rMarketing;
if (_isExcluded[marketingWallet]) { _tOwned[marketingWallet] += tMarketing; }
emit Transfer(sender, marketingWallet, tMarketing);
emit MarketingFeeCollected(tMarketing);
}
// burn
if (tBurn > 0) {
_tTotal -= tBurn;
_rTotal -= rBurn;
emit Transfer(sender, address(0), tBurn);
emit Burn(sender, tBurn);
}
emit Transfer(sender, recipient, tTransferAmount);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_teamWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"isAuthorized","type":"bool"}],"name":"AuthorizedUserSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExcessTokensRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromReflection","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reflection","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burn","type":"uint256"}],"name":"FeeDistributionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"IncludeInReflection","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MarketingFeeCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"MarketingWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","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":"pairAddress","type":"address"}],"name":"PairAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isTaxFree","type":"bool"}],"name":"TaxFreeStatusChanged","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VestingClaimed","type":"event"},{"inputs":[],"name":"BPS_DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL_MINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_EXCLUDED","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MONTHLY_RELEASE_BPS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECONDS_PER_MONTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_POOL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VESTING_POOL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnPortion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimedVesting","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReflection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReflection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAuthorizedUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPairAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTaxFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingPortion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverExcessTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflectionPortion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remainingStakingPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remainingVestingPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setAuthorizedUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_reflectionPortion","type":"uint256"},{"internalType":"uint256","name":"_marketingPortion","type":"uint256"},{"internalType":"uint256","name":"_burnPortion","type":"uint256"}],"name":"setFeeDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairAddress","type":"address"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setTaxFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setTradeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakingMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040525f6008556103e86009556032600a556019600b556019600c5534801562000029575f80fd5b5060405162002bdf38038062002bdf8339810160408190526200004c91620003ea565b816001600160a01b0381166200007c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b62000087816200037f565b506001600160a01b038316620000e05760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206d61726b6574696e672077616c6c65740000000000000000604482015260640162000073565b6001600160a01b038116620001385760405162461bcd60e51b815260206004820152601360248201527f496e76616c6964207465616d2077616c6c657400000000000000000000000000604482015260640162000073565b601480546001600160a01b038086166001600160a01b03199283161790925560158054928416929091169190911790556b0813f3978f89409844000000600181905562000187905f1962000445565b62000194905f196200046f565b60028190556001545f91620001aa91906200048b565b90505f6019620001c86b0813f3978f89409844000000600d620004a1565b620001d491906200048b565b90505f6019620001f26b0813f3978f894098440000006004620004a1565b620001fe91906200048b565b90505f60196200021c6b0813f3978f894098440000006008620004a1565b6200022891906200048b565b9050620002368484620004a1565b6001600160a01b0387165f908152600460205260409020556200025a8483620004a1565b6001600160a01b0388165f908152600460205260409020556200027e8482620004a1565b6001600160a01b038087165f9081526004602052604080822093909355915190881691905f8051602062002bbf83398151915290620002c09087815260200190565b60405180910390a36040518281526001600160a01b038816905f905f8051602062002bbf8339815191529060200160405180910390a36040518181526001600160a01b038616905f905f8051602062002bbf8339815191529060200160405180910390a3505042600f555050305f9081526010602090815260408083208054600160ff1991821681179092556001600160a01b039690961684528184208054871682179055601290925290912080549093161790915550620004bb9050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620003e5575f80fd5b919050565b5f805f60608486031215620003fd575f80fd5b6200040884620003ce565b92506200041860208501620003ce565b91506200042860408501620003ce565b90509250925092565b634e487b7160e01b5f52601260045260245ffd5b5f8262000456576200045662000431565b500690565b634e487b7160e01b5f52601160045260245ffd5b818103818111156200048557620004856200045b565b92915050565b5f826200049c576200049c62000431565b500490565b80820281158282048414176200048557620004856200045b565b6126f680620004c95f395ff3fe608060405234801561000f575f80fd5b506004361061034d575f3560e01c806370a08231116101c9578063ba8e568f116100fe578063e1a452181161009e578063ec17e13a11610079578063ec17e13a146106c9578063f2fde38b146106eb578063f3347ee5146106fe578063f557387514610711575f80fd5b8063e1a45218146106a5578063e6c11885146106ae578063e978f9e7146106c1575f80fd5b8063c592effe116100d9578063c592effe14610643578063ca7df92c146103e2578063d8ab6ce11461064b578063dd62ed3e1461066d575f80fd5b8063ba8e568f1461061e578063bc063e1a14610631578063c1650b2f1461063a575f80fd5b806395d89b4111610169578063a457c2d711610144578063a457c2d7146105e7578063a8adb564146105fa578063a9059cbb14610603578063abc88bda14610616575f80fd5b806395d89b4114610594578063a22d4832146105c1578063a249225e146105d4575f80fd5b806375f0a874116101a457806375f0a8741461055e5780638da5cb5b14610571578063902d55a5146105815780639358928b146103f5575f80fd5b806370a082311461053b578063715018a61461054e578063735b28dc14610556575f80fd5b80632e8f3d1a1161029f57806342966c681161023f5780634caec6e11161021a5780634caec6e1146104ec57806359927044146104f45780635d098b381461051f57806364938fc914610532575f80fd5b806342966c68146104bd5780634549b039146104d057806347062402146104e3575f80fd5b80633ccfd60b1161027a5780633ccfd60b146104905780633e1b037f1461049857806340161cc9146104a157806340c10f19146104aa575f80fd5b80632e8f3d1a1461045b578063313ce5671461046e578063395093511461047d575f80fd5b806318160ddd1161030a57806323b872dd116102e557806323b872dd1461041957806327334a081461042c5780632b14ca561461043f5780632d83811914610448575f80fd5b806318160ddd146103f55780631cb25cbc146103fd5780631cb9794014610410575f80fd5b806305f82a451461035157806306fdde0314610366578063095ea7b31461039f57806310786deb146103c257806313114a9d146103da57806314ae36ae146103e2575b5f80fd5b61036461035f366004612459565b610733565b005b60408051808201909152600b81526a2130b9b2b337b932bb32b960a91b60208201525b6040516103969190612472565b60405180910390f35b6103b26103ad3660046124be565b6108e6565b6040519015158152602001610396565b6103cc62278d0081565b604051908152602001610396565b6003546103cc565b6103cc6b0813f3978f8940984400000081565b6001546103cc565b61036461040b3660046124f5565b6108fc565b6103cc600e5481565b6103b2610427366004612526565b610963565b61036461043a366004612459565b610a0b565b6103cc60095481565b6103cc61045636600461255f565b610baf565b61036461046936600461255f565b610c31565b60405160128152602001610396565b6103b261048b3660046124be565b610d06565b610364610d41565b6103cc600b5481565b6103cc600d5481565b6103646104b83660046124be565b610e57565b6103646104cb36600461255f565b61104b565b6103cc6104de366004612576565b611058565b6103cc60085481565b6103cc600181565b601554610507906001600160a01b031681565b6040516001600160a01b039091168152602001610396565b61036461052d366004612459565b6110fd565b6103cc600a5481565b6103cc610549366004612459565b611193565b6103646111ef565b6103cc611202565b601454610507906001600160a01b031681565b5f546001600160a01b0316610507565b6103cc6b204fce5e3e2502611000000081565b6040805180820190915260118152702130b9b2b337b932bb32b9102a37b5b2b760791b6020820152610389565b6103646105cf366004612459565b611222565b6103646105e23660046124f5565b611301565b6103b26105f53660046124be565b611360565b6103cc600f5481565b6103b26106113660046124be565b6113f8565b6103cc611404565b61036461062c366004612597565b6114b1565b6103cc6109c481565b6103cc600c5481565b6103cc611572565b6103b2610659366004612459565b60106020525f908152604090205460ff1681565b6103cc61067b3660046125c0565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b6103cc61271081565b6103646106bc3660046125e8565b61158d565b6103cc603281565b6103b26106d7366004612459565b60126020525f908152604090205460ff1681565b6103646106f9366004612459565b611680565b6103cc6b1027e72f1f1281308800000081565b6103b261071f366004612459565b60116020525f908152604090205460ff1681565b61073b6116ba565b6001600160a01b0381165f9081526006602052604090205460ff1661079e5760405162461bcd60e51b81526020600482015260146024820152731058d8dbdd5b9d081b9bdd08195e18db1d59195960621b60448201526064015b60405180910390fd5b5f5b6007548110156108af57816001600160a01b0316600782815481106107c7576107c7612608565b5f918252602090912001546001600160a01b0316036108a757600780546107f090600190612630565b8154811061080057610800612608565b5f91825260209091200154600780546001600160a01b03909216918390811061082b5761082b612608565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600690925220805460ff19169055600780548061088257610882612643565b5f8281526020902081015f1990810180546001600160a01b03191690550190556108af565b6001016107a0565b506040516001600160a01b038216907fbc60ea2907fcdafe53db285c79dc7f5c4871e4d26a2d97a7bb5ae1e61f890997905f90a250565b5f6108f23384846116e6565b5060015b92915050565b6109046116ba565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f6cc9a68a61b7b3ebe53bd2a9f12d2d338634ab542664594d095a7fd430dc054691015b60405180910390a25050565b5f61096f8484846117f2565b6001600160a01b0384165f908152601360209081526040808320338452909152902054828110156109f35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610795565b610a0085338584036116e6565b506001949350505050565b610a136116ba565b6001600160a01b0381165f9081526006602052604090205460ff1615610a7b5760405162461bcd60e51b815260206004820152601860248201527f4163636f756e7420616c7265616479206578636c7564656400000000000000006044820152606401610795565b600754603211610acd5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206578636c756465642061646472657373657300000000006044820152606401610795565b6001600160a01b0381165f9081526004602052604090205415610b24576001600160a01b0381165f90815260046020526040902054610b0b90610baf565b6001600160a01b0382165f908152600560205260409020555b6001600160a01b0381165f81815260066020526040808220805460ff1916600190811790915560078054918201815583527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b03191684179055517fb1e6291bd894dac65335f88fa5b41166f1f5d6194503a8b59c1afa98de3794269190a250565b5f600254821115610c155760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610795565b5f610c1e611a0b565b9050610c2a8184612657565b9392505050565b610c396116ba565b5f8111610c765760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610795565b610c7f30611193565b811115610cc55760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610795565b610cd03033836117f2565b6040518181527fe638c41912f4ef786deec8d10416778e478284334c2f18acea6e03f435d464779060200160405180910390a150565b335f8181526013602090815260408083206001600160a01b038716845290915281205490916108f2918590610d3c908690612676565b6116e6565b610d496116ba565b5f610d52611404565b90505f8111610d9b5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606401610795565b6b204fce5e3e2502611000000081600154610db69190612676565b1115610dfb5760405162461bcd60e51b81526020600482015260146024820152734578636565647320746f74616c20737570706c7960601b6044820152606401610795565b80600e5f828254610e0c9190612676565b909155505042600f55610e1f3382611a2c565b60405181815233907f9fe9b7be9d151c7a8b6de49a1312ff27a15096d0d1d12999af85fe4310e0b1259060200160405180910390a250565b335f9081526012602052604090205460ff16610ea65760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610795565b6001600160a01b038216610eeb5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610795565b5f8111610f2d5760405162461bcd60e51b815260206004820152601060248201526f43616e6e6f74206d696e74207a65726f60801b6044820152606401610795565b6b0813f3978f8940984400000081600d54610f489190612676565b1115610f8f5760405162461bcd60e51b815260206004820152601660248201527514dd185ada5b99c81c1bdbdb08195e1a185d5cdd195960521b6044820152606401610795565b6b204fce5e3e2502611000000081600154610faa9190612676565b1115610fef5760405162461bcd60e51b81526020600482015260146024820152734578636565647320746f74616c20737570706c7960601b6044820152606401610795565b80600d5f8282546110009190612676565b9091555061101090508282611a2c565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161095791815260200190565b6110553382611b74565b50565b5f6001548311156110ab5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610795565b816110cd575f6110b9611a0b565b90506110c58185612689565b9150506108f6565b5f6110da84600954611e29565b50505090505f6110e8611a0b565b90506110f48183612689565b925050506108f6565b6111056116ba565b6001600160a01b03811661114a5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610795565b601480546001600160a01b0319166001600160a01b0383169081179091556040517fbf86feedee5b30c30a8243bd21deebb704d141478d39b1be04fe5ee739f214e7905f90a250565b6001600160a01b0381165f9081526006602052604081205460ff16156111ce57506001600160a01b03165f9081526005602052604090205490565b6001600160a01b0382165f908152600460205260409020546108f690610baf565b6111f76116ba565b6112005f611edf565b565b5f600e546b1027e72f1f1281308800000061121d9190612630565b905090565b61122a6116ba565b6001600160a01b0381166112775760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070616972206164647265737360601b6044820152606401610795565b803b6112b65760405162461bcd60e51b815260206004820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b6044820152606401610795565b6001600160a01b0381165f81815260116020526040808220805460ff19166001179055517f5d338516e06e286e70c606dc31a9818bc3ecf6eb9995eaa5c4c7cae87e86adda9190a250565b6113096116ba565b6001600160a01b0382165f81815260126020908152604091829020805460ff191685151590811790915591519182527f1d778915579d1eab571aaabfef4cad45f44457b46165d03669a495599a5f5a6d9101610957565b335f9081526013602090815260408083206001600160a01b0386168452909152812054828110156113e15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610795565b6113ee33858584036116e6565b5060019392505050565b5f6108f23384846117f2565b5f6b1027e72f1f12813088000000600e541061141f57505f90565b5f600f544261142e9190612630565b9050805f0361143e575f91505090565b5f61271061145960016b1027e72f1f12813088000000612689565b6114639190612657565b90505f62278d006114748484612689565b61147e9190612657565b90505f600e546b1027e72f1f1281308800000061149b9190612630565b9050808211156114a9578091505b509392505050565b6114b96116ba565b806114c48385612676565b6114ce9190612676565b60641461151d5760405162461bcd60e51b815260206004820152601760248201527f506f7274696f6e73206d75737420746f74616c203130300000000000000000006044820152606401610795565b600a839055600b829055600c81905560408051848152602081018490529081018290527fc2598ee1064d25a35cc42ae49954377c76f68eb4289b1825844a9f751bcae1529060600160405180910390a1505050565b5f600d546b0813f3978f8940984400000061121d9190612630565b6115956116ba565b6109c48211156115e75760405162461bcd60e51b815260206004820152601760248201527f427579206665652065786365656473206d6178696d756d0000000000000000006044820152606401610795565b6109c48111156116395760405162461bcd60e51b815260206004820152601860248201527f53656c6c206665652065786365656473206d6178696d756d00000000000000006044820152606401610795565b6008829055600981905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b6116886116ba565b6001600160a01b0381166116b157604051631e4fbdf760e01b81525f6004820152602401610795565b61105581611edf565b5f546001600160a01b031633146112005760405163118cdaa760e01b8152336004820152602401610795565b6001600160a01b03831661173c5760405162461bcd60e51b815260206004820152601960248201527f417070726f76652066726f6d207a65726f2061646472657373000000000000006044820152606401610795565b6001600160a01b0382166117925760405162461bcd60e51b815260206004820152601760248201527f417070726f766520746f207a65726f20616464726573730000000000000000006044820152606401610795565b6001600160a01b038381165f8181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166118485760405162461bcd60e51b815260206004820152601a60248201527f5472616e736665722066726f6d207a65726f20616464726573730000000000006044820152606401610795565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f206164647265737300000000000000006044820152606401610795565b5f81116118db5760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610795565b6001600160a01b0383165f9081526010602052604090205460019060ff168061191b57506001600160a01b0383165f9081526010602052604090205460ff165b8061193257505f546001600160a01b038581169116145b8061194957505f546001600160a01b038481169116145b1561195157505f5b6001600160a01b0384165f9081526011602052604081205460ff16801561199057506001600160a01b0384165f9081526011602052604090205460ff16155b6001600160a01b0386165f908152601160205260408120549192509060ff161580156119d357506001600160a01b0385165f9081526011602052604090205460ff165b90505f83156119f65782156119eb57506008546119f6565b81156119f657506009545b611a0287878784611f2e565b50505050505050565b5f805f611a16611f88565b9092509050611a258183612657565b9250505090565b6001600160a01b038216611a825760405162461bcd60e51b815260206004820152601b60248201527f45524332303a206d696e7420746f207a65726f206164647265737300000000006044820152606401610795565b5f611a8b611a0b565b90505f611a988284612689565b90508260015f828254611aab9190612676565b925050819055508060025f828254611ac39190612676565b90915550506001600160a01b0384165f9081526004602052604081208054839290611aef908490612676565b90915550506001600160a01b0384165f9081526006602052604090205460ff1615611b41576001600160a01b0384165f9081526005602052604081208054859290611b3b908490612676565b90915550505b6040518381526001600160a01b038516905f905f805160206126a18339815191529060200160405180910390a350505050565b6001600160a01b038216611bc35760405162461bcd60e51b81526020600482015260166024820152754275726e2066726f6d207a65726f206164647265737360501b6044820152606401610795565b5f8111611c055760405162461bcd60e51b815260206004820152601060248201526f43616e6e6f74206275726e207a65726f60801b6044820152606401610795565b5f611c0e611a0b565b90505f611c1b8284612689565b6001600160a01b0385165f9081526006602052604090205490915060ff1615611cfa576001600160a01b0384165f90815260056020526040902054831115611c9c5760405162461bcd60e51b81526020600482015260146024820152734275726e20657863656564732062616c616e636560601b6044820152606401610795565b6001600160a01b0384165f9081526005602052604081208054859290611cc3908490612630565b90915550506001600160a01b0384165f9081526004602052604081208054839290611cef908490612630565b90915550611d859050565b6001600160a01b0384165f90815260046020526040902054811115611d585760405162461bcd60e51b81526020600482015260146024820152734275726e20657863656564732062616c616e636560601b6044820152606401610795565b6001600160a01b0384165f9081526004602052604081208054839290611d7f908490612630565b90915550505b8260015f828254611d969190612630565b925050819055508060025f828254611dae9190612630565b90915550506040518381525f906001600160a01b038616905f805160206126a18339815191529060200160405180910390a3836001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca584604051611e1b91815260200190565b60405180910390a250505050565b5f805f80845f03611e4457508492505f915081905080611ed6565b5f612710611e528789612689565b611e5c9190612657565b90506064600a5482611e6e9190612689565b611e789190612657565b93506064600b5482611e8a9190612689565b611e949190612657565b92506064600c5482611ea69190612689565b611eb09190612657565b91508183611ebe868a612630565b611ec89190612630565b611ed29190612630565b9450505b92959194509250565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f805f80611f3c8686611e29565b93509350935093505f611f4d611a0b565b9050611f7d89898988611f60868a612689565b89611f6b888b612689565b8a611f768a8c612689565b8b8b6120fe565b505050505050505050565b6002546001546007545f9283929091835b818110156120cb578360045f60078481548110611fb857611fb8612608565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054118061202057508260055f60078481548110611ffa57611ffa612608565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b156120375760025460015495509550505050509091565b60045f6007838154811061204d5761204d612608565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205461207b9085612630565b935060055f6007838154811061209357612093612608565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546120c19084612630565b9250600101611f99565b506001546002546120dc9190612657565b8310156120f457600254600154945094505050509091565b5090939092509050565b5f612109828b612689565b90505f84876121188b85612630565b6121229190612630565b61212c9190612630565b6001600160a01b038e165f90815260046020526040812080549293508492909190612158908490612630565b90915550506001600160a01b038d165f9081526006602052604090205460ff16156121aa576001600160a01b038d165f90815260056020526040812080548d92906121a4908490612630565b90915550505b6001600160a01b038c165f90815260046020526040812080548392906121d1908490612676565b90915550506001600160a01b038c165f9081526006602052604090205460ff1615612223576001600160a01b038c165f90815260056020526040812080548c929061221d908490612676565b90915550505b871561223357612233898961240c565b851561231e576014546001600160a01b03165f9081526004602052604081208054899290612262908490612676565b90915550506014546001600160a01b03165f9081526006602052604090205460ff16156122b8576014546001600160a01b03165f90815260056020526040812080548892906122b2908490612676565b90915550505b6014546040518781526001600160a01b03918216918f16905f805160206126a18339815191529060200160405180910390a36040518681527f14c3945b0e552cb130d2e123df9730f5b69c4872acd0fc354d63649227d61f129060200160405180910390a15b83156123c3578360015f8282546123359190612630565b925050819055508460025f82825461234d9190612630565b90915550506040518481525f906001600160a01b038f16905f805160206126a18339815191529060200160405180910390a38c6001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5856040516123ba91815260200190565b60405180910390a25b8b6001600160a01b03168d6001600160a01b03165f805160206126a18339815191528c6040516123f591815260200190565b60405180910390a350505050505050505050505050565b8160025f82825461241d9190612630565b925050819055508060035f8282546124359190612676565b90915550505050565b80356001600160a01b0381168114612454575f80fd5b919050565b5f60208284031215612469575f80fd5b610c2a8261243e565b5f602080835283518060208501525f5b8181101561249e57858101830151858201604001528201612482565b505f604082860101526040601f19601f8301168501019250505092915050565b5f80604083850312156124cf575f80fd5b6124d88361243e565b946020939093013593505050565b80358015158114612454575f80fd5b5f8060408385031215612506575f80fd5b61250f8361243e565b915061251d602084016124e6565b90509250929050565b5f805f60608486031215612538575f80fd5b6125418461243e565b925061254f6020850161243e565b9150604084013590509250925092565b5f6020828403121561256f575f80fd5b5035919050565b5f8060408385031215612587575f80fd5b8235915061251d602084016124e6565b5f805f606084860312156125a9575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156125d1575f80fd5b6125da8361243e565b915061251d6020840161243e565b5f80604083850312156125f9575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108f6576108f661261c565b634e487b7160e01b5f52603160045260245ffd5b5f8261267157634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156108f6576108f661261c565b80820281158282048414176108f6576108f661261c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204db0d40631c3d2d187db2979de69d85dfed739738f23a35be61a00753f1f757e64736f6c63430008180033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0000000000000000000000000f60fc0b266e189a94db7c597df5e4576d9693f700000000000000000000000038e747ac305bfabb622e9de3776b7d2a927b4d2a000000000000000000000000280d5d8b1205f7b7ee708bd9e3e4e64865648937
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061034d575f3560e01c806370a08231116101c9578063ba8e568f116100fe578063e1a452181161009e578063ec17e13a11610079578063ec17e13a146106c9578063f2fde38b146106eb578063f3347ee5146106fe578063f557387514610711575f80fd5b8063e1a45218146106a5578063e6c11885146106ae578063e978f9e7146106c1575f80fd5b8063c592effe116100d9578063c592effe14610643578063ca7df92c146103e2578063d8ab6ce11461064b578063dd62ed3e1461066d575f80fd5b8063ba8e568f1461061e578063bc063e1a14610631578063c1650b2f1461063a575f80fd5b806395d89b4111610169578063a457c2d711610144578063a457c2d7146105e7578063a8adb564146105fa578063a9059cbb14610603578063abc88bda14610616575f80fd5b806395d89b4114610594578063a22d4832146105c1578063a249225e146105d4575f80fd5b806375f0a874116101a457806375f0a8741461055e5780638da5cb5b14610571578063902d55a5146105815780639358928b146103f5575f80fd5b806370a082311461053b578063715018a61461054e578063735b28dc14610556575f80fd5b80632e8f3d1a1161029f57806342966c681161023f5780634caec6e11161021a5780634caec6e1146104ec57806359927044146104f45780635d098b381461051f57806364938fc914610532575f80fd5b806342966c68146104bd5780634549b039146104d057806347062402146104e3575f80fd5b80633ccfd60b1161027a5780633ccfd60b146104905780633e1b037f1461049857806340161cc9146104a157806340c10f19146104aa575f80fd5b80632e8f3d1a1461045b578063313ce5671461046e578063395093511461047d575f80fd5b806318160ddd1161030a57806323b872dd116102e557806323b872dd1461041957806327334a081461042c5780632b14ca561461043f5780632d83811914610448575f80fd5b806318160ddd146103f55780631cb25cbc146103fd5780631cb9794014610410575f80fd5b806305f82a451461035157806306fdde0314610366578063095ea7b31461039f57806310786deb146103c257806313114a9d146103da57806314ae36ae146103e2575b5f80fd5b61036461035f366004612459565b610733565b005b60408051808201909152600b81526a2130b9b2b337b932bb32b960a91b60208201525b6040516103969190612472565b60405180910390f35b6103b26103ad3660046124be565b6108e6565b6040519015158152602001610396565b6103cc62278d0081565b604051908152602001610396565b6003546103cc565b6103cc6b0813f3978f8940984400000081565b6001546103cc565b61036461040b3660046124f5565b6108fc565b6103cc600e5481565b6103b2610427366004612526565b610963565b61036461043a366004612459565b610a0b565b6103cc60095481565b6103cc61045636600461255f565b610baf565b61036461046936600461255f565b610c31565b60405160128152602001610396565b6103b261048b3660046124be565b610d06565b610364610d41565b6103cc600b5481565b6103cc600d5481565b6103646104b83660046124be565b610e57565b6103646104cb36600461255f565b61104b565b6103cc6104de366004612576565b611058565b6103cc60085481565b6103cc600181565b601554610507906001600160a01b031681565b6040516001600160a01b039091168152602001610396565b61036461052d366004612459565b6110fd565b6103cc600a5481565b6103cc610549366004612459565b611193565b6103646111ef565b6103cc611202565b601454610507906001600160a01b031681565b5f546001600160a01b0316610507565b6103cc6b204fce5e3e2502611000000081565b6040805180820190915260118152702130b9b2b337b932bb32b9102a37b5b2b760791b6020820152610389565b6103646105cf366004612459565b611222565b6103646105e23660046124f5565b611301565b6103b26105f53660046124be565b611360565b6103cc600f5481565b6103b26106113660046124be565b6113f8565b6103cc611404565b61036461062c366004612597565b6114b1565b6103cc6109c481565b6103cc600c5481565b6103cc611572565b6103b2610659366004612459565b60106020525f908152604090205460ff1681565b6103cc61067b3660046125c0565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b6103cc61271081565b6103646106bc3660046125e8565b61158d565b6103cc603281565b6103b26106d7366004612459565b60126020525f908152604090205460ff1681565b6103646106f9366004612459565b611680565b6103cc6b1027e72f1f1281308800000081565b6103b261071f366004612459565b60116020525f908152604090205460ff1681565b61073b6116ba565b6001600160a01b0381165f9081526006602052604090205460ff1661079e5760405162461bcd60e51b81526020600482015260146024820152731058d8dbdd5b9d081b9bdd08195e18db1d59195960621b60448201526064015b60405180910390fd5b5f5b6007548110156108af57816001600160a01b0316600782815481106107c7576107c7612608565b5f918252602090912001546001600160a01b0316036108a757600780546107f090600190612630565b8154811061080057610800612608565b5f91825260209091200154600780546001600160a01b03909216918390811061082b5761082b612608565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600690925220805460ff19169055600780548061088257610882612643565b5f8281526020902081015f1990810180546001600160a01b03191690550190556108af565b6001016107a0565b506040516001600160a01b038216907fbc60ea2907fcdafe53db285c79dc7f5c4871e4d26a2d97a7bb5ae1e61f890997905f90a250565b5f6108f23384846116e6565b5060015b92915050565b6109046116ba565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f6cc9a68a61b7b3ebe53bd2a9f12d2d338634ab542664594d095a7fd430dc054691015b60405180910390a25050565b5f61096f8484846117f2565b6001600160a01b0384165f908152601360209081526040808320338452909152902054828110156109f35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610795565b610a0085338584036116e6565b506001949350505050565b610a136116ba565b6001600160a01b0381165f9081526006602052604090205460ff1615610a7b5760405162461bcd60e51b815260206004820152601860248201527f4163636f756e7420616c7265616479206578636c7564656400000000000000006044820152606401610795565b600754603211610acd5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206578636c756465642061646472657373657300000000006044820152606401610795565b6001600160a01b0381165f9081526004602052604090205415610b24576001600160a01b0381165f90815260046020526040902054610b0b90610baf565b6001600160a01b0382165f908152600560205260409020555b6001600160a01b0381165f81815260066020526040808220805460ff1916600190811790915560078054918201815583527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b03191684179055517fb1e6291bd894dac65335f88fa5b41166f1f5d6194503a8b59c1afa98de3794269190a250565b5f600254821115610c155760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610795565b5f610c1e611a0b565b9050610c2a8184612657565b9392505050565b610c396116ba565b5f8111610c765760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610795565b610c7f30611193565b811115610cc55760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610795565b610cd03033836117f2565b6040518181527fe638c41912f4ef786deec8d10416778e478284334c2f18acea6e03f435d464779060200160405180910390a150565b335f8181526013602090815260408083206001600160a01b038716845290915281205490916108f2918590610d3c908690612676565b6116e6565b610d496116ba565b5f610d52611404565b90505f8111610d9b5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606401610795565b6b204fce5e3e2502611000000081600154610db69190612676565b1115610dfb5760405162461bcd60e51b81526020600482015260146024820152734578636565647320746f74616c20737570706c7960601b6044820152606401610795565b80600e5f828254610e0c9190612676565b909155505042600f55610e1f3382611a2c565b60405181815233907f9fe9b7be9d151c7a8b6de49a1312ff27a15096d0d1d12999af85fe4310e0b1259060200160405180910390a250565b335f9081526012602052604090205460ff16610ea65760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610795565b6001600160a01b038216610eeb5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610795565b5f8111610f2d5760405162461bcd60e51b815260206004820152601060248201526f43616e6e6f74206d696e74207a65726f60801b6044820152606401610795565b6b0813f3978f8940984400000081600d54610f489190612676565b1115610f8f5760405162461bcd60e51b815260206004820152601660248201527514dd185ada5b99c81c1bdbdb08195e1a185d5cdd195960521b6044820152606401610795565b6b204fce5e3e2502611000000081600154610faa9190612676565b1115610fef5760405162461bcd60e51b81526020600482015260146024820152734578636565647320746f74616c20737570706c7960601b6044820152606401610795565b80600d5f8282546110009190612676565b9091555061101090508282611a2c565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161095791815260200190565b6110553382611b74565b50565b5f6001548311156110ab5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610795565b816110cd575f6110b9611a0b565b90506110c58185612689565b9150506108f6565b5f6110da84600954611e29565b50505090505f6110e8611a0b565b90506110f48183612689565b925050506108f6565b6111056116ba565b6001600160a01b03811661114a5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610795565b601480546001600160a01b0319166001600160a01b0383169081179091556040517fbf86feedee5b30c30a8243bd21deebb704d141478d39b1be04fe5ee739f214e7905f90a250565b6001600160a01b0381165f9081526006602052604081205460ff16156111ce57506001600160a01b03165f9081526005602052604090205490565b6001600160a01b0382165f908152600460205260409020546108f690610baf565b6111f76116ba565b6112005f611edf565b565b5f600e546b1027e72f1f1281308800000061121d9190612630565b905090565b61122a6116ba565b6001600160a01b0381166112775760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070616972206164647265737360601b6044820152606401610795565b803b6112b65760405162461bcd60e51b815260206004820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b6044820152606401610795565b6001600160a01b0381165f81815260116020526040808220805460ff19166001179055517f5d338516e06e286e70c606dc31a9818bc3ecf6eb9995eaa5c4c7cae87e86adda9190a250565b6113096116ba565b6001600160a01b0382165f81815260126020908152604091829020805460ff191685151590811790915591519182527f1d778915579d1eab571aaabfef4cad45f44457b46165d03669a495599a5f5a6d9101610957565b335f9081526013602090815260408083206001600160a01b0386168452909152812054828110156113e15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610795565b6113ee33858584036116e6565b5060019392505050565b5f6108f23384846117f2565b5f6b1027e72f1f12813088000000600e541061141f57505f90565b5f600f544261142e9190612630565b9050805f0361143e575f91505090565b5f61271061145960016b1027e72f1f12813088000000612689565b6114639190612657565b90505f62278d006114748484612689565b61147e9190612657565b90505f600e546b1027e72f1f1281308800000061149b9190612630565b9050808211156114a9578091505b509392505050565b6114b96116ba565b806114c48385612676565b6114ce9190612676565b60641461151d5760405162461bcd60e51b815260206004820152601760248201527f506f7274696f6e73206d75737420746f74616c203130300000000000000000006044820152606401610795565b600a839055600b829055600c81905560408051848152602081018490529081018290527fc2598ee1064d25a35cc42ae49954377c76f68eb4289b1825844a9f751bcae1529060600160405180910390a1505050565b5f600d546b0813f3978f8940984400000061121d9190612630565b6115956116ba565b6109c48211156115e75760405162461bcd60e51b815260206004820152601760248201527f427579206665652065786365656473206d6178696d756d0000000000000000006044820152606401610795565b6109c48111156116395760405162461bcd60e51b815260206004820152601860248201527f53656c6c206665652065786365656473206d6178696d756d00000000000000006044820152606401610795565b6008829055600981905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b6116886116ba565b6001600160a01b0381166116b157604051631e4fbdf760e01b81525f6004820152602401610795565b61105581611edf565b5f546001600160a01b031633146112005760405163118cdaa760e01b8152336004820152602401610795565b6001600160a01b03831661173c5760405162461bcd60e51b815260206004820152601960248201527f417070726f76652066726f6d207a65726f2061646472657373000000000000006044820152606401610795565b6001600160a01b0382166117925760405162461bcd60e51b815260206004820152601760248201527f417070726f766520746f207a65726f20616464726573730000000000000000006044820152606401610795565b6001600160a01b038381165f8181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166118485760405162461bcd60e51b815260206004820152601a60248201527f5472616e736665722066726f6d207a65726f20616464726573730000000000006044820152606401610795565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f206164647265737300000000000000006044820152606401610795565b5f81116118db5760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610795565b6001600160a01b0383165f9081526010602052604090205460019060ff168061191b57506001600160a01b0383165f9081526010602052604090205460ff165b8061193257505f546001600160a01b038581169116145b8061194957505f546001600160a01b038481169116145b1561195157505f5b6001600160a01b0384165f9081526011602052604081205460ff16801561199057506001600160a01b0384165f9081526011602052604090205460ff16155b6001600160a01b0386165f908152601160205260408120549192509060ff161580156119d357506001600160a01b0385165f9081526011602052604090205460ff165b90505f83156119f65782156119eb57506008546119f6565b81156119f657506009545b611a0287878784611f2e565b50505050505050565b5f805f611a16611f88565b9092509050611a258183612657565b9250505090565b6001600160a01b038216611a825760405162461bcd60e51b815260206004820152601b60248201527f45524332303a206d696e7420746f207a65726f206164647265737300000000006044820152606401610795565b5f611a8b611a0b565b90505f611a988284612689565b90508260015f828254611aab9190612676565b925050819055508060025f828254611ac39190612676565b90915550506001600160a01b0384165f9081526004602052604081208054839290611aef908490612676565b90915550506001600160a01b0384165f9081526006602052604090205460ff1615611b41576001600160a01b0384165f9081526005602052604081208054859290611b3b908490612676565b90915550505b6040518381526001600160a01b038516905f905f805160206126a18339815191529060200160405180910390a350505050565b6001600160a01b038216611bc35760405162461bcd60e51b81526020600482015260166024820152754275726e2066726f6d207a65726f206164647265737360501b6044820152606401610795565b5f8111611c055760405162461bcd60e51b815260206004820152601060248201526f43616e6e6f74206275726e207a65726f60801b6044820152606401610795565b5f611c0e611a0b565b90505f611c1b8284612689565b6001600160a01b0385165f9081526006602052604090205490915060ff1615611cfa576001600160a01b0384165f90815260056020526040902054831115611c9c5760405162461bcd60e51b81526020600482015260146024820152734275726e20657863656564732062616c616e636560601b6044820152606401610795565b6001600160a01b0384165f9081526005602052604081208054859290611cc3908490612630565b90915550506001600160a01b0384165f9081526004602052604081208054839290611cef908490612630565b90915550611d859050565b6001600160a01b0384165f90815260046020526040902054811115611d585760405162461bcd60e51b81526020600482015260146024820152734275726e20657863656564732062616c616e636560601b6044820152606401610795565b6001600160a01b0384165f9081526004602052604081208054839290611d7f908490612630565b90915550505b8260015f828254611d969190612630565b925050819055508060025f828254611dae9190612630565b90915550506040518381525f906001600160a01b038616905f805160206126a18339815191529060200160405180910390a3836001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca584604051611e1b91815260200190565b60405180910390a250505050565b5f805f80845f03611e4457508492505f915081905080611ed6565b5f612710611e528789612689565b611e5c9190612657565b90506064600a5482611e6e9190612689565b611e789190612657565b93506064600b5482611e8a9190612689565b611e949190612657565b92506064600c5482611ea69190612689565b611eb09190612657565b91508183611ebe868a612630565b611ec89190612630565b611ed29190612630565b9450505b92959194509250565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f805f80611f3c8686611e29565b93509350935093505f611f4d611a0b565b9050611f7d89898988611f60868a612689565b89611f6b888b612689565b8a611f768a8c612689565b8b8b6120fe565b505050505050505050565b6002546001546007545f9283929091835b818110156120cb578360045f60078481548110611fb857611fb8612608565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054118061202057508260055f60078481548110611ffa57611ffa612608565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b156120375760025460015495509550505050509091565b60045f6007838154811061204d5761204d612608565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205461207b9085612630565b935060055f6007838154811061209357612093612608565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546120c19084612630565b9250600101611f99565b506001546002546120dc9190612657565b8310156120f457600254600154945094505050509091565b5090939092509050565b5f612109828b612689565b90505f84876121188b85612630565b6121229190612630565b61212c9190612630565b6001600160a01b038e165f90815260046020526040812080549293508492909190612158908490612630565b90915550506001600160a01b038d165f9081526006602052604090205460ff16156121aa576001600160a01b038d165f90815260056020526040812080548d92906121a4908490612630565b90915550505b6001600160a01b038c165f90815260046020526040812080548392906121d1908490612676565b90915550506001600160a01b038c165f9081526006602052604090205460ff1615612223576001600160a01b038c165f90815260056020526040812080548c929061221d908490612676565b90915550505b871561223357612233898961240c565b851561231e576014546001600160a01b03165f9081526004602052604081208054899290612262908490612676565b90915550506014546001600160a01b03165f9081526006602052604090205460ff16156122b8576014546001600160a01b03165f90815260056020526040812080548892906122b2908490612676565b90915550505b6014546040518781526001600160a01b03918216918f16905f805160206126a18339815191529060200160405180910390a36040518681527f14c3945b0e552cb130d2e123df9730f5b69c4872acd0fc354d63649227d61f129060200160405180910390a15b83156123c3578360015f8282546123359190612630565b925050819055508460025f82825461234d9190612630565b90915550506040518481525f906001600160a01b038f16905f805160206126a18339815191529060200160405180910390a38c6001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5856040516123ba91815260200190565b60405180910390a25b8b6001600160a01b03168d6001600160a01b03165f805160206126a18339815191528c6040516123f591815260200190565b60405180910390a350505050505050505050505050565b8160025f82825461241d9190612630565b925050819055508060035f8282546124359190612676565b90915550505050565b80356001600160a01b0381168114612454575f80fd5b919050565b5f60208284031215612469575f80fd5b610c2a8261243e565b5f602080835283518060208501525f5b8181101561249e57858101830151858201604001528201612482565b505f604082860101526040601f19601f8301168501019250505092915050565b5f80604083850312156124cf575f80fd5b6124d88361243e565b946020939093013593505050565b80358015158114612454575f80fd5b5f8060408385031215612506575f80fd5b61250f8361243e565b915061251d602084016124e6565b90509250929050565b5f805f60608486031215612538575f80fd5b6125418461243e565b925061254f6020850161243e565b9150604084013590509250925092565b5f6020828403121561256f575f80fd5b5035919050565b5f8060408385031215612587575f80fd5b8235915061251d602084016124e6565b5f805f606084860312156125a9575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156125d1575f80fd5b6125da8361243e565b915061251d6020840161243e565b5f80604083850312156125f9575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108f6576108f661261c565b634e487b7160e01b5f52603160045260245ffd5b5f8261267157634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156108f6576108f661261c565b80820281158282048414176108f6576108f661261c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204db0d40631c3d2d187db2979de69d85dfed739738f23a35be61a00753f1f757e64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000f60fc0b266e189a94db7c597df5e4576d9693f700000000000000000000000038e747ac305bfabb622e9de3776b7d2a927b4d2a000000000000000000000000280d5d8b1205f7b7ee708bd9e3e4e64865648937
-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0x0F60fc0B266E189A94dB7c597DF5e4576D9693f7
Arg [1] : _owner (address): 0x38e747aC305bFABB622e9dE3776B7D2a927b4d2A
Arg [2] : _teamWallet (address): 0x280d5d8b1205f7b7EE708bd9e3e4E64865648937
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000f60fc0b266e189a94db7c597df5e4576d9693f7
Arg [1] : 00000000000000000000000038e747ac305bfabb622e9de3776b7d2a927b4d2a
Arg [2] : 000000000000000000000000280d5d8b1205f7b7ee708bd9e3e4e64865648937
Deployed Bytecode Sourcemap
3691:21286:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15433:536;;;;;;:::i;:::-;;:::i;:::-;;8752:83;8822:5;;;;;;;;;;;;-1:-1:-1;;;8822:5:0;;;;8752:83;;;;;;;:::i;:::-;;;;;;;;9657:152;;;;;;:::i;:::-;;:::i;:::-;;;1360:14:1;;1353:22;1335:41;;1323:2;1308:18;9657:152:0;1195:187:1;5461:51:0;;5505:7;5461:51;;;;;1533:25:1;;;1521:2;1506:18;5461:51:0;1387:177:1;14081:87:0;14150:10;;14081:87;;5142:58;;5181:19;5142:58;;9041:86;9112:7;;9041:86;;16053:168;;;;;;:::i;:::-;;:::i;5584:29::-;;;;;;9821:459;;;;;;:::i;:::-;;:::i;14940:481::-;;;;;;:::i;:::-;;:::i;4545:29::-;;;;;;14678:250;;;;;;:::i;:::-;;:::i;16723:299::-;;;;;;:::i;:::-;;:::i;8946:83::-;;;3919:2;2653:36:1;;2641:2;2626:18;8946:83:0;2511:184:1;10292:207:0;;;;;;:::i;:::-;;:::i;12468:421::-;;;:::i;4805:36::-;;;;;;5544:33;;;;;;11094:535;;;;;;:::i;:::-;;:::i;18398:85::-;;;;;;:::i;:::-;;:::i;14180:486::-;;;;;;:::i;:::-;;:::i;4487:25::-;;;;;;5322:47;;5368:1;5322:47;;5987:25;;;;;-1:-1:-1;;;;;5987:25:0;;;;;;-1:-1:-1;;;;;3117:32:1;;;3099:51;;3087:2;3072:18;5987:25:0;2953:203:1;17034:220:0;;;;;;:::i;:::-;;:::i;4726:37::-;;;;;;9139:189;;;;;;:::i;:::-;;:::i;3031:103::-;;;:::i;13779:117::-;;;:::i;5950:30::-;;;;;-1:-1:-1;;;;;5950:30:0;;;2762:87;2808:7;2835:6;-1:-1:-1;;;;;2835:6:0;2762:87;;5002:59;;5041:20;5002:59;;8847:87;8919:7;;;;;;;;;;;;-1:-1:-1;;;8919:7:0;;;;8847:87;;16421:290;;;;;;:::i;:::-;;:::i;16233:170::-;;;;;;:::i;:::-;;:::i;10511:413::-;;;;;;:::i;:::-;;:::i;5620:24::-;;;;;;9340:159;;;;;;:::i;:::-;;:::i;11724:672::-;;;:::i;17836:554::-;;;;;;:::i;:::-;;:::i;4604:38::-;;4638:4;4604:38;;4883:31;;;;;;13650:121;;;:::i;5699:41::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9511:134;;;;;;:::i;:::-;-1:-1:-1;;;;;9610:18:0;;;9583:7;9610:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9511:134;5406:48;;5448:6;5406:48;;17409:338;;;;;;:::i;:::-;;:::i;4359:41::-;;4398:2;4359:41;;5799:48;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3142:220;;;;;;:::i;:::-;;:::i;5216:58::-;;5255:19;5216:58;;5747:45;;;;;;:::i;:::-;;;;;;;;;;;;;;;;15433:536;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;15515:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;15507:53;;;::::0;-1:-1:-1;;;15507:53:0;;4202:2:1;15507:53:0::1;::::0;::::1;4184:21:1::0;4241:2;4221:18;;;4214:30;-1:-1:-1;;;4260:18:1;;;4253:50;4320:18;;15507:53:0::1;;;;;;;;;15586:9;15581:327;15605:9;:16:::0;15601:20;::::1;15581:327;;;15663:7;-1:-1:-1::0;;;;;15647:23:0::1;:9;15657:1;15647:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;15647:12:0::1;:23:::0;15643:254:::1;;15706:9;15716:16:::0;;:20:::1;::::0;15735:1:::1;::::0;15716:20:::1;:::i;:::-;15706:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;15691:9:::1;:12:::0;;-1:-1:-1;;;;;15706:31:0;;::::1;::::0;15701:1;;15691:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;15691:46:0::1;-1:-1:-1::0;;;;;15691:46:0;;::::1;;::::0;;15756:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;15795:11:::1;:20:::0;;;;:28;;-1:-1:-1;;15795:28:0::1;::::0;;15842:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15842:15:0;;;;;-1:-1:-1;;;;;;15842:15:0::1;::::0;;;;;15876:5:::1;;15643:254;15623:3;;15581:327;;;-1:-1:-1::0;15933:28:0::1;::::0;-1:-1:-1;;;;;15933:28:0;::::1;::::0;::::1;::::0;;;::::1;15433:536:::0;:::o;9657:152::-;9723:4;9740:39;2000:10;9763:7;9772:6;9740:8;:39::i;:::-;-1:-1:-1;9797:4:0;9657:152;;;;;:::o;16053:168::-;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;16133:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;;;;:27;;-1:-1:-1;;16133:27:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16176:37;;1335:41:1;;;16176:37:0::1;::::0;1308:18:1;16176:37:0::1;;;;;;;;16053:168:::0;;:::o;9821:459::-;9912:4;9929:36;9939:6;9947:9;9958:6;9929:9;:36::i;:::-;-1:-1:-1;;;;;10013:19:0;;9986:24;10013:19;;;:11;:19;;;;;;;;2000:10;10013:33;;;;;;;;10065:26;;;;10057:79;;;;-1:-1:-1;;;10057:79:0;;5080:2:1;10057:79:0;;;5062:21:1;5119:2;5099:18;;;5092:30;5158:34;5138:18;;;5131:62;-1:-1:-1;;;5209:18:1;;;5202:38;5257:19;;10057:79:0;4878:404:1;10057:79:0;10172:57;10181:6;2000:10;10222:6;10203:16;:25;10172:8;:57::i;:::-;-1:-1:-1;10268:4:0;;9821:459;-1:-1:-1;;;;9821:459:0:o;14940:481::-;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;15025:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;15024:21;15016:58;;;::::0;-1:-1:-1;;;15016:58:0;;5489:2:1;15016:58:0::1;::::0;::::1;5471:21:1::0;5528:2;5508:18;;;5501:30;5567:26;5547:18;;;5540:54;5611:18;;15016:58:0::1;5287:348:1::0;15016:58:0::1;15093:9;:16:::0;4398:2:::1;-1:-1:-1::0;15085:71:0::1;;;::::0;-1:-1:-1;;;15085:71:0;;5842:2:1;15085:71:0::1;::::0;::::1;5824:21:1::0;5881:2;5861:18;;;5854:30;5920:29;5900:18;;;5893:57;5967:18;;15085:71:0::1;5640:351:1::0;15085:71:0::1;-1:-1:-1::0;;;;;15181:16:0;::::1;15200:1;15181:16:::0;;;:7:::1;:16;::::0;;;;;:20;15177:109:::1;;-1:-1:-1::0;;;;;15257:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;15237:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;15218:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;15177:109:::1;-1:-1:-1::0;;;;;15296:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;:27;;-1:-1:-1;;15296:27:0::1;15319:4;15296:27:::0;;::::1;::::0;;;15334:9:::1;:23:::0;;;;::::1;::::0;;;;;::::1;::::0;;-1:-1:-1;;;;;;15334:23:0::1;::::0;::::1;::::0;;15383:30;::::1;::::0;15296:20;15383:30:::1;14940:481:::0;:::o;14678:250::-;14745:7;14784;;14773;:18;;14765:73;;;;-1:-1:-1;;;14765:73:0;;6198:2:1;14765:73:0;;;6180:21:1;6237:2;6217:18;;;6210:30;6276:34;6256:18;;;6249:62;-1:-1:-1;;;6327:18:1;;;6320:40;6377:19;;14765:73:0;5996:406:1;14765:73:0;14849:19;14871:10;:8;:10::i;:::-;14849:32;-1:-1:-1;14899:21:0;14849:32;14899:7;:21;:::i;:::-;14892:28;14678:250;-1:-1:-1;;;14678:250:0:o;16723:299::-;2721:13;:11;:13::i;:::-;16817:1:::1;16808:6;:10;16800:34;;;::::0;-1:-1:-1;;;16800:34:0;;6831:2:1;16800:34:0::1;::::0;::::1;6813:21:1::0;6870:2;6850:18;;;6843:30;-1:-1:-1;;;6889:18:1;;;6882:41;6940:18;;16800:34:0::1;6629:335:1::0;16800:34:0::1;16863:24;16881:4;16863:9;:24::i;:::-;16853:6;:34;;16845:67;;;::::0;-1:-1:-1;;;16845:67:0;;7171:2:1;16845:67:0::1;::::0;::::1;7153:21:1::0;7210:2;7190:18;;;7183:30;-1:-1:-1;;;7229:18:1;;;7222:50;7289:18;;16845:67:0::1;6969:344:1::0;16845:67:0::1;16923:46;16941:4;2000:10:::0;16962:6:::1;16923:9;:46::i;:::-;16985:29;::::0;1533:25:1;;;16985:29:0::1;::::0;1521:2:1;1506:18;16985:29:0::1;;;;;;;16723:299:::0;:::o;10292:207::-;2000:10;10372:4;10421:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10421:34:0;;;;;;;;;;10372:4;;10389:80;;10412:7;;10421:47;;10458:10;;10421:47;:::i;:::-;10389:8;:80::i;12468:421::-;2721:13;:11;:13::i;:::-;12520:14:::1;12537:16;:14;:16::i;:::-;12520:33;;12581:1;12572:6;:10;12564:44;;;::::0;-1:-1:-1;;;12564:44:0;;7650:2:1;12564:44:0::1;::::0;::::1;7632:21:1::0;7689:2;7669:18;;;7662:30;-1:-1:-1;;;7708:18:1;;;7701:51;7769:18;;12564:44:0::1;7448:345:1::0;12564:44:0::1;5041:20;12637:6;12627:7;;:16;;;;:::i;:::-;:32;;12619:65;;;::::0;-1:-1:-1;;;12619:65:0;;8000:2:1;12619:65:0::1;::::0;::::1;7982:21:1::0;8039:2;8019:18;;;8012:30;-1:-1:-1;;;8058:18:1;;;8051:50;8118:18;;12619:65:0::1;7798:344:1::0;12619:65:0::1;12723:6;12705:14;;:24;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;12752:15:0::1;12740:9;:27:::0;12788:33:::1;12802:10;12814:6:::0;12788:13:::1;:33::i;:::-;12847:34;::::0;1533:25:1;;;12862:10:0::1;::::0;12847:34:::1;::::0;1521:2:1;1506:18;12847:34:0::1;;;;;;;12509:380;12468:421::o:0;11094:535::-;2000:10;11171:30;;;;:16;:30;;;;;;;;11163:57;;;;-1:-1:-1;;;11163:57:0;;8349:2:1;11163:57:0;;;8331:21:1;8388:2;8368:18;;;8361:30;-1:-1:-1;;;8407:18:1;;;8400:44;8461:18;;11163:57:0;8147:338:1;11163:57:0;-1:-1:-1;;;;;11239:21:0;;11231:46;;;;-1:-1:-1;;;11231:46:0;;8692:2:1;11231:46:0;;;8674:21:1;8731:2;8711:18;;;8704:30;-1:-1:-1;;;8750:18:1;;;8743:42;8802:18;;11231:46:0;8490:336:1;11231:46:0;11305:1;11296:6;:10;11288:39;;;;-1:-1:-1;;;11288:39:0;;9033:2:1;11288:39:0;;;9015:21:1;9072:2;9052:18;;;9045:30;-1:-1:-1;;;9091:18:1;;;9084:46;9147:18;;11288:39:0;8831:340:1;11288:39:0;5181:19;11367:6;11346:18;;:27;;;;:::i;:::-;:43;;11338:78;;;;-1:-1:-1;;;11338:78:0;;9378:2:1;11338:78:0;;;9360:21:1;9417:2;9397:18;;;9390:30;-1:-1:-1;;;9436:18:1;;;9429:52;9498:18;;11338:78:0;9176:346:1;11338:78:0;5041:20;11445:6;11435:7;;:16;;;;:::i;:::-;:32;;11427:65;;;;-1:-1:-1;;;11427:65:0;;8000:2:1;11427:65:0;;;7982:21:1;8039:2;8019:18;;;8012:30;-1:-1:-1;;;8058:18:1;;;8051:50;8118:18;;11427:65:0;7798:344:1;11427:65:0;11527:6;11505:18;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;11544:30:0;;-1:-1:-1;11558:7:0;11567:6;11544:13;:30::i;:::-;11605:7;-1:-1:-1;;;;;11600:21:0;;11614:6;11600:21;;;;1533:25:1;;1521:2;1506:18;;1387:177;18398:85:0;18450:25;18456:10;18468:6;18450:5;:25::i;:::-;18398:85;:::o;14180:486::-;14271:7;14310;;14299;:18;;14291:62;;;;-1:-1:-1;;;14291:62:0;;9729:2:1;14291:62:0;;;9711:21:1;9768:2;9748:18;;;9741:30;9807:33;9787:18;;;9780:61;9858:18;;14291:62:0;9527:355:1;14291:62:0;14369:17;14364:295;;14403:12;14418:10;:8;:10::i;:::-;14403:25;-1:-1:-1;14450:14:0;14403:25;14450:7;:14;:::i;:::-;14443:21;;;;;14364:295;14498:23;14531:32;14546:7;14555;;14531:14;:32::i;:::-;14497:66;;;;;14578:12;14593:10;:8;:10::i;:::-;14578:25;-1:-1:-1;14625:22:0;14578:25;14625:15;:22;:::i;:::-;14618:29;;;;;;17034:220;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;17119:23:0;::::1;17111:48;;;::::0;-1:-1:-1;;;17111:48:0;;8692:2:1;17111:48:0::1;::::0;::::1;8674:21:1::0;8731:2;8711:18;;;8704:30;-1:-1:-1;;;8750:18:1;;;8743:42;8802:18;;17111:48:0::1;8490:336:1::0;17111:48:0::1;17170:15;:27:::0;;-1:-1:-1;;;;;;17170:27:0::1;-1:-1:-1::0;;;;;17170:27:0;::::1;::::0;;::::1;::::0;;;17213:33:::1;::::0;::::1;::::0;-1:-1:-1;;17213:33:0::1;17034:220:::0;:::o;9139:189::-;-1:-1:-1;;;;;9220:20:0;;9196:7;9220:20;;;:11;:20;;;;;;;;9216:49;;;-1:-1:-1;;;;;;9249:16:0;;;;;:7;:16;;;;;;;9139:189::o;9216:49::-;-1:-1:-1;;;;;9303:16:0;;;;;;:7;:16;;;;;;9283:37;;:19;:37::i;3031:103::-;2721:13;:11;:13::i;:::-;3096:30:::1;3123:1;3096:18;:30::i;:::-;3031:103::o:0;13779:117::-;13832:7;13874:14;;5255:19;13859:29;;;;:::i;:::-;13852:36;;13779:117;:::o;16421:290::-;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;16504:25:0;::::1;16496:58;;;::::0;-1:-1:-1;;;16496:58:0;;10262:2:1;16496:58:0::1;::::0;::::1;10244:21:1::0;10301:2;10281:18;;;10274:30;-1:-1:-1;;;10320:18:1;;;10313:50;10380:18;;16496:58:0::1;10060:344:1::0;16496:58:0::1;19517:17:::0;;16565:51:::1;;;::::0;-1:-1:-1;;;16565:51:0;;10611:2:1;16565:51:0::1;::::0;::::1;10593:21:1::0;10650:2;10630:18;;;10623:30;-1:-1:-1;;;10669:18:1;;;10662:44;10723:18;;16565:51:0::1;10409:338:1::0;16565:51:0::1;-1:-1:-1::0;;;;;16627:26:0;::::1;;::::0;;;:13:::1;:26;::::0;;;;;:33;;-1:-1:-1;;16627:33:0::1;16656:4;16627:33;::::0;;16676:27;::::1;::::0;16627:26;16676:27:::1;16421:290:::0;:::o;16233:170::-;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;16317:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;;;;:31;;-1:-1:-1;;16317:31:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16364;;1335:41:1;;;16364:31:0::1;::::0;1308:18:1;16364:31:0::1;1195:187:1::0;10511:413:0;2000:10;10596:4;10640:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10640:34:0;;;;;;;;;;10693:35;;;;10685:85;;;;-1:-1:-1;;;10685:85:0;;10954:2:1;10685:85:0;;;10936:21:1;10993:2;10973:18;;;10966:30;11032:34;11012:18;;;11005:62;-1:-1:-1;;;11083:18:1;;;11076:35;11128:19;;10685:85:0;10752:401:1;10685:85:0;10806:67;2000:10;10829:7;10857:15;10838:16;:34;10806:8;:67::i;:::-;-1:-1:-1;10912:4:0;;10511:413;-1:-1:-1;;;10511:413:0:o;9340:159::-;9410:4;9427:42;2000:10;9451:9;9462:6;9427:9;:42::i;11724:672::-;11771:7;5255:19;11795:14;;:30;11791:44;;-1:-1:-1;11834:1:0;;11724:672::o;11791:44::-;11848:15;11884:9;;11866:15;:27;;;;:::i;:::-;11848:45;;11908:7;11919:1;11908:12;11904:26;;11929:1;11922:8;;;11724:672;:::o;11904:26::-;12001:21;5448:6;12026:34;5368:1;5255:19;12026:34;:::i;:::-;12025:54;;;;:::i;:::-;12001:78;-1:-1:-1;12129:14:0;5505:7;12147:23;12163:7;12001:78;12147:23;:::i;:::-;12146:45;;;;:::i;:::-;12129:62;;12252:17;12287:14;;5255:19;12272:29;;;;:::i;:::-;12252:49;;12325:9;12316:6;:18;12312:42;;;12345:9;12336:18;;12312:42;-1:-1:-1;12382:6:0;11724:672;-1:-1:-1;;;11724:672:0:o;17836:554::-;2721:13;:11;:13::i;:::-;18068:12;18027:38:::1;18048:17:::0;18027:18;:38:::1;:::i;:::-;:53;;;;:::i;:::-;18084:3;18027:60;18005:133;;;::::0;-1:-1:-1;;;18005:133:0;;11360:2:1;18005:133:0::1;::::0;::::1;11342:21:1::0;11399:2;11379:18;;;11372:30;11438:25;11418:18;;;11411:53;11481:18;;18005:133:0::1;11158:347:1::0;18005:133:0::1;18159:17;:38:::0;;;18208:16:::1;:36:::0;;;18255:11:::1;:26:::0;;;18307:75:::1;::::0;;11712:25:1;;;11768:2;11753:18;;11746:34;;;11796:18;;;11789:34;;;18307:75:0::1;::::0;11700:2:1;11685:18;18307:75:0::1;;;;;;;17836:554:::0;;;:::o;13650:121::-;13703:7;13745:18;;5181:19;13730:33;;;;:::i;17409:338::-;2721:13;:11;:13::i;:::-;4638:4:::1;17504:7;:18;;17496:54;;;::::0;-1:-1:-1;;;17496:54:0;;12036:2:1;17496:54:0::1;::::0;::::1;12018:21:1::0;12075:2;12055:18;;;12048:30;12114:25;12094:18;;;12087:53;12157:18;;17496:54:0::1;11834:347:1::0;17496:54:0::1;4638:4;17569:8;:19;;17561:56;;;::::0;-1:-1:-1;;;17561:56:0;;12388:2:1;17561:56:0::1;::::0;::::1;12370:21:1::0;12427:2;12407:18;;;12400:30;12466:26;12446:18;;;12439:54;12510:18;;17561:56:0::1;12186:348:1::0;17561:56:0::1;17638:6;:16:::0;;;17665:7:::1;:18:::0;;;17709:30:::1;::::0;;12713:25:1;;;12769:2;12754:18;;12747:34;;;17709:30:0::1;::::0;12686:18:1;17709:30:0::1;;;;;;;17409:338:::0;;:::o;3142:220::-;2721:13;:11;:13::i;:::-;-1:-1:-1;;;;;3227:22:0;::::1;3223:93;;3273:31;::::0;-1:-1:-1;;;3273:31:0;;3301:1:::1;3273:31;::::0;::::1;3099:51:1::0;3072:18;;3273:31:0::1;2953:203:1::0;3223:93:0::1;3326:28;3345:8;3326:18;:28::i;2857:166::-:0;2808:7;2835:6;-1:-1:-1;;;;;2835:6:0;2000:10;2917:23;2913:103;;2964:40;;-1:-1:-1;;;2964:40:0;;2000:10;2964:40;;;3099:51:1;3072:18;;2964:40:0;2953:203:1;21299:323:0;-1:-1:-1;;;;;21392:19:0;;21384:57;;;;-1:-1:-1;;;21384:57:0;;12994:2:1;21384:57:0;;;12976:21:1;13033:2;13013:18;;;13006:30;13072:27;13052:18;;;13045:55;13117:18;;21384:57:0;12792:349:1;21384:57:0;-1:-1:-1;;;;;21460:21:0;;21452:57;;;;-1:-1:-1;;;21452:57:0;;13348:2:1;21452:57:0;;;13330:21:1;13387:2;13367:18;;;13360:30;13426:25;13406:18;;;13399:53;13469:18;;21452:57:0;13146:347:1;21452:57:0;-1:-1:-1;;;;;21530:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21582:32;;1533:25:1;;;21582:32:0;;1506:18:1;21582:32:0;;;;;;;21299:323;;;:::o;21783:995::-;-1:-1:-1;;;;;21871:18:0;;21863:57;;;;-1:-1:-1;;;21863:57:0;;13700:2:1;21863:57:0;;;13682:21:1;13739:2;13719:18;;;13712:30;13778:28;13758:18;;;13751:56;13824:18;;21863:57:0;13498:350:1;21863:57:0;-1:-1:-1;;;;;21939:16:0;;21931:53;;;;-1:-1:-1;;;21931:53:0;;14055:2:1;21931:53:0;;;14037:21:1;14094:2;14074:18;;;14067:30;14133:26;14113:18;;;14106:54;14177:18;;21931:53:0;13853:348:1;21931:53:0;22012:1;22003:6;:10;21995:34;;;;-1:-1:-1;;;21995:34:0;;6831:2:1;21995:34:0;;;6813:21:1;6870:2;6850:18;;;6843:30;-1:-1:-1;;;6889:18:1;;;6882:41;6940:18;;21995:34:0;6629:335:1;21995:34:0;-1:-1:-1;;;;;22138:15:0;;22046:12;22138:15;;;:9;:15;;;;;;22061:4;;22138:15;;;:32;;-1:-1:-1;;;;;;22157:13:0;;;;;;:9;:13;;;;;;;;22138:32;:51;;;-1:-1:-1;2808:7:0;2835:6;-1:-1:-1;;;;;22174:15:0;;;2835:6;;22174:15;22138:51;:68;;;-1:-1:-1;2808:7:0;2835:6;-1:-1:-1;;;;;22193:13:0;;;2835:6;;22193:13;22138:68;22134:116;;;-1:-1:-1;22233:5:0;22134:116;-1:-1:-1;;;;;22320:19:0;;22307:10;22320:19;;;:13;:19;;;;;;;;:41;;;;-1:-1:-1;;;;;;22344:17:0;;;;;;:13;:17;;;;;;;;22343:18;22320:41;-1:-1:-1;;;;;22387:19:0;;22372:11;22387:19;;;:13;:19;;;;;;22307:54;;-1:-1:-1;22372:11:0;22387:19;;22386:20;:41;;;;-1:-1:-1;;;;;;22410:17:0;;;;;;:13;:17;;;;;;;;22386:41;22372:55;;22448:18;22485:7;22481:223;;;22513:5;22509:138;;;-1:-1:-1;22552:6:0;;22509:138;;;22584:6;22580:67;;;-1:-1:-1;22624:7:0;;22580:67;22724:46;22741:4;22747:2;22751:6;22759:10;22724:16;:46::i;:::-;21852:926;;;;21783:995;;;:::o;20349:161::-;20391:7;20412:15;20429;20448:19;:17;:19::i;:::-;20411:56;;-1:-1:-1;20411:56:0;-1:-1:-1;20485:17:0;20411:56;;20485:17;:::i;:::-;20478:24;;;;20349:161;:::o;12986:574::-;-1:-1:-1;;;;;13069:21:0;;13061:61;;;;-1:-1:-1;;;13061:61:0;;14408:2:1;13061:61:0;;;14390:21:1;14447:2;14427:18;;;14420:30;14486:29;14466:18;;;14459:57;14533:18;;13061:61:0;14206:351:1;13061:61:0;13143:12;13158:10;:8;:10::i;:::-;13143:25;-1:-1:-1;13179:15:0;13197:13;13143:25;13197:6;:13;:::i;:::-;13179:31;;13317:6;13306:7;;:17;;;;;;;:::i;:::-;;;;;;;;13345:7;13334;;:18;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;13373:16:0;;;;;;:7;:16;;;;;:27;;13393:7;;13373:16;:27;;13393:7;;13373:27;:::i;:::-;;;;-1:-1:-1;;;;;;;13415:20:0;;;;;;:11;:20;;;;;;;;13411:79;;;-1:-1:-1;;;;;13452:16:0;;;;;;:7;:16;;;;;:26;;13472:6;;13452:16;:26;;13472:6;;13452:26;:::i;:::-;;;;-1:-1:-1;;13411:79:0;13515:37;;1533:25:1;;;-1:-1:-1;;;;;13515:37:0;;;13532:1;;-1:-1:-1;;;;;;;;;;;13515:37:0;1521:2:1;1506:18;13515:37:0;;;;;;;13050:510;;12986:574;;:::o;18491:801::-;-1:-1:-1;;;;;18567:21:0;;18559:56;;;;-1:-1:-1;;;18559:56:0;;14764:2:1;18559:56:0;;;14746:21:1;14803:2;14783:18;;;14776:30;-1:-1:-1;;;14822:18:1;;;14815:52;14884:18;;18559:56:0;14562:346:1;18559:56:0;18643:1;18634:6;:10;18626:39;;;;-1:-1:-1;;;18626:39:0;;15115:2:1;18626:39:0;;;15097:21:1;15154:2;15134:18;;;15127:30;-1:-1:-1;;;15173:18:1;;;15166:46;15229:18;;18626:39:0;14913:340:1;18626:39:0;18686:19;18708:10;:8;:10::i;:::-;18686:32;-1:-1:-1;18729:15:0;18747:20;18686:32;18747:6;:20;:::i;:::-;-1:-1:-1;;;;;18792:20:0;;;;;;:11;:20;;;;;;18729:38;;-1:-1:-1;18792:20:0;;18788:330;;;-1:-1:-1;;;;;18837:16:0;;;;;;:7;:16;;;;;;:26;-1:-1:-1;18837:26:0;18829:59;;;;-1:-1:-1;;;18829:59:0;;15460:2:1;18829:59:0;;;15442:21:1;15499:2;15479:18;;;15472:30;-1:-1:-1;;;15518:18:1;;;15511:50;15578:18;;18829:59:0;15258:344:1;18829:59:0;-1:-1:-1;;;;;18903:16:0;;;;;;:7;:16;;;;;:26;;18923:6;;18903:16;:26;;18923:6;;18903:26;:::i;:::-;;;;-1:-1:-1;;;;;;;18944:16:0;;;;;;:7;:16;;;;;:27;;18964:7;;18944:16;:27;;18964:7;;18944:27;:::i;:::-;;;;-1:-1:-1;18788:330:0;;-1:-1:-1;18788:330:0;;-1:-1:-1;;;;;19012:16:0;;;;;;:7;:16;;;;;;:27;-1:-1:-1;19012:27:0;19004:60;;;;-1:-1:-1;;;19004:60:0;;15460:2:1;19004:60:0;;;15442:21:1;15499:2;15479:18;;;15472:30;-1:-1:-1;;;15518:18:1;;;15511:50;15578:18;;19004:60:0;15258:344:1;19004:60:0;-1:-1:-1;;;;;19079:16:0;;;;;;:7;:16;;;;;:27;;19099:7;;19079:16;:27;;19099:7;;19079:27;:::i;:::-;;;;-1:-1:-1;;18788:330:0;19149:6;19138:7;;:17;;;;;;;:::i;:::-;;;;;;;;19177:7;19166;;:18;;;;;;;:::i;:::-;;;;-1:-1:-1;;19210:37:0;;1533:25:1;;;19236:1:0;;-1:-1:-1;;;;;19210:37:0;;;-1:-1:-1;;;;;;;;;;;19210:37:0;1521:2:1;1506:18;19210:37:0;;;;;;;19268:7;-1:-1:-1;;;;;19263:21:0;;19277:6;19263:21;;;;1533:25:1;;1521:2;1506:18;;1387:177;19263:21:0;;;;;;;;18548:744;;18491:801;;:::o;19726:611::-;19839:23;19864:19;19885:18;19905:13;19941:10;19955:1;19941:15;19937:73;;-1:-1:-1;19981:7:0;;-1:-1:-1;19990:1:0;;-1:-1:-1;19990:1:0;;-1:-1:-1;19990:1:0;19973:25;;19937:73;20030:16;20074:5;20050:20;20060:10;20050:7;:20;:::i;:::-;20049:30;;;;:::i;:::-;20030:49;;20147:3;20126:17;;20115:8;:28;;;;:::i;:::-;20114:36;;;;:::i;:::-;20100:50;;20206:3;20186:16;;20175:8;:27;;;;:::i;:::-;20174:35;;;;:::i;:::-;20161:48;;20255:3;20240:11;;20229:8;:22;;;;:::i;:::-;20228:30;;;;:::i;:::-;20220:38;-1:-1:-1;20220:38:0;20311:10;20287:21;20297:11;20287:7;:21;:::i;:::-;:34;;;;:::i;:::-;:42;;;;:::i;:::-;20269:60;;19926:411;19726:611;;;;;;;;:::o;3370:191::-;3444:16;3463:6;;-1:-1:-1;;;;;3480:17:0;;;-1:-1:-1;;;;;;3480:17:0;;;;;;3513:40;;3463:6;;;;;;;3513:40;;3444:16;3513:40;3433:128;3370:191;:::o;22793:705::-;23002:17;23021:12;23035;23049:13;23079:35;23094:7;23103:10;23079:14;:35::i;:::-;23001:113;;;;;;;;23127:12;23142:10;:8;:10::i;:::-;23127:25;-1:-1:-1;23218:272:0;23247:6;23268:9;23292:7;23314:9;23338:11;23127:25;23338:4;:11;:::i;:::-;23364:4;23383:11;23390:4;23383;:11;:::i;:::-;23409:4;23428:12;23436:4;23428:5;:12;:::i;:::-;23455:5;23475:4;23218:14;:272::i;:::-;22942:556;;;;;22793:705;;;;:::o;20522:633::-;20620:7;;20656;;20699:9;:16;20573:7;;;;20620;;20573;20736:297;20760:14;20756:1;:18;20736:297;;;20824:7;20800;:21;20808:9;20818:1;20808:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;20808:12:0;20800:21;;;;;;;;;;;;;:31;;:66;;;20859:7;20835;:21;20843:9;20853:1;20843:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;20843:12:0;20835:21;;;;;;;;;;;;;:31;20800:66;20796:132;;;20895:7;;20904;;20887:25;;;;;;;;20522:633;;:::o;20796:132::-;20953:7;:21;20961:9;20971:1;20961:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;20961:12:0;20953:21;;;;;;;;;;;;;20942:32;;;;:::i;:::-;;;21000:7;:21;21008:9;21018:1;21008:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;21008:12:0;21000:21;;;;;;;;;;;;;20989:32;;;;:::i;:::-;;-1:-1:-1;20776:3:0;;20736:297;;;;21077:7;;21067;;:17;;;;:::i;:::-;21057:7;:27;21053:58;;;21094:7;;21103;;21086:25;;;;;;;20522:633;;:::o;21053:58::-;-1:-1:-1;21130:7:0;;21139;;-1:-1:-1;20522:633:0;-1:-1:-1;20522:633:0:o;23506:1460::-;23858:15;23876:14;23886:4;23876:7;:14;:::i;:::-;23858:32;-1:-1:-1;23901:23:0;23964:5;23951:10;23927:21;23937:11;23858:32;23927:21;:::i;:::-;:34;;;;:::i;:::-;:42;;;;:::i;:::-;-1:-1:-1;;;;;24007:15:0;;;;;;:7;:15;;;;;:26;;23901:68;;-1:-1:-1;24026:7:0;;24007:15;;;:26;;24026:7;;24007:26;:::i;:::-;;;;-1:-1:-1;;;;;;;24048:19:0;;;;;;:11;:19;;;;;;;;24044:56;;;-1:-1:-1;;;;;24071:15:0;;;;;;:7;:15;;;;;:26;;24090:7;;24071:15;:26;;24090:7;;24071:26;:::i;:::-;;;;-1:-1:-1;;24044:56:0;-1:-1:-1;;;;;24141:18:0;;;;;;:7;:18;;;;;:37;;24163:15;;24141:18;:37;;24163:15;;24141:37;:::i;:::-;;;;-1:-1:-1;;;;;;;24193:22:0;;;;;;:11;:22;;;;;;;;24189:70;;;-1:-1:-1;;;;;24219:18:0;;;;;;:7;:18;;;;;:37;;24241:15;;24219:18;:37;;24241:15;;24219:37;:::i;:::-;;;;-1:-1:-1;;24189:70:0;24298:15;;24294:63;;24317:37;24329:11;24342;24317;:37::i;:::-;24395:14;;24391:294;;24434:15;;-1:-1:-1;;;;;24434:15:0;24426:24;;;;:7;:24;;;;;:38;;24454:10;;24426:24;:38;;24454:10;;24426:38;:::i;:::-;;;;-1:-1:-1;;24495:15:0;;-1:-1:-1;;;;;24495:15:0;24483:28;;;;:11;:28;;;;;;;;24479:77;;;24523:15;;-1:-1:-1;;;;;24523:15:0;24515:24;;;;:7;:24;;;;;:38;;24543:10;;24515:24;:38;;24543:10;;24515:38;:::i;:::-;;;;-1:-1:-1;;24479:77:0;24592:15;;24575:45;;1533:25:1;;;-1:-1:-1;;;;;24592:15:0;;;;24575:45;;;-1:-1:-1;;;;;;;;;;;24575:45:0;1521:2:1;1506:18;24575:45:0;;;;;;;24640:33;;1533:25:1;;;24640:33:0;;1521:2:1;1506:18;24640:33:0;;;;;;;24391:294;24718:9;;24714:183;;24755:5;24744:7;;:16;;;;;;;:::i;:::-;;;;;;;;24786:5;24775:7;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;;24811:35:0;;1533:25:1;;;24836:1:0;;-1:-1:-1;;;;;24811:35:0;;;-1:-1:-1;;;;;;;;;;;24811:35:0;1521:2:1;1506:18;24811:35:0;;;;;;;24871:6;-1:-1:-1;;;;;24866:19:0;;24879:5;24866:19;;;;1533:25:1;;1521:2;1506:18;;1387:177;24866:19:0;;;;;;;;24714:183;24931:9;-1:-1:-1;;;;;24914:44:0;24923:6;-1:-1:-1;;;;;24914:44:0;-1:-1:-1;;;;;;;;;;;24942:15:0;24914:44;;;;1533:25:1;;1521:2;1506:18;;1387:177;24914:44:0;;;;;;;;23847:1119;;23506:1460;;;;;;;;;;;:::o;21167:120::-;21246:4;21235:7;;:15;;;;;;;:::i;:::-;;;;;;;;21275:4;21261:10;;:18;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;21167:120:0: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:160::-;1634:20;;1690:13;;1683:21;1673:32;;1663:60;;1719:1;1716;1709:12;1734:254;1799:6;1807;1860:2;1848:9;1839:7;1835:23;1831:32;1828:52;;;1876:1;1873;1866:12;1828:52;1899:29;1918:9;1899:29;:::i;:::-;1889:39;;1947:35;1978:2;1967:9;1963:18;1947:35;:::i;:::-;1937:45;;1734:254;;;;;:::o;1993:328::-;2070:6;2078;2086;2139:2;2127:9;2118:7;2114:23;2110:32;2107:52;;;2155:1;2152;2145:12;2107:52;2178:29;2197:9;2178:29;:::i;:::-;2168:39;;2226:38;2260:2;2249:9;2245:18;2226:38;:::i;:::-;2216:48;;2311:2;2300:9;2296:18;2283:32;2273:42;;1993:328;;;;;:::o;2326:180::-;2385:6;2438:2;2426:9;2417:7;2413:23;2409:32;2406:52;;;2454:1;2451;2444:12;2406:52;-1:-1:-1;2477:23:1;;2326:180;-1:-1:-1;2326:180:1:o;2700:248::-;2765:6;2773;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2878:9;2865:23;2855:33;;2907:35;2938:2;2927:9;2923:18;2907:35;:::i;3161:316::-;3238:6;3246;3254;3307:2;3295:9;3286:7;3282:23;3278:32;3275:52;;;3323:1;3320;3313:12;3275:52;-1:-1:-1;;3346:23:1;;;3416:2;3401:18;;3388:32;;-1:-1:-1;3467:2:1;3452:18;;;3439:32;;3161:316;-1:-1:-1;3161:316:1:o;3482:260::-;3550:6;3558;3611:2;3599:9;3590:7;3586:23;3582:32;3579:52;;;3627:1;3624;3617:12;3579:52;3650:29;3669:9;3650:29;:::i;:::-;3640:39;;3698:38;3732:2;3721:9;3717:18;3698:38;:::i;3747:248::-;3815:6;3823;3876:2;3864:9;3855:7;3851:23;3847:32;3844:52;;;3892:1;3889;3882:12;3844:52;-1:-1:-1;;3915:23:1;;;3985:2;3970:18;;;3957:32;;-1:-1:-1;3747:248:1:o;4349:127::-;4410:10;4405:3;4401:20;4398:1;4391:31;4441:4;4438:1;4431:15;4465:4;4462:1;4455:15;4481:127;4542:10;4537:3;4533:20;4530:1;4523:31;4573:4;4570:1;4563:15;4597:4;4594:1;4587:15;4613:128;4680:9;;;4701:11;;;4698:37;;;4715:18;;:::i;4746:127::-;4807:10;4802:3;4798:20;4795:1;4788:31;4838:4;4835:1;4828:15;4862:4;4859:1;4852:15;6407:217;6447:1;6473;6463:132;;6517:10;6512:3;6508:20;6505:1;6498:31;6552:4;6549:1;6542:15;6580:4;6577:1;6570:15;6463:132;-1:-1:-1;6609:9:1;;6407:217::o;7318:125::-;7383:9;;;7404:10;;;7401:36;;;7417:18;;:::i;9887:168::-;9960:9;;;9991;;10008:15;;;10002:22;;9988:37;9978:71;;10029:18;;:::i
Swarm Source
ipfs://4db0d40631c3d2d187db2979de69d85dfed739738f23a35be61a00753f1f757e
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)