Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 30 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 18219059 | 916 days ago | IN | 0 ETH | 0.00197481 | ||||
| Transfer | 18192018 | 919 days ago | IN | 0 ETH | 0.00124651 | ||||
| Transfer | 18172195 | 922 days ago | IN | 0 ETH | 0.00211798 | ||||
| Approve | 18172025 | 922 days ago | IN | 0 ETH | 0.00081186 | ||||
| Approve | 18171961 | 922 days ago | IN | 0 ETH | 0.00123966 | ||||
| Approve | 18171937 | 922 days ago | IN | 0 ETH | 0.00040025 | ||||
| Approve | 18171936 | 922 days ago | IN | 0 ETH | 0.00072915 | ||||
| Approve | 18171931 | 922 days ago | IN | 0 ETH | 0.000792 | ||||
| Approve | 18171931 | 922 days ago | IN | 0 ETH | 0.00092715 | ||||
| Approve | 18171925 | 922 days ago | IN | 0 ETH | 0.00089508 | ||||
| Approve | 18171916 | 922 days ago | IN | 0 ETH | 0.00099819 | ||||
| Approve | 18171915 | 922 days ago | IN | 0 ETH | 0.00086526 | ||||
| Approve | 18171913 | 922 days ago | IN | 0 ETH | 0.0008568 | ||||
| Approve | 18171908 | 922 days ago | IN | 0 ETH | 0.00094731 | ||||
| Approve | 18171905 | 922 days ago | IN | 0 ETH | 0.00094913 | ||||
| Approve | 18171904 | 922 days ago | IN | 0 ETH | 0.00169867 | ||||
| Approve | 18171903 | 922 days ago | IN | 0 ETH | 0.00077491 | ||||
| Approve | 18171903 | 922 days ago | IN | 0 ETH | 0.00147414 | ||||
| Approve | 18171901 | 922 days ago | IN | 0 ETH | 0.00085429 | ||||
| Approve | 18171901 | 922 days ago | IN | 0 ETH | 0.00085429 | ||||
| Transfer | 18171900 | 922 days ago | IN | 0 ETH | 0.00292721 | ||||
| Approve | 18171847 | 922 days ago | IN | 0 ETH | 0.00095787 | ||||
| Approve | 18171782 | 922 days ago | IN | 0 ETH | 0.00092559 | ||||
| Approve | 18171582 | 922 days ago | IN | 0 ETH | 0.00076764 | ||||
| Exclude From Rew... | 18171575 | 922 days ago | IN | 0 ETH | 0.00121768 |
Latest 6 internal transactions
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SnekonEthereum
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-09-18
*/
/******************************************************************
_
| |
_ __ __ _ | |
| '_ \ / _` || |
| |_) || (_| || |
| .__/ \__,_||_|
| |
|_|
Telegram: https://t.me/snekoneth
******************************************************************/
pragma solidity ^0.8.10;
// SPDX-License-Identifier: MIT
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);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IFactory{
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline) external;
}
contract SnekonEthereum is Context, IERC20, Ownable {
mapping (address => uint256) private _rOwned;
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private _isExcluded;
address[] private _excluded;
bool private swapping;
IRouter public router;
address public pair;
uint8 private constant _decimals = 18;
uint256 private constant MAX = ~uint256(0);
uint256 private _tTotal = 76_715_880_000 * 10**_decimals;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 public TaxSwapatAmount = 76_715_880 * 10**_decimals;
address public marketingAddress = 0x792395E3d5129FfCA8449d47EE7C8c4aE089E7DD; // Marketing Fee Receiver
string private constant _name = "Snek on Ethereum";
string private constant _symbol = "PAL";
struct Taxes {
uint256 reflection;
uint256 marketing;
}
Taxes public Buytaxes = Taxes(1,4);
Taxes public sellTaxes = Taxes(1,4);
struct TotFeesPaidStruct{
uint256 reflection;
uint256 marketing;
}
TotFeesPaidStruct private totFeesPaid;
struct valuesFromGetValues{
uint256 rAmount;
uint256 rTransferAmount;
uint256 rreflection;
uint256 rMarketing;
uint256 tTransferAmount;
uint256 treflection;
uint256 tMarketing;
}
event FeesChanged();
modifier lockTheSwap {
swapping = true;
_;
swapping = false;
}
bool private swapEnabled = true;
constructor () {
IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _pair = IFactory(_router.factory())
.createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
excludeFromReward(pair);
_rOwned[owner()] = _rTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[marketingAddress]=true;
_isExcludedFromFee[address(_router)] = true;
emit Transfer(address(0), owner(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
if (_isExcluded[account]) return _tOwned[account];
return tokenFromReflection(_rOwned[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 virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function isExcludedFromReward(address account) public view returns (bool) {
return _isExcluded[account];
}
function reflectionFromToken(uint256 tAmount, bool deductTransferreflection, bool isSell) public view returns(uint256) {
require(tAmount <= _tTotal, "Amount must be less than supply");
if (!deductTransferreflection) {
valuesFromGetValues memory s = _getValues(tAmount, false, isSell);
return s.rAmount;
} else {
valuesFromGetValues memory s = _getValues(tAmount, true, isSell);
return s.rTransferAmount;
}
}
function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
require(rAmount <= _rTotal, "Amount must be less than total reflections");
uint256 currentRate = _getRate();
return rAmount/currentRate;
}
function excludeFromReward(address account) public onlyOwner() {
require(!_isExcluded[account], "Account is already excluded");
if(_rOwned[account] > 0) {
_tOwned[account] = tokenFromReflection(_rOwned[account]);
}
_isExcluded[account] = true;
_excluded.push(account);
}
function includeInReward(address account) external onlyOwner() {
require(_isExcluded[account], "Account is not excluded");
for (uint256 i = 0; i < _excluded.length; i++) {
if (_excluded[i] == account) {
_excluded[i] = _excluded[_excluded.length - 1];
_tOwned[account] = 0;
_isExcluded[account] = false;
_excluded.pop();
break;
}
}
}
function excludeFromFee(address account) public onlyOwner {
_isExcludedFromFee[account] = true;
}
function includeInFee(address account) public onlyOwner {
_isExcludedFromFee[account] = false;
}
function isExcludedFromFee(address account) public view returns(bool) {
return _isExcludedFromFee[account];
}
function setBuyTaxes(uint256 _reflection, uint256 _marketing) public onlyOwner {
Buytaxes.reflection = _reflection;
Buytaxes.marketing = _marketing;
emit FeesChanged();
}
function setSellTaxes(uint256 _reflection, uint256 _marketing) public onlyOwner {
sellTaxes.reflection = _reflection;
sellTaxes.marketing = _marketing;
emit FeesChanged();
}
function _reflectreflection(uint256 rreflection, uint256 treflection) private {
_rTotal -=rreflection;
totFeesPaid.reflection +=treflection;
}
function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
totFeesPaid.marketing +=tMarketing;
if(_isExcluded[address(this)])
{
_tOwned[address(this)]+=tMarketing;
}
_rOwned[address(this)] +=rMarketing;
}
function _getValues(uint256 tAmount, bool takeFee, bool isSell) private view returns (valuesFromGetValues memory to_return) {
to_return = _getTValues(tAmount, takeFee, isSell);
(to_return.rAmount, to_return.rTransferAmount, to_return.rreflection, to_return.rMarketing) = _getRValues(to_return, tAmount, takeFee, _getRate());
return to_return;
}
function _getTValues(uint256 tAmount, bool takeFee, bool isSell) private view returns (valuesFromGetValues memory s) {
if(!takeFee) {
s.tTransferAmount = tAmount;
return s;
}
Taxes memory temp;
if(isSell) temp = sellTaxes;
else temp = Buytaxes;
s.treflection = tAmount*temp.reflection/100;
s.tMarketing = tAmount*temp.marketing/100;
s.tTransferAmount = tAmount-s.treflection-s.tMarketing;
return s;
}
function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rreflection,uint256 rMarketing) {
rAmount = tAmount*currentRate;
if(!takeFee) {
return(rAmount, rAmount, 0,0);
}
rreflection = s.treflection*currentRate;
rMarketing = s.tMarketing*currentRate;
rTransferAmount = rAmount-rreflection-rMarketing;
return (rAmount, rTransferAmount, rreflection,rMarketing);
}
function _getRate() private view returns(uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply/tSupply;
}
function _getCurrentSupply() private view returns(uint256, uint256) {
uint256 rSupply = _rTotal;
uint256 tSupply = _tTotal;
for (uint256 i = 0; i < _excluded.length; i++) {
if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
rSupply = rSupply-_rOwned[_excluded[i]];
tSupply = tSupply-_tOwned[_excluded[i]];
}
if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
return (rSupply, tSupply);
}
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");
require(amount <= balanceOf(from),"You are trying to transfer more than your balance");
bool canSwap = balanceOf(address(this)) >= TaxSwapatAmount;
if(!swapping && swapEnabled && canSwap && from != pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
swapAndLiquify(TaxSwapatAmount);
}
_tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]), to == pair);
}
//this method is responsible for taking all fee, if takeFee is true
function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isSell) private {
valuesFromGetValues memory s = _getValues(tAmount, takeFee, isSell);
if (_isExcluded[sender] ) { //from excluded
_tOwned[sender] = _tOwned[sender]-tAmount;
}
if (_isExcluded[recipient]) { //to excluded
_tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
}
_rOwned[sender] = _rOwned[sender]-s.rAmount;
_rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
if(s.rreflection > 0 || s.treflection > 0) _reflectreflection(s.rreflection, s.treflection);
if(s.rMarketing > 0 || s.tMarketing > 0){
_takeMarketing(s.rMarketing, s.tMarketing);
}
emit Transfer(sender, recipient, s.tTransferAmount);
emit Transfer(sender, address(this), s.tMarketing);
}
function swapAndLiquify(uint256 tokens) private lockTheSwap{
uint256 toSwap = tokens;
uint256 initialBalance = address(this).balance;
swapTokensForETH(toSwap);
uint256 ContractBalance = address(this).balance - initialBalance;
uint256 marketingAmt = ContractBalance;
if(marketingAmt > 0){
payable(marketingAddress).transfer(marketingAmt);
}
}
function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
// approve token transfer to cover all possible scenarios
_approve(address(this), address(router), tokenAmount);
// add the liquidity
router.addLiquidityETH{value: ETHAmount}(
address(this),
tokenAmount,
0, // slippage is unavoidable
0, // slippage is unavoidable
address(0),
block.timestamp
);
}
function swapTokensForETH(uint256 tokenAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
// make the swap
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
}
function updateMarketingWallet(address newWallet) external onlyOwner{
marketingAddress = newWallet;
}
function updateTaxSwapatAmount(uint256 amount) external onlyOwner{
TaxSwapatAmount = amount * 10**_decimals;
}
//Use this in case ETH are sent to the contract by mistake
function rescueETH(uint256 weiAmount) external onlyOwner{
require(address(this).balance >= weiAmount, "insufficient ETH balance");
payable(msg.sender).transfer(weiAmount);
}
// Function to allow admin to claim *other* ERC20 tokens sent to this contract (by mistake)
// Owner cannot transfer out catecoin from this smart contract
function rescueAnyERC20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
require(_tokenAddr != address(this), "Cannot transfer out Token123!");
IERC20(_tokenAddr).transfer(_to, _amount);
}
receive() external payable{
}
}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":[],"name":"FeesChanged","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":"Buytaxes","outputs":[{"internalType":"uint256","name":"reflection","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TaxSwapatAmount","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferreflection","type":"bool"},{"internalType":"bool","name":"isSell","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"reflection","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_reflection","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_reflection","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateTaxSwapatAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052620000126012600a6200091c565b62000023906411dc9f6e406200092d565b6009819055620000369060001962000965565b62000044906000196200097c565b600a556012600a6200005791906200091c565b620000679063049297686200092d565b600b55600c80546001600160a01b03191673792395e3d5129ffca8449d47ee7c8c4ae089e7dd179055604080518082018252600180825260046020928301819052600d829055600e819055835180850190945281845292909101829052600f8190556010919091556013805460ff19169091179055348015620000e957600080fd5b50620000f533620003ce565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000175919062000996565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e9919062000996565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d919062000996565b600780546001600160a01b0380861661010002610100600160a81b031990921691909117909155600880549183166001600160a01b031990921682179055909150620002a9906200041e565b600a5460016000620002c36000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160046000620002fd620005ac60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600c54821684528284208054861682179055908616835291208054909216179055620003766000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620003be91815260200190565b60405180910390a3505062000a0c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146200047e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615620004e95760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640162000475565b6001600160a01b0381166000908152600160205260409020541562000546576001600160a01b0381166000908152600160205260409020546200052c90620005bb565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600a54821115620006245760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840162000475565b60006200063062000645565b90506200063e8184620009c1565b9392505050565b60008080620006536200066b565b9092509050620006648183620009c1565b9250505090565b600a546009546000918291825b600654811015620007d3578260016000600684815481106200069e576200069e620009d8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200070d5750816002600060068481548110620006e657620006e6620009d8565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200072457600a54600954945094505050509091565b60016000600683815481106200073e576200073e620009d8565b60009182526020808320909101546001600160a01b031683528201929092526040019020546200076f90846200097c565b925060026000600683815481106200078b576200078b620009d8565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007bc90836200097c565b915080620007ca81620009ee565b91505062000678565b50600954600a54620007e69190620009c1565b821015620007fe57600a546009549350935050509091565b90939092509050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200085e57816000190482111562000842576200084262000807565b808516156200085057918102915b93841c939080029062000822565b509250929050565b600082620008775750600162000916565b81620008865750600062000916565b81600181146200089f5760028114620008aa57620008ca565b600191505062000916565b60ff841115620008be57620008be62000807565b50506001821b62000916565b5060208310610133831016604e8410600b8410161715620008ef575081810a62000916565b620008fb83836200081d565b806000190482111562000912576200091262000807565b0290505b92915050565b60006200063e60ff84168362000866565b60008160001904831182151516156200094a576200094a62000807565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200097757620009776200094f565b500690565b60008282101562000991576200099162000807565b500390565b600060208284031215620009a957600080fd5b81516001600160a01b03811681146200063e57600080fd5b600082620009d357620009d36200094f565b500490565b634e487b7160e01b600052603260045260246000fd5b600060001982141562000a055762000a0562000807565b5060010190565b61229c8062000a1c6000396000f3fe6080604052600436106101fd5760003560e01c806388f820201161010d578063a8aa1b31116100a0578063dd62ed3e1161006f578063dd62ed3e1461062c578063ea2f0b3714610672578063f2fde38b14610692578063f66895a3146106b2578063f887ea40146106cd57600080fd5b8063a8aa1b31146105ac578063a9059cbb146105cc578063aa35822c146105ec578063aacebbe31461060c57600080fd5b80639e252f00116100dc5780639e252f001461052c578063a11a16821461054c578063a457c2d71461056c578063a5ece9411461058c57600080fd5b806388f82020146104655780638da5cb5b1461049e578063912080e1146104d057806395d89b411461050057600080fd5b806339509351116101905780635342acb41161015f5780635342acb4146103c15780635988cb76146103fa5780635f1126ee1461041a57806370a0823114610430578063715018a61461045057600080fd5b806339509351146103415780633f63d40f14610361578063437823ec1461038157806352390c02146103a157600080fd5b806323b872dd116101cc57806323b872dd146102c55780632d838119146102e5578063313ce567146103055780633685d4191461032157600080fd5b806306fdde0314610209578063095ea7b3146102545780630d65df9b1461028457806318160ddd146102a657600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5060408051808201909152601081526f536e656b206f6e20457468657265756d60801b60208201525b60405161024b9190611e0e565b60405180910390f35b34801561026057600080fd5b5061027461026f366004611e78565b6106f2565b604051901515815260200161024b565b34801561029057600080fd5b506102a461029f366004611ea4565b610709565b005b3480156102b257600080fd5b506009545b60405190815260200161024b565b3480156102d157600080fd5b506102746102e0366004611ea4565b61080e565b3480156102f157600080fd5b506102b7610300366004611ee5565b6108c1565b34801561031157600080fd5b506040516012815260200161024b565b34801561032d57600080fd5b506102a461033c366004611efe565b61093e565b34801561034d57600080fd5b5061027461035c366004611e78565b610af5565b34801561036d57600080fd5b506102b761037c366004611f29565b610b2c565b34801561038d57600080fd5b506102a461039c366004611efe565b610bb8565b3480156103ad57600080fd5b506102a46103bc366004611efe565b610c06565b3480156103cd57600080fd5b506102746103dc366004611efe565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561040657600080fd5b506102a4610415366004611ee5565b610d59565b34801561042657600080fd5b506102b7600b5481565b34801561043c57600080fd5b506102b761044b366004611efe565b610d9f565b34801561045c57600080fd5b506102a4610dfe565b34801561047157600080fd5b50610274610480366004611efe565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156104aa57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161024b565b3480156104dc57600080fd5b50600d54600e546104eb919082565b6040805192835260208301919091520161024b565b34801561050c57600080fd5b5060408051808201909152600381526214105360ea1b602082015261023e565b34801561053857600080fd5b506102a4610547366004611ee5565b610e34565b34801561055857600080fd5b506102a4610567366004611f6b565b610edb565b34801561057857600080fd5b50610274610587366004611e78565b610f3c565b34801561059857600080fd5b50600c546104b8906001600160a01b031681565b3480156105b857600080fd5b506008546104b8906001600160a01b031681565b3480156105d857600080fd5b506102746105e7366004611e78565b610fd7565b3480156105f857600080fd5b506102a4610607366004611f6b565b610fe4565b34801561061857600080fd5b506102a4610627366004611efe565b611045565b34801561063857600080fd5b506102b7610647366004611f8d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067e57600080fd5b506102a461068d366004611efe565b611091565b34801561069e57600080fd5b506102a46106ad366004611efe565b6110dc565b3480156106be57600080fd5b50600f546010546104eb919082565b3480156106d957600080fd5b506007546104b89061010090046001600160a01b031681565b60006106ff338484611177565b5060015b92915050565b6000546001600160a01b0316331461073c5760405162461bcd60e51b815260040161073390611fc6565b60405180910390fd5b6001600160a01b0383163014156107955760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207472616e73666572206f757420546f6b656e313233210000006044820152606401610733565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108089190611ffb565b50505050565b600061081b84848461129b565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156108a05760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610733565b6108b485336108af868561202e565b611177565b60019150505b9392505050565b6000600a548211156109285760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610733565b600061093261153c565b90506108ba8184612045565b6000546001600160a01b031633146109685760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03811660009081526005602052604090205460ff166109d05760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610733565b60005b600654811015610af157816001600160a01b0316600682815481106109fa576109fa612067565b6000918252602090912001546001600160a01b03161415610adf5760068054610a259060019061202e565b81548110610a3557610a35612067565b600091825260209091200154600680546001600160a01b039092169183908110610a6157610a61612067565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610ab957610ab961207d565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610ae981612093565b9150506109d3565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916106ff9185906108af9086906120ae565b6000600954841115610b805760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610733565b82610b9d576000610b938560008561155f565b5191506108ba9050565b6000610bab8560018561155f565b6020015191506108ba9050565b6000546001600160a01b03163314610be25760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610c305760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03811660009081526005602052604090205460ff1615610c995760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610733565b6001600160a01b03811660009081526001602052604090205415610cf3576001600160a01b038116600090815260016020526040902054610cd9906108c1565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b03163314610d835760405162461bcd60e51b815260040161073390611fc6565b610d8f6012600a6121aa565b610d9990826121b9565b600b5550565b6001600160a01b03811660009081526005602052604081205460ff1615610ddc57506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610703906108c1565b6000546001600160a01b03163314610e285760405162461bcd60e51b815260040161073390611fc6565b610e3260006115d7565b565b6000546001600160a01b03163314610e5e5760405162461bcd60e51b815260040161073390611fc6565b80471015610eae5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610733565b604051339082156108fc029083906000818181858888f19350505050158015610af1573d6000803e3d6000fd5b6000546001600160a01b03163314610f055760405162461bcd60e51b815260040161073390611fc6565b600f82905560108190556040517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610fbe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610733565b610fcd33856108af868561202e565b5060019392505050565b60006106ff33848461129b565b6000546001600160a01b0316331461100e5760405162461bcd60e51b815260040161073390611fc6565b600d829055600e8190556040517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050565b6000546001600160a01b0316331461106f5760405162461bcd60e51b815260040161073390611fc6565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110bb5760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146111065760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03811661116b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610733565b611174816115d7565b50565b6001600160a01b0383166111d95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610733565b6001600160a01b03821661123a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610733565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610733565b6001600160a01b0382166113615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610733565b600081116113c35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610733565b6113cc83610d9f565b8111156114355760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610733565b6000600b5461144330610d9f565b600754911115915060ff1615801561145d575060135460ff165b80156114665750805b801561148057506008546001600160a01b03858116911614155b80156114a557506001600160a01b03841660009081526004602052604090205460ff16155b80156114ca57506001600160a01b03831660009081526004602052604090205460ff16155b156114da576114da600b54611627565b6001600160a01b0384166000908152600460205260409020546108089085908590859060ff168061152357506001600160a01b03871660009081526004602052604090205460ff165b6008549015906001600160a01b038981169116146116a1565b60008060006115496118f0565b90925090506115588183612045565b9250505090565b61159f6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6115aa848484611a73565b90506115bf8185856115ba61153c565b611b7b565b60608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6007805460ff19166001179055804761163f82611be6565b600061164b824761202e565b905080801561169057600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561168e573d6000803e3d6000fd5b505b50506007805460ff19169055505050565b60006116ae84848461155f565b6001600160a01b03871660009081526005602052604090205490915060ff1615611710576001600160a01b0386166000908152600260205260409020546116f690859061202e565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156117735760808101516001600160a01b03861660009081526002602052604090205461175991906120ae565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b038716600090815260016020526040902054611798919061202e565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546117cf91906120ae565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611801575060008160a00151115b156118185761181881604001518260a00151611d63565b60008160600151118061182f575060008160c00151115b156118465761184681606001518260c00151611d98565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836080015160405161188f91815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c001516040516118e091815260200190565b60405180910390a3505050505050565b600a546009546000918291825b600654811015611a425782600160006006848154811061191f5761191f612067565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061198a575081600260006006848154811061196357611963612067565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156119a057600a54600954945094505050509091565b60016000600683815481106119b7576119b7612067565b60009182526020808320909101546001600160a01b031683528201929092526040019020546119e6908461202e565b925060026000600683815481106119ff576119ff612067565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611a2e908361202e565b915080611a3a81612093565b9150506118fd565b50600954600a54611a539190612045565b821015611a6a57600a546009549350935050509091565b90939092509050565b611ab36040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b82611ac457608081018490526108ba565b60408051808201909152600080825260208201528215611afb575060408051808201909152600f5481526010546020820152611b14565b5060408051808201909152600d548152600e5460208201525b8051606490611b2390876121b9565b611b2d9190612045565b60a08301526020810151606490611b4490876121b9565b611b4e9190612045565b60c0830181905260a0830151611b64908761202e565b611b6e919061202e565b6080830152509392505050565b6000808080611b8a85886121b9565b935085611b9f57508291506000905080611bdb565b848860a00151611baf91906121b9565b9150848860c00151611bc191906121b9565b905080611bce838661202e565b611bd8919061202e565b92505b945094509450949050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c1b57611c1b612067565b60200260200101906001600160a01b031690816001600160a01b031681525050600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb291906121d8565b81600181518110611cc557611cc5612067565b6001600160a01b039283166020918202929092010152600754611cf091309161010090041684611177565b60075460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790611d2d9085906000908690309042906004016121f5565b600060405180830381600087803b158015611d4757600080fd5b505af1158015611d5b573d6000803e3d6000fd5b505050505050565b81600a6000828254611d75919061202e565b909155505060118054829190600090611d8f9084906120ae565b90915550505050565b8060116001016000828254611dad91906120ae565b90915550503060009081526005602052604090205460ff1615611def573060009081526002602052604081208054839290611de99084906120ae565b90915550505b3060009081526001602052604081208054849290611d8f9084906120ae565b600060208083528351808285015260005b81811015611e3b57858101830151858201604001528201611e1f565b81811115611e4d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461117457600080fd5b60008060408385031215611e8b57600080fd5b8235611e9681611e63565b946020939093013593505050565b600080600060608486031215611eb957600080fd5b8335611ec481611e63565b92506020840135611ed481611e63565b929592945050506040919091013590565b600060208284031215611ef757600080fd5b5035919050565b600060208284031215611f1057600080fd5b81356108ba81611e63565b801515811461117457600080fd5b600080600060608486031215611f3e57600080fd5b833592506020840135611f5081611f1b565b91506040840135611f6081611f1b565b809150509250925092565b60008060408385031215611f7e57600080fd5b50508035926020909101359150565b60008060408385031215611fa057600080fd5b8235611fab81611e63565b91506020830135611fbb81611e63565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561200d57600080fd5b81516108ba81611f1b565b634e487b7160e01b600052601160045260246000fd5b60008282101561204057612040612018565b500390565b60008261206257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60006000198214156120a7576120a7612018565b5060010190565b600082198211156120c1576120c1612018565b500190565b600181815b808511156121015781600019048211156120e7576120e7612018565b808516156120f457918102915b93841c93908002906120cb565b509250929050565b60008261211857506001610703565b8161212557506000610703565b816001811461213b576002811461214557612161565b6001915050610703565b60ff84111561215657612156612018565b50506001821b610703565b5060208310610133831016604e8410600b8410161715612184575081810a610703565b61218e83836120c6565b80600019048211156121a2576121a2612018565b029392505050565b60006108ba60ff841683612109565b60008160001904831182151516156121d3576121d3612018565b500290565b6000602082840312156121ea57600080fd5b81516108ba81611e63565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122455784516001600160a01b031683529383019391830191600101612220565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122062109f4b7b7f807c3aaabe8fe70053f59f2fce0681007111e0353111f5ba118d64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106101fd5760003560e01c806388f820201161010d578063a8aa1b31116100a0578063dd62ed3e1161006f578063dd62ed3e1461062c578063ea2f0b3714610672578063f2fde38b14610692578063f66895a3146106b2578063f887ea40146106cd57600080fd5b8063a8aa1b31146105ac578063a9059cbb146105cc578063aa35822c146105ec578063aacebbe31461060c57600080fd5b80639e252f00116100dc5780639e252f001461052c578063a11a16821461054c578063a457c2d71461056c578063a5ece9411461058c57600080fd5b806388f82020146104655780638da5cb5b1461049e578063912080e1146104d057806395d89b411461050057600080fd5b806339509351116101905780635342acb41161015f5780635342acb4146103c15780635988cb76146103fa5780635f1126ee1461041a57806370a0823114610430578063715018a61461045057600080fd5b806339509351146103415780633f63d40f14610361578063437823ec1461038157806352390c02146103a157600080fd5b806323b872dd116101cc57806323b872dd146102c55780632d838119146102e5578063313ce567146103055780633685d4191461032157600080fd5b806306fdde0314610209578063095ea7b3146102545780630d65df9b1461028457806318160ddd146102a657600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5060408051808201909152601081526f536e656b206f6e20457468657265756d60801b60208201525b60405161024b9190611e0e565b60405180910390f35b34801561026057600080fd5b5061027461026f366004611e78565b6106f2565b604051901515815260200161024b565b34801561029057600080fd5b506102a461029f366004611ea4565b610709565b005b3480156102b257600080fd5b506009545b60405190815260200161024b565b3480156102d157600080fd5b506102746102e0366004611ea4565b61080e565b3480156102f157600080fd5b506102b7610300366004611ee5565b6108c1565b34801561031157600080fd5b506040516012815260200161024b565b34801561032d57600080fd5b506102a461033c366004611efe565b61093e565b34801561034d57600080fd5b5061027461035c366004611e78565b610af5565b34801561036d57600080fd5b506102b761037c366004611f29565b610b2c565b34801561038d57600080fd5b506102a461039c366004611efe565b610bb8565b3480156103ad57600080fd5b506102a46103bc366004611efe565b610c06565b3480156103cd57600080fd5b506102746103dc366004611efe565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561040657600080fd5b506102a4610415366004611ee5565b610d59565b34801561042657600080fd5b506102b7600b5481565b34801561043c57600080fd5b506102b761044b366004611efe565b610d9f565b34801561045c57600080fd5b506102a4610dfe565b34801561047157600080fd5b50610274610480366004611efe565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156104aa57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161024b565b3480156104dc57600080fd5b50600d54600e546104eb919082565b6040805192835260208301919091520161024b565b34801561050c57600080fd5b5060408051808201909152600381526214105360ea1b602082015261023e565b34801561053857600080fd5b506102a4610547366004611ee5565b610e34565b34801561055857600080fd5b506102a4610567366004611f6b565b610edb565b34801561057857600080fd5b50610274610587366004611e78565b610f3c565b34801561059857600080fd5b50600c546104b8906001600160a01b031681565b3480156105b857600080fd5b506008546104b8906001600160a01b031681565b3480156105d857600080fd5b506102746105e7366004611e78565b610fd7565b3480156105f857600080fd5b506102a4610607366004611f6b565b610fe4565b34801561061857600080fd5b506102a4610627366004611efe565b611045565b34801561063857600080fd5b506102b7610647366004611f8d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067e57600080fd5b506102a461068d366004611efe565b611091565b34801561069e57600080fd5b506102a46106ad366004611efe565b6110dc565b3480156106be57600080fd5b50600f546010546104eb919082565b3480156106d957600080fd5b506007546104b89061010090046001600160a01b031681565b60006106ff338484611177565b5060015b92915050565b6000546001600160a01b0316331461073c5760405162461bcd60e51b815260040161073390611fc6565b60405180910390fd5b6001600160a01b0383163014156107955760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207472616e73666572206f757420546f6b656e313233210000006044820152606401610733565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108089190611ffb565b50505050565b600061081b84848461129b565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156108a05760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610733565b6108b485336108af868561202e565b611177565b60019150505b9392505050565b6000600a548211156109285760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610733565b600061093261153c565b90506108ba8184612045565b6000546001600160a01b031633146109685760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03811660009081526005602052604090205460ff166109d05760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610733565b60005b600654811015610af157816001600160a01b0316600682815481106109fa576109fa612067565b6000918252602090912001546001600160a01b03161415610adf5760068054610a259060019061202e565b81548110610a3557610a35612067565b600091825260209091200154600680546001600160a01b039092169183908110610a6157610a61612067565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610ab957610ab961207d565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610ae981612093565b9150506109d3565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916106ff9185906108af9086906120ae565b6000600954841115610b805760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610733565b82610b9d576000610b938560008561155f565b5191506108ba9050565b6000610bab8560018561155f565b6020015191506108ba9050565b6000546001600160a01b03163314610be25760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610c305760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03811660009081526005602052604090205460ff1615610c995760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610733565b6001600160a01b03811660009081526001602052604090205415610cf3576001600160a01b038116600090815260016020526040902054610cd9906108c1565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b03163314610d835760405162461bcd60e51b815260040161073390611fc6565b610d8f6012600a6121aa565b610d9990826121b9565b600b5550565b6001600160a01b03811660009081526005602052604081205460ff1615610ddc57506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610703906108c1565b6000546001600160a01b03163314610e285760405162461bcd60e51b815260040161073390611fc6565b610e3260006115d7565b565b6000546001600160a01b03163314610e5e5760405162461bcd60e51b815260040161073390611fc6565b80471015610eae5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610733565b604051339082156108fc029083906000818181858888f19350505050158015610af1573d6000803e3d6000fd5b6000546001600160a01b03163314610f055760405162461bcd60e51b815260040161073390611fc6565b600f82905560108190556040517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610fbe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610733565b610fcd33856108af868561202e565b5060019392505050565b60006106ff33848461129b565b6000546001600160a01b0316331461100e5760405162461bcd60e51b815260040161073390611fc6565b600d829055600e8190556040517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050565b6000546001600160a01b0316331461106f5760405162461bcd60e51b815260040161073390611fc6565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110bb5760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146111065760405162461bcd60e51b815260040161073390611fc6565b6001600160a01b03811661116b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610733565b611174816115d7565b50565b6001600160a01b0383166111d95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610733565b6001600160a01b03821661123a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610733565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610733565b6001600160a01b0382166113615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610733565b600081116113c35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610733565b6113cc83610d9f565b8111156114355760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610733565b6000600b5461144330610d9f565b600754911115915060ff1615801561145d575060135460ff165b80156114665750805b801561148057506008546001600160a01b03858116911614155b80156114a557506001600160a01b03841660009081526004602052604090205460ff16155b80156114ca57506001600160a01b03831660009081526004602052604090205460ff16155b156114da576114da600b54611627565b6001600160a01b0384166000908152600460205260409020546108089085908590859060ff168061152357506001600160a01b03871660009081526004602052604090205460ff165b6008549015906001600160a01b038981169116146116a1565b60008060006115496118f0565b90925090506115588183612045565b9250505090565b61159f6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6115aa848484611a73565b90506115bf8185856115ba61153c565b611b7b565b60608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6007805460ff19166001179055804761163f82611be6565b600061164b824761202e565b905080801561169057600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561168e573d6000803e3d6000fd5b505b50506007805460ff19169055505050565b60006116ae84848461155f565b6001600160a01b03871660009081526005602052604090205490915060ff1615611710576001600160a01b0386166000908152600260205260409020546116f690859061202e565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156117735760808101516001600160a01b03861660009081526002602052604090205461175991906120ae565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b038716600090815260016020526040902054611798919061202e565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546117cf91906120ae565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611801575060008160a00151115b156118185761181881604001518260a00151611d63565b60008160600151118061182f575060008160c00151115b156118465761184681606001518260c00151611d98565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836080015160405161188f91815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c001516040516118e091815260200190565b60405180910390a3505050505050565b600a546009546000918291825b600654811015611a425782600160006006848154811061191f5761191f612067565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061198a575081600260006006848154811061196357611963612067565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156119a057600a54600954945094505050509091565b60016000600683815481106119b7576119b7612067565b60009182526020808320909101546001600160a01b031683528201929092526040019020546119e6908461202e565b925060026000600683815481106119ff576119ff612067565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611a2e908361202e565b915080611a3a81612093565b9150506118fd565b50600954600a54611a539190612045565b821015611a6a57600a546009549350935050509091565b90939092509050565b611ab36040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b82611ac457608081018490526108ba565b60408051808201909152600080825260208201528215611afb575060408051808201909152600f5481526010546020820152611b14565b5060408051808201909152600d548152600e5460208201525b8051606490611b2390876121b9565b611b2d9190612045565b60a08301526020810151606490611b4490876121b9565b611b4e9190612045565b60c0830181905260a0830151611b64908761202e565b611b6e919061202e565b6080830152509392505050565b6000808080611b8a85886121b9565b935085611b9f57508291506000905080611bdb565b848860a00151611baf91906121b9565b9150848860c00151611bc191906121b9565b905080611bce838661202e565b611bd8919061202e565b92505b945094509450949050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c1b57611c1b612067565b60200260200101906001600160a01b031690816001600160a01b031681525050600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb291906121d8565b81600181518110611cc557611cc5612067565b6001600160a01b039283166020918202929092010152600754611cf091309161010090041684611177565b60075460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790611d2d9085906000908690309042906004016121f5565b600060405180830381600087803b158015611d4757600080fd5b505af1158015611d5b573d6000803e3d6000fd5b505050505050565b81600a6000828254611d75919061202e565b909155505060118054829190600090611d8f9084906120ae565b90915550505050565b8060116001016000828254611dad91906120ae565b90915550503060009081526005602052604090205460ff1615611def573060009081526002602052604081208054839290611de99084906120ae565b90915550505b3060009081526001602052604081208054849290611d8f9084906120ae565b600060208083528351808285015260005b81811015611e3b57858101830151858201604001528201611e1f565b81811115611e4d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461117457600080fd5b60008060408385031215611e8b57600080fd5b8235611e9681611e63565b946020939093013593505050565b600080600060608486031215611eb957600080fd5b8335611ec481611e63565b92506020840135611ed481611e63565b929592945050506040919091013590565b600060208284031215611ef757600080fd5b5035919050565b600060208284031215611f1057600080fd5b81356108ba81611e63565b801515811461117457600080fd5b600080600060608486031215611f3e57600080fd5b833592506020840135611f5081611f1b565b91506040840135611f6081611f1b565b809150509250925092565b60008060408385031215611f7e57600080fd5b50508035926020909101359150565b60008060408385031215611fa057600080fd5b8235611fab81611e63565b91506020830135611fbb81611e63565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561200d57600080fd5b81516108ba81611f1b565b634e487b7160e01b600052601160045260246000fd5b60008282101561204057612040612018565b500390565b60008261206257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60006000198214156120a7576120a7612018565b5060010190565b600082198211156120c1576120c1612018565b500190565b600181815b808511156121015781600019048211156120e7576120e7612018565b808516156120f457918102915b93841c93908002906120cb565b509250929050565b60008261211857506001610703565b8161212557506000610703565b816001811461213b576002811461214557612161565b6001915050610703565b60ff84111561215657612156612018565b50506001821b610703565b5060208310610133831016604e8410600b8410161715612184575081810a610703565b61218e83836120c6565b80600019048211156121a2576121a2612018565b029392505050565b60006108ba60ff841683612109565b60008160001904831182151516156121d3576121d3612018565b500290565b6000602082840312156121ea57600080fd5b81516108ba81611e63565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122455784516001600160a01b031683529383019391830191600101612220565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122062109f4b7b7f807c3aaabe8fe70053f59f2fce0681007111e0353111f5ba118d64736f6c634300080a0033
Deployed Bytecode Sourcemap
3212:14286:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5526:83;;;;;;;;;;-1:-1:-1;5596:5:0;;;;;;;;;;;;-1:-1:-1;;;5596:5:0;;;;5526:83;;;;;;;:::i;:::-;;;;;;;;6434:161;;;;;;;;;;-1:-1:-1;6434:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;6434:161:0;1072:187:1;17219:234:0;;;;;;;;;;-1:-1:-1;17219:234:0;;;;;:::i;:::-;;:::i;:::-;;5799:95;;;;;;;;;;-1:-1:-1;5879:7:0;;5799:95;;;1871:25:1;;;1859:2;1844:18;5799:95:0;1725:177:1;6603:422:0;;;;;;;;;;-1:-1:-1;6603:422:0;;;;;:::i;:::-;;:::i;8277:248::-;;;;;;;;;;-1:-1:-1;8277:248:0;;;;;:::i;:::-;;:::i;5708:83::-;;;;;;;;;;-1:-1:-1;5708:83:0;;3721:2;2234:36:1;;2222:2;2207:18;5708:83:0;2092:184:1;8874:475:0;;;;;;;;;;-1:-1:-1;8874:475:0;;;;;:::i;:::-;;:::i;7033:215::-;;;;;;;;;;-1:-1:-1;7033:215:0;;;;;:::i;:::-;;:::i;7769:500::-;;;;;;;;;;-1:-1:-1;7769:500:0;;;;;:::i;:::-;;:::i;9359:111::-;;;;;;;;;;-1:-1:-1;9359:111:0;;;;;:::i;:::-;;:::i;8533:333::-;;;;;;;;;;-1:-1:-1;8533:333:0;;;;;:::i;:::-;;:::i;9598:123::-;;;;;;;;;;-1:-1:-1;9598:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;9686:27:0;9662:4;9686:27;;;:18;:27;;;;;;;;;9598:123;16648:124;;;;;;;;;;-1:-1:-1;16648:124:0;;;;;:::i;:::-;;:::i;3908:59::-;;;;;;;;;;;;;;;;5902:198;;;;;;;;;;-1:-1:-1;5902:198:0;;;;;:::i;:::-;;:::i;1989:94::-;;;;;;;;;;;;;:::i;7641:120::-;;;;;;;;;;-1:-1:-1;7641:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;7733:20:0;7709:4;7733:20;;;:11;:20;;;;;;;;;7641:120;1766:87;;;;;;;;;;-1:-1:-1;1812:7:0;1839:6;-1:-1:-1;;;;;1839:6:0;1766:87;;;-1:-1:-1;;;;;3269:32:1;;;3251:51;;3239:2;3224:18;1766:87:0;3105:203:1;4276:34:0;;;;;;;;;;-1:-1:-1;4276:34:0;;;;;;;;;;;;;3487:25:1;;;3543:2;3528:18;;3521:34;;;;3460:18;4276:34:0;3313:248:1;5615:87:0;;;;;;;;;;-1:-1:-1;5687:7:0;;;;;;;;;;;;-1:-1:-1;;;5687:7:0;;;;5615:87;;16846:196;;;;;;;;;;-1:-1:-1;16846:196:0;;;;;:::i;:::-;;:::i;9943:205::-;;;;;;;;;;-1:-1:-1;9943:205:0;;;;;:::i;:::-;;:::i;7256:377::-;;;;;;;;;;-1:-1:-1;7256:377:0;;;;;:::i;:::-;;:::i;3976:76::-;;;;;;;;;;-1:-1:-1;3976:76:0;;;;-1:-1:-1;;;;;3976:76:0;;;3658:19;;;;;;;;;;-1:-1:-1;3658:19:0;;;;-1:-1:-1;;;;;3658:19:0;;;6108:167;;;;;;;;;;-1:-1:-1;6108:167:0;;;;;:::i;:::-;;:::i;9729:202::-;;;;;;;;;;-1:-1:-1;9729:202:0;;;;;:::i;:::-;;:::i;16525:115::-;;;;;;;;;;-1:-1:-1;16525:115:0;;;;;:::i;:::-;;:::i;6283:143::-;;;;;;;;;;-1:-1:-1;6283:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6391:18:0;;;6364:7;6391:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6283:143;9478:110;;;;;;;;;;-1:-1:-1;9478:110:0;;;;;:::i;:::-;;:::i;2091:192::-;;;;;;;;;;-1:-1:-1;2091:192:0;;;;;:::i;:::-;;:::i;4317:35::-;;;;;;;;;;-1:-1:-1;4317:35:0;;;;;;;;;3630:21;;;;;;;;;;-1:-1:-1;3630:21:0;;;;;;;-1:-1:-1;;;;;3630:21:0;;;6434:161;6509:4;6526:39;1267:10;6549:7;6558:6;6526:8;:39::i;:::-;-1:-1:-1;6583:4:0;6434:161;;;;;:::o;17219:234::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;17332:27:0;::::1;17354:4;17332:27;;17324:69;;;::::0;-1:-1:-1;;;17324:69:0;;4998:2:1;17324:69:0::1;::::0;::::1;4980:21:1::0;5037:2;5017:18;;;5010:30;5076:31;5056:18;;;5049:59;5125:18;;17324:69:0::1;4796:353:1::0;17324:69:0::1;17404:41;::::0;-1:-1:-1;;;17404:41:0;;-1:-1:-1;;;;;5346:32:1;;;17404:41:0::1;::::0;::::1;5328:51:1::0;5395:18;;;5388:34;;;17404:27:0;::::1;::::0;::::1;::::0;5301:18:1;;17404:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17219:234:::0;;;:::o;6603:422::-;6709:4;6726:36;6736:6;6744:9;6755:6;6726:9;:36::i;:::-;-1:-1:-1;;;;;6802:19:0;;6775:24;6802:19;;;:11;:19;;;;;;;;1267:10;6802:33;;;;;;;;6854:26;;;;6846:79;;;;-1:-1:-1;;;6846:79:0;;5885:2:1;6846:79:0;;;5867:21:1;5924:2;5904:18;;;5897:30;5963:34;5943:18;;;5936:62;-1:-1:-1;;;6014:18:1;;;6007:38;6062:19;;6846:79:0;5683:404:1;6846:79:0;6936:57;6945:6;1267:10;6967:25;6986:6;6967:16;:25;:::i;:::-;6936:8;:57::i;:::-;7013:4;7006:11;;;6603:422;;;;;;:::o;8277:248::-;8343:7;8382;;8371;:18;;8363:73;;;;-1:-1:-1;;;8363:73:0;;6556:2:1;8363:73:0;;;6538:21:1;6595:2;6575:18;;;6568:30;6634:34;6614:18;;;6607:62;-1:-1:-1;;;6685:18:1;;;6678:40;6735:19;;8363:73:0;6354:406:1;8363:73:0;8447:19;8470:10;:8;:10::i;:::-;8447:33;-1:-1:-1;8498:19:0;8447:33;8498:7;:19;:::i;8874:475::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8956:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;8948:56;;;::::0;-1:-1:-1;;;8948:56:0;;7189:2:1;8948:56:0::1;::::0;::::1;7171:21:1::0;7228:2;7208:18;;;7201:30;7267:25;7247:18;;;7240:53;7310:18;;8948:56:0::1;6987:347:1::0;8948:56:0::1;9020:9;9015:327;9039:9;:16:::0;9035:20;::::1;9015:327;;;9097:7;-1:-1:-1::0;;;;;9081:23:0::1;:9;9091:1;9081:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;9081:12:0::1;:23;9077:254;;;9140:9;9150:16:::0;;:20:::1;::::0;9169:1:::1;::::0;9150:20:::1;:::i;:::-;9140:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;9125:9:::1;:12:::0;;-1:-1:-1;;;;;9140:31:0;;::::1;::::0;9135:1;;9125:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;9125:46:0::1;-1:-1:-1::0;;;;;9125:46:0;;::::1;;::::0;;9190:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;9229:11:::1;:20:::0;;;;:28;;-1:-1:-1;;9229:28:0::1;::::0;;9276:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;9276:15:0;;;;;-1:-1:-1;;;;;;9276:15:0::1;::::0;;;;;9015:327:::1;8874:475:::0;:::o;9077:254::-:1;9057:3:::0;::::1;::::0;::::1;:::i;:::-;;;;9015:327;;;;8874:475:::0;:::o;7033:215::-;1267:10;7121:4;7170:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7170:34:0;;;;;;;;;;7121:4;;7138:80;;7161:7;;7170:47;;7207:10;;7170:47;:::i;7769:500::-;7879:7;7918;;7907;:18;;7899:62;;;;-1:-1:-1;;;7899:62:0;;8078:2:1;7899:62:0;;;8060:21:1;8117:2;8097:18;;;8090:30;8156:33;8136:18;;;8129:61;8207:18;;7899:62:0;7876:355:1;7899:62:0;7977:24;7972:290;;8018:28;8049:34;8060:7;8069:5;8076:6;8049:10;:34::i;:::-;8105:9;;-1:-1:-1;8098:16:0;;-1:-1:-1;8098:16:0;7972:290;8147:28;8178:33;8189:7;8198:4;8204:6;8178:10;:33::i;:::-;8233:17;;;;-1:-1:-1;8226:24:0;;-1:-1:-1;8226:24:0;9359:111;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9428:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;9428:34:0::1;9458:4;9428:34;::::0;;9359:111::o;8533:333::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8616:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;8615:21;8607:61;;;::::0;-1:-1:-1;;;8607:61:0;;8438:2:1;8607:61:0::1;::::0;::::1;8420:21:1::0;8477:2;8457:18;;;8450:30;8516:29;8496:18;;;8489:57;8563:18;;8607:61:0::1;8236:351:1::0;8607:61:0::1;-1:-1:-1::0;;;;;8682:16:0;::::1;8701:1;8682:16:::0;;;:7:::1;:16;::::0;;;;;:20;8679:108:::1;;-1:-1:-1::0;;;;;8758:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;8738:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;8719:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;8679:108:::1;-1:-1:-1::0;;;;;8797:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;8797:27:0::1;8820:4;8797:27:::0;;::::1;::::0;;;8835:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;8835:23:0::1;::::0;;::::1;::::0;;8533:333::o;16648:124::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;16751:13:::1;3721:2;16751;:13;:::i;:::-;16742:22;::::0;:6;:22:::1;:::i;:::-;16724:15;:40:::0;-1:-1:-1;16648:124:0:o;5902:198::-;-1:-1:-1;;;;;5992:20:0;;5968:7;5992:20;;;:11;:20;;;;;;;;5988:49;;;-1:-1:-1;;;;;;6021:16:0;;;;;:7;:16;;;;;;;5902:198::o;5988:49::-;-1:-1:-1;;;;;6075:16:0;;;;;;:7;:16;;;;;;6055:37;;:19;:37::i;1989:94::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;2054:21:::1;2072:1;2054:9;:21::i;:::-;1989:94::o:0;16846:196::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;16946:9:::1;16921:21;:34;;16913:71;;;::::0;-1:-1:-1;;;16913:71:0;;10350:2:1;16913:71:0::1;::::0;::::1;10332:21:1::0;10389:2;10369:18;;;10362:30;10428:26;10408:18;;;10401:54;10472:18;;16913:71:0::1;10148:348:1::0;16913:71:0::1;16995:39;::::0;17003:10:::1;::::0;16995:39;::::1;;;::::0;17024:9;;16995:39:::1;::::0;;;17024:9;17003:10;16995:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;9943:205:::0;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;10034:9:::1;:34:::0;;;10079:19;:32;;;10127:13:::1;::::0;::::1;::::0;10034:20:::1;::::0;10127:13:::1;9943:205:::0;;:::o;7256:377::-;1267:10;7349:4;7393:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7393:34:0;;;;;;;;;;7446:35;;;;7438:85;;;;-1:-1:-1;;;7438:85:0;;10703:2:1;7438:85:0;;;10685:21:1;10742:2;10722:18;;;10715:30;10781:34;10761:18;;;10754:62;-1:-1:-1;;;10832:18:1;;;10825:35;10877:19;;7438:85:0;10501:401:1;7438:85:0;7534:67;1267:10;7557:7;7566:34;7585:15;7566:16;:34;:::i;7534:67::-;-1:-1:-1;7621:4:0;;7256:377;-1:-1:-1;;;7256:377:0:o;6108:167::-;6186:4;6203:42;1267:10;6227:9;6238:6;6203:9;:42::i;9729:202::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;9819:8:::1;:33:::0;;;9863:18;:31;;;9910:13:::1;::::0;::::1;::::0;9819:19:::1;::::0;9910:13:::1;9729:202:::0;;:::o;16525:115::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;16604:16:::1;:28:::0;;-1:-1:-1;;;;;;16604:28:0::1;-1:-1:-1::0;;;;;16604:28:0;;;::::1;::::0;;;::::1;::::0;;16525:115::o;9478:110::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9545:27:0::1;9575:5;9545:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;9545:35:0::1;::::0;;9478:110::o;2091:192::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;1267:10;1901:23;1893:68;;;;-1:-1:-1;;;1893:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2180:22:0;::::1;2172:73;;;::::0;-1:-1:-1;;;2172:73:0;;11109:2:1;2172:73:0::1;::::0;::::1;11091:21:1::0;11148:2;11128:18;;;11121:30;11187:34;11167:18;;;11160:62;-1:-1:-1;;;11238:18:1;;;11231:36;11284:19;;2172:73:0::1;10907:402:1::0;2172:73:0::1;2256:19;2266:8;2256:9;:19::i;:::-;2091:192:::0;:::o;12817:335::-;-1:-1:-1;;;;;12910:19:0;;12902:68;;;;-1:-1:-1;;;12902:68:0;;11516:2:1;12902:68:0;;;11498:21:1;11555:2;11535:18;;;11528:30;11594:34;11574:18;;;11567:62;-1:-1:-1;;;11645:18:1;;;11638:34;11689:19;;12902:68:0;11314:400:1;12902:68:0;-1:-1:-1;;;;;12989:21:0;;12981:68;;;;-1:-1:-1;;;12981:68:0;;11921:2:1;12981:68:0;;;11903:21:1;11960:2;11940:18;;;11933:30;11999:34;11979:18;;;11972:62;-1:-1:-1;;;12050:18:1;;;12043:32;12092:19;;12981:68:0;11719:398:1;12981:68:0;-1:-1:-1;;;;;13060:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13112:32;;1871:25:1;;;13112:32:0;;1844:18:1;13112:32:0;;;;;;;12817:335;;;:::o;13160:786::-;-1:-1:-1;;;;;13248:18:0;;13240:68;;;;-1:-1:-1;;;13240:68:0;;12324:2:1;13240:68:0;;;12306:21:1;12363:2;12343:18;;;12336:30;12402:34;12382:18;;;12375:62;-1:-1:-1;;;12453:18:1;;;12446:35;12498:19;;13240:68:0;12122:401:1;13240:68:0;-1:-1:-1;;;;;13327:16:0;;13319:64;;;;-1:-1:-1;;;13319:64:0;;12730:2:1;13319:64:0;;;12712:21:1;12769:2;12749:18;;;12742:30;12808:34;12788:18;;;12781:62;-1:-1:-1;;;12859:18:1;;;12852:33;12902:19;;13319:64:0;12528:399:1;13319:64:0;13411:1;13402:6;:10;13394:64;;;;-1:-1:-1;;;13394:64:0;;13134:2:1;13394:64:0;;;13116:21:1;13173:2;13153:18;;;13146:30;13212:34;13192:18;;;13185:62;-1:-1:-1;;;13263:18:1;;;13256:39;13312:19;;13394:64:0;12932:405:1;13394:64:0;13487:15;13497:4;13487:9;:15::i;:::-;13477:6;:25;;13469:86;;;;-1:-1:-1;;;13469:86:0;;13544:2:1;13469:86:0;;;13526:21:1;13583:2;13563:18;;;13556:30;13622:34;13602:18;;;13595:62;-1:-1:-1;;;13673:18:1;;;13666:47;13730:19;;13469:86:0;13342:413:1;13469:86:0;13589:12;13632:15;;13604:24;13622:4;13604:9;:24::i;:::-;13662:8;;13604:43;-1:-1:-1;13604:43:0;;-1:-1:-1;13662:8:0;;13661:9;:24;;;;-1:-1:-1;13674:11:0;;;;13661:24;:35;;;;;13689:7;13661:35;:51;;;;-1:-1:-1;13708:4:0;;-1:-1:-1;;;;;13700:12:0;;;13708:4;;13700:12;;13661:51;:80;;;;-1:-1:-1;;;;;;13717:24:0;;;;;;:18;:24;;;;;;;;13716:25;13661:80;:107;;;;-1:-1:-1;;;;;;13746:22:0;;;;;;:18;:22;;;;;;;;13745:23;13661:107;13658:169;;;13784:31;13799:15;;13784:14;:31::i;:::-;-1:-1:-1;;;;;13874:24:0;;;;;;:18;:24;;;;;;13839:99;;13854:4;;13860:2;;13864:6;;13874:24;;;:50;;-1:-1:-1;;;;;;13902:22:0;;;;;;:18;:22;;;;;;;;13874:50;13933:4;;13872:53;;;-1:-1:-1;;;;;13927:10:0;;;13933:4;;13927:10;13839:14;:99::i;12103:158::-;12144:7;12165:15;12182;12201:19;:17;:19::i;:::-;12164:56;;-1:-1:-1;12164:56:0;-1:-1:-1;12238:15:0;12164:56;;12238:15;:::i;:::-;12231:22;;;;12103:158;:::o;10621:376::-;10707:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10707:36:0;10768:37;10780:7;10789;10798:6;10768:11;:37::i;:::-;10756:49;;10910:52;10922:9;10933:7;10942;10951:10;:8;:10::i;:::-;10910:11;:52::i;:::-;10886:20;;;10816:146;10863:21;;;10816:146;10836:25;;;10816:146;;;10621:376;;;;;:::o;2291:173::-;2347:16;2366:6;;-1:-1:-1;;;;;2383:17:0;;;-1:-1:-1;;;;;;2383:17:0;;;;;;2416:40;;2366:6;;;;;;;2416:40;;2347:16;2416:40;2336:128;2291:173;:::o;15001:432::-;4802:8;:15;;-1:-1:-1;;4802:15:0;4813:4;4802:15;;;15088:6;15132:21:::1;15166:24;15088:6:::0;15166:16:::1;:24::i;:::-;15203:23;15229:38;15253:14:::0;15229:21:::1;:38;:::i;:::-;15203:64:::0;-1:-1:-1;15203:64:0;15334:16;;15331:95:::1;;15374:16;::::0;15366:48:::1;::::0;-1:-1:-1;;;;;15374:16:0;;::::1;::::0;15366:48;::::1;;;::::0;15401:12;;15374:16:::1;15366:48:::0;15374:16;15366:48;15401:12;15374:16;15366:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15331:95;-1:-1:-1::0;;4840:8:0;:16;;-1:-1:-1;;4840:16:0;;;-1:-1:-1;;;15001:432:0:o;14031:962::-;14153:28;14184:36;14195:7;14204;14213:6;14184:10;:36::i;:::-;-1:-1:-1;;;;;14237:19:0;;;;;;:11;:19;;;;;;14153:67;;-1:-1:-1;14237:19:0;;14233:115;;;-1:-1:-1;;;;;14313:15:0;;;;;;:7;:15;;;;;;:23;;14329:7;;14313:23;:::i;:::-;-1:-1:-1;;;;;14295:15:0;;;;;;:7;:15;;;;;:41;14233:115;-1:-1:-1;;;;;14362:22:0;;;;;;:11;:22;;;;;;;;14358:130;;;14459:17;;;;-1:-1:-1;;;;;14440:18:0;;;;;;:7;:18;;;;;;:36;;14459:17;14440:36;:::i;:::-;-1:-1:-1;;;;;14419:18:0;;;;;;:7;:18;;;;;:57;14358:130;14534:9;;-1:-1:-1;;;;;14518:15:0;;14534:9;14518:15;;;:7;:15;;;;;;:25;;14534:9;14518:25;:::i;:::-;-1:-1:-1;;;;;14500:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;14594:17;;;14575:18;;;;;;;;;;:36;;14594:17;14575:36;:::i;:::-;-1:-1:-1;;;;;14554:18:0;;;;;;:7;:18;;;;;;;:57;;;;14635:13;;;:17;;;:38;;;14672:1;14656;:13;;;:17;14635:38;14632:91;;;14675:48;14694:1;:13;;;14709:1;:13;;;14675:18;:48::i;:::-;14752:1;14737;:12;;;:16;:36;;;;14772:1;14757;:12;;;:16;14737:36;14734:109;;;14789:42;14804:1;:12;;;14818:1;:12;;;14789:14;:42::i;:::-;14885:9;-1:-1:-1;;;;;14868:46:0;14877:6;-1:-1:-1;;;;;14868:46:0;;14896:1;:17;;;14868:46;;;;1871:25:1;;1859:2;1844:18;;1725:177;14868:46:0;;;;;;;;14955:4;-1:-1:-1;;;;;14930:45:0;14939:6;-1:-1:-1;;;;;14930:45:0;;14962:1;:12;;;14930:45;;;;1871:25:1;;1859:2;1844:18;;1725:177;14930:45:0;;;;;;;;14142:851;14031:962;;;;;:::o;12269:540::-;12366:7;;12402;;12319;;;;;12420:279;12444:9;:16;12440:20;;12420:279;;;12510:7;12486;:21;12494:9;12504:1;12494:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12494:12:0;12486:21;;;;;;;;;;;;;:31;;:66;;;12545:7;12521;:21;12529:9;12539:1;12529:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12529:12:0;12521:21;;;;;;;;;;;;;:31;12486:66;12482:97;;;12562:7;;12571;;12554:25;;;;;;;12269:540;;:::o;12482:97::-;12612:7;:21;12620:9;12630:1;12620:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12620:12:0;12612:21;;;;;;;;;;;;;12604:29;;:7;:29;:::i;:::-;12594:39;;12666:7;:21;12674:9;12684:1;12674:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12674:12:0;12666:21;;;;;;;;;;;;;12658:29;;:7;:29;:::i;:::-;12648:39;-1:-1:-1;12462:3:0;;;;:::i;:::-;;;;12420:279;;;;12731:7;;12723;;:15;;;;:::i;:::-;12713:7;:25;12709:56;;;12748:7;;12757;;12740:25;;;;;;12269:540;;:::o;12709:56::-;12784:7;;12793;;-1:-1:-1;12269:540:0;-1:-1:-1;12269:540:0:o;11005:520::-;11092:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11092:28:0;11139:7;11135:86;;11161:17;;;:27;;;11201:8;;11135:86;-1:-1:-1;;;;;;;;;;;;;;;;;11262:6:0;11259:58;;;-1:-1:-1;11270:16:0;;;;;;;;;11277:9;11270:16;;;;;;;;;11259:58;;;-1:-1:-1;11302:15:0;;;;;;;;;11309:8;11302:15;;;;;;;;;11259:58;11362:15;;11378:3;;11354:23;;:7;:23;:::i;:::-;:27;;;;:::i;:::-;11338:13;;;:43;11415:14;;;;11430:3;;11407:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;11392:12;;;:41;;;11472:13;;;;11464:21;;:7;:21;:::i;:::-;:34;;;;:::i;:::-;11444:17;;;:54;-1:-1:-1;11005:520:0;;;;;:::o;11533:562::-;11658:15;;;;11761:19;11769:11;11761:7;:19;:::i;:::-;11751:29;;11797:7;11793:67;;-1:-1:-1;11826:7:0;;-1:-1:-1;11844:1:0;;-1:-1:-1;11844:1:0;11819:29;;11793:67;11900:11;11886:1;:13;;;:25;;;;:::i;:::-;11872:39;;11948:11;11935:1;:12;;;:24;;;;:::i;:::-;11922:37;-1:-1:-1;11922:37:0;11989:19;11997:11;11989:7;:19;:::i;:::-;:30;;;;:::i;:::-;11970:49;;11533:562;;;;;;;;;;:::o;15949:::-;16099:16;;;16113:1;16099:16;;;;;;;;16075:21;;16099:16;;;;;;;;;;-1:-1:-1;16099:16:0;16075:40;;16144:4;16126;16131:1;16126:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;16126:23:0;;;-1:-1:-1;;;;;16126:23:0;;;;;16170:6;;;;;;;;;-1:-1:-1;;;;;16170:6:0;-1:-1:-1;;;;;16170:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16160:4;16165:1;16160:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16160:23:0;;;:7;;;;;;;;;:23;16228:6;;16196:53;;16213:4;;16228:6;;;;16237:11;16196:8;:53::i;:::-;16288:6;;:215;;-1:-1:-1;;;16288:215:0;;:6;;;;-1:-1:-1;;;;;16288:6:0;;:57;;:215;;16360:11;;16386:1;;16430:4;;16457;;16477:15;;16288:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16004:507;15949:562;:::o;10156:165::-;10255:11;10245:7;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;10277:11:0;:36;;10302:11;;10277;:22;;:36;;10302:11;;10277:36;:::i;:::-;;;;-1:-1:-1;;;;10156:165:0:o;10329:284::-;10436:10;10412:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;10482:4:0;10462:26;;;;:11;:26;;;;;;;;10459:101;;;10530:4;10514:22;;;;:7;:22;;;;;:34;;10538:10;;10514:22;:34;;10538:10;;10514:34;:::i;:::-;;;;-1:-1:-1;;10459:101:0;10586:4;10570:22;;;;:7;:22;;;;;:35;;10595:10;;10570:22;:35;;10595:10;;10570:35;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:456::-;1341:6;1349;1357;1410:2;1398:9;1389:7;1385:23;1381:32;1378:52;;;1426:1;1423;1416:12;1378:52;1465:9;1452:23;1484:31;1509:5;1484:31;:::i;:::-;1534:5;-1:-1:-1;1591:2:1;1576:18;;1563:32;1604:33;1563:32;1604:33;:::i;:::-;1264:456;;1656:7;;-1:-1:-1;;;1710:2:1;1695:18;;;;1682:32;;1264:456::o;1907:180::-;1966:6;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;-1:-1:-1;2058:23:1;;1907:180;-1:-1:-1;1907:180:1:o;2281:247::-;2340:6;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;2448:9;2435:23;2467:31;2492:5;2467:31;:::i;2533:118::-;2619:5;2612:13;2605:21;2598:5;2595:32;2585:60;;2641:1;2638;2631:12;2656:444;2727:6;2735;2743;2796:2;2784:9;2775:7;2771:23;2767:32;2764:52;;;2812:1;2809;2802:12;2764:52;2848:9;2835:23;2825:33;;2908:2;2897:9;2893:18;2880:32;2921:28;2943:5;2921:28;:::i;:::-;2968:5;-1:-1:-1;3025:2:1;3010:18;;2997:32;3038:30;2997:32;3038:30;:::i;:::-;3087:7;3077:17;;;2656:444;;;;;:::o;3566:248::-;3634:6;3642;3695:2;3683:9;3674:7;3670:23;3666:32;3663:52;;;3711:1;3708;3701:12;3663:52;-1:-1:-1;;3734:23:1;;;3804:2;3789:18;;;3776:32;;-1:-1:-1;3566:248:1:o;3819:388::-;3887:6;3895;3948:2;3936:9;3927:7;3923:23;3919:32;3916:52;;;3964:1;3961;3954:12;3916:52;4003:9;3990:23;4022:31;4047:5;4022:31;:::i;:::-;4072:5;-1:-1:-1;4129:2:1;4114:18;;4101:32;4142:33;4101:32;4142:33;:::i;:::-;4194:7;4184:17;;;3819:388;;;;;:::o;4435:356::-;4637:2;4619:21;;;4656:18;;;4649:30;4715:34;4710:2;4695:18;;4688:62;4782:2;4767:18;;4435:356::o;5433:245::-;5500:6;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5601:9;5595:16;5620:28;5642:5;5620:28;:::i;6092:127::-;6153:10;6148:3;6144:20;6141:1;6134:31;6184:4;6181:1;6174:15;6208:4;6205:1;6198:15;6224:125;6264:4;6292:1;6289;6286:8;6283:34;;;6297:18;;:::i;:::-;-1:-1:-1;6334:9:1;;6224:125::o;6765:217::-;6805:1;6831;6821:132;;6875:10;6870:3;6866:20;6863:1;6856:31;6910:4;6907:1;6900:15;6938:4;6935:1;6928:15;6821:132;-1:-1:-1;6967:9:1;;6765:217::o;7339:127::-;7400:10;7395:3;7391:20;7388:1;7381:31;7431:4;7428:1;7421:15;7455:4;7452:1;7445:15;7471:127;7532:10;7527:3;7523:20;7520:1;7513:31;7563:4;7560:1;7553:15;7587:4;7584:1;7577:15;7603:135;7642:3;-1:-1:-1;;7663:17:1;;7660:43;;;7683:18;;:::i;:::-;-1:-1:-1;7730:1:1;7719:13;;7603:135::o;7743:128::-;7783:3;7814:1;7810:6;7807:1;7804:13;7801:39;;;7820:18;;:::i;:::-;-1:-1:-1;7856:9:1;;7743:128::o;8592:422::-;8681:1;8724:5;8681:1;8738:270;8759:7;8749:8;8746:21;8738:270;;;8818:4;8814:1;8810:6;8806:17;8800:4;8797:27;8794:53;;;8827:18;;:::i;:::-;8877:7;8867:8;8863:22;8860:55;;;8897:16;;;;8860:55;8976:22;;;;8936:15;;;;8738:270;;;8742:3;8592:422;;;;;:::o;9019:806::-;9068:5;9098:8;9088:80;;-1:-1:-1;9139:1:1;9153:5;;9088:80;9187:4;9177:76;;-1:-1:-1;9224:1:1;9238:5;;9177:76;9269:4;9287:1;9282:59;;;;9355:1;9350:130;;;;9262:218;;9282:59;9312:1;9303:10;;9326:5;;;9350:130;9387:3;9377:8;9374:17;9371:43;;;9394:18;;:::i;:::-;-1:-1:-1;;9450:1:1;9436:16;;9465:5;;9262:218;;9564:2;9554:8;9551:16;9545:3;9539:4;9536:13;9532:36;9526:2;9516:8;9513:16;9508:2;9502:4;9499:12;9495:35;9492:77;9489:159;;;-1:-1:-1;9601:19:1;;;9633:5;;9489:159;9680:34;9705:8;9699:4;9680:34;:::i;:::-;9750:6;9746:1;9742:6;9738:19;9729:7;9726:32;9723:58;;;9761:18;;:::i;:::-;9799:20;;9019:806;-1:-1:-1;;;9019:806:1:o;9830:140::-;9888:5;9917:47;9958:4;9948:8;9944:19;9938:4;9917:47;:::i;9975:168::-;10015:7;10081:1;10077;10073:6;10069:14;10066:1;10063:21;10058:1;10051:9;10044:17;10040:45;10037:71;;;10088:18;;:::i;:::-;-1:-1:-1;10128:9:1;;9975:168::o;13892:251::-;13962:6;14015:2;14003:9;13994:7;13990:23;13986:32;13983:52;;;14031:1;14028;14021:12;13983:52;14063:9;14057:16;14082:31;14107:5;14082:31;:::i;14148:980::-;14410:4;14458:3;14447:9;14443:19;14489:6;14478:9;14471:25;14515:2;14553:6;14548:2;14537:9;14533:18;14526:34;14596:3;14591:2;14580:9;14576:18;14569:31;14620:6;14655;14649:13;14686:6;14678;14671:22;14724:3;14713:9;14709:19;14702:26;;14763:2;14755:6;14751:15;14737:29;;14784:1;14794:195;14808:6;14805:1;14802:13;14794:195;;;14873:13;;-1:-1:-1;;;;;14869:39:1;14857:52;;14964:15;;;;14929:12;;;;14905:1;14823:9;14794:195;;;-1:-1:-1;;;;;;;15045:32:1;;;;15040:2;15025:18;;15018:60;-1:-1:-1;;;15109:3:1;15094:19;15087:35;15006:3;14148:980;-1:-1:-1;;;14148:980:1:o
Swarm Source
ipfs://62109f4b7b7f807c3aaabe8fe70053f59f2fce0681007111e0353111f5ba118d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.