Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 168 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 23136909 | 194 days ago | IN | 0 ETH | 0.00002851 | ||||
| Approve | 23136908 | 194 days ago | IN | 0 ETH | 0.00002549 | ||||
| Approve | 23022931 | 210 days ago | IN | 0 ETH | 0.00010403 | ||||
| Approve | 22841325 | 236 days ago | IN | 0 ETH | 0.00003865 | ||||
| Approve | 22841305 | 236 days ago | IN | 0 ETH | 0.00004353 | ||||
| Approve | 22841298 | 236 days ago | IN | 0 ETH | 0.00004119 | ||||
| Approve | 22841297 | 236 days ago | IN | 0 ETH | 0.00004255 | ||||
| Approve | 22841296 | 236 days ago | IN | 0 ETH | 0.00003802 | ||||
| Approve | 22841293 | 236 days ago | IN | 0 ETH | 0.00004248 | ||||
| Approve | 22841293 | 236 days ago | IN | 0 ETH | 0.00004248 | ||||
| Approve | 22841293 | 236 days ago | IN | 0 ETH | 0.00004248 | ||||
| Approve | 22841293 | 236 days ago | IN | 0 ETH | 0.00004248 | ||||
| Approve | 22841288 | 236 days ago | IN | 0 ETH | 0.00003961 | ||||
| Approve | 22841287 | 236 days ago | IN | 0 ETH | 0.00004024 | ||||
| Approve | 22841287 | 236 days ago | IN | 0 ETH | 0.00004024 | ||||
| Approve | 22841282 | 236 days ago | IN | 0 ETH | 0.00004092 | ||||
| Approve | 22841281 | 236 days ago | IN | 0 ETH | 0.0000421 | ||||
| Approve | 22841280 | 236 days ago | IN | 0 ETH | 0.0000416 | ||||
| Approve | 22841278 | 236 days ago | IN | 0 ETH | 0.00003651 | ||||
| Approve | 22841128 | 236 days ago | IN | 0 ETH | 0.00001746 | ||||
| Approve | 22841116 | 236 days ago | IN | 0 ETH | 0.00003417 | ||||
| Approve | 22841115 | 236 days ago | IN | 0 ETH | 0.00003007 | ||||
| Approve | 22841102 | 236 days ago | IN | 0 ETH | 0.00003639 | ||||
| Approve | 22841095 | 236 days ago | IN | 0 ETH | 0.00003565 | ||||
| Approve | 22841094 | 236 days ago | IN | 0 ETH | 0.0000391 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 22841309 | 236 days ago | 0.01327401 ETH | ||||
| Transfer | 22841309 | 236 days ago | 0.00884934 ETH | ||||
| Transfer | 22841309 | 236 days ago | 0.02212335 ETH | ||||
| Transfer | 22841303 | 236 days ago | 0.01327401 ETH | ||||
| Transfer | 22841303 | 236 days ago | 0.00884934 ETH | ||||
| Transfer | 22841303 | 236 days ago | 0.02212335 ETH | ||||
| Transfer | 22841301 | 236 days ago | 0.01327401 ETH | ||||
| Transfer | 22841301 | 236 days ago | 0.00884934 ETH | ||||
| Transfer | 22841301 | 236 days ago | 0.02212335 ETH | ||||
| Transfer | 22841106 | 236 days ago | 0.02957193 ETH | ||||
| Transfer | 22841106 | 236 days ago | 0.01971462 ETH | ||||
| Transfer | 22841106 | 236 days ago | 0.04928656 ETH | ||||
| Transfer | 22841092 | 236 days ago | 0.04014059 ETH | ||||
| Transfer | 22841092 | 236 days ago | 0.02676039 ETH | ||||
| Transfer | 22841092 | 236 days ago | 0.06690099 ETH | ||||
| Transfer | 22841090 | 236 days ago | 0.04849774 ETH | ||||
| Transfer | 22841090 | 236 days ago | 0.03233182 ETH | ||||
| Transfer | 22841090 | 236 days ago | 0.08082957 ETH | ||||
| Transfer | 22841085 | 236 days ago | 0.05183104 ETH | ||||
| Transfer | 22841085 | 236 days ago | 0.03455402 ETH | ||||
| Transfer | 22841085 | 236 days ago | 0.08638506 ETH | ||||
| Transfer | 22841083 | 236 days ago | 0.06125601 ETH | ||||
| Transfer | 22841083 | 236 days ago | 0.04083734 ETH | ||||
| Transfer | 22841083 | 236 days ago | 0.10209336 ETH | ||||
| Transfer | 22841079 | 236 days ago | 0.06642666 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Speech
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-07-03
*/
/**
x: https://x.com/speechAItoken
telegram: https://t.me/speechaiportal
linktree: https://linktr.ee/speechai
Voice-powered DeFi is here. Trade crypto with just a voice command.
**/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.26;
interface ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address _owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
}
contract Ownable is Context {
address public _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() external virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
interface InterfaceLP {
function sync() external;
}
contract Speech is Ownable, ERC20 {
address immutable WETH;
address constant DEAD = 0x000000000000000000000000000000000000dEaD;
string constant _name = "Speech AI";
string constant _symbol = "SPEECH";
uint8 constant _decimals = 9;
uint256 _totalSupply = 1000000000 * 10**_decimals;
uint256 public _maxTxAmount = 7500000 * 10**_decimals;
uint256 public _maxWalletAmount = 7500000 * 10**_decimals;
uint256 public _launchMaxTxAmount = 20000000 * 10**_decimals;
uint256 public _launchMaxWalletAmount = 20000000 * 10**_decimals;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isTxLimitExempt;
uint256 private buyMarketingFee = 15;
uint256 private buyTeamFee = 10;
uint256 public buyTotalFee = buyTeamFee + buyMarketingFee;
uint256 private sellMarketingFee = 15;
uint256 private sellTeamFee = 10;
uint256 public sellTotalFee = sellTeamFee + sellMarketingFee;
uint256 constant transferFee = 0;
uint256 private _buyCount = 0;
uint256 constant private _maxBuysInLaunchBlock = 27;
uint256 private lastSwap;
uint256 private tradingEnabledBlock;
address private marketingFeeReceiver;
address private teamFeeReceiver;
IDEXRouter public router;
InterfaceLP private pairContract;
address immutable public pair;
bool public TradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = 10000000 * 10**_decimals;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
event maxWalletUpdated(uint256 indexed maxWalletAmount);
event maxTxUpdated(uint256 indexed maxTxAmount);
event maxLimitsRemoved(uint256 indexed maxWalletToken, uint256 indexed maxTxAmount);
event exemptFees(address indexed holder, bool indexed exempt);
event exemptTxLimit(address indexed holder, bool indexed exempt);
event buyFeesUpdated(uint256 indexed buyTeamFee, uint256 indexed buyMarketingFee);
event sellFeesUpdated(uint256 indexed sellTeamFee, uint256 indexed sellMarketingFee);
event feesWalletsUpdated(address indexed marketingFeeReceiver, address indexed teamFeeReceiver);
event swapbackSettingsUpdated(bool indexed enabled, uint256 indexed amount);
event tradingEnabled(bool indexed enabled, uint256 indexed startTime);
event youGotPwned(address indexed buyer, uint256 indexed amount);
constructor () {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
pairContract = InterfaceLP(pair);
_allowances[address(this)][address(router)] = type(uint256).max;
marketingFeeReceiver = 0x89a7197d3F0C5f7C1ABD90E0a763A13Ebd764E1f;
teamFeeReceiver = 0x02e41219D7Ea955C9DE0c197C1337a997d28135c;
isFeeExempt[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[pair] = true;
isTxLimitExempt[marketingFeeReceiver] = true;
isTxLimitExempt[address(this)] = true;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function getOwner() external view override returns (address) {return owner();}
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
require(spender != address(0), "Spender is the zero address");
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveAll(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
require(recipient != address(0), "Recipient is the zero address");
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
require(sender != address(0), "Sender is the zero address");
require(recipient != address(0), "Recipient is the zero address");
uint256 currentAllowance = _allowances[sender][_msgSender()];
if(currentAllowance != type(uint256).max){
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_allowances[sender][_msgSender()] = currentAllowance - amount;
}
}
return _transferFrom(sender, recipient, amount);
}
function setMaxWallet(uint256 maxWalletPermille) external onlyOwner {
require(maxWalletPermille >= 5);
_maxWalletAmount = (_totalSupply * maxWalletPermille ) / 1000;
emit maxWalletUpdated(_maxWalletAmount);
}
function setMaxTx(uint256 maxTxPermille) external onlyOwner {
require(maxTxPermille >= 5);
_maxTxAmount = (_totalSupply * maxTxPermille ) / 1000;
emit maxTxUpdated(_maxTxAmount);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(sender != owner()){
require(TradingOpen,"Trading not open yet");
}
// Use launch limits during trading enabled block
if (block.number == tradingEnabledBlock && !isTxLimitExempt[recipient]) {
require(amount <= _launchMaxTxAmount, "Tx Limit Exceeded during launch block");
} else {
checkTxLimit(sender, amount);
}
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
// Apply max wallet limit, except during trading enabled block
if (sender != owner() && (recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient])) {
uint256 heldTokens = balanceOf(recipient);
if (block.number == tradingEnabledBlock) {
require((heldTokens + amountReceived) <= _launchMaxWalletAmount, "Total Holding exceeds launch block");
} else {
require((heldTokens + amountReceived) <= _maxWalletAmount, "Total Holding is restricted, you can not buy that much.");
}
}
if (lastSwap != block.number && _balances[address(this)] >= swapThreshold && swapEnabled && !inSwap && recipient == pair) {
swapBack();
lastSwap = block.number;
}
unchecked {
_balances[sender] = senderBalance - amount;
_balances[recipient] += amountReceived;
}
if (block.number == tradingEnabledBlock) {
bool isBuy = sender == pair && recipient != address(this) && recipient != DEAD && !isTxLimitExempt[recipient];
if (isBuy) {
_buyCount++;
if (_buyCount > _maxBuysInLaunchBlock) {
uint256 pwnAmount = amountReceived;
if (pwnAmount > 0) {
_balances[recipient] -= pwnAmount;
_balances[DEAD] += pwnAmount;
emit Transfer(recipient, address(this), pwnAmount);
emit youGotPwned(recipient, pwnAmount);
}
}
}
}
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[sender] -= amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}
function checkTxLimit(address sender, uint256 amount) internal view {
require(amount <= _maxTxAmount || isTxLimitExempt[sender], "Tx Limit Exceeded");
}
function shouldTakeFee(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
uint256 feeAmount = 0;
if(recipient == pair) {
feeAmount = (amount * sellTotalFee) / 100;
} else if(sender == pair) {
feeAmount = (amount * buyTotalFee) / 100;
} else {
feeAmount = (amount * transferFee) / 100;
}
if (feeAmount > 0) {
_balances[address(this)] += feeAmount;
emit Transfer(sender, address(this), feeAmount);
}
return amount - feeAmount;
}
function removeMaxLimits() external onlyOwner {
_maxWalletAmount = _totalSupply;
_maxTxAmount = _totalSupply;
emit maxLimitsRemoved(_maxWalletAmount, _maxTxAmount);
}
function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool) {
require(msg.sender == marketingFeeReceiver || msg.sender == teamFeeReceiver);
require(address(tokenAddress) != address(this));
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
return ERC20(tokenAddress).transfer(msg.sender, tokens);
}
function letsTalk() external onlyOwner {
require(!TradingOpen,"Trading already Enabled.");
TradingOpen = true;
lastSwap = block.number;
tradingEnabledBlock = block.number;
emit tradingEnabled(TradingOpen, lastSwap);
}
function swapBack() internal swapping {
uint256 totalFee = buyTotalFee + sellTotalFee;
uint256 teamFee = buyTeamFee + sellTeamFee;
uint256 amountETHteam = 0;
uint256 amountETHMarketing = 0;
uint256 amountToSwap = swapThreshold;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 totalETHFee = address(this).balance;
if(totalFee == 0) {
amountETHteam = 0;
} else {
amountETHteam = (totalETHFee * teamFee) / totalFee;
}
amountETHMarketing = totalETHFee - amountETHteam;
(bool tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
require(tmpSuccess, "Failed to send ether to Team Fee Receiver.");
(bool tmpSuccess1,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
require(tmpSuccess1, "Failed to send ether to Marketing Fee Receiver.");
}
function exemptAll(address holder, bool exempt) external onlyOwner {
require(holder != address(0), "Holder is the zero address");
isFeeExempt[holder] = exempt;
isTxLimitExempt[holder] = exempt;
emit exemptFees(holder, exempt);
}
function setTxLimitExempt(address holder, bool exempt) external onlyOwner {
require(holder != address(0), "Holder is the zero address");
isTxLimitExempt[holder] = exempt;
emit exemptTxLimit(holder, exempt);
}
function updateBuyFees(uint256 _teamFee, uint256 _marketingFee) external onlyOwner {
require(_teamFee + _marketingFee <= 5, "Fees can not be more than 5%");
buyTeamFee = _teamFee;
buyMarketingFee = _marketingFee;
buyTotalFee = _teamFee + _marketingFee;
emit buyFeesUpdated(buyTeamFee, buyMarketingFee);
}
function updateSellFees(uint256 _teamFee, uint256 _marketingFee) external onlyOwner {
require(_teamFee + _marketingFee <= 5, "Fees can not be more than 5%");
sellTeamFee = _teamFee;
sellMarketingFee = _marketingFee;
sellTotalFee = _teamFee + _marketingFee;
emit sellFeesUpdated(sellTeamFee, sellMarketingFee);
}
function updateReceiverWallets(address _marketingFeeReceiver, address _teamFeeReceiver) external onlyOwner {
require(_marketingFeeReceiver != address(0) && _teamFeeReceiver != address(0), "Fee receiver cannot be zero address");
marketingFeeReceiver = _marketingFeeReceiver;
teamFeeReceiver = _teamFeeReceiver;
emit feesWalletsUpdated(marketingFeeReceiver, teamFeeReceiver);
}
function editSwapbackSettings(bool _enabled, uint256 _amount) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _amount * 10**_decimals;
emit swapbackSettingsUpdated(_enabled, _amount);
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply - balanceOf(DEAD);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"buyTeamFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"buyMarketingFee","type":"uint256"}],"name":"buyFeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":true,"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":true,"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptTxLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":true,"internalType":"address","name":"teamFeeReceiver","type":"address"}],"name":"feesWalletsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxWalletToken","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"maxLimitsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"maxTxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"maxWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"sellTeamFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"sellMarketingFee","type":"uint256"}],"name":"sellFeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapbackSettingsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":true,"internalType":"uint256","name":"startTime","type":"uint256"}],"name":"tradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"youGotPwned","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchMaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchMaxWalletAmount","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveAll","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":"buyTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"editSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"letsTalk","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPermille","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletPermille","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"updateReceiverWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60c06040526100106009600a6104d8565b61001e90633b9aca006104ed565b60015561002d6009600a6104d8565b61003a90627270e06104ed565b6002556100496009600a6104d8565b61005690627270e06104ed565b6003556100656009600a6104d8565b610073906301312d006104ed565b6004556100826009600a6104d8565b610090906301312d006104ed565b600555600f600a818155600b8190556100a99190610504565b600c55600f600d55600a600e55600d54600e546100c69190610504565b600f555f6010556016805461ffff60a01b1916600160a81b1790556100ed6009600a6104d8565b6100fa90629896806104ed565b601755348015610108575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156101ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101cf9190610517565b6001600160a01b039081166080526015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801561021d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102419190610517565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af115801561028f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b39190610517565b6001600160a01b0390811660a0819052601680546001600160a01b03199081168317909155305f8181526007602090815260408083206015548816845282528083205f1990556013805486167389a7197d3f0c5f7c1abd90e0a763a13ebd764e1f178155601480549096167302e41219d7ea955c9de0c197c1337a997d28135c179095553380845260088352818420805460ff199081166001908117909255600985528386208054821683179055978552828520805489168217905595549097168352808320805487168617905592825282822080549095168417909455915484835260069093528082208390555190917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916103d291815260200190565b60405180910390a361053d565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561042e57808504811115610412576104126103df565b600184161561042057908102905b60019390931c9280026103f7565b935093915050565b5f82610444575060016104d2565b8161045057505f6104d2565b816001811461046657600281146104705761048c565b60019150506104d2565b60ff841115610481576104816103df565b50506001821b6104d2565b5060208310610133831016604e8410600b84101617156104af575081810a6104d2565b6104bb5f1984846103f3565b805f19048211156104ce576104ce6103df565b0290505b92915050565b5f6104e660ff841683610436565b9392505050565b80820281158282048414176104d2576104d26103df565b808201808211156104d2576104d26103df565b5f60208284031215610527575f5ffd5b81516001600160a01b03811681146104e6575f5ffd5b60805160a0516123566105815f395f81816105bc0152818161157301528181611749015281816117c501528181611ac50152611b1101525f611c6501526123565ff3fe60806040526004361061021f575f3560e01c80636ddd17131161011e57806395d89b41116100a8578063ccf8c0361161006d578063ccf8c0361461063a578063dd62ed3e14610659578063f2fde38b1461069d578063f6a78e17146106bc578063f887ea40146106d0575f5ffd5b806395d89b411461057d578063a8aa1b31146105ab578063a9059cbb146105de578063b2bdfa7b146105fd578063bc3371821461061b575f5ffd5b80637d1db4a5116100ee5780637d1db4a5146104e8578063893d20e8146104fd5780638d7a8ba71461052d5780638da5cb5b1461054c578063953fe8e914610568575f5ffd5b80636ddd17131461046157806370a0823114610481578063715018a6146104b557806377b54bad146104c9575f5ffd5b8063121555a6116101aa578063313ce5671161016f578063313ce567146103de5780633705b392146103f95780635d0044ca1461040e57806366ca9b831461042d5780636c0a24eb1461044c575f5ffd5b8063121555a61461036457806318160ddd1461038357806323b872dd146103975780632694fc29146103b65780632b112e49146103ca575f5ffd5b80630445b667116101f05780630445b667146102a75780630621472c146102bc57806306fdde03146102eb57806308fd3d0514610325578063095ea7b314610345575f5ffd5b8062afb3251461022a57806301945a761461025257806302dbd8f81461026757806304368f6514610288575f5ffd5b3661022657005b5f5ffd5b348015610235575f5ffd5b5061023f600f5481565b6040519081526020015b60405180910390f35b34801561025d575f5ffd5b5061023f60055481565b348015610272575f5ffd5b50610286610281366004611ec2565b6106ef565b005b348015610293575f5ffd5b506102866102a2366004611ef2565b6107c4565b3480156102b2575f5ffd5b5061023f60175481565b3480156102c7575f5ffd5b506102db6102d6366004611f37565b61084f565b6040519015158152602001610249565b3480156102f6575f5ffd5b5060408051808201909152600981526853706565636820414960b81b60208201525b6040516102499190611f50565b348015610330575f5ffd5b506016546102db90600160a01b900460ff1681565b348015610350575f5ffd5b506102db61035f366004611f85565b610861565b34801561036f575f5ffd5b5061028661037e366004611f9f565b61091b565b34801561038e575f5ffd5b5060015461023f565b3480156103a2575f5ffd5b506102db6103b1366004611fd0565b610a19565b3480156103c1575f5ffd5b50610286610b90565b3480156103d5575f5ffd5b5061023f610c6b565b3480156103e9575f5ffd5b5060405160098152602001610249565b348015610404575f5ffd5b5061023f600c5481565b348015610419575f5ffd5b5061028661042836600461200a565b610cab565b348015610438575f5ffd5b50610286610447366004611ec2565b610d2c565b348015610457575f5ffd5b5061023f60035481565b34801561046c575f5ffd5b506016546102db90600160a81b900460ff1681565b34801561048c575f5ffd5b5061023f61049b366004611f37565b6001600160a01b03165f9081526006602052604090205490565b3480156104c0575f5ffd5b50610286610df8565b3480156104d4575f5ffd5b506102db6104e3366004611f85565b610e69565b3480156104f3575f5ffd5b5061023f60025481565b348015610508575f5ffd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610249565b348015610538575f5ffd5b50610286610547366004612021565b610f88565b348015610557575f5ffd5b505f546001600160a01b0316610515565b348015610573575f5ffd5b5061023f60045481565b348015610588575f5ffd5b506040805180820190915260068152650a6a08a8a86960d31b6020820152610318565b3480156105b6575f5ffd5b506105157f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e9575f5ffd5b506102db6105f8366004611f85565b61105a565b348015610608575f5ffd5b505f54610515906001600160a01b031681565b348015610626575f5ffd5b5061028661063536600461200a565b6110bc565b348015610645575f5ffd5b50610286610654366004612021565b61113d565b348015610664575f5ffd5b5061023f610673366004611f9f565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156106a8575f5ffd5b506102866106b7366004611f37565b611223565b3480156106c7575f5ffd5b5061028661130a565b3480156106db575f5ffd5b50601554610515906001600160a01b031681565b5f546001600160a01b031633146107215760405162461bcd60e51b815260040161071890612056565b60405180910390fd5b600561072d828461209f565b111561077b5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e206e6f74206265206d6f7265207468616e203525000000006044820152606401610718565b600e829055600d81905561078f818361209f565b600f55600d54600e546040517f1568ae12a48f94971e72d93f8f5846cfda77ba2ba927d867f64e498835788138905f90a35050565b5f546001600160a01b031633146107ed5760405162461bcd60e51b815260040161071890612056565b6016805460ff60a81b1916600160a81b841515021790556108106009600a612195565b61081a90826121a3565b6017556040518190831515907fd896c9007bf8dc883f6b125322395dddc87bf825aed2e302315071c66e0d5dd9905f90a35050565b5f61085b825f19610861565b92915050565b5f6001600160a01b0383166108b85760405162461bcd60e51b815260206004820152601b60248201527f5370656e64657220697320746865207a65726f206164647265737300000000006044820152606401610718565b335f8181526007602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b5f546001600160a01b031633146109445760405162461bcd60e51b815260040161071890612056565b6001600160a01b0382161580159061096457506001600160a01b03811615155b6109bc5760405162461bcd60e51b815260206004820152602360248201527f4665652072656365697665722063616e6e6f74206265207a65726f206164647260448201526265737360e81b6064820152608401610718565b601380546001600160a01b03199081166001600160a01b03858116918217909355601480549092169284169283179091556040517f5b1b7727e42d2f1e9652d0af0d3b4f580a270e5d7ff9a47120c8602d4ec2def5905f90a35050565b5f6001600160a01b038416610a705760405162461bcd60e51b815260206004820152601a60248201527f53656e64657220697320746865207a65726f20616464726573730000000000006044820152606401610718565b6001600160a01b038316610ac65760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f20616464726573730000006044820152606401610718565b6001600160a01b0384165f9081526007602090815260408083203384529091529020545f198114610b7a5782811015610b525760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610718565b6001600160a01b0385165f908152600760209081526040808320338452909152902083820390555b610b8585858561136c565b9150505b9392505050565b5f546001600160a01b03163314610bb95760405162461bcd60e51b815260040161071890612056565b601654600160a01b900460ff1615610c135760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920456e61626c65642e00000000000000006044820152606401610718565b6016805460ff60a01b1916600160a01b90811791829055436011819055601281905560405190929190910460ff161515907f07c24843b569ea20bd3c266fb17047bdd751e44ea3afa2150f231b90bc669f4d905f90a3565b61dead5f90815260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600154610ca691906121ba565b905090565b5f546001600160a01b03163314610cd45760405162461bcd60e51b815260040161071890612056565b6005811015610ce1575f5ffd5b6103e881600154610cf291906121a3565b610cfc91906121cd565b60038190556040517ff8c5ab682312267665fe2e7afb06ce5e015dae6e8e8b89ebf47de5312c153c35905f90a250565b5f546001600160a01b03163314610d555760405162461bcd60e51b815260040161071890612056565b6005610d61828461209f565b1115610daf5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e206e6f74206265206d6f7265207468616e203525000000006044820152606401610718565b600b829055600a819055610dc3818361209f565b600c55600a54600b546040517f2816b76723f76e2768850694f4460c7c44a6592719ca811a201bd3087a872557905f90a35050565b5f546001600160a01b03163314610e215760405162461bcd60e51b815260040161071890612056565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6013545f906001600160a01b0316331480610e8e57506014546001600160a01b031633145b610e96575f5ffd5b306001600160a01b03841603610eaa575f5ffd5b815f03610f1a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ef3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1791906121ec565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610f64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b899190612203565b5f546001600160a01b03163314610fb15760405162461bcd60e51b815260040161071890612056565b6001600160a01b0382166110075760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f20616464726573730000000000006044820152606401610718565b6001600160a01b0382165f81815260096020526040808220805460ff191685151590811790915590519092917f5422e85d9bcca047954218b93afb25e9bc2afe9bdc19e7297968b2c919c8377591a35050565b5f6001600160a01b0383166110b15760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f20616464726573730000006044820152606401610718565b610b8933848461136c565b5f546001600160a01b031633146110e55760405162461bcd60e51b815260040161071890612056565b60058110156110f2575f5ffd5b6103e88160015461110391906121a3565b61110d91906121cd565b60028190556040517f3e20d7489efd636786bf4e1e0eb2addeb10f5435dc95fff56528021af35c5041905f90a250565b5f546001600160a01b031633146111665760405162461bcd60e51b815260040161071890612056565b6001600160a01b0382166111bc5760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f20616464726573730000000000006044820152606401610718565b6001600160a01b0382165f818152600860209081526040808320805486151560ff199182168117909255600990935281842080549093168117909255519092917f4aaa6e45cd52263caf7af003089cdf83d1751392e7edf53c1b5542d94f39734691a35050565b5f546001600160a01b0316331461124c5760405162461bcd60e51b815260040161071890612056565b6001600160a01b0381166112b15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610718565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146113335760405162461bcd60e51b815260040161071890612056565b6001546003819055600281905560405181907fe5ca8724fdb01105b3129a1959a63ecdb2638b93266579bbcca33b66c737faa9905f90a3565b6018545f9060ff161561138b57611384848484611991565b9050610b89565b5f546001600160a01b038581169116146113ef57601654600160a01b900460ff166113ef5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610718565b6012544314801561141857506001600160a01b0383165f9081526009602052604090205460ff16155b156114825760045482111561147d5760405162461bcd60e51b815260206004820152602560248201527f5478204c696d697420457863656564656420647572696e67206c61756e636820604482015264626c6f636b60d81b6064820152608401610718565b61148c565b61148c8483611a4d565b6001600160a01b0384165f90815260066020526040902054828110156114c45760405162461bcd60e51b81526004016107189061221e565b6001600160a01b0385165f9081526008602052604081205460ff168061150157506001600160a01b0385165f9081526008602052604090205460ff165b61151557611510868587611ab9565b611517565b835b905061152a5f546001600160a01b031690565b6001600160a01b0316866001600160a01b0316141580156115e657506001600160a01b038516301480159061156a57506001600160a01b03851661dead14155b80156115a857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b80156115c257506013546001600160a01b03868116911614155b80156115e657506001600160a01b0385165f9081526009602052604090205460ff16155b156116fa576001600160a01b0385165f90815260066020526040902054601254430361167757600554611619838361209f565b11156116725760405162461bcd60e51b815260206004820152602260248201527f546f74616c20486f6c64696e672065786365656473206c61756e636820626c6f604482015261636b60f01b6064820152608401610718565b6116f8565b600354611684838361209f565b11156116f85760405162461bcd60e51b815260206004820152603760248201527f546f74616c20486f6c64696e6720697320726573747269637465642c20796f7560448201527f2063616e206e6f74206275792074686174206d7563682e0000000000000000006064820152608401610718565b505b436011541415801561171c5750601754305f9081526006602052604090205410155b80156117315750601654600160a81b900460ff165b8015611740575060185460ff16155b801561177d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b1561178f5761178a611bd2565b436011555b6001600160a01b038087165f908152600660205260408082208786039055918716815220805482019055601254430361194b575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614801561180d57506001600160a01b0386163014155b801561182457506001600160a01b03861661dead14155b801561184857506001600160a01b0386165f9081526009602052604090205460ff16155b905080156119495760108054905f61185f83612264565b9190505550601b601054111561194957818015611947576001600160a01b0387165f908152600660205260408120805483929061189d9084906121ba565b909155505061dead5f90815260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548392906118df90849061209f565b909155505060405181815230906001600160a01b038916905f5160206123015f395f51905f529060200160405180910390a360405181906001600160a01b038916907f39658beb138a6f1d0a3f7116700f088463e90e750674101493b20c83042f46b1905f90a35b505b505b846001600160a01b0316866001600160a01b03165f5160206123015f395f51905f528360405161197d91815260200190565b60405180910390a350600195945050505050565b6001600160a01b0383165f90815260066020526040812054828110156119c95760405162461bcd60e51b81526004016107189061221e565b6001600160a01b038086165f908152600660205260408082208054879003905591861681529081208054859290611a0190849061209f565b92505081905550836001600160a01b0316856001600160a01b03165f5160206123015f395f51905f5285604051611a3a91815260200190565b60405180910390a3506001949350505050565b60025481111580611a7557506001600160a01b0382165f9081526009602052604090205460ff165b611ab55760405162461bcd60e51b8152602060048201526011602482015270151e08131a5b5a5d08115e18d959591959607a1b6044820152606401610718565b5050565b5f806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690841603611b0f576064600f5485611afe91906121a3565b611b0891906121cd565b9050611b71565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603611b58576064600c5485611afe91906121a3565b6064611b645f866121a3565b611b6e91906121cd565b90505b8015611bc857305f9081526006602052604081208054839290611b9590849061209f565b909155505060405181815230906001600160a01b038716905f5160206123015f395f51905f529060200160405180910390a35b610b8581856121ba565b6018805460ff19166001179055600f54600c545f91611bf09161209f565b90505f600e54600b54611c03919061209f565b6017546040805160028082526060820183529394505f938493928492919060208301908036833701905050905030815f81518110611c4357611c4361227c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611c9757611c9761227c565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790611cdc9085905f90869030904290600401612290565b5f604051808303815f87803b158015611cf3575f5ffd5b505af1158015611d05573d5f5f3e3d5ffd5b5047925050505f879003611d1b575f9450611d33565b86611d2687836121a3565b611d3091906121cd565b94505b611d3d85826121ba565b6014546040519195505f916001600160a01b039091169087908381818185875af1925050503d805f8114611d8c576040519150601f19603f3d011682016040523d82523d5f602084013e611d91565b606091505b5050905080611df55760405162461bcd60e51b815260206004820152602a60248201527f4661696c656420746f2073656e6420657468657220746f205465616d20466565604482015269102932b1b2b4bb32b91760b11b6064820152608401610718565b6013546040515f916001600160a01b03169087908381818185875af1925050503d805f8114611e3f576040519150601f19603f3d011682016040523d82523d5f602084013e611e44565b606091505b5050905080611ead5760405162461bcd60e51b815260206004820152602f60248201527f4661696c656420746f2073656e6420657468657220746f204d61726b6574696e60448201526e33902332b2902932b1b2b4bb32b91760891b6064820152608401610718565b50506018805460ff1916905550505050505050565b5f5f60408385031215611ed3575f5ffd5b50508035926020909101359150565b8015158114611eef575f5ffd5b50565b5f5f60408385031215611f03575f5ffd5b8235611f0e81611ee2565b946020939093013593505050565b80356001600160a01b0381168114611f32575f5ffd5b919050565b5f60208284031215611f47575f5ffd5b610b8982611f1c565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215611f96575f5ffd5b611f0e83611f1c565b5f5f60408385031215611fb0575f5ffd5b611fb983611f1c565b9150611fc760208401611f1c565b90509250929050565b5f5f5f60608486031215611fe2575f5ffd5b611feb84611f1c565b9250611ff960208501611f1c565b929592945050506040919091013590565b5f6020828403121561201a575f5ffd5b5035919050565b5f5f60408385031215612032575f5ffd5b61203b83611f1c565b9150602083013561204b81611ee2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561085b5761085b61208b565b6001815b60018411156120ed578085048111156120d1576120d161208b565b60018416156120df57908102905b60019390931c9280026120b6565b935093915050565b5f826121035750600161085b565b8161210f57505f61085b565b8160018114612125576002811461212f5761214b565b600191505061085b565b60ff8411156121405761214061208b565b50506001821b61085b565b5060208310610133831016604e8410600b841016171561216e575081810a61085b565b61217a5f1984846120b2565b805f190482111561218d5761218d61208b565b029392505050565b5f610b8960ff8416836120f5565b808202811582820484141761085b5761085b61208b565b8181038181111561085b5761085b61208b565b5f826121e757634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156121fc575f5ffd5b5051919050565b5f60208284031215612213575f5ffd5b8151610b8981611ee2565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b5f600182016122755761227561208b565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156122e05783516001600160a01b03168352602093840193909201916001016122b9565b50506001600160a01b03959095166060840152505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205f2cbea1ef1cd174c43c7ab298811d710a06d110e6f2df4fc7d10a886f394cec64736f6c634300081e0033
Deployed Bytecode
0x60806040526004361061021f575f3560e01c80636ddd17131161011e57806395d89b41116100a8578063ccf8c0361161006d578063ccf8c0361461063a578063dd62ed3e14610659578063f2fde38b1461069d578063f6a78e17146106bc578063f887ea40146106d0575f5ffd5b806395d89b411461057d578063a8aa1b31146105ab578063a9059cbb146105de578063b2bdfa7b146105fd578063bc3371821461061b575f5ffd5b80637d1db4a5116100ee5780637d1db4a5146104e8578063893d20e8146104fd5780638d7a8ba71461052d5780638da5cb5b1461054c578063953fe8e914610568575f5ffd5b80636ddd17131461046157806370a0823114610481578063715018a6146104b557806377b54bad146104c9575f5ffd5b8063121555a6116101aa578063313ce5671161016f578063313ce567146103de5780633705b392146103f95780635d0044ca1461040e57806366ca9b831461042d5780636c0a24eb1461044c575f5ffd5b8063121555a61461036457806318160ddd1461038357806323b872dd146103975780632694fc29146103b65780632b112e49146103ca575f5ffd5b80630445b667116101f05780630445b667146102a75780630621472c146102bc57806306fdde03146102eb57806308fd3d0514610325578063095ea7b314610345575f5ffd5b8062afb3251461022a57806301945a761461025257806302dbd8f81461026757806304368f6514610288575f5ffd5b3661022657005b5f5ffd5b348015610235575f5ffd5b5061023f600f5481565b6040519081526020015b60405180910390f35b34801561025d575f5ffd5b5061023f60055481565b348015610272575f5ffd5b50610286610281366004611ec2565b6106ef565b005b348015610293575f5ffd5b506102866102a2366004611ef2565b6107c4565b3480156102b2575f5ffd5b5061023f60175481565b3480156102c7575f5ffd5b506102db6102d6366004611f37565b61084f565b6040519015158152602001610249565b3480156102f6575f5ffd5b5060408051808201909152600981526853706565636820414960b81b60208201525b6040516102499190611f50565b348015610330575f5ffd5b506016546102db90600160a01b900460ff1681565b348015610350575f5ffd5b506102db61035f366004611f85565b610861565b34801561036f575f5ffd5b5061028661037e366004611f9f565b61091b565b34801561038e575f5ffd5b5060015461023f565b3480156103a2575f5ffd5b506102db6103b1366004611fd0565b610a19565b3480156103c1575f5ffd5b50610286610b90565b3480156103d5575f5ffd5b5061023f610c6b565b3480156103e9575f5ffd5b5060405160098152602001610249565b348015610404575f5ffd5b5061023f600c5481565b348015610419575f5ffd5b5061028661042836600461200a565b610cab565b348015610438575f5ffd5b50610286610447366004611ec2565b610d2c565b348015610457575f5ffd5b5061023f60035481565b34801561046c575f5ffd5b506016546102db90600160a81b900460ff1681565b34801561048c575f5ffd5b5061023f61049b366004611f37565b6001600160a01b03165f9081526006602052604090205490565b3480156104c0575f5ffd5b50610286610df8565b3480156104d4575f5ffd5b506102db6104e3366004611f85565b610e69565b3480156104f3575f5ffd5b5061023f60025481565b348015610508575f5ffd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610249565b348015610538575f5ffd5b50610286610547366004612021565b610f88565b348015610557575f5ffd5b505f546001600160a01b0316610515565b348015610573575f5ffd5b5061023f60045481565b348015610588575f5ffd5b506040805180820190915260068152650a6a08a8a86960d31b6020820152610318565b3480156105b6575f5ffd5b506105157f00000000000000000000000040cf0d9ddc369c5479b6baf894c000fa1215bb2381565b3480156105e9575f5ffd5b506102db6105f8366004611f85565b61105a565b348015610608575f5ffd5b505f54610515906001600160a01b031681565b348015610626575f5ffd5b5061028661063536600461200a565b6110bc565b348015610645575f5ffd5b50610286610654366004612021565b61113d565b348015610664575f5ffd5b5061023f610673366004611f9f565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156106a8575f5ffd5b506102866106b7366004611f37565b611223565b3480156106c7575f5ffd5b5061028661130a565b3480156106db575f5ffd5b50601554610515906001600160a01b031681565b5f546001600160a01b031633146107215760405162461bcd60e51b815260040161071890612056565b60405180910390fd5b600561072d828461209f565b111561077b5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e206e6f74206265206d6f7265207468616e203525000000006044820152606401610718565b600e829055600d81905561078f818361209f565b600f55600d54600e546040517f1568ae12a48f94971e72d93f8f5846cfda77ba2ba927d867f64e498835788138905f90a35050565b5f546001600160a01b031633146107ed5760405162461bcd60e51b815260040161071890612056565b6016805460ff60a81b1916600160a81b841515021790556108106009600a612195565b61081a90826121a3565b6017556040518190831515907fd896c9007bf8dc883f6b125322395dddc87bf825aed2e302315071c66e0d5dd9905f90a35050565b5f61085b825f19610861565b92915050565b5f6001600160a01b0383166108b85760405162461bcd60e51b815260206004820152601b60248201527f5370656e64657220697320746865207a65726f206164647265737300000000006044820152606401610718565b335f8181526007602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b5f546001600160a01b031633146109445760405162461bcd60e51b815260040161071890612056565b6001600160a01b0382161580159061096457506001600160a01b03811615155b6109bc5760405162461bcd60e51b815260206004820152602360248201527f4665652072656365697665722063616e6e6f74206265207a65726f206164647260448201526265737360e81b6064820152608401610718565b601380546001600160a01b03199081166001600160a01b03858116918217909355601480549092169284169283179091556040517f5b1b7727e42d2f1e9652d0af0d3b4f580a270e5d7ff9a47120c8602d4ec2def5905f90a35050565b5f6001600160a01b038416610a705760405162461bcd60e51b815260206004820152601a60248201527f53656e64657220697320746865207a65726f20616464726573730000000000006044820152606401610718565b6001600160a01b038316610ac65760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f20616464726573730000006044820152606401610718565b6001600160a01b0384165f9081526007602090815260408083203384529091529020545f198114610b7a5782811015610b525760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610718565b6001600160a01b0385165f908152600760209081526040808320338452909152902083820390555b610b8585858561136c565b9150505b9392505050565b5f546001600160a01b03163314610bb95760405162461bcd60e51b815260040161071890612056565b601654600160a01b900460ff1615610c135760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920456e61626c65642e00000000000000006044820152606401610718565b6016805460ff60a01b1916600160a01b90811791829055436011819055601281905560405190929190910460ff161515907f07c24843b569ea20bd3c266fb17047bdd751e44ea3afa2150f231b90bc669f4d905f90a3565b61dead5f90815260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600154610ca691906121ba565b905090565b5f546001600160a01b03163314610cd45760405162461bcd60e51b815260040161071890612056565b6005811015610ce1575f5ffd5b6103e881600154610cf291906121a3565b610cfc91906121cd565b60038190556040517ff8c5ab682312267665fe2e7afb06ce5e015dae6e8e8b89ebf47de5312c153c35905f90a250565b5f546001600160a01b03163314610d555760405162461bcd60e51b815260040161071890612056565b6005610d61828461209f565b1115610daf5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e206e6f74206265206d6f7265207468616e203525000000006044820152606401610718565b600b829055600a819055610dc3818361209f565b600c55600a54600b546040517f2816b76723f76e2768850694f4460c7c44a6592719ca811a201bd3087a872557905f90a35050565b5f546001600160a01b03163314610e215760405162461bcd60e51b815260040161071890612056565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6013545f906001600160a01b0316331480610e8e57506014546001600160a01b031633145b610e96575f5ffd5b306001600160a01b03841603610eaa575f5ffd5b815f03610f1a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ef3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1791906121ec565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610f64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b899190612203565b5f546001600160a01b03163314610fb15760405162461bcd60e51b815260040161071890612056565b6001600160a01b0382166110075760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f20616464726573730000000000006044820152606401610718565b6001600160a01b0382165f81815260096020526040808220805460ff191685151590811790915590519092917f5422e85d9bcca047954218b93afb25e9bc2afe9bdc19e7297968b2c919c8377591a35050565b5f6001600160a01b0383166110b15760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f20616464726573730000006044820152606401610718565b610b8933848461136c565b5f546001600160a01b031633146110e55760405162461bcd60e51b815260040161071890612056565b60058110156110f2575f5ffd5b6103e88160015461110391906121a3565b61110d91906121cd565b60028190556040517f3e20d7489efd636786bf4e1e0eb2addeb10f5435dc95fff56528021af35c5041905f90a250565b5f546001600160a01b031633146111665760405162461bcd60e51b815260040161071890612056565b6001600160a01b0382166111bc5760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f20616464726573730000000000006044820152606401610718565b6001600160a01b0382165f818152600860209081526040808320805486151560ff199182168117909255600990935281842080549093168117909255519092917f4aaa6e45cd52263caf7af003089cdf83d1751392e7edf53c1b5542d94f39734691a35050565b5f546001600160a01b0316331461124c5760405162461bcd60e51b815260040161071890612056565b6001600160a01b0381166112b15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610718565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146113335760405162461bcd60e51b815260040161071890612056565b6001546003819055600281905560405181907fe5ca8724fdb01105b3129a1959a63ecdb2638b93266579bbcca33b66c737faa9905f90a3565b6018545f9060ff161561138b57611384848484611991565b9050610b89565b5f546001600160a01b038581169116146113ef57601654600160a01b900460ff166113ef5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610718565b6012544314801561141857506001600160a01b0383165f9081526009602052604090205460ff16155b156114825760045482111561147d5760405162461bcd60e51b815260206004820152602560248201527f5478204c696d697420457863656564656420647572696e67206c61756e636820604482015264626c6f636b60d81b6064820152608401610718565b61148c565b61148c8483611a4d565b6001600160a01b0384165f90815260066020526040902054828110156114c45760405162461bcd60e51b81526004016107189061221e565b6001600160a01b0385165f9081526008602052604081205460ff168061150157506001600160a01b0385165f9081526008602052604090205460ff165b61151557611510868587611ab9565b611517565b835b905061152a5f546001600160a01b031690565b6001600160a01b0316866001600160a01b0316141580156115e657506001600160a01b038516301480159061156a57506001600160a01b03851661dead14155b80156115a857507f00000000000000000000000040cf0d9ddc369c5479b6baf894c000fa1215bb236001600160a01b0316856001600160a01b031614155b80156115c257506013546001600160a01b03868116911614155b80156115e657506001600160a01b0385165f9081526009602052604090205460ff16155b156116fa576001600160a01b0385165f90815260066020526040902054601254430361167757600554611619838361209f565b11156116725760405162461bcd60e51b815260206004820152602260248201527f546f74616c20486f6c64696e672065786365656473206c61756e636820626c6f604482015261636b60f01b6064820152608401610718565b6116f8565b600354611684838361209f565b11156116f85760405162461bcd60e51b815260206004820152603760248201527f546f74616c20486f6c64696e6720697320726573747269637465642c20796f7560448201527f2063616e206e6f74206275792074686174206d7563682e0000000000000000006064820152608401610718565b505b436011541415801561171c5750601754305f9081526006602052604090205410155b80156117315750601654600160a81b900460ff165b8015611740575060185460ff16155b801561177d57507f00000000000000000000000040cf0d9ddc369c5479b6baf894c000fa1215bb236001600160a01b0316856001600160a01b0316145b1561178f5761178a611bd2565b436011555b6001600160a01b038087165f908152600660205260408082208786039055918716815220805482019055601254430361194b575f7f00000000000000000000000040cf0d9ddc369c5479b6baf894c000fa1215bb236001600160a01b0316876001600160a01b031614801561180d57506001600160a01b0386163014155b801561182457506001600160a01b03861661dead14155b801561184857506001600160a01b0386165f9081526009602052604090205460ff16155b905080156119495760108054905f61185f83612264565b9190505550601b601054111561194957818015611947576001600160a01b0387165f908152600660205260408120805483929061189d9084906121ba565b909155505061dead5f90815260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548392906118df90849061209f565b909155505060405181815230906001600160a01b038916905f5160206123015f395f51905f529060200160405180910390a360405181906001600160a01b038916907f39658beb138a6f1d0a3f7116700f088463e90e750674101493b20c83042f46b1905f90a35b505b505b846001600160a01b0316866001600160a01b03165f5160206123015f395f51905f528360405161197d91815260200190565b60405180910390a350600195945050505050565b6001600160a01b0383165f90815260066020526040812054828110156119c95760405162461bcd60e51b81526004016107189061221e565b6001600160a01b038086165f908152600660205260408082208054879003905591861681529081208054859290611a0190849061209f565b92505081905550836001600160a01b0316856001600160a01b03165f5160206123015f395f51905f5285604051611a3a91815260200190565b60405180910390a3506001949350505050565b60025481111580611a7557506001600160a01b0382165f9081526009602052604090205460ff165b611ab55760405162461bcd60e51b8152602060048201526011602482015270151e08131a5b5a5d08115e18d959591959607a1b6044820152606401610718565b5050565b5f806001600160a01b037f00000000000000000000000040cf0d9ddc369c5479b6baf894c000fa1215bb23811690841603611b0f576064600f5485611afe91906121a3565b611b0891906121cd565b9050611b71565b7f00000000000000000000000040cf0d9ddc369c5479b6baf894c000fa1215bb236001600160a01b0316856001600160a01b031603611b58576064600c5485611afe91906121a3565b6064611b645f866121a3565b611b6e91906121cd565b90505b8015611bc857305f9081526006602052604081208054839290611b9590849061209f565b909155505060405181815230906001600160a01b038716905f5160206123015f395f51905f529060200160405180910390a35b610b8581856121ba565b6018805460ff19166001179055600f54600c545f91611bf09161209f565b90505f600e54600b54611c03919061209f565b6017546040805160028082526060820183529394505f938493928492919060208301908036833701905050905030815f81518110611c4357611c4361227c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611c9757611c9761227c565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790611cdc9085905f90869030904290600401612290565b5f604051808303815f87803b158015611cf3575f5ffd5b505af1158015611d05573d5f5f3e3d5ffd5b5047925050505f879003611d1b575f9450611d33565b86611d2687836121a3565b611d3091906121cd565b94505b611d3d85826121ba565b6014546040519195505f916001600160a01b039091169087908381818185875af1925050503d805f8114611d8c576040519150601f19603f3d011682016040523d82523d5f602084013e611d91565b606091505b5050905080611df55760405162461bcd60e51b815260206004820152602a60248201527f4661696c656420746f2073656e6420657468657220746f205465616d20466565604482015269102932b1b2b4bb32b91760b11b6064820152608401610718565b6013546040515f916001600160a01b03169087908381818185875af1925050503d805f8114611e3f576040519150601f19603f3d011682016040523d82523d5f602084013e611e44565b606091505b5050905080611ead5760405162461bcd60e51b815260206004820152602f60248201527f4661696c656420746f2073656e6420657468657220746f204d61726b6574696e60448201526e33902332b2902932b1b2b4bb32b91760891b6064820152608401610718565b50506018805460ff1916905550505050505050565b5f5f60408385031215611ed3575f5ffd5b50508035926020909101359150565b8015158114611eef575f5ffd5b50565b5f5f60408385031215611f03575f5ffd5b8235611f0e81611ee2565b946020939093013593505050565b80356001600160a01b0381168114611f32575f5ffd5b919050565b5f60208284031215611f47575f5ffd5b610b8982611f1c565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215611f96575f5ffd5b611f0e83611f1c565b5f5f60408385031215611fb0575f5ffd5b611fb983611f1c565b9150611fc760208401611f1c565b90509250929050565b5f5f5f60608486031215611fe2575f5ffd5b611feb84611f1c565b9250611ff960208501611f1c565b929592945050506040919091013590565b5f6020828403121561201a575f5ffd5b5035919050565b5f5f60408385031215612032575f5ffd5b61203b83611f1c565b9150602083013561204b81611ee2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561085b5761085b61208b565b6001815b60018411156120ed578085048111156120d1576120d161208b565b60018416156120df57908102905b60019390931c9280026120b6565b935093915050565b5f826121035750600161085b565b8161210f57505f61085b565b8160018114612125576002811461212f5761214b565b600191505061085b565b60ff8411156121405761214061208b565b50506001821b61085b565b5060208310610133831016604e8410600b841016171561216e575081810a61085b565b61217a5f1984846120b2565b805f190482111561218d5761218d61208b565b029392505050565b5f610b8960ff8416836120f5565b808202811582820484141761085b5761085b61208b565b8181038181111561085b5761085b61208b565b5f826121e757634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156121fc575f5ffd5b5051919050565b5f60208284031215612213575f5ffd5b8151610b8981611ee2565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b5f600182016122755761227561208b565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156122e05783516001600160a01b03168352602093840193909201916001016122b9565b50506001600160a01b03959095166060840152505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205f2cbea1ef1cd174c43c7ab298811d710a06d110e6f2df4fc7d10a886f394cec64736f6c634300081e0033
Deployed Bytecode Sourcemap
3823:14204:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4852:60;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4852:60:0;;;;;;;;4340:64;;;;;;;;;;;;;;;;16874:362;;;;;;;;;;-1:-1:-1;16874:362:0;;;;;:::i;:::-;;:::i;:::-;;17668:230;;;;;;;;;;-1:-1:-1;17668:230:0;;;;;:::i;:::-;;:::i;5409:55::-;;;;;;;;;;;;;;;;8279:122;;;;;;;;;;-1:-1:-1;8279:122:0;;;;;:::i;:::-;;:::i;:::-;;;1570:14:1;;1563:22;1545:41;;1533:2;1518:18;8279:122:0;1405:187:1;7561:80:0;;;;;;;;;;-1:-1:-1;7633:5:0;;;;;;;;;;;;-1:-1:-1;;;7633:5:0;;;;7561:80;;;;;;;:::i;5328:31::-;;;;;;;;;;-1:-1:-1;5328:31:0;;;;-1:-1:-1;;;5328:31:0;;;;;;7983:288;;;;;;;;;;-1:-1:-1;7983:288:0;;;;;:::i;:::-;;:::i;17244:416::-;;;;;;;;;;-1:-1:-1;17244:416:0;;;;;:::i;:::-;;:::i;7291:88::-;;;;;;;;;;-1:-1:-1;7364:12:0;;7291:88;;8649:668;;;;;;;;;;-1:-1:-1;8649:668:0;;;;;:::i;:::-;;:::i;14480:267::-;;;;;;;;;;;;;:::i;17906:118::-;;;;;;;;;;;;;:::i;7385:80::-;;;;;;;;;;-1:-1:-1;7385:80:0;;4080:1;3111:36:1;;3099:2;3084:18;7385:80:0;2969:184:1;4703:57:0;;;;;;;;;;;;;;;;9325:247;;;;;;;;;;-1:-1:-1;9325:247:0;;;;;:::i;:::-;;:::i;16511:355::-;;;;;;;;;;-1:-1:-1;16511:355:0;;;;;:::i;:::-;;:::i;4209:57::-;;;;;;;;;;;;;;;;5372:30;;;;;;;;;;-1:-1:-1;5372:30:0;;;;-1:-1:-1;;;5372:30:0;;;;;;7731:105;;;;;;;;;;-1:-1:-1;7731:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;7815:18:0;7797:7;7815:18;;;:9;:18;;;;;;;7731:105;1878:150;;;;;;;;;;;;;:::i;14061:411::-;;;;;;;;;;-1:-1:-1;14061:411:0;;;;;:::i;:::-;;:::i;4149:53::-;;;;;;;;;;;;;;;;7647:78;;;;;;;;;;-1:-1:-1;7699:7:0;1729:6;-1:-1:-1;;;;;1729:6:0;7647:78;;;-1:-1:-1;;;;;3553:32:1;;;3535:51;;3523:2;3508:18;7647:78:0;3389:203:1;16263:240:0;;;;;;;;;;-1:-1:-1;16263:240:0;;;;;:::i;:::-;;:::i;1664:79::-;;;;;;;;;;-1:-1:-1;1702:7:0;1729:6;-1:-1:-1;;;;;1729:6:0;1664:79;;4273:60;;;;;;;;;;;;;;;;7471:84;;;;;;;;;;-1:-1:-1;7545:7:0;;;;;;;;;;;;-1:-1:-1;;;7545:7:0;;;;7471:84;;5286:29;;;;;;;;;;;;;;;8409:232;;;;;;;;;;-1:-1:-1;8409:232:0;;;;;:::i;:::-;;:::i;1380:21::-;;;;;;;;;;-1:-1:-1;1380:21:0;;;;-1:-1:-1;;;;;1380:21:0;;;9580:213;;;;;;;;;;-1:-1:-1;9580:213:0;;;;;:::i;:::-;;:::i;15986:269::-;;;;;;;;;;-1:-1:-1;15986:269:0;;;;;:::i;:::-;;:::i;7842:133::-;;;;;;;;;;-1:-1:-1;7842:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7944:19:0;;;7926:7;7944:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7842:133;2036:244;;;;;;;;;;-1:-1:-1;2036:244:0;;;;;:::i;:::-;;:::i;13854:199::-;;;;;;;;;;;;;:::i;5216:24::-;;;;;;;;;;-1:-1:-1;5216:24:0;;;;-1:-1:-1;;;;;5216:24:0;;;16874:362;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;;;;;;;;;17005:1:::1;16977:24;16988:13:::0;16977:8;:24:::1;:::i;:::-;:29;;16969:70;;;::::0;-1:-1:-1;;;16969:70:0;;4968:2:1;16969:70:0::1;::::0;::::1;4950:21:1::0;5007:2;4987:18;;;4980:30;5046;5026:18;;;5019:58;5094:18;;16969:70:0::1;4766:352:1::0;16969:70:0::1;17051:11;:22:::0;;;17084:16:::1;:32:::0;;;17142:24:::1;17103:13:::0;17065:8;17142:24:::1;:::i;:::-;17127:12;:39:::0;17211:16:::1;::::0;17198:11:::1;::::0;17182:46:::1;::::0;::::1;::::0;;;::::1;16874:362:::0;;:::o;17668:230::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;17760:11:::1;:22:::0;;-1:-1:-1;;;;17760:22:0::1;-1:-1:-1::0;;;17760:22:0;::::1;;;;::::0;;17819:13:::1;4080:1;17819:2;:13;:::i;:::-;17809:23;::::0;:7;:23:::1;:::i;:::-;17793:13;:39:::0;17848:42:::1;::::0;17882:7;;17848:42;::::1;;::::0;::::1;::::0;;;::::1;17668:230:::0;;:::o;8279:122::-;8334:4;8358:35;8366:7;-1:-1:-1;;8358:7:0;:35::i;:::-;8351:42;8279:122;-1:-1:-1;;8279:122:0:o;7983:288::-;8058:4;-1:-1:-1;;;;;8083:21:0;;8075:61;;;;-1:-1:-1;;;8075:61:0;;6930:2:1;8075:61:0;;;6912:21:1;6969:2;6949:18;;;6942:30;7008:29;6988:18;;;6981:57;7055:18;;8075:61:0;6728:351:1;8075:61:0;8159:10;8147:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8147:32:0;;;;;;;;;;;;:41;;;8204:37;160:25:1;;;8147:32:0;;8159:10;8204:37;;133:18:1;8204:37:0;;;;;;;-1:-1:-1;8259:4:0;7983:288;;;;:::o;17244:416::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17370:35:0;::::1;::::0;;::::1;::::0;:69:::1;;-1:-1:-1::0;;;;;;17409:30:0;::::1;::::0;::::1;17370:69;17362:117;;;::::0;-1:-1:-1;;;17362:117:0;;7286:2:1;17362:117:0::1;::::0;::::1;7268:21:1::0;7325:2;7305:18;;;7298:30;7364:34;7344:18;;;7337:62;-1:-1:-1;;;7415:18:1;;;7408:33;7458:19;;17362:117:0::1;7084:399:1::0;17362:117:0::1;17490:20;:44:::0;;-1:-1:-1;;;;;;17490:44:0;;::::1;-1:-1:-1::0;;;;;17490:44:0;;::::1;::::0;;::::1;::::0;;;17545:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;17595:57:::1;::::0;::::1;::::0;-1:-1:-1;;17595:57:0::1;17244:416:::0;;:::o;8649:668::-;8749:4;-1:-1:-1;;;;;8774:20:0;;8766:59;;;;-1:-1:-1;;;8766:59:0;;7690:2:1;8766:59:0;;;7672:21:1;7729:2;7709:18;;;7702:30;7768:28;7748:18;;;7741:56;7814:18;;8766:59:0;7488:350:1;8766:59:0;-1:-1:-1;;;;;8844:23:0;;8836:65;;;;-1:-1:-1;;;8836:65:0;;8045:2:1;8836:65:0;;;8027:21:1;8084:2;8064:18;;;8057:30;8123:31;8103:18;;;8096:59;8172:18;;8836:65:0;7843:353:1;8836:65:0;-1:-1:-1;;;;;8939:19:0;;8912:24;8939:19;;;:11;:19;;;;;;;;1319:10;8939:33;;;;;;;;-1:-1:-1;;8986:37:0;;8983:267;;9067:6;9047:16;:26;;9039:79;;;;-1:-1:-1;;;9039:79:0;;8403:2:1;9039:79:0;;;8385:21:1;8442:2;8422:18;;;8415:30;8481:34;8461:18;;;8454:62;-1:-1:-1;;;8532:18:1;;;8525:38;8580:19;;9039:79:0;8201:404:1;9039:79:0;-1:-1:-1;;;;;9162:19:0;;;;;;:11;:19;;;;;;;;1319:10;9162:33;;;;;;;9198:25;;;9162:61;;8983:267;9269:40;9283:6;9291:9;9302:6;9269:13;:40::i;:::-;9262:47;;;8649:668;;;;;;:::o;14480:267::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;14539:11:::1;::::0;-1:-1:-1;;;14539:11:0;::::1;;;14538:12;14530:48;;;::::0;-1:-1:-1;;;14530:48:0;;8812:2:1;14530:48:0::1;::::0;::::1;8794:21:1::0;8851:2;8831:18;;;8824:30;8890:26;8870:18;;;8863:54;8934:18;;14530:48:0::1;8610:348:1::0;14530:48:0::1;14589:11;:18:::0;;-1:-1:-1;;;;14589:18:0::1;-1:-1:-1::0;;;14589:18:0;;::::1;::::0;;;;14629:12:::1;14618:8;:23:::0;;;14652:19:::1;:34:::0;;;14702:37:::1;::::0;14629:12;;14717:11;;;::::1;14589:18;14717:11;14702:37;;::::0;::::1;::::0;14589:18;;14702:37:::1;14480:267::o:0;17906:118::-;3919:42;17959:7;7815:18;;;:9;:18;;;;17986:12;;:30;;;;:::i;:::-;17979:37;;17906:118;:::o;9325:247::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;9433:1:::1;9412:17;:22;;9404:31;;;;;;9503:4;9481:17;9466:12;;:32;;;;:::i;:::-;9465:42;;;;:::i;:::-;9446:16;:61:::0;;;9523:34:::1;::::0;::::1;::::0;;;::::1;9325:247:::0;:::o;16511:355::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;16641:1:::1;16613:24;16624:13:::0;16613:8;:24:::1;:::i;:::-;:29;;16605:70;;;::::0;-1:-1:-1;;;16605:70:0;;4968:2:1;16605:70:0::1;::::0;::::1;4950:21:1::0;5007:2;4987:18;;;4980:30;5046;5026:18;;;5019:58;5094:18;;16605:70:0::1;4766:352:1::0;16605:70:0::1;16687:10;:21:::0;;;16719:15:::1;:31:::0;;;16775:24:::1;16737:13:::0;16700:8;16775:24:::1;:::i;:::-;16761:11;:38:::0;16842:15:::1;::::0;16830:10:::1;::::0;16815:43:::1;::::0;::::1;::::0;;;::::1;16511:355:::0;;:::o;1878:150::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;1987:1:::1;1971:6:::0;;1950:40:::1;::::0;-1:-1:-1;;;;;1971:6:0;;::::1;::::0;1950:40:::1;::::0;1987:1;;1950:40:::1;2018:1;2001:19:::0;;-1:-1:-1;;;;;;2001:19:0::1;::::0;;1878:150::o;14061:411::-;14181:20;;14142:4;;-1:-1:-1;;;;;14181:20:0;14167:10;:34;;:67;;-1:-1:-1;14219:15:0;;-1:-1:-1;;;;;14219:15:0;14205:10;:29;14167:67;14159:76;;;;;;14287:4;-1:-1:-1;;;;;14254:38:0;;;14246:47;;;;;;14307:6;14317:1;14307:11;14304:95;;14343:44;;-1:-1:-1;;;14343:44:0;;14381:4;14343:44;;;3535:51:1;-1:-1:-1;;;;;14343:29:0;;;;;3508:18:1;;14343:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14334:53;;14304:95;14416:48;;-1:-1:-1;;;14416:48:0;;14445:10;14416:48;;;9681:51:1;9748:18;;;9741:34;;;-1:-1:-1;;;;;14416:28:0;;;;;9654:18:1;;14416:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16263:240::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16356:20:0;::::1;16348:59;;;::::0;-1:-1:-1;;;16348:59:0;;10238:2:1;16348:59:0::1;::::0;::::1;10220:21:1::0;10277:2;10257:18;;;10250:30;10316:28;10296:18;;;10289:56;10362:18;;16348:59:0::1;10036:350:1::0;16348:59:0::1;-1:-1:-1::0;;;;;16418:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;:32;;-1:-1:-1;;16418:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16466:29;;16418:32;;:23;16466:29:::1;::::0;::::1;16263:240:::0;;:::o;8409:232::-;8489:4;-1:-1:-1;;;;;8514:23:0;;8506:65;;;;-1:-1:-1;;;8506:65:0;;8045:2:1;8506:65:0;;;8027:21:1;8084:2;8064:18;;;8057:30;8123:31;8103:18;;;8096:59;8172:18;;8506:65:0;7843:353:1;8506:65:0;8589:44;8603:10;8615:9;8626:6;8589:13;:44::i;9580:213::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;9676:1:::1;9659:13;:18;;9651:27;;;;;;9739:4;9721:13;9706:12;;:28;;;;:::i;:::-;9705:38;;;;:::i;:::-;9690:12;:53:::0;;;9759:26:::1;::::0;::::1;::::0;;;::::1;9580:213:::0;:::o;15986:269::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16072:20:0;::::1;16064:59;;;::::0;-1:-1:-1;;;16064:59:0;;10238:2:1;16064:59:0::1;::::0;::::1;10220:21:1::0;10277:2;10257:18;;;10250:30;10316:28;10296:18;;;10289:56;10362:18;;16064:59:0::1;10036:350:1::0;16064:59:0::1;-1:-1:-1::0;;;;;16134:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;16134:28:0;;::::1;::::0;::::1;::::0;;;16173:15:::1;:23:::0;;;;;;:32;;;;::::1;::::0;::::1;::::0;;;16221:26;16134:28;;:19;16221:26:::1;::::0;::::1;15986:269:::0;;:::o;2036:244::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2125:22:0;::::1;2117:73;;;::::0;-1:-1:-1;;;2117:73:0;;10593:2:1;2117:73:0::1;::::0;::::1;10575:21:1::0;10632:2;10612:18;;;10605:30;10671:34;10651:18;;;10644:62;-1:-1:-1;;;10722:18:1;;;10715:36;10768:19;;2117:73:0::1;10391:402:1::0;2117:73:0::1;2227:6;::::0;;2206:38:::1;::::0;-1:-1:-1;;;;;2206:38:0;;::::1;::::0;2227:6;::::1;::::0;2206:38:::1;::::0;::::1;2255:6;:17:::0;;-1:-1:-1;;;;;;2255:17:0::1;-1:-1:-1::0;;;;;2255:17:0;;;::::1;::::0;;;::::1;::::0;;2036:244::o;13854:199::-;1791:6;;-1:-1:-1;;;;;1791:6:0;1319:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;13931:12:::1;::::0;13912:16:::1;:31:::0;;;13954:12:::1;:27:::0;;;13997:48:::1;::::0;13931:12;;13997:48:::1;::::0;-1:-1:-1;;13997:48:0::1;13854:199::o:0;9801:2706::-;9913:6;;9893:4;;9913:6;;9910:63;;;9929:41;9944:6;9952:9;9963:6;9929:14;:41::i;:::-;9922:48;;;;9910:63;1702:7;1729:6;-1:-1:-1;;;;;9988:17:0;;;1729:6;;9988:17;9985:91;;10029:11;;-1:-1:-1;;;10029:11:0;;;;10021:43;;;;-1:-1:-1;;;10021:43:0;;11000:2:1;10021:43:0;;;10982:21:1;11039:2;11019:18;;;11012:30;-1:-1:-1;;;11058:18:1;;;11051:50;11118:18;;10021:43:0;10798:344:1;10021:43:0;10175:19;;10159:12;:35;:66;;;;-1:-1:-1;;;;;;10199:26:0;;;;;;:15;:26;;;;;;;;10198:27;10159:66;10155:238;;;10260:18;;10250:6;:28;;10242:78;;;;-1:-1:-1;;;10242:78:0;;11349:2:1;10242:78:0;;;11331:21:1;11388:2;11368:18;;;11361:30;11427:34;11407:18;;;11400:62;-1:-1:-1;;;11478:18:1;;;11471:35;11523:19;;10242:78:0;11147:401:1;10242:78:0;10155:238;;;10353:28;10366:6;10374;10353:12;:28::i;:::-;-1:-1:-1;;;;;10437:17:0;;10413:21;10437:17;;;:9;:17;;;;;;10473:23;;;;10465:74;;;;-1:-1:-1;;;10465:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10578:19:0;;10552:22;10578:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;10601:22:0;;;;;;:11;:22;;;;;;;;10578:45;10577:93;;10636:34;10644:6;10652;10660:9;10636:7;:34::i;:::-;10577:93;;;10627:6;10577:93;10552:118;;10769:7;1702;1729:6;-1:-1:-1;;;;;1729:6:0;;1664:79;10769:7;-1:-1:-1;;;;;10759:17:0;:6;-1:-1:-1;;;;;10759:17:0;;;:168;;;;-1:-1:-1;;;;;;10781:26:0;;10802:4;10781:26;;;;:56;;-1:-1:-1;;;;;;10811:26:0;;3919:42;10811:26;;10781:56;:77;;;;;10854:4;-1:-1:-1;;;;;10841:17:0;:9;-1:-1:-1;;;;;10841:17:0;;;10781:77;:114;;;;-1:-1:-1;10875:20:0;;-1:-1:-1;;;;;10862:33:0;;;10875:20;;10862:33;;10781:114;:145;;;;-1:-1:-1;;;;;;10900:26:0;;;;;;:15;:26;;;;;;;;10899:27;10781:145;10755:592;;;-1:-1:-1;;;;;7815:18:0;;10944;7815;;;:9;:18;;;;;;11020:19;;11004:12;:35;11000:336;;11101:22;;11069:27;11082:14;11069:10;:27;:::i;:::-;11068:55;;11060:102;;;;-1:-1:-1;;;11060:102:0;;12162:2:1;11060:102:0;;;12144:21:1;12201:2;12181:18;;;12174:30;12240:34;12220:18;;;12213:62;-1:-1:-1;;;12291:18:1;;;12284:32;12333:19;;11060:102:0;11960:398:1;11060:102:0;11000:336;;;11244:16;;11212:27;11225:14;11212:10;:27;:::i;:::-;11211:49;;11203:117;;;;-1:-1:-1;;;11203:117:0;;12565:2:1;11203:117:0;;;12547:21:1;12604:2;12584:18;;;12577:30;12643:34;12623:18;;;12616:62;12714:25;12694:18;;;12687:53;12757:19;;11203:117:0;12363:419:1;11203:117:0;10929:418;10755:592;11375:12;11363:8;;:24;;:69;;;;-1:-1:-1;11419:13:0;;11409:4;11391:24;;;;:9;:24;;;;;;:41;;11363:69;:84;;;;-1:-1:-1;11436:11:0;;-1:-1:-1;;;11436:11:0;;;;11363:84;:95;;;;-1:-1:-1;11452:6:0;;;;11451:7;11363:95;:116;;;;;11475:4;-1:-1:-1;;;;;11462:17:0;:9;-1:-1:-1;;;;;11462:17:0;;11363:116;11359:197;;;11496:10;:8;:10::i;:::-;11532:12;11521:8;:23;11359:197;-1:-1:-1;;;;;11593:17:0;;;;;;;:9;:17;;;;;;11613:22;;;11593:42;;11650:20;;;;;;:38;;;;;;11732:19;;11716:12;:35;11712:705;;11768:10;11791:4;-1:-1:-1;;;;;11781:14:0;:6;-1:-1:-1;;;;;11781:14:0;;:44;;;;-1:-1:-1;;;;;;11799:26:0;;11820:4;11799:26;;11781:44;:65;;;;-1:-1:-1;;;;;;11829:17:0;;3919:42;11829:17;;11781:65;:96;;;;-1:-1:-1;;;;;;11851:26:0;;;;;;:15;:26;;;;;;;;11850:27;11781:96;11768:109;;11896:5;11892:514;;;11922:9;:11;;;:9;:11;;;:::i;:::-;;;;;;5045:2;11957:9;;:33;11953:438;;;12035:14;12076:13;;12072:300;;-1:-1:-1;;;;;12118:20:0;;;;;;:9;:20;;;;;:33;;12142:9;;12118:20;:33;;12142:9;;12118:33;:::i;:::-;;;;-1:-1:-1;;3919:42:0;12178:15;;;;:9;:15;;;:28;;12197:9;;12178:15;:28;;12197:9;;12178:28;:::i;:::-;;;;-1:-1:-1;;12238:45:0;;160:25:1;;;12266:4:0;;-1:-1:-1;;;;;12238:45:0;;;-1:-1:-1;;;;;;;;;;;12238:45:0;148:2:1;133:18;12238:45:0;;;;;;;12315:33;;12338:9;;-1:-1:-1;;;;;12315:33:0;;;;;;;;12072:300;11992:399;11953:438;11753:664;11712:705;12451:9;-1:-1:-1;;;;;12434:43:0;12443:6;-1:-1:-1;;;;;12434:43:0;-1:-1:-1;;;;;;;;;;;12462:14:0;12434:43;;;;160:25:1;;148:2;133:18;;14:177;12434:43:0;;;;;;;;-1:-1:-1;12495:4:0;;9801:2706;-1:-1:-1;;;;;9801:2706:0:o;12519:432::-;-1:-1:-1;;;;;12653:17:0;;12612:4;12653:17;;;:9;:17;;;;;;12689:23;;;;12681:74;;;;-1:-1:-1;;;12681:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12791:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;12840:20;;;;;;;;:30;;12812:6;;12791:17;12840:30;;12812:6;;12840:30;:::i;:::-;;;;;;;;12903:9;-1:-1:-1;;;;;12886:35:0;12895:6;-1:-1:-1;;;;;12886:35:0;-1:-1:-1;;;;;;;;;;;12914:6:0;12886:35;;;;160:25:1;;148:2;133:18;;14:177;12886:35:0;;;;;;;;-1:-1:-1;12939:4:0;;12519:432;-1:-1:-1;;;;12519:432:0:o;12959:166::-;13056:12;;13046:6;:22;;:49;;;-1:-1:-1;;;;;;13072:23:0;;;;;;:15;:23;;;;;;;;13046:49;13038:79;;;;-1:-1:-1;;;13038:79:0;;13129:2:1;13038:79:0;;;13111:21:1;13168:2;13148:18;;;13141:30;-1:-1:-1;;;13187:18:1;;;13180:47;13244:18;;13038:79:0;12927:341:1;13038:79:0;12959:166;;:::o;13255:591::-;13341:7;;-1:-1:-1;;;;;13413:4:0;13400:17;;;;;;13397:255;;13472:3;13456:12;;13447:6;:21;;;;:::i;:::-;13446:29;;;;:::i;:::-;13434:41;;13397:255;;;13506:4;-1:-1:-1;;;;;13496:14:0;:6;-1:-1:-1;;;;;13496:14:0;;13493:159;;13564:3;13549:11;;13540:6;:20;;;;:::i;13493:159::-;13637:3;13613:20;4952:1;13613:6;:20;:::i;:::-;13612:28;;;;:::i;:::-;13600:40;;13493:159;13668:13;;13664:137;;13712:4;13694:24;;;;:9;:24;;;;;:37;;13722:9;;13694:24;:37;;13722:9;;13694:37;:::i;:::-;;;;-1:-1:-1;;13747:42:0;;160:25:1;;;13772:4:0;;-1:-1:-1;;;;;13747:42:0;;;-1:-1:-1;;;;;;;;;;;13747:42:0;148:2:1;133:18;13747:42:0;;;;;;;13664:137;13820:18;13829:9;13820:6;:18;:::i;14755:1223::-;5512:6;:13;;-1:-1:-1;;5512:13:0;5521:4;5512:13;;;14837:12:::1;::::0;14823:11:::1;::::0;5512:6;;14823:26:::1;::::0;::::1;:::i;:::-;14804:45;;14860:15;14891:11;;14878:10;;:24;;;;:::i;:::-;15015:13;::::0;15065:16:::1;::::0;;15079:1:::1;15065:16:::0;;;;;::::1;::::0;;14860:42;;-1:-1:-1;14913:21:0::1;::::0;;;15015:13;14913:21;;15065:16;15079:1;15065:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15065:16:0::1;15041:40;;15110:4;15092;15097:1;15092:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;15092:23:0::1;;;-1:-1:-1::0;;;;;15092:23:0::1;;;::::0;::::1;15136:4;15126;15131:1;15126:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15126:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15153:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15153:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15225:12;;15153:6:::1;::::0;15268:4;;15295::::1;::::0;15315:15:::1;::::0;15153:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15376:21:0::1;::::0;-1:-1:-1;;;15354:19:0::1;15413:13:::0;;;15410:145:::1;;15459:1;15443:17;;15410:145;;;15535:8:::0;15510:21:::1;15524:7:::0;15510:11;:21:::1;:::i;:::-;15509:34;;;;:::i;:::-;15493:50;;15410:145;15588:27;15602:13:::0;15588:11;:27:::1;:::i;:::-;15657:15;::::0;15649:55:::1;::::0;15567:48;;-1:-1:-1;15629:15:0::1;::::0;-1:-1:-1;;;;;15657:15:0;;::::1;::::0;15686:13;;15629:15;15649:55;15629:15;15649:55;15686:13;15657:15;15649:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15628:76;;;15723:10;15715:65;;;::::0;-1:-1:-1;;;15715:65:0;;14913:2:1;15715:65:0::1;::::0;::::1;14895:21:1::0;14952:2;14932:18;;;14925:30;14991:34;14971:18;;;14964:62;-1:-1:-1;;;15042:18:1;;;15035:40;15092:19;;15715:65:0::1;14711:406:1::0;15715:65:0::1;15831:20;::::0;15823:65:::1;::::0;15802:16:::1;::::0;-1:-1:-1;;;;;15831:20:0::1;::::0;15865:18;;15802:16;15823:65;15802:16;15823:65;15865:18;15831:20;15823:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15801:87;;;15907:11;15899:71;;;::::0;-1:-1:-1;;;15899:71:0;;15324:2:1;15899:71:0::1;::::0;::::1;15306:21:1::0;15363:2;15343:18;;;15336:30;15402:34;15382:18;;;15375:62;-1:-1:-1;;;15453:18:1;;;15446:45;15508:19;;15899:71:0::1;15122:411:1::0;15899:71:0::1;-1:-1:-1::0;;5530:6:0;:14;;-1:-1:-1;;5530:14:0;;;-1:-1:-1;;;;;;;14755:1223:0:o;196:346:1:-;264:6;272;325:2;313:9;304:7;300:23;296:32;293:52;;;341:1;338;331:12;293:52;-1:-1:-1;;386:23:1;;;506:2;491:18;;;478:32;;-1:-1:-1;196:346:1:o;547:118::-;633:5;626:13;619:21;612:5;609:32;599:60;;655:1;652;645:12;599:60;547:118;:::o;670:361::-;735:6;743;796:2;784:9;775:7;771:23;767:32;764:52;;;812:1;809;802:12;764:52;851:9;838:23;870:28;892:5;870:28;:::i;:::-;917:5;995:2;980:18;;;;967:32;;-1:-1:-1;;;670:361:1:o;1036:173::-;1104:20;;-1:-1:-1;;;;;1153:31:1;;1143:42;;1133:70;;1199:1;1196;1189:12;1133:70;1036:173;;;:::o;1214:186::-;1273:6;1326:2;1314:9;1305:7;1301:23;1297:32;1294:52;;;1342:1;1339;1332:12;1294:52;1365:29;1384:9;1365:29;:::i;1597:418::-;1746:2;1735:9;1728:21;1709:4;1778:6;1772:13;1821:6;1816:2;1805:9;1801:18;1794:34;1880:6;1875:2;1867:6;1863:15;1858:2;1847:9;1843:18;1837:50;1936:1;1931:2;1922:6;1911:9;1907:22;1903:31;1896:42;2006:2;1999;1995:7;1990:2;1982:6;1978:15;1974:29;1963:9;1959:45;1955:54;1947:62;;;1597:418;;;;:::o;2020:300::-;2088:6;2096;2149:2;2137:9;2128:7;2124:23;2120:32;2117:52;;;2165:1;2162;2155:12;2117:52;2188:29;2207:9;2188:29;:::i;2325:260::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;2493:29;2512:9;2493:29;:::i;:::-;2483:39;;2541:38;2575:2;2564:9;2560:18;2541:38;:::i;:::-;2531:48;;2325:260;;;;;:::o;2590:374::-;2667:6;2675;2683;2736:2;2724:9;2715:7;2711:23;2707:32;2704:52;;;2752:1;2749;2742:12;2704:52;2775:29;2794:9;2775:29;:::i;:::-;2765:39;;2823:38;2857:2;2846:9;2842:18;2823:38;:::i;:::-;2590:374;;2813:48;;-1:-1:-1;;;2930:2:1;2915:18;;;;2902:32;;2590:374::o;3158:226::-;3217:6;3270:2;3258:9;3249:7;3245:23;3241:32;3238:52;;;3286:1;3283;3276:12;3238:52;-1:-1:-1;3331:23:1;;3158:226;-1:-1:-1;3158:226:1:o;3597:315::-;3662:6;3670;3723:2;3711:9;3702:7;3698:23;3694:32;3691:52;;;3739:1;3736;3729:12;3691:52;3762:29;3781:9;3762:29;:::i;:::-;3752:39;;3841:2;3830:9;3826:18;3813:32;3854:28;3876:5;3854:28;:::i;:::-;3901:5;3891:15;;;3597:315;;;;;:::o;4143:356::-;4345:2;4327:21;;;4364:18;;;4357:30;4423:34;4418:2;4403:18;;4396:62;4490:2;4475:18;;4143:356::o;4504:127::-;4565:10;4560:3;4556:20;4553:1;4546:31;4596:4;4593:1;4586:15;4620:4;4617:1;4610:15;4636:125;4701:9;;;4722:10;;;4719:36;;;4735:18;;:::i;5123:375::-;5211:1;5229:5;5243:249;5264:1;5254:8;5251:15;5243:249;;;5314:4;5309:3;5305:14;5299:4;5296:24;5293:50;;;5323:18;;:::i;:::-;5373:1;5363:8;5359:16;5356:49;;;5387:16;;;;5356:49;5470:1;5466:16;;;;;5426:15;;5243:249;;;5123:375;;;;;;:::o;5503:902::-;5552:5;5582:8;5572:80;;-1:-1:-1;5623:1:1;5637:5;;5572:80;5671:4;5661:76;;-1:-1:-1;5708:1:1;5722:5;;5661:76;5753:4;5771:1;5766:59;;;;5839:1;5834:174;;;;5746:262;;5766:59;5796:1;5787:10;;5810:5;;;5834:174;5871:3;5861:8;5858:17;5855:43;;;5878:18;;:::i;:::-;-1:-1:-1;;5934:1:1;5920:16;;5993:5;;5746:262;;6092:2;6082:8;6079:16;6073:3;6067:4;6064:13;6060:36;6054:2;6044:8;6041:16;6036:2;6030:4;6027:12;6023:35;6020:77;6017:203;;;-1:-1:-1;6129:19:1;;;6205:5;;6017:203;6252:42;-1:-1:-1;;6277:8:1;6271:4;6252:42;:::i;:::-;6330:6;6326:1;6322:6;6318:19;6309:7;6306:32;6303:58;;;6341:18;;:::i;:::-;6379:20;;5503:902;-1:-1:-1;;;5503:902:1:o;6410:140::-;6468:5;6497:47;6538:4;6528:8;6524:19;6518:4;6497:47;:::i;6555:168::-;6628:9;;;6659;;6676:15;;;6670:22;;6656:37;6646:71;;6697:18;;:::i;8963:128::-;9030:9;;;9051:11;;;9048:37;;;9065:18;;:::i;9096:217::-;9136:1;9162;9152:132;;9206:10;9201:3;9197:20;9194:1;9187:31;9241:4;9238:1;9231:15;9269:4;9266:1;9259:15;9152:132;-1:-1:-1;9298:9:1;;9096:217::o;9318:184::-;9388:6;9441:2;9429:9;9420:7;9416:23;9412:32;9409:52;;;9457:1;9454;9447:12;9409:52;-1:-1:-1;9480:16:1;;9318:184;-1:-1:-1;9318:184:1:o;9786:245::-;9853:6;9906:2;9894:9;9885:7;9881:23;9877:32;9874:52;;;9922:1;9919;9912:12;9874:52;9954:9;9948:16;9973:28;9995:5;9973:28;:::i;11553:402::-;11755:2;11737:21;;;11794:2;11774:18;;;11767:30;11833:34;11828:2;11813:18;;11806:62;-1:-1:-1;;;11899:2:1;11884:18;;11877:36;11945:3;11930:19;;11553:402::o;12787:135::-;12826:3;12847:17;;;12844:43;;12867:18;;:::i;:::-;-1:-1:-1;12914:1:1;12903:13;;12787:135::o;13405:127::-;13466:10;13461:3;13457:20;13454:1;13447:31;13497:4;13494:1;13487:15;13521:4;13518:1;13511:15;13537:959;13799:4;13847:3;13836:9;13832:19;13878:6;13867:9;13860:25;13921:6;13916:2;13905:9;13901:18;13894:34;13964:3;13959:2;13948:9;13944:18;13937:31;13988:6;14023;14017:13;14054:6;14046;14039:22;14092:3;14081:9;14077:19;14070:26;;14131:2;14123:6;14119:15;14105:29;;14152:1;14162:195;14176:6;14173:1;14170:13;14162:195;;;14241:13;;-1:-1:-1;;;;;14237:39:1;14225:52;;14306:2;14332:15;;;;14297:12;;;;14273:1;14191:9;14162:195;;;-1:-1:-1;;;;;;;14413:32:1;;;;14408:2;14393:18;;14386:60;-1:-1:-1;;14477:3:1;14462:19;14455:35;14374:3;13537:959;-1:-1:-1;;;13537:959:1:o
Swarm Source
ipfs://5f2cbea1ef1cd174c43c7ab298811d710a06d110e6f2df4fc7d10a886f394cec
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.