ERC-20
Source Code
Overview
Max Total Supply
100,000,000,000 ALTS
Holders
87
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 12 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
ALTS
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-05-12
*/
/**
Amid the rise and fall of the many emerging Altcoins,
There grows a yearning for something specific and conclusive to invest in.
Something that represents them all in their linear path towards revolutionizing the industry as a whole.
Something all encompassing, blatant and pure.
website: https://altstoken.io/thesis/
x: https://x.com/altstokeneth
tg: https://t.me/AltsToken
**/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract ALTS is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
address payable private _marketingwallet;
uint256 private _initialBuyTax = 10;
uint256 private _initialSellTax = 30;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 25;
uint256 private _reduceBuyTaxAt = 25;
uint256 private _reduceSellTaxAt = 25;
uint256 private _preventSwapBefore = 15;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 12;
uint256 private constant _tTotal = 100000000000 * 10**_decimals;
string private constant _name = unicode"Alts";
string private constant _symbol = unicode"ALTS";
uint256 public _maxTxAmount = 2000000000 * 10**_decimals;
uint256 public _maxWalletSize = 2000000000 * 10**_decimals;
uint256 public _taxSwapThreshold = 100000000 * 10**_decimals;
uint256 public _maxTaxSwap = 2000000000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint256 _maxTxAmount);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() {
_marketingwallet = payable(0xfcD55579bAe231D95BcF3B0DeD12c02A205a58ca);
uint256 _tLiquidity = _tTotal.mul(100).div(100);
uint256 _tLeftover = _tTotal.sub(_tLiquidity);
_balances[address(this)] = _tLiquidity;
_balances[owner()] = _tLeftover;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_marketingwallet] = true;
emit Transfer(address(0), address(this), _tLiquidity);
emit Transfer(address(0), owner(), _tLeftover);
}
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 pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner() && to != _marketingwallet) {
taxAmount = amount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_isExcludedFromFee[to]
) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(
balanceOf(to) + amount <= _maxWalletSize,
"Exceeds the maxWalletSize."
);
_buyCount++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount
.mul(
(_buyCount > _reduceSellTaxAt)
? _finalSellTax
: _initialSellTax
)
.div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
contractTokenBalance > _taxSwapThreshold &&
_buyCount > _preventSwapBefore
) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function removeLimit() external onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_marketingwallet.transfer(amount);
}
function openTrading() external payable onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
uniswapV2Router.addLiquidityETH{value: msg.value}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(
address(uniswapV2Router),
type(uint256).max
);
swapEnabled = true;
tradingOpen = true;
}
function reduceFee(uint256 _newFee) external {
require(_msgSender() == _marketingwallet);
require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
_finalBuyTax = _newFee;
_finalSellTax = _newFee;
}
receive() external payable {}
function rescueERC20(address _address, uint256 percent) external {
require(_msgSender() == _marketingwallet);
uint256 _amount = IERC20(_address)
.balanceOf(address(this))
.mul(percent)
.div(100);
IERC20(_address).transfer(_marketingwallet, _amount);
}
function manualSwap() external {
require(_msgSender() == _marketingwallet);
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0 && swapEnabled) {
swapTokensForEth(tokenBalance);
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
sendETHToFee(ethBalance);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600a600555601e6006555f600755601960085560196009556019600a55600f600b555f600c55600c600a610038919061051f565b61004690637735940061052d565b600d55610055600c600a61051f565b61006390637735940061052d565b600e55610072600c600a61051f565b610080906305f5e10061052d565b600f5561008f600c600a61051f565b61009d90637735940061052d565b6010556012805461ffff60a81b191690555f60138190556014553480156100c2575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673fcd55579bae231d95bcf3b0ded12c02a205a58ca1790555f61015a60646101548161013f600c600a61051f565b61014e9064174876e80061052d565b9061029c565b90610328565b90505f6101828261016d600c600a61051f565b61017c9064174876e80061052d565b9061036f565b305f90815260016020819052604082208590559192508291906101ac5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160035f6101e26103b660201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530808252600390945282812080548616600190811790915560045490921681528281208054909516909117909355519091905f80516020611eff8339815191529061025d9086815260200190565b60405180910390a35f80546040518381526001600160a01b0390911691905f80516020611eff8339815191529060200160405180910390a350506105ab565b5f825f036102ab57505f610322565b5f6102b6838561052d565b9050826102c38583610544565b1461031f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61031f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506103c460201b60201c565b5f61031f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103f960201b60201c565b5f546001600160a01b031690565b5f81836103e45760405162461bcd60e51b81526004016103169190610563565b505f6103f08486610544565b95945050505050565b5f818484111561041c5760405162461bcd60e51b81526004016103169190610563565b505f6103f08486610598565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104775780850481111561045b5761045b610428565b600184161561046957908102905b60019390931c928002610440565b935093915050565b5f8261048d57506001610322565b8161049957505f610322565b81600181146104af57600281146104b9576104d5565b6001915050610322565b60ff8411156104ca576104ca610428565b50506001821b610322565b5060208310610133831016604e8410600b84101617156104f8575081810a610322565b6105045f19848461043c565b805f190482111561051757610517610428565b029392505050565b5f61031f60ff84168361047f565b808202811582820484141761032257610322610428565b5f8261055e57634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b8181038181111561032257610322610428565b611947806105b85f395ff3fe60806040526004361061011e575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb14610314578063bf474bed14610333578063c9567bf914610348578063dd62ed3e14610350578063ec1f3f6314610394575f80fd5b80637d1db4a5146102795780638cd4426d1461028e5780638da5cb5b146102ad5780638f9a55c0146102d357806395d89b41146102e8575f80fd5b8063313ce567116100e3578063313ce567146101ec57806351bc3c8514610207578063622565891461021d57806370a0823114610231578063715018a614610265575f80fd5b806306fdde0314610129578063095ea7b3146101675780630faee56f1461019657806318160ddd146101b957806323b872dd146101cd575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082019091526004815263416c747360e01b60208201525b60405161015e919061151e565b60405180910390f35b348015610172575f80fd5b5061018661018136600461156a565b6103b3565b604051901515815260200161015e565b3480156101a1575f80fd5b506101ab60105481565b60405190815260200161015e565b3480156101c4575f80fd5b506101ab6103c9565b3480156101d8575f80fd5b506101866101e7366004611594565b6103ea565b3480156101f7575f80fd5b50604051600c815260200161015e565b348015610212575f80fd5b5061021b610451565b005b348015610228575f80fd5b5061021b6104b9565b34801561023c575f80fd5b506101ab61024b3660046115d2565b6001600160a01b03165f9081526001602052604090205490565b348015610270575f80fd5b5061021b610576565b348015610284575f80fd5b506101ab600d5481565b348015610299575f80fd5b5061021b6102a836600461156a565b6105e7565b3480156102b8575f80fd5b505f546040516001600160a01b03909116815260200161015e565b3480156102de575f80fd5b506101ab600e5481565b3480156102f3575f80fd5b50604080518082019091526004815263414c545360e01b6020820152610151565b34801561031f575f80fd5b5061018661032e36600461156a565b610707565b34801561033e575f80fd5b506101ab600f5481565b61021b610713565b34801561035b575f80fd5b506101ab61036a3660046115ed565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561039f575f80fd5b5061021b6103ae366004611624565b610abd565b5f6103bf338484610b02565b5060015b92915050565b5f6103d6600c600a611732565b6103e59064174876e800611740565b905090565b5f6103f6848484610c25565b6104478433610442856040518060600160405280602881526020016118ea602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061119a565b610b02565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610470575f80fd5b305f9081526001602052604090205480158015906104975750601254600160b01b900460ff165b156104a5576104a5816111d2565b4780156104b5576104b581611342565b5050565b5f546001600160a01b031633146104eb5760405162461bcd60e51b81526004016104e290611757565b60405180910390fd5b6104f7600c600a611732565b6105069064174876e800611740565b600d55610515600c600a611732565b6105249064174876e800611740565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610554600c600a611732565b6105639064174876e800611740565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461059f5760405162461bcd60e51b81526004016104e290611757565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6004546001600160a01b0316336001600160a01b031614610606575f80fd5b6040516370a0823160e01b81523060048201525f90610687906064906106819085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610657573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067b919061178c565b90611379565b906113fe565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156106dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070191906117a3565b50505050565b5f6103bf338484610c25565b5f546001600160a01b0316331461073c5760405162461bcd60e51b81526004016104e290611757565b601254600160a01b900460ff16156107965760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e2565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e09030906107d1600c600a611732565b6104429064174876e800611740565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610830573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085491906117c2565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d791906117c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610921573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094591906117c2565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d719343061098c816001600160a01b03165f9081526001602052604090205490565b5f8061099f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a05573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a2a91906117dd565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa391906117a3565b506012805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610adc575f80fd5b6007548111158015610af057506008548111155b610af8575f80fd5b6007819055600855565b6001600160a01b038316610b645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e2565b6001600160a01b038216610bc55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e2565b6001600160a01b038216610ceb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e2565b5f8111610d4c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e2565b5f80546001600160a01b03858116911614801590610d7757505f546001600160a01b03848116911614155b8015610d9157506004546001600160a01b03848116911614155b1561105d57610dbc6064610681600954600c5411610db157600554610db5565b6007545b8590611379565b6012549091506001600160a01b038581169116148015610dea57506011546001600160a01b03848116911614155b8015610e0e57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ef457600d54821115610e655760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e2565b600e5482610e87856001600160a01b03165f9081526001602052604090205490565b610e919190611808565b1115610edf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e2565b600c8054905f610eee8361181b565b91905055505b6012546001600160a01b038481169116148015610f1a57506001600160a01b0384163014155b15610f4757610f446064610681600a54600c5411610f3a57600654610db5565b6008548590611379565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610f7d57506012546001600160a01b038581169116145b8015610f925750601254600160b01b900460ff165b8015610f9f5750600f5481115b8015610fae5750600b54600c54115b1561105b57601454431115610fc2575f6013555b6003601354106110145760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104e2565b61103161102c846110278460105461143f565b61143f565b6111d2565b4780156110415761104147611342565b60138054905f6110508361181b565b909155505043601455505b505b80156110d557305f9081526001602052604090205461107c9082611453565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cc9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110f790836114b1565b6001600160a01b0385165f9081526001602052604090205561113a61111c83836114b1565b6001600160a01b0385165f9081526001602052604090205490611453565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61118385856114b1565b60405190815260200160405180910390a350505050565b5f81848411156111bd5760405162461bcd60e51b81526004016104e2919061151e565b505f6111c98486611833565b95945050505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061121857611218611846565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561126f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129391906117c2565b816001815181106112a6576112a6611846565b6001600160a01b0392831660209182029290920101526011546112cc9130911684610b02565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113049085905f9086903090429060040161185a565b5f604051808303815f87803b15801561131b575f80fd5b505af115801561132d573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104b5573d5f803e3d5ffd5b5f825f0361138857505f6103c3565b5f6113938385611740565b9050826113a085836118ca565b146113f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e2565b9392505050565b5f6113f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f2565b5f81831161144d57826113f7565b50919050565b5f8061145f8385611808565b9050838110156113f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e2565b5f6113f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119a565b5f81836115125760405162461bcd60e51b81526004016104e2919061151e565b505f6111c984866118ca565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611567575f80fd5b50565b5f806040838503121561157b575f80fd5b823561158681611553565b946020939093013593505050565b5f805f606084860312156115a6575f80fd5b83356115b181611553565b925060208401356115c181611553565b929592945050506040919091013590565b5f602082840312156115e2575f80fd5b81356113f781611553565b5f80604083850312156115fe575f80fd5b823561160981611553565b9150602083013561161981611553565b809150509250929050565b5f60208284031215611634575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561168a5780850481111561166e5761166e61163b565b600184161561167c57908102905b60019390931c928002611653565b935093915050565b5f826116a0575060016103c3565b816116ac57505f6103c3565b81600181146116c257600281146116cc576116e8565b60019150506103c3565b60ff8411156116dd576116dd61163b565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561170b575081810a6103c3565b6117175f19848461164f565b805f190482111561172a5761172a61163b565b029392505050565b5f6113f760ff841683611692565b80820281158282048414176103c3576103c361163b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561179c575f80fd5b5051919050565b5f602082840312156117b3575f80fd5b815180151581146113f7575f80fd5b5f602082840312156117d2575f80fd5b81516113f781611553565b5f805f606084860312156117ef575f80fd5b5050815160208301516040909301519094929350919050565b808201808211156103c3576103c361163b565b5f6001820161182c5761182c61163b565b5060010190565b818103818111156103c3576103c361163b565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118aa5783516001600160a01b0316835260209384019390920191600101611883565b50506001600160a01b039590951660608401525050608001529392505050565b5f826118e457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220235b2af0f4293f86e6dbcdab479b30dfcdbe87d6a42fd14c07da0948a69fc8f764736f6c634300081a0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x60806040526004361061011e575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb14610314578063bf474bed14610333578063c9567bf914610348578063dd62ed3e14610350578063ec1f3f6314610394575f80fd5b80637d1db4a5146102795780638cd4426d1461028e5780638da5cb5b146102ad5780638f9a55c0146102d357806395d89b41146102e8575f80fd5b8063313ce567116100e3578063313ce567146101ec57806351bc3c8514610207578063622565891461021d57806370a0823114610231578063715018a614610265575f80fd5b806306fdde0314610129578063095ea7b3146101675780630faee56f1461019657806318160ddd146101b957806323b872dd146101cd575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082019091526004815263416c747360e01b60208201525b60405161015e919061151e565b60405180910390f35b348015610172575f80fd5b5061018661018136600461156a565b6103b3565b604051901515815260200161015e565b3480156101a1575f80fd5b506101ab60105481565b60405190815260200161015e565b3480156101c4575f80fd5b506101ab6103c9565b3480156101d8575f80fd5b506101866101e7366004611594565b6103ea565b3480156101f7575f80fd5b50604051600c815260200161015e565b348015610212575f80fd5b5061021b610451565b005b348015610228575f80fd5b5061021b6104b9565b34801561023c575f80fd5b506101ab61024b3660046115d2565b6001600160a01b03165f9081526001602052604090205490565b348015610270575f80fd5b5061021b610576565b348015610284575f80fd5b506101ab600d5481565b348015610299575f80fd5b5061021b6102a836600461156a565b6105e7565b3480156102b8575f80fd5b505f546040516001600160a01b03909116815260200161015e565b3480156102de575f80fd5b506101ab600e5481565b3480156102f3575f80fd5b50604080518082019091526004815263414c545360e01b6020820152610151565b34801561031f575f80fd5b5061018661032e36600461156a565b610707565b34801561033e575f80fd5b506101ab600f5481565b61021b610713565b34801561035b575f80fd5b506101ab61036a3660046115ed565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561039f575f80fd5b5061021b6103ae366004611624565b610abd565b5f6103bf338484610b02565b5060015b92915050565b5f6103d6600c600a611732565b6103e59064174876e800611740565b905090565b5f6103f6848484610c25565b6104478433610442856040518060600160405280602881526020016118ea602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061119a565b610b02565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610470575f80fd5b305f9081526001602052604090205480158015906104975750601254600160b01b900460ff165b156104a5576104a5816111d2565b4780156104b5576104b581611342565b5050565b5f546001600160a01b031633146104eb5760405162461bcd60e51b81526004016104e290611757565b60405180910390fd5b6104f7600c600a611732565b6105069064174876e800611740565b600d55610515600c600a611732565b6105249064174876e800611740565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610554600c600a611732565b6105639064174876e800611740565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461059f5760405162461bcd60e51b81526004016104e290611757565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6004546001600160a01b0316336001600160a01b031614610606575f80fd5b6040516370a0823160e01b81523060048201525f90610687906064906106819085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610657573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067b919061178c565b90611379565b906113fe565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156106dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070191906117a3565b50505050565b5f6103bf338484610c25565b5f546001600160a01b0316331461073c5760405162461bcd60e51b81526004016104e290611757565b601254600160a01b900460ff16156107965760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e2565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e09030906107d1600c600a611732565b6104429064174876e800611740565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610830573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085491906117c2565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d791906117c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610921573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094591906117c2565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d719343061098c816001600160a01b03165f9081526001602052604090205490565b5f8061099f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a05573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a2a91906117dd565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa391906117a3565b506012805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610adc575f80fd5b6007548111158015610af057506008548111155b610af8575f80fd5b6007819055600855565b6001600160a01b038316610b645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e2565b6001600160a01b038216610bc55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e2565b6001600160a01b038216610ceb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e2565b5f8111610d4c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e2565b5f80546001600160a01b03858116911614801590610d7757505f546001600160a01b03848116911614155b8015610d9157506004546001600160a01b03848116911614155b1561105d57610dbc6064610681600954600c5411610db157600554610db5565b6007545b8590611379565b6012549091506001600160a01b038581169116148015610dea57506011546001600160a01b03848116911614155b8015610e0e57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ef457600d54821115610e655760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e2565b600e5482610e87856001600160a01b03165f9081526001602052604090205490565b610e919190611808565b1115610edf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e2565b600c8054905f610eee8361181b565b91905055505b6012546001600160a01b038481169116148015610f1a57506001600160a01b0384163014155b15610f4757610f446064610681600a54600c5411610f3a57600654610db5565b6008548590611379565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610f7d57506012546001600160a01b038581169116145b8015610f925750601254600160b01b900460ff165b8015610f9f5750600f5481115b8015610fae5750600b54600c54115b1561105b57601454431115610fc2575f6013555b6003601354106110145760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104e2565b61103161102c846110278460105461143f565b61143f565b6111d2565b4780156110415761104147611342565b60138054905f6110508361181b565b909155505043601455505b505b80156110d557305f9081526001602052604090205461107c9082611453565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cc9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110f790836114b1565b6001600160a01b0385165f9081526001602052604090205561113a61111c83836114b1565b6001600160a01b0385165f9081526001602052604090205490611453565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61118385856114b1565b60405190815260200160405180910390a350505050565b5f81848411156111bd5760405162461bcd60e51b81526004016104e2919061151e565b505f6111c98486611833565b95945050505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061121857611218611846565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561126f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129391906117c2565b816001815181106112a6576112a6611846565b6001600160a01b0392831660209182029290920101526011546112cc9130911684610b02565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113049085905f9086903090429060040161185a565b5f604051808303815f87803b15801561131b575f80fd5b505af115801561132d573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104b5573d5f803e3d5ffd5b5f825f0361138857505f6103c3565b5f6113938385611740565b9050826113a085836118ca565b146113f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e2565b9392505050565b5f6113f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f2565b5f81831161144d57826113f7565b50919050565b5f8061145f8385611808565b9050838110156113f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e2565b5f6113f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119a565b5f81836115125760405162461bcd60e51b81526004016104e2919061151e565b505f6111c984866118ca565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611567575f80fd5b50565b5f806040838503121561157b575f80fd5b823561158681611553565b946020939093013593505050565b5f805f606084860312156115a6575f80fd5b83356115b181611553565b925060208401356115c181611553565b929592945050506040919091013590565b5f602082840312156115e2575f80fd5b81356113f781611553565b5f80604083850312156115fe575f80fd5b823561160981611553565b9150602083013561161981611553565b809150509250929050565b5f60208284031215611634575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561168a5780850481111561166e5761166e61163b565b600184161561167c57908102905b60019390931c928002611653565b935093915050565b5f826116a0575060016103c3565b816116ac57505f6103c3565b81600181146116c257600281146116cc576116e8565b60019150506103c3565b60ff8411156116dd576116dd61163b565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561170b575081810a6103c3565b6117175f19848461164f565b805f190482111561172a5761172a61163b565b029392505050565b5f6113f760ff841683611692565b80820281158282048414176103c3576103c361163b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561179c575f80fd5b5051919050565b5f602082840312156117b3575f80fd5b815180151581146113f7575f80fd5b5f602082840312156117d2575f80fd5b81516113f781611553565b5f805f606084860312156117ef575f80fd5b5050815160208301516040909301519094929350919050565b808201808211156103c3576103c361163b565b5f6001820161182c5761182c61163b565b5060010190565b818103818111156103c3576103c361163b565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118aa5783516001600160a01b0316835260209384019390920191600101611883565b50506001600160a01b039590951660608401525050608001529392505050565b5f826118e457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220235b2af0f4293f86e6dbcdab479b30dfcdbe87d6a42fd14c07da0948a69fc8f764736f6c634300081a0033
Deployed Bytecode Sourcemap
4219:9607:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6358:83;;;;;;;;;;-1:-1:-1;6428:5:0;;;;;;;;;;;;-1:-1:-1;;;6428:5:0;;;;6358:83;;;;;;;:::i;:::-;;;;;;;;7264:193;;;;;;;;;;-1:-1:-1;7264:193:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;7264:193:0;945:187:1;5285:55:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;5285:55:0;1137:177:1;6635:95:0;;;;;;;;;;;;;:::i;7465:446::-;;;;;;;;;;-1:-1:-1;7465:446:0;;;;;:::i;:::-;;:::i;6544:83::-;;;;;;;;;;-1:-1:-1;6544:83:0;;4905:2;1974:36:1;;1962:2;1947:18;6544:83:0;1832:184:1;13436:387:0;;;;;;;;;;;;;:::i;:::-;;11674:161;;;;;;;;;;;;;:::i;6738:119::-;;;;;;;;;;-1:-1:-1;6738:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6831:18:0;6804:7;6831:18;;;:9;:18;;;;;;;6738:119;3171:148;;;;;;;;;;;;;:::i;5090:56::-;;;;;;;;;;;;;;;;13106:322;;;;;;;;;;-1:-1:-1;13106:322:0;;;;;:::i;:::-;;:::i;2957:79::-;;;;;;;;;;-1:-1:-1;2995:7:0;3022:6;2957:79;;-1:-1:-1;;;;;3022:6:0;;;2419:51:1;;2407:2;2392:18;2957:79:0;2273:203:1;5153:58:0;;;;;;;;;;;;;;;;6449:87;;;;;;;;;;-1:-1:-1;6521:7:0;;;;;;;;;;;;-1:-1:-1;;;6521:7:0;;;;6449:87;;6865:199;;;;;;;;;;-1:-1:-1;6865:199:0;;;;;:::i;:::-;;:::i;5218:60::-;;;;;;;;;;;;;;;;11949:861;;;:::i;7072:184::-;;;;;;;;;;-1:-1:-1;7072:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7221:18:0;;;7189:7;7221:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7072:184;12818:243;;;;;;;;;;-1:-1:-1;12818:243:0;;;;;:::i;:::-;;:::i;7264:193::-;7366:4;7388:39;577:10;7411:7;7420:6;7388:8;:39::i;:::-;-1:-1:-1;7445:4:0;7264:193;;;;;:::o;6635:95::-;6688:7;4964:13;4905:2;4964;:13;:::i;:::-;4949:28;;:12;:28;:::i;:::-;6708:14;;6635:95;:::o;7465:446::-;7597:4;7614:36;7624:6;7632:9;7643:6;7614:9;:36::i;:::-;7661:220;7684:6;577:10;7732:138;7788:6;7732:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7732:19:0;;;;;;:11;:19;;;;;;;;577:10;7732:33;;;;;;;;;;:37;:138::i;:::-;7661:8;:220::i;:::-;-1:-1:-1;7899:4:0;7465:446;;;;;:::o;13436:387::-;13502:16;;-1:-1:-1;;;;;13502:16:0;577:10;-1:-1:-1;;;;;13486:32:0;;13478:41;;;;;;13571:4;13530:20;6831:18;;;:9;:18;;;;;;13592:16;;;;;:31;;-1:-1:-1;13612:11:0;;-1:-1:-1;;;13612:11:0;;;;13592:31;13588:94;;;13640:30;13657:12;13640:16;:30::i;:::-;13713:21;13749:14;;13745:71;;13780:24;13793:10;13780:12;:24::i;:::-;13467:356;;13436:387::o;11674:161::-;3084:6;;-1:-1:-1;;;;;3084:6:0;577:10;3084:22;3076:67;;;;-1:-1:-1;;;3076:67:0;;;;;;;:::i;:::-;;;;;;;;;4964:13:::1;4905:2;4964;:13;:::i;:::-;4949:28;::::0;:12:::1;:28;:::i;:::-;11727:12;:22:::0;4964:13:::1;4905:2;4964;:13;:::i;:::-;4949:28;::::0;:12:::1;:28;:::i;:::-;11760:14;:24:::0;11800:27:::1;4964:13;4905:2;4964;:13;:::i;:::-;4949:28;::::0;:12:::1;:28;:::i;:::-;11800:27;::::0;1283:25:1;;;1271:2;1256:18;11800:27:0::1;;;;;;;11674:161::o:0;3171:148::-;3084:6;;-1:-1:-1;;;;;3084:6:0;577:10;3084:22;3076:67;;;;-1:-1:-1;;;3076:67:0;;;;;;;:::i;:::-;3278:1:::1;3262:6:::0;;3241:40:::1;::::0;-1:-1:-1;;;;;3262:6:0;;::::1;::::0;3241:40:::1;::::0;3278:1;;3241:40:::1;3309:1;3292:19:::0;;-1:-1:-1;;;;;;3292:19:0::1;::::0;;3171:148::o;13106:322::-;13206:16;;-1:-1:-1;;;;;13206:16:0;577:10;-1:-1:-1;;;;;13190:32:0;;13182:41;;;;;;13252:55;;-1:-1:-1;;;13252:55:0;;13301:4;13252:55;;;2419:51:1;13234:15:0;;13252:105;;13353:3;;13252:82;;13326:7;;-1:-1:-1;;;;;13252:40:0;;;;;2392:18:1;;13252:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73;;:82::i;:::-;:100;;:105::i;:::-;13394:16;;;13368:52;;-1:-1:-1;;;13368:52:0;;-1:-1:-1;;;;;13394:16:0;;;13368:52;;;5620:51:1;;;;5687:18;;;5680:34;;;13234:123:0;;-1:-1:-1;13368:25:0;;;;;;5593:18:1;;13368:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13171:257;13106:322;;:::o;6865:199::-;6970:4;6992:42;577:10;7016:9;7027:6;6992:9;:42::i;11949:861::-;3084:6;;-1:-1:-1;;;;;3084:6:0;577:10;3084:22;3076:67;;;;-1:-1:-1;;;3076:67:0;;;;;;;:::i;:::-;12019:11:::1;::::0;-1:-1:-1;;;12019:11:0;::::1;;;12018:12;12010:48;;;::::0;-1:-1:-1;;;12010:48:0;;6209:2:1;12010:48:0::1;::::0;::::1;6191:21:1::0;6248:2;6228:18;;;6221:30;6287:25;6267:18;;;6260:53;6330:18;;12010:48:0::1;6007:347:1::0;12010:48:0::1;12069:15;:104:::0;;-1:-1:-1;;;;;;12069:104:0::1;12120:42;12069:104:::0;;::::1;::::0;;;12184:58:::1;::::0;12201:4:::1;::::0;4964:13:::1;4905:2;4964;:13;:::i;:::-;4949:28;::::0;:12:::1;:28;:::i;12184:58::-;12287:15;;;;;;;;;-1:-1:-1::0;;;;;12287:15:0::1;-1:-1:-1::0;;;;;12287:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12269:55:0::1;;12347:4;12367:15;;;;;;;;;-1:-1:-1::0;;;;;12367:15:0::1;-1:-1:-1::0;;;;;12367:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12269:131;::::0;-1:-1:-1;;;;;;12269:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6807:32:1;;;12269:131:0::1;::::0;::::1;6789:51:1::0;6876:32;;6856:18;;;6849:60;6762:18;;12269:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12253:13;:147:::0;;-1:-1:-1;;;;;12253:147:0;;::::1;-1:-1:-1::0;;;;;;12253:147:0;;::::1;;::::0;;12411:15:::1;::::0;::::1;:31;12450:9;12483:4;12503:24;12483:4:::0;-1:-1:-1;;;;;6831:18:0;6804:7;6831:18;;;:9;:18;;;;;;;6738:119;12503:24:::1;12542:1;12558::::0;12574:7:::1;2995::::0;3022:6;-1:-1:-1;;;;;3022:6:0;;2957:79;12574:7:::1;12411:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12411:211:0;;;-1:-1:-1;;;;;7241:32:1;;;12411:211:0::1;::::0;::::1;7223:51:1::0;7290:18;;;7283:34;;;;7333:18;;;7326:34;;;;7376:18;;;7369:34;7440:32;;;7419:19;;;7412:61;12596:15:0::1;7489:19:1::0;;;7482:35;7195:19;;12411:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12640:13:0::1;::::0;12685:15:::1;::::0;12633:111:::1;::::0;-1:-1:-1;;;12633:111:0;;-1:-1:-1;;;;;12685:15:0;;::::1;12633:111;::::0;::::1;5620:51:1::0;-1:-1:-1;;5687:18:1;;;5680:34;12640:13:0;::::1;::::0;-1:-1:-1;12633:29:0::1;::::0;5593:18:1;;12633:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12755:11:0::1;:18:::0;;-1:-1:-1;;;;12784:18:0;-1:-1:-1;;;12784:18:0;;;11949:861::o;12818:243::-;12898:16;;-1:-1:-1;;;;;12898:16:0;577:10;-1:-1:-1;;;;;12882:32:0;;12874:41;;;;;;12945:12;;12934:7;:23;;:51;;;;;12972:13;;12961:7;:24;;12934:51;12926:60;;;;;;12997:12;:22;;;13030:13;:23;12818:243::o;7919:369::-;-1:-1:-1;;;;;8046:19:0;;8038:68;;;;-1:-1:-1;;;8038:68:0;;8470:2:1;8038:68:0;;;8452:21:1;8509:2;8489:18;;;8482:30;8548:34;8528:18;;;8521:62;-1:-1:-1;;;8599:18:1;;;8592:34;8643:19;;8038:68:0;8268:400:1;8038:68:0;-1:-1:-1;;;;;8125:21:0;;8117:68;;;;-1:-1:-1;;;8117:68:0;;8875:2:1;8117:68:0;;;8857:21:1;8914:2;8894:18;;;8887:30;8953:34;8933:18;;;8926:62;-1:-1:-1;;;9004:18:1;;;8997:32;9046:19;;8117:68:0;8673:398:1;8117:68:0;-1:-1:-1;;;;;8196:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8248:32;;1283:25:1;;;8248:32:0;;1256:18:1;8248:32:0;;;;;;;7919:369;;;:::o;8296:2764::-;-1:-1:-1;;;;;8418:18:0;;8410:68;;;;-1:-1:-1;;;8410:68:0;;9278:2:1;8410:68:0;;;9260:21:1;9317:2;9297:18;;;9290:30;9356:34;9336:18;;;9329:62;-1:-1:-1;;;9407:18:1;;;9400:35;9452:19;;8410:68:0;9076:401:1;8410:68:0;-1:-1:-1;;;;;8497:16:0;;8489:64;;;;-1:-1:-1;;;8489:64:0;;9684:2:1;8489:64:0;;;9666:21:1;9723:2;9703:18;;;9696:30;9762:34;9742:18;;;9735:62;-1:-1:-1;;;9813:18:1;;;9806:33;9856:19;;8489:64:0;9482:399:1;8489:64:0;8581:1;8572:6;:10;8564:64;;;;-1:-1:-1;;;8564:64:0;;10088:2:1;8564:64:0;;;10070:21:1;10127:2;10107:18;;;10100:30;10166:34;10146:18;;;10139:62;-1:-1:-1;;;10217:18:1;;;10210:39;10266:19;;8564:64:0;9886:405:1;8564:64:0;8639:17;3022:6;;-1:-1:-1;;;;;8675:15:0;;;3022:6;;8675:15;;;;:32;;-1:-1:-1;2995:7:0;3022:6;-1:-1:-1;;;;;8694:13:0;;;3022:6;;8694:13;;8675:32;:58;;;;-1:-1:-1;8717:16:0;;-1:-1:-1;;;;;8711:22:0;;;8717:16;;8711:22;;8675:58;8671:2018;;;8762:208;8966:3;8762:181;8826:15;;8814:9;;:27;8813:111;;8910:14;;8813:111;;;8870:12;;8813:111;8762:6;;:28;:181::i;:208::-;9017:13;;8750:220;;-1:-1:-1;;;;;;9009:21:0;;;9017:13;;9009:21;:72;;;;-1:-1:-1;9065:15:0;;-1:-1:-1;;;;;9051:30:0;;;9065:15;;9051:30;;9009:72;:116;;;;-1:-1:-1;;;;;;9103:22:0;;;;;;:18;:22;;;;;;;;9102:23;9009:116;8987:438;;;9178:12;;9168:6;:22;;9160:60;;;;-1:-1:-1;;;9160:60:0;;10498:2:1;9160:60:0;;;10480:21:1;10537:2;10517:18;;;10510:30;10576:27;10556:18;;;10549:55;10621:18;;9160:60:0;10296:349:1;9160:60:0;9295:14;;9285:6;9269:13;9279:2;-1:-1:-1;;;;;6831:18:0;6804:7;6831:18;;;:9;:18;;;;;;;6738:119;9269:13;:22;;;;:::i;:::-;:40;;9239:140;;;;-1:-1:-1;;;9239:140:0;;10982:2:1;9239:140:0;;;10964:21:1;11021:2;11001:18;;;10994:30;11060:28;11040:18;;;11033:56;11106:18;;9239:140:0;10780:350:1;9239:140:0;9398:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8987:438;9451:13;;-1:-1:-1;;;;;9445:19:0;;;9451:13;;9445:19;:44;;;;-1:-1:-1;;;;;;9468:21:0;;9484:4;9468:21;;9445:44;9441:332;;;9522:235;9753:3;9522:204;9594:16;;9582:9;;:28;9581:122;;9688:15;;9581:122;;;9643:13;;9522:6;;:32;:204::i;:235::-;9510:247;;9441:332;9838:4;9789:28;6831:18;;;:9;:18;;;;;;9882:6;;-1:-1:-1;;;9882:6:0;;;;9881:7;:47;;;;-1:-1:-1;9915:13:0;;-1:-1:-1;;;;;9909:19:0;;;9915:13;;9909:19;9881:47;:79;;;;-1:-1:-1;9949:11:0;;-1:-1:-1;;;9949:11:0;;;;9881:79;:140;;;;;10004:17;;9981:20;:40;9881:140;:191;;;;;10054:18;;10042:9;;:30;9881:191;9859:819;;;10126:13;;10111:12;:28;10107:90;;;10176:1;10164:9;:13;10107:90;10235:1;10223:9;;:13;10215:49;;;;-1:-1:-1;;;10215:49:0;;11477:2:1;10215:49:0;;;11459:21:1;11516:2;11496:18;;;11489:30;11555:25;11535:18;;;11528:53;11598:18;;10215:49:0;11275:347:1;10215:49:0;10283:109;10322:51;10326:6;10334:38;10338:20;10360:11;;10334:3;:38::i;:::-;10322:3;:51::i;:::-;10283:16;:109::i;:::-;10440:21;10484:22;;10480:106;;10531:35;10544:21;10531:12;:35::i;:::-;10604:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10650:12:0;10634:13;:28;-1:-1:-1;9859:819:0;8735:1954;8671:2018;10705:13;;10701:172;;10780:4;10762:24;;;;:9;:24;;;;;;:39;;10791:9;10762:28;:39::i;:::-;10753:4;10735:24;;;;:9;:24;;;;;;;:66;;;;10821:40;;-1:-1:-1;;;;;10821:40:0;;;;;;;10851:9;1283:25:1;;1271:2;1256:18;;1137:177;10821:40:0;;;;;;;;10701:172;-1:-1:-1;;;;;10901:15:0;;;;;;:9;:15;;;;;;:27;;10921:6;10901:19;:27::i;:::-;-1:-1:-1;;;;;10883:15:0;;;;;;:9;:15;;;;;:45;10955:40;10973:21;:6;10984:9;10973:10;:21::i;:::-;-1:-1:-1;;;;;10955:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10939:13:0;;;;;;;:9;:13;;;;;:56;;;;11011:41;;;11030:21;:6;11041:9;11030:10;:21::i;:::-;11011:41;;1283:25:1;;;1271:2;1256:18;11011:41:0;;;;;;;8399:2661;8296:2764;;;:::o;1759:224::-;1879:7;1915:12;1907:6;;;;1899:29;;;;-1:-1:-1;;;1899:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1939:9:0;1951:5;1955:1;1951;:5;:::i;:::-;1939:17;1759:224;-1:-1:-1;;;;;1759:224:0:o;11183:483::-;5703:6;:13;;-1:-1:-1;;;;5703:13:0;-1:-1:-1;;;5703:13:0;;;11285:16:::1;::::0;;11299:1:::1;11285:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11285:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11285:16:0::1;11261:40;;11330:4;11312;11317:1;11312:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11312:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11356:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11356:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11312:7;;11356:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11346:4;11351:1;11346:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11346:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11421:15:::1;::::0;11389:62:::1;::::0;11406:4:::1;::::0;11421:15:::1;11439:11:::0;11389:8:::1;:62::i;:::-;11462:15;::::0;:196:::1;::::0;-1:-1:-1;;;11462:196:0;;-1:-1:-1;;;;;11462:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11543:11;;11462:15:::1;::::0;11585:4;;11612::::1;::::0;11632:15:::1;::::0;11462:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5739:6:0;:14;;-1:-1:-1;;;;5739:14:0;;;-1:-1:-1;;;;11183:483:0:o;11843:98::-;11900:16;;:33;;-1:-1:-1;;;;;11900:16:0;;;;:33;;;;;11926:6;;11900:16;:33;:16;:33;11926:6;11900:16;:33;;;;;;;;;;;;;;;;;;;1991:246;2049:7;2073:1;2078;2073:6;2069:47;;-1:-1:-1;2103:1:0;2096:8;;2069:47;2126:9;2138:5;2142:1;2138;:5;:::i;:::-;2126:17;-1:-1:-1;2171:1:0;2162:5;2166:1;2126:17;2162:5;:::i;:::-;:10;2154:56;;;;-1:-1:-1;;;2154:56:0;;13412:2:1;2154:56:0;;;13394:21:1;13451:2;13431:18;;;13424:30;13490:34;13470:18;;;13463:62;-1:-1:-1;;;13541:18:1;;;13534:31;13582:19;;2154:56:0;13210:397:1;2154:56:0;2228:1;1991:246;-1:-1:-1;;;1991:246:0:o;2245:132::-;2303:7;2330:39;2334:1;2337;2330:39;;;;;;;;;;;;;;;;;:3;:39::i;11068:107::-;11125:7;11157:1;11153;:5;11152:15;;11166:1;11152:15;;;-1:-1:-1;11162:1:0;11068:107;-1:-1:-1;11068:107:0:o;1428:179::-;1486:7;;1518:5;1522:1;1518;:5;:::i;:::-;1506:17;;1547:1;1542;:6;;1534:46;;;;-1:-1:-1;;;1534:46:0;;13814:2:1;1534:46:0;;;13796:21:1;13853:2;13833:18;;;13826:30;13892:29;13872:18;;;13865:57;13939:18;;1534:46:0;13612:351:1;1615:136:0;1673:7;1700:43;1704:1;1707;1700:43;;;;;;;;;;;;;;;;;:3;:43::i;2385:223::-;2505:7;2540:12;2533:5;2525:28;;;;-1:-1:-1;;;2525:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2564:9:0;2576:5;2580:1;2576;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;2874:226::-;2933:6;2986:2;2974:9;2965:7;2961:23;2957:32;2954:52;;;3002:1;2999;2992:12;2954:52;-1:-1:-1;3047:23:1;;2874:226;-1:-1:-1;2874:226:1:o;3105:127::-;3166:10;3161:3;3157:20;3154:1;3147:31;3197:4;3194:1;3187:15;3221:4;3218:1;3211:15;3237:375;3325:1;3343:5;3357:249;3378:1;3368:8;3365:15;3357:249;;;3428:4;3423:3;3419:14;3413:4;3410:24;3407:50;;;3437:18;;:::i;:::-;3487:1;3477:8;3473:16;3470:49;;;3501:16;;;;3470:49;3584:1;3580:16;;;;;3540:15;;3357:249;;;3237:375;;;;;;:::o;3617:902::-;3666:5;3696:8;3686:80;;-1:-1:-1;3737:1:1;3751:5;;3686:80;3785:4;3775:76;;-1:-1:-1;3822:1:1;3836:5;;3775:76;3867:4;3885:1;3880:59;;;;3953:1;3948:174;;;;3860:262;;3880:59;3910:1;3901:10;;3924:5;;;3948:174;3985:3;3975:8;3972:17;3969:43;;;3992:18;;:::i;:::-;-1:-1:-1;;4048:1:1;4034:16;;4107:5;;3860:262;;4206:2;4196:8;4193:16;4187:3;4181:4;4178:13;4174:36;4168:2;4158:8;4155:16;4150:2;4144:4;4141:12;4137:35;4134:77;4131:203;;;-1:-1:-1;4243:19:1;;;4319:5;;4131:203;4366:42;-1:-1:-1;;4391:8:1;4385:4;4366:42;:::i;:::-;4444:6;4440:1;4436:6;4432:19;4423:7;4420:32;4417:58;;;4455:18;;:::i;:::-;4493:20;;3617:902;-1:-1:-1;;;3617:902:1:o;4524:140::-;4582:5;4611:47;4652:4;4642:8;4638:19;4632:4;4611:47;:::i;4669:168::-;4742:9;;;4773;;4790:15;;;4784:22;;4770:37;4760:71;;4811:18;;:::i;4842:356::-;5044:2;5026:21;;;5063:18;;;5056:30;5122:34;5117:2;5102:18;;5095:62;5189:2;5174:18;;4842:356::o;5203:230::-;5273:6;5326:2;5314:9;5305:7;5301:23;5297:32;5294:52;;;5342:1;5339;5332:12;5294:52;-1:-1:-1;5387:16:1;;5203:230;-1:-1:-1;5203:230:1:o;5725:277::-;5792:6;5845:2;5833:9;5824:7;5820:23;5816:32;5813:52;;;5861:1;5858;5851:12;5813:52;5893:9;5887:16;5946:5;5939:13;5932:21;5925:5;5922:32;5912:60;;5968:1;5965;5958:12;6359:251;6429:6;6482:2;6470:9;6461:7;6457:23;6453:32;6450:52;;;6498:1;6495;6488:12;6450:52;6530:9;6524:16;6549:31;6574:5;6549:31;:::i;7528:456::-;7616:6;7624;7632;7685:2;7673:9;7664:7;7660:23;7656:32;7653:52;;;7701:1;7698;7691:12;7653:52;-1:-1:-1;;7746:16:1;;7852:2;7837:18;;7831:25;7948:2;7933:18;;;7927:25;7746:16;;7831:25;;-1:-1:-1;7927:25:1;7528:456;-1:-1:-1;7528:456:1:o;10650:125::-;10715:9;;;10736:10;;;10733:36;;;10749:18;;:::i;11135:135::-;11174:3;11195:17;;;11192:43;;11215:18;;:::i;:::-;-1:-1:-1;11262:1:1;11251:13;;11135:135::o;11627:128::-;11694:9;;;11715:11;;;11712:37;;;11729:18;;:::i;11892:127::-;11953:10;11948:3;11944:20;11941:1;11934:31;11984:4;11981:1;11974:15;12008:4;12005:1;11998:15;12024:959;12286:4;12334:3;12323:9;12319:19;12365:6;12354:9;12347:25;12408:6;12403:2;12392:9;12388:18;12381:34;12451:3;12446:2;12435:9;12431:18;12424:31;12475:6;12510;12504:13;12541:6;12533;12526:22;12579:3;12568:9;12564:19;12557:26;;12618:2;12610:6;12606:15;12592:29;;12639:1;12649:195;12663:6;12660:1;12657:13;12649:195;;;12728:13;;-1:-1:-1;;;;;12724:39:1;12712:52;;12793:2;12819:15;;;;12784:12;;;;12760:1;12678:9;12649:195;;;-1:-1:-1;;;;;;;12900:32:1;;;;12895:2;12880:18;;12873:60;-1:-1:-1;;12964:3:1;12949:19;12942:35;12861:3;12024:959;-1:-1:-1;;;12024:959:1:o;12988:217::-;13028:1;13054;13044:132;;13098:10;13093:3;13089:20;13086:1;13079:31;13133:4;13130:1;13123:15;13161:4;13158:1;13151:15;13044:132;-1:-1:-1;13190:9:1;;12988:217::o
Swarm Source
ipfs://235b2af0f4293f86e6dbcdab479b30dfcdbe87d6a42fd14c07da0948a69fc8f7
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)