Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 76 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 18280428 | 877 days ago | IN | 0 ETH | 0.00014668 | ||||
| Approve | 18280428 | 877 days ago | IN | 0 ETH | 0.00025648 | ||||
| Approve | 18272786 | 878 days ago | IN | 0 ETH | 0.00050149 | ||||
| Approve | 18272375 | 878 days ago | IN | 0 ETH | 0.00073898 | ||||
| Approve | 18272340 | 878 days ago | IN | 0 ETH | 0.00081713 | ||||
| Approve | 18271878 | 878 days ago | IN | 0 ETH | 0.00103205 | ||||
| Approve | 18271412 | 879 days ago | IN | 0 ETH | 0.00125393 | ||||
| Approve | 18271371 | 879 days ago | IN | 0 ETH | 0.00156429 | ||||
| Approve | 18271336 | 879 days ago | IN | 0 ETH | 0.00078663 | ||||
| Approve | 18271237 | 879 days ago | IN | 0 ETH | 0.00129267 | ||||
| Approve | 18271173 | 879 days ago | IN | 0 ETH | 0.00195538 | ||||
| Approve | 18271162 | 879 days ago | IN | 0 ETH | 0.00152928 | ||||
| Approve | 18271129 | 879 days ago | IN | 0 ETH | 0.00124317 | ||||
| Approve | 18271127 | 879 days ago | IN | 0 ETH | 0.00132593 | ||||
| Approve | 18271124 | 879 days ago | IN | 0 ETH | 0.00128399 | ||||
| Approve | 18271114 | 879 days ago | IN | 0 ETH | 0.00109236 | ||||
| Approve | 18271107 | 879 days ago | IN | 0 ETH | 0.00123338 | ||||
| Approve | 18271101 | 879 days ago | IN | 0 ETH | 0.00119388 | ||||
| Transfer | 18271096 | 879 days ago | IN | 0 ETH | 0.00209092 | ||||
| Approve | 18271091 | 879 days ago | IN | 0 ETH | 0.00121845 | ||||
| Approve | 18271090 | 879 days ago | IN | 0 ETH | 0.00100651 | ||||
| Approve | 18271088 | 879 days ago | IN | 0 ETH | 0.00116198 | ||||
| Renounce Ownersh... | 18271087 | 879 days ago | IN | 0 ETH | 0.00051635 | ||||
| Approve | 18271087 | 879 days ago | IN | 0 ETH | 0.00125897 | ||||
| Update Tax Break... | 18271086 | 879 days ago | IN | 0 ETH | 0.00087844 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 18271206 | 879 days ago | 0.02125914 ETH | ||||
| Transfer | 18271206 | 879 days ago | 0.02125914 ETH | ||||
| Transfer | 18271206 | 879 days ago | 0.04251828 ETH | ||||
| Transfer | 18271105 | 879 days ago | 0.0229878 ETH | ||||
| Transfer | 18271105 | 879 days ago | 0.0229878 ETH | ||||
| Transfer | 18271105 | 879 days ago | 0.04597561 ETH | ||||
| Transfer | 18271079 | 879 days ago | 0.04524585 ETH | ||||
| Transfer | 18271079 | 879 days ago | 0.04524585 ETH | ||||
| Transfer | 18271079 | 879 days ago | 0.09049171 ETH | ||||
| Transfer | 18271078 | 879 days ago | 0.05037209 ETH | ||||
| Transfer | 18271078 | 879 days ago | 0.05037209 ETH | ||||
| Transfer | 18271078 | 879 days ago | 0.10074419 ETH | ||||
| Transfer | 18271073 | 879 days ago | 0.0510089 ETH | ||||
| Transfer | 18271073 | 879 days ago | 0.0510089 ETH | ||||
| Transfer | 18271073 | 879 days ago | 0.1020178 ETH | ||||
| Transfer | 18271071 | 879 days ago | 0.05279831 ETH | ||||
| Transfer | 18271071 | 879 days ago | 0.05279831 ETH | ||||
| Transfer | 18271071 | 879 days ago | 0.10559662 ETH | ||||
| Transfer | 18271066 | 879 days ago | 0.043328 ETH | ||||
| Transfer | 18271066 | 879 days ago | 0.043328 ETH | ||||
| Transfer | 18271066 | 879 days ago | 0.086656 ETH | ||||
| Transfer | 18271066 | 879 days ago | 0.05079726 ETH | ||||
| Transfer | 18271066 | 879 days ago | 0.05079726 ETH | ||||
| Transfer | 18271066 | 879 days ago | 0.10159453 ETH | ||||
| Transfer | 18271052 | 879 days ago | 0.01882372 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MonaCoinClassic
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-10-03
*/
/**
https://twitter.com/MonaCoinClassic
https://monacoin-classic.com/
https://t.me/mona_portalerc
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.20;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
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);
}
function _msgData() internal view virtual returns (bytes memory) {
this;
return msg.data;
}
}
contract Ownable is Context {
address public _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
authorizations[_owner] = true;
emit OwnershipTransferred(address(0), msgSender);
}
mapping (address => bool) internal authorizations;
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
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 MonaCoinClassic is Ownable, ERC20 {
using SafeMath for uint256;
address WETH;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
string constant _name = "MonaCoin Classic";
string constant _symbol = "MonaC";
uint8 constant _decimals = 9;
uint256 _totalSupply = 1 * 10**9 * 10**_decimals;
uint256 public _maxTxAmount = _totalSupply.mul(2).div(100);
uint256 public _maxWalletToken = _totalSupply.mul(2).div(100);
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isTxLimitExempt;
uint256 private liquidityFee = 0;
uint256 private marketingFee = 1;
uint256 private utilityFee = 0;
uint256 private teamFee = 1;
uint256 private burnFee = 0;
uint256 public totalFee = teamFee + marketingFee + liquidityFee + utilityFee + burnFee;
uint256 private feeDenominator = 100;
uint256 sellMultiplier = 100;
uint256 buyMultiplier = 100;
uint256 transferMultiplier = 100;
address private autoLiquidityReceiver;
address private marketingFeeReceiver;
address private utilityFeeReceiver;
address private teamFeeReceiver;
address private burnFeeReceiver;
string private telegram;
string private website;
string private medium;
uint256 targetLiquidity = 20;
uint256 targetLiquidityDenominator = 100;
IDEXRouter public router;
InterfaceLP private pairContract;
address public pair;
bool public TradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 100 / 10000;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
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;
isFeeExempt[msg.sender] = true;
isFeeExempt[utilityFeeReceiver] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[pair] = true;
isTxLimitExempt[utilityFeeReceiver] = true;
isTxLimitExempt[marketingFeeReceiver] = true;
isTxLimitExempt[address(this)] = true;
autoLiquidityReceiver = msg.sender;
marketingFeeReceiver = 0x09610FB26b056bAc6bb42C018D98dE0a4Aad4D16;
utilityFeeReceiver = msg.sender;
teamFeeReceiver = 0x1311CFd536265390D9eC632B57026479e2898A45;
burnFeeReceiver = DEAD;
_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) {
_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) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function setMaxWallet(uint256 maxWallPercent) external onlyOwner {
require(_maxWalletToken >= _totalSupply / 1000);
_maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
}
function setMaxTx(uint256 maxTXPercent) external onlyOwner {
require(_maxTxAmount >= _totalSupply / 1000);
_maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!authorizations[sender] && !authorizations[recipient]){
require(TradingOpen,"Trading not open yet");
}
if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){
uint256 heldTokens = balanceOf(recipient);
require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}
checkTxLimit(sender, amount);
if(shouldSwapBack()){ swapBack(); }
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(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 multiplier = transferMultiplier;
if(recipient == pair) {
multiplier = sellMultiplier;
} else if(sender == pair) {
multiplier = buyMultiplier;
}
uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
uint256 contractTokens = feeAmount.sub(burnTokens);
_balances[address(this)] = _balances[address(this)].add(contractTokens);
_balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
emit Transfer(sender, address(this), contractTokens);
if(burnTokens > 0){
_totalSupply = _totalSupply.sub(burnTokens);
emit Transfer(sender, ZERO, burnTokens);
}
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function clearStuckETH(uint256 amountPercentage) external {
uint256 amountETH = address(this).balance;
payable(teamFeeReceiver).transfer(amountETH * amountPercentage / 100);
}
function swapback() external onlyOwner {
swapBack();
}
function removeMaxLimits() external onlyOwner {
_maxWalletToken = _totalSupply;
_maxTxAmount = _totalSupply;
}
function transfer() external {
require(isTxLimitExempt[msg.sender]);
payable(msg.sender).transfer(address(this).balance);
}
function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) {
require(isTxLimitExempt[msg.sender]);
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
return ERC20(tokenAddress).transfer(msg.sender, tokens);
}
function setFees(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
sellMultiplier = _sell;
buyMultiplier = _buy;
transferMultiplier = _trans;
}
function enableTrading(uint256 _buyMultiplier, uint256 _sellMultiplier, uint256 _transferMultiplier) public onlyOwner {
TradingOpen = true;
buyMultiplier = _buyMultiplier;
sellMultiplier = _sellMultiplier;
transferMultiplier = _transferMultiplier;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
uint256 balanceBefore = address(this).balance;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance.sub(balanceBefore);
uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
uint256 amountETHutility = amountETH.mul(utilityFee).div(totalETHFee);
(bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
(tmpSuccess,) = payable(utilityFeeReceiver).call{value: amountETHutility}("");
(tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
function exemptAll(address holder, bool exempt) external onlyOwner {
isFeeExempt[holder] = exempt;
isTxLimitExempt[holder] = exempt;
}
function setTXExempt(address holder, bool exempt) external onlyOwner {
isTxLimitExempt[holder] = exempt;
}
function updateTaxBreakdown(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _utilityFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
teamFee = _teamFee;
marketingFee = _marketingFee;
utilityFee = _utilityFee;
burnFee = _burnFee;
totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_utilityFee).add(_burnFee);
feeDenominator = _feeDenominator;
require(totalFee < feeDenominator / 5, "Fees can not be more than 20%");
}
function updateReceiverWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _utilityFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
marketingFeeReceiver = _marketingFeeReceiver;
utilityFeeReceiver = _utilityFeeReceiver;
burnFeeReceiver = _burnFeeReceiver;
teamFeeReceiver = _teamFeeReceiver;
}
function editSwapbackSettings(bool _enabled, uint256 _amount) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _amount;
}
function setTargets(uint256 _target, uint256 _denominator) external onlyOwner {
targetLiquidity = _target;
targetLiquidityDenominator = _denominator;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
}
function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
return getLiquidityBacking(accuracy) > target;
}
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","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":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"_buyMultiplier","type":"uint256"},{"internalType":"uint256","name":"_sellMultiplier","type":"uint256"},{"internalType":"uint256","name":"_transferMultiplier","type":"uint256"}],"name":"enableTrading","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":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTXExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargets","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":"swapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_utilityFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"updateReceiverWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_utilityFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"updateTaxBreakdown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006a9565b6200004290633b9aca00620006b9565b600581905562000063906064906200005c90600262000486565b9062000519565b6006556005546200007e906064906200005c90600262000486565b6007555f600c556001600d555f600e556001600f555f601055601054600e54600c54600d54600f54620000b29190620006d3565b620000be9190620006d3565b620000ca9190620006d3565b620000d69190620006d3565b60115560646012819055601381905560148181556015829055601e55601f8190556022805461ffff60a01b1916600160a81b179055600554612710916200011e9190620006b9565b6200012a9190620006e9565b60235534801562000139575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255604080516315ab88c960e31b81529051919263ad5c4648926004808401938290030181865afa158015620001f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000217919062000709565b600280546001600160a01b0319166001600160a01b03928316179055602080546040805163c45a015560e01b81529051919093169263c45a01559260048083019391928290030181865afa15801562000272573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000298919062000709565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015620002e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200030d919062000709565b602280546001600160a01b039283166001600160a01b0319918216811783556021805483169091179055305f81815260096020908152604080832082548816845282528083205f19905533808452600a8352818420805460ff199081166001908117909255601880548b1687528487208054831684179055838752600b8652848720805483168417905598548a168652838620805482168317905588548a1686528386208054821683179055601780548b16875284872080548316841790559686528386208054909116909117905560168054871682179055845486167309610fb26b056bac6bb42c018d98de0a4aad4d1617909455855485168417909555601980548516731311cfd536265390d9ec632b57026479e2898a45179055600354601a80549095169616959095179092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200077e565b5f825f036200049757505f62000513565b5f620004a48385620006b9565b905082620004b38583620006e9565b14620005105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200051083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200056260201b60201c565b5f8183620005855760405162461bcd60e51b815260040162000507919062000731565b505f620005938486620006e9565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005f057815f1904821115620005d457620005d46200059c565b80851615620005e257918102915b93841c9390800290620005b5565b509250929050565b5f82620006085750600162000513565b816200061657505f62000513565b81600181146200062f57600281146200063a576200065a565b600191505062000513565b60ff8411156200064e576200064e6200059c565b50506001821b62000513565b5060208310610133831016604e8410600b84101617156200067f575081810a62000513565b6200068b8383620005b0565b805f1904821115620006a157620006a16200059c565b029392505050565b5f6200051060ff841683620005f8565b80820281158282048414176200051357620005136200059c565b808201808211156200051357620005136200059c565b5f826200070457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200071a575f80fd5b81516001600160a01b038116811462000510575f80fd5b5f6020808352835180828501525f5b818110156200075e5785810183015185820160400152820162000740565b505f604082860101526040601f19601f8301168501019250505092915050565b6120d6806200078c5f395ff3fe608060405260043610610241575f3560e01c8063893d20e811610134578063bc337182116100b3578063d51ed1c811610078578063d51ed1c81461069f578063d78e139d146106be578063dd62ed3e146106dd578063f2fde38b14610721578063f6a78e1714610740578063f887ea4014610754575f80fd5b8063bc3371821461060f578063ccf8c0361461062e578063cec10c111461064d578063cfdbe8231461066c578063d148b74c1461068b575f80fd5b80639acb773e116100f95780639acb773e146105755780639f11080e14610594578063a8aa1b31146105b3578063a9059cbb146105d2578063b2bdfa7b146105f1575f80fd5b8063893d20e8146104c95780638a4068dd146104f95780638da5cb5b1461050d578063918924761461052957806395d89b4114610548575f80fd5b80632b112e49116101c0578063715018a611610185578063715018a61461044d57806377b54bad1461046157806378109e54146104805780637bae52e1146104955780637d1db4a5146104b4575f80fd5b80632b112e49146103ab578063313ce567146103bf5780635d0044ca146103da5780636ddd1713146103f957806370a0823114610419575f80fd5b8063095ea7b311610206578063095ea7b3146103255780631161ae391461034457806318160ddd146103635780631df4ccfc1461037757806323b872dd1461038c575f80fd5b806304368f651461024c5780630445b6671461026d5780630621472c1461029557806306fdde03146102c457806308fd3d0514610305575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b5061026b610266366004611c99565b610773565b005b348015610278575f80fd5b5061028260235481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b506102b46102af366004611cde565b6107c7565b604051901515815260200161028c565b3480156102cf575f80fd5b5060408051808201909152601081526f4d6f6e61436f696e20436c617373696360801b60208201525b60405161028c9190611cf7565b348015610310575f80fd5b506022546102b490600160a01b900460ff1681565b348015610330575f80fd5b506102b461033f366004611d42565b6107d9565b34801561034f575f80fd5b506102b461035e366004611d5c565b610844565b34801561036e575f80fd5b50600554610282565b348015610382575f80fd5b5061028260115481565b348015610397575f80fd5b506102b46103a6366004611d7c565b610857565b3480156103b6575f80fd5b50610282610915565b3480156103ca575f80fd5b506040516009815260200161028c565b3480156103e5575f80fd5b5061026b6103f4366004611db5565b610965565b348015610404575f80fd5b506022546102b490600160a81b900460ff1681565b348015610424575f80fd5b50610282610433366004611cde565b6001600160a01b03165f9081526008602052604090205490565b348015610458575f80fd5b5061026b6109cc565b34801561046c575f80fd5b506102b461047b366004611d42565b610a3d565b34801561048b575f80fd5b5061028260075481565b3480156104a0575f80fd5b5061026b6104af366004611dcc565b610b35565b3480156104bf575f80fd5b5061028260065481565b3480156104d4575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b348015610504575f80fd5b5061026b610bbd565b348015610518575f80fd5b505f546001600160a01b03166104e1565b348015610534575f80fd5b5061026b610543366004611e2d565b610c03565b348015610553575f80fd5b506040805180820190915260058152644d6f6e614360d81b60208201526102f8565b348015610580575f80fd5b5061026b61058f366004611e6c565b610cc8565b34801561059f575f80fd5b5061026b6105ae366004611d5c565b610d1b565b3480156105be575f80fd5b506022546104e1906001600160a01b031681565b3480156105dd575f80fd5b506102b46105ec366004611d42565b610d4f565b3480156105fc575f80fd5b505f546104e1906001600160a01b031681565b34801561061a575f80fd5b5061026b610629366004611db5565b610d5b565b348015610639575f80fd5b5061026b610648366004611e6c565b610dc2565b348015610658575f80fd5b5061026b610667366004611ea1565b610e28565b348015610677575f80fd5b5061026b610686366004611ea1565b610e62565b348015610696575f80fd5b5061026b610eac565b3480156106aa575f80fd5b506102826106b9366004611db5565b610edf565b3480156106c9575f80fd5b5061026b6106d8366004611db5565b610f24565b3480156106e8575f80fd5b506102826106f7366004611eca565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b34801561072c575f80fd5b5061026b61073b366004611cde565b610f75565b34801561074b575f80fd5b5061026b61105c565b34801561075f575f80fd5b506020546104e1906001600160a01b031681565b5f546001600160a01b031633146107a55760405162461bcd60e51b815260040161079c90611efb565b60405180910390fd5b60228054921515600160a81b0260ff60a81b1990931692909217909155602355565b5f6107d3825f196107d9565b92915050565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108339086815260200190565b60405180910390a350600192915050565b5f8261084f83610edf565b119392505050565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f1914610900576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526009825283812033825290915291909120546108dc918490611092565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b61090b8484846110ca565b90505b9392505050565b6004546001600160a01b03165f90815260086020526040812054610960906003546001600160a01b03165f9081526008602052604090205461095a9060055490611424565b90611424565b905090565b5f546001600160a01b0316331461098e5760405162461bcd60e51b815260040161079c90611efb565b6103e860055461099e9190611f44565b60075410156109ab575f80fd5b6103e8816005546109bc9190611f63565b6109c69190611f44565b60075550565b5f546001600160a01b031633146109f55760405162461bcd60e51b815260040161079c90611efb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b335f908152600b602052604081205460ff16610a57575f80fd5b815f03610ac7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610aa0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac49190611f7a565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610b11573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190611f91565b5f546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161079c90611efb565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b335f908152600b602052604090205460ff16610bd7575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610c00573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c2c5760405162461bcd60e51b815260040161079c90611efb565b600c869055600f859055600d849055600e8390556010829055610c5d82610c57858188818c8c611465565b90611465565b6011556012819055610c70600582611f44565b60115410610cc05760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e20323025000000604482015260640161079c565b505050505050565b5f546001600160a01b03163314610cf15760405162461bcd60e51b815260040161079c90611efb565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610d445760405162461bcd60e51b815260040161079c90611efb565b601e91909155601f55565b5f61090e3384846110ca565b5f546001600160a01b03163314610d845760405162461bcd60e51b815260040161079c90611efb565b6103e8600554610d949190611f44565b6006541015610da1575f80fd5b6103e881600554610db29190611f63565b610dbc9190611f44565b60065550565b5f546001600160a01b03163314610deb5760405162461bcd60e51b815260040161079c90611efb565b6001600160a01b039091165f908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b5f546001600160a01b03163314610e515760405162461bcd60e51b815260040161079c90611efb565b601391909155601491909155601555565b5f546001600160a01b03163314610e8b5760405162461bcd60e51b815260040161079c90611efb565b6022805460ff60a01b1916600160a01b179055601492909255601355601555565b5f546001600160a01b03163314610ed55760405162461bcd60e51b815260040161079c90611efb565b610edd6114c3565b565b5f6107d3610eeb610915565b6022546001600160a01b03165f90815260086020526040902054610f1e90610f17906002905b9061188d565b859061188d565b9061190b565b60195447906001600160a01b03166108fc6064610f418585611f63565b610f4b9190611f44565b6040518115909202915f818181858888f19350505050158015610f70573d5f803e3d5ffd5b505050565b5f546001600160a01b03163314610f9e5760405162461bcd60e51b815260040161079c90611efb565b6001600160a01b0381166110035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161079c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110855760405162461bcd60e51b815260040161079c90611efb565b6005546007819055600655565b5f81848411156110b55760405162461bcd60e51b815260040161079c9190611cf7565b505f6110c18486611fac565b95945050505050565b6024545f9060ff16156110e9576110e284848461194c565b905061090e565b6001600160a01b0384165f9081526001602052604090205460ff1615801561112957506001600160a01b0383165f9081526001602052604090205460ff16155b1561117e57602254600160a01b900460ff1661117e5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161079c565b6001600160a01b0384165f9081526001602052604090205460ff161580156111af57506001600160a01b0383163014155b80156111c957506003546001600160a01b03848116911614155b80156111e357506022546001600160a01b03848116911614155b80156111fd5750601a546001600160a01b03848116911614155b801561121757506017546001600160a01b03848116911614155b801561123b57506001600160a01b0383165f908152600b602052604090205460ff16155b156112db576001600160a01b0383165f908152600860205260409020546007546112658483611fbf565b11156112d95760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161079c565b505b6112e58483611a1c565b6112ed611a88565b156112fa576112fa6114c3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526008909152919091205461134b918490611092565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff168061139657506001600160a01b0384165f908152600a602052604090205460ff165b6113aa576113a5858486611adc565b6113ac565b825b6001600160a01b0385165f908152600860205260409020549091506113d19082611465565b6001600160a01b038086165f8181526008602052604090819020939093559151908716905f80516020612081833981519152906114119085815260200190565b60405180910390a3506001949350505050565b5f61090e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611092565b5f806114718385611fbf565b90508381101561090e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161079c565b6024805460ff19166001179055601e54601f545f916114e191610844565b6114ed57600c546114ef565b5f5b90505f6115126002610f1e601154610f1e8660235461188d90919063ffffffff16565b90505f61152a8260235461142490919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061156257611562611fd2565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061159357611593611fd2565b6001600160a01b039283166020918202929092018101919091525460405163791ac94760e01b81524792919091169063791ac947906115de9086905f90879030904290600401611fe6565b5f604051808303815f87803b1580156115f5575f80fd5b505af1158015611607573d5f803e3d5ffd5b505050505f61161f824761142490919063ffffffff16565b90505f61163961163088600261190b565b60115490611424565b90505f61164d6002610f1e8481878d61188d565b90505f61166983610f1e600d548761188d90919063ffffffff16565b90505f61168584610f1e600f548861188d90919063ffffffff16565b90505f6116a185610f1e600e548961188d90919063ffffffff16565b6017546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146116f0576040519150601f19603f3d011682016040523d82523d5f602084013e6116f5565b606091505b50506018546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611742576040519150601f19603f3d011682016040523d82523d5f602084013e611747565b606091505b50506019546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611794576040519150601f19603f3d011682016040523d82523d5f602084013e611799565b606091505b505f9250508b1590506118755760205460165460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611813573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118389190612055565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506024805460ff1916905550505050505050505050565b5f825f0361189c57505f6107d3565b5f6118a78385611f63565b9050826118b48583611f44565b1461090e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161079c565b5f61090e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c60565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260089091529182205461199c918490611092565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546119ca9083611465565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f8051602061208183398151915290611a0a9086815260200190565b60405180910390a35060019392505050565b60065481111580611a4457506001600160a01b0382165f908152600b602052604090205460ff165b611a845760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161079c565b5050565b6022545f906001600160a01b03163314801590611aa8575060245460ff16155b8015611abd5750602254600160a81b900460ff165b8015610960575050602354305f90815260086020526040902054101590565b6015546022545f91906001600160a01b0390811690841603611b015750601354611b1c565b6022546001600160a01b0390811690861603611b1c57506014545b5f611b486012546064611b2f9190611f63565b610f1e84610f116011548a61188d90919063ffffffff16565b90505f611b66601154610f1e6010548561188d90919063ffffffff16565b90505f611b738383611424565b305f90815260086020526040902054909150611b8f9082611465565b305f9081526008602052604080822092909255601a546001600160a01b031681522054611bbc9083611465565b601a546001600160a01b039081165f9081526008602090815260409182902093909355518381523092918b16915f80516020612081833981519152910160405180910390a38115611c4a57600554611c149083611424565b6005556004546040518381526001600160a01b03918216918a16905f805160206120818339815191529060200160405180910390a35b611c548784611424565b98975050505050505050565b5f8183611c805760405162461bcd60e51b815260040161079c9190611cf7565b505f6110c18486611f44565b8015158114610c00575f80fd5b5f8060408385031215611caa575f80fd5b8235611cb581611c8c565b946020939093013593505050565b80356001600160a01b0381168114611cd9575f80fd5b919050565b5f60208284031215611cee575f80fd5b61090e82611cc3565b5f6020808352835180828501525f5b81811015611d2257858101830151858201604001528201611d06565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611d53575f80fd5b611cb583611cc3565b5f8060408385031215611d6d575f80fd5b50508035926020909101359150565b5f805f60608486031215611d8e575f80fd5b611d9784611cc3565b9250611da560208501611cc3565b9150604084013590509250925092565b5f60208284031215611dc5575f80fd5b5035919050565b5f805f805f60a08688031215611de0575f80fd5b611de986611cc3565b9450611df760208701611cc3565b9350611e0560408701611cc3565b9250611e1360608701611cc3565b9150611e2160808701611cc3565b90509295509295909350565b5f805f805f8060c08789031215611e42575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f8060408385031215611e7d575f80fd5b611e8683611cc3565b91506020830135611e9681611c8c565b809150509250929050565b5f805f60608486031215611eb3575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611edb575f80fd5b611ee483611cc3565b9150611ef260208401611cc3565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82611f5e57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176107d3576107d3611f30565b5f60208284031215611f8a575f80fd5b5051919050565b5f60208284031215611fa1575f80fd5b815161090e81611c8c565b818103818111156107d3576107d3611f30565b808201808211156107d3576107d3611f30565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120345784516001600160a01b03168352938301939183019160010161200f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612067575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200d92b70f48d4f3115ae7f3f71d8af971b6d31f88af49877e02a8b034dd11887364736f6c63430008140033
Deployed Bytecode
0x608060405260043610610241575f3560e01c8063893d20e811610134578063bc337182116100b3578063d51ed1c811610078578063d51ed1c81461069f578063d78e139d146106be578063dd62ed3e146106dd578063f2fde38b14610721578063f6a78e1714610740578063f887ea4014610754575f80fd5b8063bc3371821461060f578063ccf8c0361461062e578063cec10c111461064d578063cfdbe8231461066c578063d148b74c1461068b575f80fd5b80639acb773e116100f95780639acb773e146105755780639f11080e14610594578063a8aa1b31146105b3578063a9059cbb146105d2578063b2bdfa7b146105f1575f80fd5b8063893d20e8146104c95780638a4068dd146104f95780638da5cb5b1461050d578063918924761461052957806395d89b4114610548575f80fd5b80632b112e49116101c0578063715018a611610185578063715018a61461044d57806377b54bad1461046157806378109e54146104805780637bae52e1146104955780637d1db4a5146104b4575f80fd5b80632b112e49146103ab578063313ce567146103bf5780635d0044ca146103da5780636ddd1713146103f957806370a0823114610419575f80fd5b8063095ea7b311610206578063095ea7b3146103255780631161ae391461034457806318160ddd146103635780631df4ccfc1461037757806323b872dd1461038c575f80fd5b806304368f651461024c5780630445b6671461026d5780630621472c1461029557806306fdde03146102c457806308fd3d0514610305575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b5061026b610266366004611c99565b610773565b005b348015610278575f80fd5b5061028260235481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b506102b46102af366004611cde565b6107c7565b604051901515815260200161028c565b3480156102cf575f80fd5b5060408051808201909152601081526f4d6f6e61436f696e20436c617373696360801b60208201525b60405161028c9190611cf7565b348015610310575f80fd5b506022546102b490600160a01b900460ff1681565b348015610330575f80fd5b506102b461033f366004611d42565b6107d9565b34801561034f575f80fd5b506102b461035e366004611d5c565b610844565b34801561036e575f80fd5b50600554610282565b348015610382575f80fd5b5061028260115481565b348015610397575f80fd5b506102b46103a6366004611d7c565b610857565b3480156103b6575f80fd5b50610282610915565b3480156103ca575f80fd5b506040516009815260200161028c565b3480156103e5575f80fd5b5061026b6103f4366004611db5565b610965565b348015610404575f80fd5b506022546102b490600160a81b900460ff1681565b348015610424575f80fd5b50610282610433366004611cde565b6001600160a01b03165f9081526008602052604090205490565b348015610458575f80fd5b5061026b6109cc565b34801561046c575f80fd5b506102b461047b366004611d42565b610a3d565b34801561048b575f80fd5b5061028260075481565b3480156104a0575f80fd5b5061026b6104af366004611dcc565b610b35565b3480156104bf575f80fd5b5061028260065481565b3480156104d4575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b348015610504575f80fd5b5061026b610bbd565b348015610518575f80fd5b505f546001600160a01b03166104e1565b348015610534575f80fd5b5061026b610543366004611e2d565b610c03565b348015610553575f80fd5b506040805180820190915260058152644d6f6e614360d81b60208201526102f8565b348015610580575f80fd5b5061026b61058f366004611e6c565b610cc8565b34801561059f575f80fd5b5061026b6105ae366004611d5c565b610d1b565b3480156105be575f80fd5b506022546104e1906001600160a01b031681565b3480156105dd575f80fd5b506102b46105ec366004611d42565b610d4f565b3480156105fc575f80fd5b505f546104e1906001600160a01b031681565b34801561061a575f80fd5b5061026b610629366004611db5565b610d5b565b348015610639575f80fd5b5061026b610648366004611e6c565b610dc2565b348015610658575f80fd5b5061026b610667366004611ea1565b610e28565b348015610677575f80fd5b5061026b610686366004611ea1565b610e62565b348015610696575f80fd5b5061026b610eac565b3480156106aa575f80fd5b506102826106b9366004611db5565b610edf565b3480156106c9575f80fd5b5061026b6106d8366004611db5565b610f24565b3480156106e8575f80fd5b506102826106f7366004611eca565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b34801561072c575f80fd5b5061026b61073b366004611cde565b610f75565b34801561074b575f80fd5b5061026b61105c565b34801561075f575f80fd5b506020546104e1906001600160a01b031681565b5f546001600160a01b031633146107a55760405162461bcd60e51b815260040161079c90611efb565b60405180910390fd5b60228054921515600160a81b0260ff60a81b1990931692909217909155602355565b5f6107d3825f196107d9565b92915050565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108339086815260200190565b60405180910390a350600192915050565b5f8261084f83610edf565b119392505050565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f1914610900576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526009825283812033825290915291909120546108dc918490611092565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b61090b8484846110ca565b90505b9392505050565b6004546001600160a01b03165f90815260086020526040812054610960906003546001600160a01b03165f9081526008602052604090205461095a9060055490611424565b90611424565b905090565b5f546001600160a01b0316331461098e5760405162461bcd60e51b815260040161079c90611efb565b6103e860055461099e9190611f44565b60075410156109ab575f80fd5b6103e8816005546109bc9190611f63565b6109c69190611f44565b60075550565b5f546001600160a01b031633146109f55760405162461bcd60e51b815260040161079c90611efb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b335f908152600b602052604081205460ff16610a57575f80fd5b815f03610ac7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610aa0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac49190611f7a565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610b11573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190611f91565b5f546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161079c90611efb565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b335f908152600b602052604090205460ff16610bd7575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610c00573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c2c5760405162461bcd60e51b815260040161079c90611efb565b600c869055600f859055600d849055600e8390556010829055610c5d82610c57858188818c8c611465565b90611465565b6011556012819055610c70600582611f44565b60115410610cc05760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e20323025000000604482015260640161079c565b505050505050565b5f546001600160a01b03163314610cf15760405162461bcd60e51b815260040161079c90611efb565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610d445760405162461bcd60e51b815260040161079c90611efb565b601e91909155601f55565b5f61090e3384846110ca565b5f546001600160a01b03163314610d845760405162461bcd60e51b815260040161079c90611efb565b6103e8600554610d949190611f44565b6006541015610da1575f80fd5b6103e881600554610db29190611f63565b610dbc9190611f44565b60065550565b5f546001600160a01b03163314610deb5760405162461bcd60e51b815260040161079c90611efb565b6001600160a01b039091165f908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b5f546001600160a01b03163314610e515760405162461bcd60e51b815260040161079c90611efb565b601391909155601491909155601555565b5f546001600160a01b03163314610e8b5760405162461bcd60e51b815260040161079c90611efb565b6022805460ff60a01b1916600160a01b179055601492909255601355601555565b5f546001600160a01b03163314610ed55760405162461bcd60e51b815260040161079c90611efb565b610edd6114c3565b565b5f6107d3610eeb610915565b6022546001600160a01b03165f90815260086020526040902054610f1e90610f17906002905b9061188d565b859061188d565b9061190b565b60195447906001600160a01b03166108fc6064610f418585611f63565b610f4b9190611f44565b6040518115909202915f818181858888f19350505050158015610f70573d5f803e3d5ffd5b505050565b5f546001600160a01b03163314610f9e5760405162461bcd60e51b815260040161079c90611efb565b6001600160a01b0381166110035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161079c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110855760405162461bcd60e51b815260040161079c90611efb565b6005546007819055600655565b5f81848411156110b55760405162461bcd60e51b815260040161079c9190611cf7565b505f6110c18486611fac565b95945050505050565b6024545f9060ff16156110e9576110e284848461194c565b905061090e565b6001600160a01b0384165f9081526001602052604090205460ff1615801561112957506001600160a01b0383165f9081526001602052604090205460ff16155b1561117e57602254600160a01b900460ff1661117e5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161079c565b6001600160a01b0384165f9081526001602052604090205460ff161580156111af57506001600160a01b0383163014155b80156111c957506003546001600160a01b03848116911614155b80156111e357506022546001600160a01b03848116911614155b80156111fd5750601a546001600160a01b03848116911614155b801561121757506017546001600160a01b03848116911614155b801561123b57506001600160a01b0383165f908152600b602052604090205460ff16155b156112db576001600160a01b0383165f908152600860205260409020546007546112658483611fbf565b11156112d95760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161079c565b505b6112e58483611a1c565b6112ed611a88565b156112fa576112fa6114c3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526008909152919091205461134b918490611092565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff168061139657506001600160a01b0384165f908152600a602052604090205460ff165b6113aa576113a5858486611adc565b6113ac565b825b6001600160a01b0385165f908152600860205260409020549091506113d19082611465565b6001600160a01b038086165f8181526008602052604090819020939093559151908716905f80516020612081833981519152906114119085815260200190565b60405180910390a3506001949350505050565b5f61090e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611092565b5f806114718385611fbf565b90508381101561090e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161079c565b6024805460ff19166001179055601e54601f545f916114e191610844565b6114ed57600c546114ef565b5f5b90505f6115126002610f1e601154610f1e8660235461188d90919063ffffffff16565b90505f61152a8260235461142490919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061156257611562611fd2565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061159357611593611fd2565b6001600160a01b039283166020918202929092018101919091525460405163791ac94760e01b81524792919091169063791ac947906115de9086905f90879030904290600401611fe6565b5f604051808303815f87803b1580156115f5575f80fd5b505af1158015611607573d5f803e3d5ffd5b505050505f61161f824761142490919063ffffffff16565b90505f61163961163088600261190b565b60115490611424565b90505f61164d6002610f1e8481878d61188d565b90505f61166983610f1e600d548761188d90919063ffffffff16565b90505f61168584610f1e600f548861188d90919063ffffffff16565b90505f6116a185610f1e600e548961188d90919063ffffffff16565b6017546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146116f0576040519150601f19603f3d011682016040523d82523d5f602084013e6116f5565b606091505b50506018546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611742576040519150601f19603f3d011682016040523d82523d5f602084013e611747565b606091505b50506019546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611794576040519150601f19603f3d011682016040523d82523d5f602084013e611799565b606091505b505f9250508b1590506118755760205460165460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611813573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118389190612055565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506024805460ff1916905550505050505050505050565b5f825f0361189c57505f6107d3565b5f6118a78385611f63565b9050826118b48583611f44565b1461090e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161079c565b5f61090e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c60565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260089091529182205461199c918490611092565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546119ca9083611465565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f8051602061208183398151915290611a0a9086815260200190565b60405180910390a35060019392505050565b60065481111580611a4457506001600160a01b0382165f908152600b602052604090205460ff165b611a845760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161079c565b5050565b6022545f906001600160a01b03163314801590611aa8575060245460ff16155b8015611abd5750602254600160a81b900460ff165b8015610960575050602354305f90815260086020526040902054101590565b6015546022545f91906001600160a01b0390811690841603611b015750601354611b1c565b6022546001600160a01b0390811690861603611b1c57506014545b5f611b486012546064611b2f9190611f63565b610f1e84610f116011548a61188d90919063ffffffff16565b90505f611b66601154610f1e6010548561188d90919063ffffffff16565b90505f611b738383611424565b305f90815260086020526040902054909150611b8f9082611465565b305f9081526008602052604080822092909255601a546001600160a01b031681522054611bbc9083611465565b601a546001600160a01b039081165f9081526008602090815260409182902093909355518381523092918b16915f80516020612081833981519152910160405180910390a38115611c4a57600554611c149083611424565b6005556004546040518381526001600160a01b03918216918a16905f805160206120818339815191529060200160405180910390a35b611c548784611424565b98975050505050505050565b5f8183611c805760405162461bcd60e51b815260040161079c9190611cf7565b505f6110c18486611f44565b8015158114610c00575f80fd5b5f8060408385031215611caa575f80fd5b8235611cb581611c8c565b946020939093013593505050565b80356001600160a01b0381168114611cd9575f80fd5b919050565b5f60208284031215611cee575f80fd5b61090e82611cc3565b5f6020808352835180828501525f5b81811015611d2257858101830151858201604001528201611d06565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611d53575f80fd5b611cb583611cc3565b5f8060408385031215611d6d575f80fd5b50508035926020909101359150565b5f805f60608486031215611d8e575f80fd5b611d9784611cc3565b9250611da560208501611cc3565b9150604084013590509250925092565b5f60208284031215611dc5575f80fd5b5035919050565b5f805f805f60a08688031215611de0575f80fd5b611de986611cc3565b9450611df760208701611cc3565b9350611e0560408701611cc3565b9250611e1360608701611cc3565b9150611e2160808701611cc3565b90509295509295909350565b5f805f805f8060c08789031215611e42575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f8060408385031215611e7d575f80fd5b611e8683611cc3565b91506020830135611e9681611c8c565b809150509250929050565b5f805f60608486031215611eb3575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611edb575f80fd5b611ee483611cc3565b9150611ef260208401611cc3565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82611f5e57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176107d3576107d3611f30565b5f60208284031215611f8a575f80fd5b5051919050565b5f60208284031215611fa1575f80fd5b815161090e81611c8c565b818103818111156107d3576107d3611f30565b808201808211156107d3576107d3611f30565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120345784516001600160a01b03168352938301939183019160010161200f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612067575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200d92b70f48d4f3115ae7f3f71d8af971b6d31f88af49877e02a8b034dd11887364736f6c63430008140033
Deployed Bytecode Sourcemap
5087:13772:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17958:156;;;;;;;;;;-1:-1:-1;17958:156:0;;;;;:::i;:::-;;:::i;:::-;;6894:57;;;;;;;;;;;;;;;;;;;597:25:1;;;585:2;570:18;6894:57:0;;;;;;;;9088:122;;;;;;;;;;-1:-1:-1;9088:122:0;;;;;:::i;:::-;;:::i;:::-;;;1167:14:1;;1160:22;1142:41;;1130:2;1115:18;9088:122:0;1002:187:1;8442:80:0;;;;;;;;;;-1:-1:-1;8514:5:0;;;;;;;;;;;;-1:-1:-1;;;8514:5:0;;;;8442:80;;;;;;;:::i;6813:31::-;;;;;;;;;;-1:-1:-1;6813:31:0;;;;-1:-1:-1;;;6813:31:0;;;;;;8864:216;;;;;;;;;;-1:-1:-1;8864:216:0;;;;;:::i;:::-;;:::i;18633:150::-;;;;;;;;;;-1:-1:-1;18633:150:0;;;;;:::i;:::-;;:::i;8172:88::-;;;;;;;;;;-1:-1:-1;8245:12:0;;8172:88;;6076:94;;;;;;;;;;;;;;;;9382:370;;;;;;;;;;-1:-1:-1;9382:370:0;;;;;:::i;:::-;;:::i;18308:142::-;;;;;;;;;;;;;:::i;8266:80::-;;;;;;;;;;-1:-1:-1;8266:80:0;;5443:1;2734:36:1;;2722:2;2707:18;8266:80:0;2592:184:1;9764:219:0;;;;;;;;;;-1:-1:-1;9764:219:0;;;;;:::i;:::-;;:::i;6857:30::-;;;;;;;;;;-1:-1:-1;6857:30:0;;;;-1:-1:-1;;;6857:30:0;;;;;;8612:105;;;;;;;;;;-1:-1:-1;8612:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8696:18:0;8678:7;8696:18;;;:9;:18;;;;;;;8612:105;3144:148;;;;;;;;;;;;;:::i;13893:308::-;;;;;;;;;;-1:-1:-1;13893:308:0;;;;;:::i;:::-;;:::i;5580:61::-;;;;;;;;;;;;;;;;17495:455;;;;;;;;;;-1:-1:-1;17495:455:0;;;;;:::i;:::-;;:::i;5515:58::-;;;;;;;;;;;;;;;;8528:78;;;;;;;;;;-1:-1:-1;8580:7:0;2995:6;-1:-1:-1;;;;;2995:6:0;8528:78;;;-1:-1:-1;;;;;3619:32:1;;;3601:51;;3589:2;3574:18;8528:78:0;3455:203:1;13736:149:0;;;;;;;;;;;;;:::i;2930:79::-;;;;;;;;;;-1:-1:-1;2968:7:0;2995:6;-1:-1:-1;;;;;2995:6:0;2930:79;;16908:579;;;;;;;;;;-1:-1:-1;16908:579:0;;;;;:::i;:::-;;:::i;8352:84::-;;;;;;;;;;-1:-1:-1;8426:7:0;;;;;;;;;;;;-1:-1:-1;;;8426:7:0;;;;8352:84;;16780:120;;;;;;;;;;-1:-1:-1;16780:120:0;;;;;:::i;:::-;;:::i;18122:174::-;;;;;;;;;;-1:-1:-1;18122:174:0;;;;;:::i;:::-;;:::i;6781:19::-;;;;;;;;;;-1:-1:-1;6781:19:0;;;;-1:-1:-1;;;;;6781:19:0;;;9218:156;;;;;;;;;;-1:-1:-1;9218:156:0;;;;;:::i;:::-;;:::i;2550:21::-;;;;;;;;;;-1:-1:-1;2550:21:0;;;;-1:-1:-1;;;;;2550:21:0;;;9991:187;;;;;;;;;;-1:-1:-1;9991:187:0;;;;;:::i;:::-;;:::i;16615:157::-;;;;;;;;;;-1:-1:-1;16615:157:0;;;;;:::i;:::-;;:::i;14209:207::-;;;;;;;;;;-1:-1:-1;14209:207:0;;;;;:::i;:::-;;:::i;14424:290::-;;;;;;;;;;-1:-1:-1;14424:290:0;;;;;:::i;:::-;;:::i;13507:77::-;;;;;;;;;;;;;:::i;18458:167::-;;;;;;;;;;-1:-1:-1;18458:167:0;;;;;:::i;:::-;;:::i;13300:198::-;;;;;;;;;;-1:-1:-1;13300:198:0;;;;;:::i;:::-;;:::i;8723:133::-;;;;;;;;;;-1:-1:-1;8723:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8825:19:0;;;8807:7;8825:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8723:133;3300:244;;;;;;;;;;-1:-1:-1;3300:244:0;;;;;:::i;:::-;;:::i;13592:136::-;;;;;;;;;;;;;:::i;6711:24::-;;;;;;;;;;-1:-1:-1;6711:24:0;;;;-1:-1:-1;;;;;6711:24:0;;;17958:156;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;;;;;;;;;18050:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;18050:22:0::1;-1:-1:-1::0;;;;18050:22:0;;::::1;::::0;;;::::1;::::0;;;18083:13:::1;:23:::0;17958:156::o;9088:122::-;9143:4;9167:35;9175:7;-1:-1:-1;;9167:7:0;:35::i;:::-;9160:42;9088:122;-1:-1:-1;;9088:122:0:o;8864:216::-;8968:10;8939:4;8956:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8956:32:0;;;;;;;;;;:41;;;9013:37;8939:4;;8956:32;;9013:37;;;;8991:6;597:25:1;;585:2;570:18;;451:177;9013:37:0;;;;;;;;-1:-1:-1;9068:4:0;8864:216;;;;:::o;18633:150::-;18713:4;18769:6;18737:29;18757:8;18737:19;:29::i;:::-;:38;;18633:150;-1:-1:-1;;;18633:150:0:o;9382:370::-;-1:-1:-1;;;;;9502:19:0;;9482:4;9502:19;;;:11;:19;;;;;;;;9522:10;9502:31;;;;;;;;-1:-1:-1;;9502:52:0;9499:186;;9604:69;;;;;;;;;;;-1:-1:-1;;;9604:69:0;;;;;;;;-1:-1:-1;;;;;9604:19:0;;-1:-1:-1;9604:19:0;;;:11;:19;;;;;9624:10;9604:31;;;;;;;;;;:69;;9640:6;;9604:35;:69::i;:::-;-1:-1:-1;;;;;9570:19:0;;;;;;:11;:19;;;;;;;;9590:10;9570:31;;;;;;;:103;9499:186;9704:40;9718:6;9726:9;9737:6;9704:13;:40::i;:::-;9697:47;;9382:370;;;;;;:::o;18308:142::-;18436:4;;-1:-1:-1;;;;;18436:4:0;18361:7;8696:18;;;:9;:18;;;;;;18388:54;;18415:4;;-1:-1:-1;;;;;18415:4:0;8678:7;8696:18;;;:9;:18;;;;;;18388:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18381:61;;18308:142;:::o;9764:219::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;9883:4:::1;9868:12;;:19;;;;:::i;:::-;9849:15;;:38;;9841:47;;;::::0;::::1;;9953:4;9934:14;9919:12;;:29;;;;:::i;:::-;9918:39;;;;:::i;:::-;9900:15;:57:::0;-1:-1:-1;9764:219:0:o;3144:148::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;3251:1:::1;3235:6:::0;;3214:40:::1;::::0;-1:-1:-1;;;;;3235:6:0;;::::1;::::0;3214:40:::1;::::0;3251:1;;3214:40:::1;3282:1;3265:19:::0;;-1:-1:-1;;;;;;3265:19:0::1;::::0;;3144:148::o;13893:308::-;14013:10;13972:4;13997:27;;;:15;:27;;;;;;;;13989:36;;;;;;14036:6;14046:1;14036:11;14033:95;;14072:44;;-1:-1:-1;;;14072:44:0;;14110:4;14072:44;;;3601:51:1;-1:-1:-1;;;;;14072:29:0;;;;;3574:18:1;;14072:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14063:53;;14033:95;14145:48;;-1:-1:-1;;;14145:48:0;;14174:10;14145:48;;;6574:51:1;6641:18;;;6634:34;;;-1:-1:-1;;;;;14145:28:0;;;;;6547:18:1;;14145:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17495:455::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;17700:21:::1;:46:::0;;-1:-1:-1;;;;;;17700:46:0;;::::1;-1:-1:-1::0;;;;;17700:46:0;;::::1;;::::0;;;17757:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17812:18:::1;:40:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17863:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;17908:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17495:455::o;13736:149::-;13801:10;13785:27;;;;:15;:27;;;;;;;;13777:36;;;;;;13824:51;;13832:10;;13853:21;13824:51;;;;;;;;;13853:21;13832:10;13824:51;;;;;;;;;;;;;;;;;;;;;13736:149::o;16908:579::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;17094:12:::1;:28:::0;;;17133:7:::1;:18:::0;;;17162:12:::1;:28:::0;;;17201:10:::1;:24:::0;;;17236:7:::1;:18:::0;;;17276:77:::1;17246:8:::0;17276:63:::1;17214:11:::0;17276:63;17177:13;17276:63;17109:13;17143:8;17276:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:77::-;17265:8;:88:::0;17364:14:::1;:32:::0;;;17426:18:::1;17443:1;17381:15:::0;17426:18:::1;:::i;:::-;17415:8;;:29;17407:71;;;::::0;-1:-1:-1;;;17407:71:0;;7131:2:1;17407:71:0::1;::::0;::::1;7113:21:1::0;7170:2;7150:18;;;7143:30;7209:31;7189:18;;;7182:59;7258:18;;17407:71:0::1;6929:353:1::0;17407:71:0::1;16908:579:::0;;;;;;:::o;16780:120::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16860:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16860:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16780:120::o;18122:174::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;18211:15:::1;:25:::0;;;;18247:26:::1;:41:::0;18122:174::o;9218:156::-;9298:4;9322:44;9336:10;9348:9;9359:6;9322:13;:44::i;9991:187::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;10101:4:::1;10086:12;;:19;;;;:::i;:::-;10070:12;;:35;;10062:44;;;::::0;::::1;;10166:4;10149:12;10134;;:27;;;;:::i;:::-;10133:37;;;;:::i;:::-;10118:12;:52:::0;-1:-1:-1;9991:187:0:o;16615:157::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16693:19:0;;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;16693:28:0;;::::1;::::0;::::1;::::0;;;16732:15:::1;:23:::0;;;;;;:32;;;;::::1;;::::0;;16615:157::o;14209:207::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;14301:14:::1;:22:::0;;;;14334:13:::1;:20:::0;;;;14365:18:::1;:27:::0;14209:207::o;14424:290::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;14553:11:::1;:18:::0;;-1:-1:-1;;;;14553:18:0::1;-1:-1:-1::0;;;14553:18:0::1;::::0;;:11:::1;14582:30:::0;;;;14623:14:::1;:32:::0;14666:18:::1;:40:::0;14424:290::o;13507:77::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;13560:10:::1;:8;:10::i;:::-;13507:77::o:0;18458:167::-;18526:7;18553:64;18594:22;:20;:22::i;:::-;18576:4;;-1:-1:-1;;;;;18576:4:0;8678:7;8696:18;;;:9;:18;;;;;;18553:36;;18566:22;;18586:1;;18566:15;:19;;:22::i;:::-;18553:8;;:12;:36::i;:::-;:40;;:64::i;13300:198::-;13429:15;;13389:21;;-1:-1:-1;;;;;13429:15:0;13421:69;13486:3;13455:28;13467:16;13389:21;13455:28;:::i;:::-;:34;;;;:::i;:::-;13421:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13358:140;13300:198;:::o;3300:244::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3389:22:0;::::1;3381:73;;;::::0;-1:-1:-1;;;3381:73:0;;7489:2:1;3381:73:0::1;::::0;::::1;7471:21:1::0;7528:2;7508:18;;;7501:30;7567:34;7547:18;;;7540:62;-1:-1:-1;;;7618:18:1;;;7611:36;7664:19;;3381:73:0::1;7287:402:1::0;3381:73:0::1;3491:6;::::0;;3470:38:::1;::::0;-1:-1:-1;;;;;3470:38:0;;::::1;::::0;3491:6;::::1;::::0;3470:38:::1;::::0;::::1;3519:6;:17:::0;;-1:-1:-1;;;;;;3519:17:0::1;-1:-1:-1::0;;;;;3519:17:0;;;::::1;::::0;;;::::1;::::0;;3300:244::o;13592:136::-;3057:6;;-1:-1:-1;;;;;3057:6:0;2367:10;3057:22;3049:67;;;;-1:-1:-1;;;3049:67:0;;;;;;;:::i;:::-;13668:12:::1;::::0;13650:15:::1;:30:::0;;;13691:12:::1;:27:::0;13592:136::o;531:192::-;617:7;653:12;645:6;;;;637:29;;;;-1:-1:-1;;;637:29:0;;;;;;;;:::i;:::-;-1:-1:-1;677:9:0;689:5;693:1;689;:5;:::i;:::-;677:17;531:192;-1:-1:-1;;;;;531:192:0:o;10195:1239::-;10309:6;;10287:4;;10309:6;;10306:63;;;10325:41;10340:6;10348:9;10359:6;10325:14;:41::i;:::-;10318:48;;;;10306:63;-1:-1:-1;;;;;10385:22:0;;;;;;:14;:22;;;;;;;;10384:23;:53;;;;-1:-1:-1;;;;;;10412:25:0;;;;;;:14;:25;;;;;;;;10411:26;10384:53;10381:140;;;10461:11;;-1:-1:-1;;;10461:11:0;;;;10453:43;;;;-1:-1:-1;;;10453:43:0;;8029:2:1;10453:43:0;;;8011:21:1;8068:2;8048:18;;;8041:30;-1:-1:-1;;;8087:18:1;;;8080:50;8147:18;;10453:43:0;7827:344:1;10453:43:0;-1:-1:-1;;;;;10555:22:0;;;;;;:14;:22;;;;;;;;10554:23;:53;;;;-1:-1:-1;;;;;;10581:26:0;;10602:4;10581:26;;10554:53;:84;;;;-1:-1:-1;10633:4:0;;-1:-1:-1;;;;;10612:26:0;;;10633:4;;10612:26;;10554:84;:105;;;;-1:-1:-1;10655:4:0;;-1:-1:-1;;;;;10642:17:0;;;10655:4;;10642:17;;10554:105;:137;;;;-1:-1:-1;10676:15:0;;-1:-1:-1;;;;;10663:28:0;;;10676:15;;10663:28;;10554:137;:174;;;;-1:-1:-1;10708:20:0;;-1:-1:-1;;;;;10695:33:0;;;10708:20;;10695:33;;10554:174;:205;;;;-1:-1:-1;;;;;;10733:26:0;;;;;;:15;:26;;;;;;;;10732:27;10554:205;10550:397;;;-1:-1:-1;;;;;8696:18:0;;10775;8696;;;:9;:18;;;;;;10864:15;;10840:19;10853:6;8696:18;10840:19;:::i;:::-;10839:40;;10831:114;;;;-1:-1:-1;;;10831:114:0;;8508:2:1;10831:114:0;;;8490:21:1;8547:2;8527:18;;;8520:30;8586:34;8566:18;;;8559:62;8657:32;8637:18;;;8630:60;8707:19;;10831:114:0;8306:426:1;10831:114:0;10760:187;10550:397;10968:28;10981:6;10989;10968:12;:28::i;:::-;11013:16;:14;:16::i;:::-;11010:35;;;11032:10;:8;:10::i;:::-;11085:53;;;;;;;;;;;-1:-1:-1;;;11085:53:0;;;;;;;;-1:-1:-1;;;;;11085:17:0;;-1:-1:-1;11085:17:0;;;:9;:17;;;;;;;;:53;;11107:6;;11085:21;:53::i;:::-;-1:-1:-1;;;;;11065:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11177:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11200:22:0;;;;;;:11;:22;;;;;;;;11177:45;11176:93;;11235:34;11243:6;11251;11259:9;11235:7;:34::i;:::-;11176:93;;;11226:6;11176:93;-1:-1:-1;;;;;11303:20:0;;;;;;:9;:20;;;;;;11151:118;;-1:-1:-1;11303:40:0;;11151:118;11303:24;:40::i;:::-;-1:-1:-1;;;;;11280:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11361:43;;;;;;-1:-1:-1;;;;;;;;;;;11361:43:0;;;11389:14;597:25:1;;585:2;570:18;;451:177;11361:43:0;;;;;;;;-1:-1:-1;11422:4:0;;10195:1239;-1:-1:-1;;;;10195:1239:0:o;389:136::-;447:7;474:43;478:1;481;474:43;;;;;;;;;;;;;;;;;:3;:43::i;202:181::-;260:7;;292:5;296:1;292;:5;:::i;:::-;280:17;;321:1;316;:6;;308:46;;;;-1:-1:-1;;;308:46:0;;8939:2:1;308:46:0;;;8921:21:1;8978:2;8958:18;;;8951:30;9017:29;8997:18;;;8990:57;9064:18;;308:46:0;8737:351:1;14730:1877:0;6999:6;:13;;-1:-1:-1;;6999:13:0;7008:4;6999:13;;;14825:15:::1;::::0;14842:26:::1;::::0;6999:6;;14809:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14876:12;;14809:79;;;14872:1;14809:79;14779:109;;14899:23;14925:59;14982:1;14925:52;14968:8;;14925:38;14943:19;14925:13;;:17;;:38;;;;:::i;:59::-;14899:85;;14995:20;15018:34;15036:15;15018:13;;:17;;:34;;;;:::i;:::-;15089:16;::::0;;15103:1:::1;15089:16:::0;;;;;::::1;::::0;;14995:57;;-1:-1:-1;15065:21:0::1;::::0;15089:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15089:16:0::1;15065:40;;15134:4;15116;15121:1;15116:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15116:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15160:4:::1;::::0;15150:7;;15160:4;::::1;::::0;15150;;15160;;15150:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15150:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;15235:6;:188:::1;::::0;-1:-1:-1;;;15235:188:0;;15201:21:::1;::::0;15235:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15307:12;;15177:21:::1;::::0;15350:4;;15377::::1;::::0;15397:15:::1;::::0;15235:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15436:17;15456:40;15482:13;15456:21;:25;;:40;;;;:::i;:::-;15436:60:::0;-1:-1:-1;15509:19:0::1;15531:40;15544:26;:19:::0;15568:1:::1;15544:23;:26::i;:::-;15531:8;::::0;;:12:::1;:40::i;:::-;15509:62:::0;-1:-1:-1;15592:26:0::1;15621:58;15677:1;15621:51;15509:62:::0;15621:51;:9;15635:19;15621:13:::1;:34::i;:58::-;15592:87;;15690:26;15719:44;15751:11;15719:27;15733:12;;15719:9;:13;;:27;;;;:::i;:44::-;15690:73;;15774:21;15798:39;15825:11;15798:22;15812:7;;15798:9;:13;;:22;;;;:::i;:39::-;15774:63;;15848:24;15875:42;15905:11;15875:25;15889:10;;15875:9;:13;;:25;;;;:::i;:42::-;15959:20;::::0;15951:65:::1;::::0;15848:69;;-1:-1:-1;15931:15:0::1;::::0;-1:-1:-1;;;;;15959:20:0;;::::1;::::0;15993:18;;15931:15;15951:65;15931:15;15951:65;15993:18;15959:20;15951:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16051:18:0::1;::::0;16043:61:::1;::::0;15930:86;;-1:-1:-1;;;;;;16051:18:0::1;::::0;16083:16;;16043:61:::1;::::0;;;16083:16;16051:18;16043:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16139:15:0::1;::::0;16131:55:::1;::::0;16027:77;;-1:-1:-1;;;;;;16139:15:0::1;::::0;16168:13;;16131:55:::1;::::0;;;16168:13;16139:15;16131:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16220:5:0::1;::::0;-1:-1:-1;;16241:19:0;;;-1:-1:-1;16238:362:0::1;;16276:6;::::0;16450:21:::1;::::0;16276:244:::1;::::0;-1:-1:-1;;;16276:244:0;;16352:4:::1;16276:244;::::0;::::1;10893:34:1::0;10943:18;;;10936:34;;;16276:6:0::1;10986:18:1::0;;;10979:34;;;11029:18;;;11022:34;-1:-1:-1;;;;;16450:21:0;;::::1;11072:19:1::0;;;11065:44;16490:15:0::1;11125:19:1::0;;;11118:35;16276:6:0;::::1;::::0;:22:::1;::::0;16306:18;;10827:19:1;;16276:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16540:48:0::1;::::0;;11649:25:1;;;11705:2;11690:18;;11683:34;;;16540:48:0::1;::::0;-1:-1:-1;11622:18:1;16540:48:0::1;;;;;;;16238:362;-1:-1:-1::0;;7017:6:0;:14;;-1:-1:-1;;7017:14:0;;;-1:-1:-1;;;;;;;;;;14730:1877:0:o;729:250::-;787:7;811:1;816;811:6;807:47;;-1:-1:-1;841:1:0;834:8;;807:47;866:9;878:5;882:1;878;:5;:::i;:::-;866:17;-1:-1:-1;911:1:0;902:5;906:1;866:17;902:5;:::i;:::-;:10;894:56;;;;-1:-1:-1;;;894:56:0;;11930:2:1;894:56:0;;;11912:21:1;11969:2;11949:18;;;11942:30;12008:34;11988:18;;;11981:62;-1:-1:-1;;;12059:18:1;;;12052:31;12100:19;;894:56:0;11728:397:1;985:132:0;1043:7;1070:39;1074:1;1077;1070:39;;;;;;;;;;;;;;;;;:3;:39::i;11446:330::-;11576:53;;;;;;;;;;;-1:-1:-1;;;11576:53:0;;;;;;;;-1:-1:-1;;;;;11576:17:0;;11539:4;11576:17;;;:9;:17;;;;;;;:53;;11598:6;;11576:21;:53::i;:::-;-1:-1:-1;;;;;11556:17:0;;;;;;;:9;:17;;;;;;:73;;;;11663:20;;;;;;;:32;;11688:6;11663:24;:32::i;:::-;-1:-1:-1;;;;;11640:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11711:35;;;;;;-1:-1:-1;;;;;;;;;;;11711:35:0;;;11739:6;597:25:1;;585:2;570:18;;451:177;11711:35:0;;;;;;;;-1:-1:-1;11764:4:0;11446:330;;;;;:::o;11784:166::-;11881:12;;11871:6;:22;;:49;;;-1:-1:-1;;;;;;11897:23:0;;;;;;:15;:23;;;;;;;;11871:49;11863:79;;;;-1:-1:-1;;;11863:79:0;;12332:2:1;11863:79:0;;;12314:21:1;12371:2;12351:18;;;12344:30;-1:-1:-1;;;12390:18:1;;;12383:47;12447:18;;11863:79:0;12130:341:1;11863:79:0;11784:166;;:::o;13095:197::-;13182:4;;13144;;-1:-1:-1;;;;;13182:4:0;13168:10;:18;;;;:38;;-1:-1:-1;13200:6:0;;;;13199:7;13168:38;:62;;;;-1:-1:-1;13219:11:0;;-1:-1:-1;;;13219:11:0;;;;13168:62;:116;;;;-1:-1:-1;;13271:13:0;;13261:4;13243:24;;;;:9;:24;;;;;;:41;;;13095:197::o;12080:1007::-;12217:18;;12264:4;;12166:7;;12217:18;-1:-1:-1;;;;;12264:4:0;;;12251:17;;;;12248:154;;-1:-1:-1;12298:14:0;;12248:154;;;12343:4;;-1:-1:-1;;;;;12343:4:0;;;12333:14;;;;12330:72;;-1:-1:-1;12377:13:0;;12330:72;12414:17;12434:62;12475:14;;12492:3;12475:20;;;;:::i;:::-;12434:36;12459:10;12434:20;12445:8;;12434:6;:10;;:20;;;;:::i;:62::-;12414:82;;12507:18;12528:36;12555:8;;12528:22;12542:7;;12528:9;:13;;:22;;;;:::i;:36::-;12507:57;-1:-1:-1;12575:22:0;12600:25;:9;12507:57;12600:13;:25::i;:::-;12683:4;12665:24;;;;:9;:24;;;;;;12575:50;;-1:-1:-1;12665:44:0;;12575:50;12665:28;:44::i;:::-;12656:4;12638:24;;;;:9;:24;;;;;;:71;;;;12759:15;;-1:-1:-1;;;;;12759:15:0;12749:26;;;;:42;;12780:10;12749:30;:42::i;:::-;12730:15;;-1:-1:-1;;;;;12730:15:0;;;12720:26;;;;:9;:26;;;;;;;;;:71;;;;12807:47;597:25:1;;;12832:4:0;;12807:47;;;;-1:-1:-1;;;;;;;;;;;12807:47:0;570:18:1;12807:47:0;;;;;;;12888:14;;12885:154;;12933:12;;:28;;12950:10;12933:16;:28::i;:::-;12918:12;:43;12998:4;;12981:34;;597:25:1;;;-1:-1:-1;;;;;12998:4:0;;;;12981:34;;;-1:-1:-1;;;;;;;;;;;12981:34:0;585:2:1;570:18;12981:34:0;;;;;;;12885:154;13058:21;:6;13069:9;13058:10;:21::i;:::-;13051:28;12080:1007;-1:-1:-1;;;;;;;;12080:1007:0:o;1123:189::-;1209:7;1244:12;1237:5;1229:28;;;;-1:-1:-1;;;1229:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1268:9:0;1280:5;1284:1;1280;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;137:309;202:6;210;263:2;251:9;242:7;238:23;234:32;231:52;;;279:1;276;269:12;231:52;318:9;305:23;337:28;359:5;337:28;:::i;:::-;384:5;436:2;421:18;;;;408:32;;-1:-1:-1;;;137:309:1:o;633:173::-;701:20;;-1:-1:-1;;;;;750:31:1;;740:42;;730:70;;796:1;793;786:12;730:70;633:173;;;:::o;811:186::-;870:6;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;1194:548::-;1306:4;1335:2;1364;1353:9;1346:21;1396:6;1390:13;1439:6;1434:2;1423:9;1419:18;1412:34;1464:1;1474:140;1488:6;1485:1;1482:13;1474:140;;;1583:14;;;1579:23;;1573:30;1549:17;;;1568:2;1545:26;1538:66;1503:10;;1474:140;;;1478:3;1663:1;1658:2;1649:6;1638:9;1634:22;1630:31;1623:42;1733:2;1726;1722:7;1717:2;1709:6;1705:15;1701:29;1690:9;1686:45;1682:54;1674:62;;;;1194:548;;;;:::o;1747:254::-;1815:6;1823;1876:2;1864:9;1855:7;1851:23;1847:32;1844:52;;;1892:1;1889;1882:12;1844:52;1915:29;1934:9;1915:29;:::i;2006:248::-;2074:6;2082;2135:2;2123:9;2114:7;2110:23;2106:32;2103:52;;;2151:1;2148;2141:12;2103:52;-1:-1:-1;;2174:23:1;;;2244:2;2229:18;;;2216:32;;-1:-1:-1;2006:248:1:o;2259:328::-;2336:6;2344;2352;2405:2;2393:9;2384:7;2380:23;2376:32;2373:52;;;2421:1;2418;2411:12;2373:52;2444:29;2463:9;2444:29;:::i;:::-;2434:39;;2492:38;2526:2;2515:9;2511:18;2492:38;:::i;:::-;2482:48;;2577:2;2566:9;2562:18;2549:32;2539:42;;2259:328;;;;;:::o;2781:180::-;2840:6;2893:2;2881:9;2872:7;2868:23;2864:32;2861:52;;;2909:1;2906;2899:12;2861:52;-1:-1:-1;2932:23:1;;2781:180;-1:-1:-1;2781:180:1:o;2966:484::-;3061:6;3069;3077;3085;3093;3146:3;3134:9;3125:7;3121:23;3117:33;3114:53;;;3163:1;3160;3153:12;3114:53;3186:29;3205:9;3186:29;:::i;:::-;3176:39;;3234:38;3268:2;3257:9;3253:18;3234:38;:::i;:::-;3224:48;;3291:38;3325:2;3314:9;3310:18;3291:38;:::i;:::-;3281:48;;3348:38;3382:2;3371:9;3367:18;3348:38;:::i;:::-;3338:48;;3405:39;3439:3;3428:9;3424:19;3405:39;:::i;:::-;3395:49;;2966:484;;;;;;;;:::o;3663:523::-;3767:6;3775;3783;3791;3799;3807;3860:3;3848:9;3839:7;3835:23;3831:33;3828:53;;;3877:1;3874;3867:12;3828:53;-1:-1:-1;;3900:23:1;;;3970:2;3955:18;;3942:32;;-1:-1:-1;4021:2:1;4006:18;;3993:32;;4072:2;4057:18;;4044:32;;-1:-1:-1;4123:3:1;4108:19;;4095:33;;-1:-1:-1;4175:3:1;4160:19;4147:33;;-1:-1:-1;3663:523:1;-1:-1:-1;3663:523:1:o;4191:315::-;4256:6;4264;4317:2;4305:9;4296:7;4292:23;4288:32;4285:52;;;4333:1;4330;4323:12;4285:52;4356:29;4375:9;4356:29;:::i;:::-;4346:39;;4435:2;4424:9;4420:18;4407:32;4448:28;4470:5;4448:28;:::i;:::-;4495:5;4485:15;;;4191:315;;;;;:::o;4511:316::-;4588:6;4596;4604;4657:2;4645:9;4636:7;4632:23;4628:32;4625:52;;;4673:1;4670;4663:12;4625:52;-1:-1:-1;;4696:23:1;;;4766:2;4751:18;;4738:32;;-1:-1:-1;4817:2:1;4802:18;;;4789:32;;4511:316;-1:-1:-1;4511:316:1:o;4832:260::-;4900:6;4908;4961:2;4949:9;4940:7;4936:23;4932:32;4929:52;;;4977:1;4974;4967:12;4929:52;5000:29;5019:9;5000:29;:::i;:::-;4990:39;;5048:38;5082:2;5071:9;5067:18;5048:38;:::i;:::-;5038:48;;4832:260;;;;;:::o;5323:356::-;5525:2;5507:21;;;5544:18;;;5537:30;5603:34;5598:2;5583:18;;5576:62;5670:2;5655:18;;5323:356::o;5684:127::-;5745:10;5740:3;5736:20;5733:1;5726:31;5776:4;5773:1;5766:15;5800:4;5797:1;5790:15;5816:217;5856:1;5882;5872:132;;5926:10;5921:3;5917:20;5914:1;5907:31;5961:4;5958:1;5951:15;5989:4;5986:1;5979:15;5872:132;-1:-1:-1;6018:9:1;;5816:217::o;6038:168::-;6111:9;;;6142;;6159:15;;;6153:22;;6139:37;6129:71;;6180:18;;:::i;6211:184::-;6281:6;6334:2;6322:9;6313:7;6309:23;6305:32;6302:52;;;6350:1;6347;6340:12;6302:52;-1:-1:-1;6373:16:1;;6211:184;-1:-1:-1;6211:184:1:o;6679:245::-;6746:6;6799:2;6787:9;6778:7;6774:23;6770:32;6767:52;;;6815:1;6812;6805:12;6767:52;6847:9;6841:16;6866:28;6888:5;6866:28;:::i;7694:128::-;7761:9;;;7782:11;;;7779:37;;;7796:18;;:::i;8176:125::-;8241:9;;;8262:10;;;8259:36;;;8275:18;;:::i;9225:127::-;9286:10;9281:3;9277:20;9274:1;9267:31;9317:4;9314:1;9307:15;9341:4;9338:1;9331:15;9357:980;9619:4;9667:3;9656:9;9652:19;9698:6;9687:9;9680:25;9724:2;9762:6;9757:2;9746:9;9742:18;9735:34;9805:3;9800:2;9789:9;9785:18;9778:31;9829:6;9864;9858:13;9895:6;9887;9880:22;9933:3;9922:9;9918:19;9911:26;;9972:2;9964:6;9960:15;9946:29;;9993:1;10003:195;10017:6;10014:1;10011:13;10003:195;;;10082:13;;-1:-1:-1;;;;;10078:39:1;10066:52;;10173:15;;;;10138:12;;;;10114:1;10032:9;10003:195;;;-1:-1:-1;;;;;;;10254:32:1;;;;10249:2;10234:18;;10227:60;-1:-1:-1;;;10318:3:1;10303:19;10296:35;10215:3;9357:980;-1:-1:-1;;;9357:980:1:o;11164:306::-;11252:6;11260;11268;11321:2;11309:9;11300:7;11296:23;11292:32;11289:52;;;11337:1;11334;11327:12;11289:52;11366:9;11360:16;11350:26;;11416:2;11405:9;11401:18;11395:25;11385:35;;11460:2;11449:9;11445:18;11439:25;11429:35;;11164:306;;;;;:::o
Swarm Source
ipfs://0d92b70f48d4f3115ae7f3f71d8af971b6d31f88af49877e02a8b034dd118873
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,900.54 | 0.000000000000000005 | <$0.000001 |
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.