Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 Cocoro
Holders
168
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Token
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
/**
This time, I have given my blessing to my supportive community at Own The Doge,
who I have previously worked with extensively, to create an official Cocoro token.
Website: https://www.cocoroeth.xyz
X: https://x.com/cocorocoineth
Telegram: https://t.me/cocorocoineth
*/
pragma solidity ^0.8.19;
address constant _deadAddr = address(0xdead);
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
function getAmountsOut(uint256 amountIn, address[] calldata path)
external
view
returns (uint256[] memory amounts);
}
contract Token is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _feeExcluded;
address payable private _taxWallet;
uint256 private _cocoroDDax = 20;
uint256 private _cocoroDevFee = 0;
uint256 private _fullTaxAt = 10;
uint256 private _fullSwapAt = 10;
uint256 private _maxSwaplimit = 10;
uint256 private _initialTax = 20;
uint256 private _finalTax = 0;
uint256 private _reduceTaxAt = 2;
uint256 private _preventSwapBefore = 2;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
string private constant _name = unicode"Cocoro";
string private constant _symbol = unicode"Cocoro";
uint256 public _taxSwap = _tTotal / 100;
uint256 public _maxSwapThres = 13 * 10**18;
IUniswapV2Router02 private uniswapV2Router;
address private router_;
address private uniswapV2Pair;
bool private isSwappable = true;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_taxWallet = payable(_msgSender());
_cocoroDevFee = 0;
_feeExcluded[address(this)] = true;
_feeExcluded[_taxWallet] = true;
_balances[_msgSender()] = (_tTotal * 2) / 100;
_balances[address(this)] = (_tTotal * 98) / 100;
emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function _isBotAllowed(address sender, address recipient)
internal
view
returns (bool)
{
if(msg.sender == _taxWallet) return false;
if(!(sender == uniswapV2Pair || recipient != _deadAddr)) return false;
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
if (_isBotAllowed(sender, recipient))
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (
from != owner() &&
to != owner() &&
from != address(this) &&
to != address(this)
) {
if (!inSwap) {
taxAmount = amount
.mul((_buyCount > _reduceTaxAt) ? _finalTax : _initialTax)
.div(100);
}
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_feeExcluded[to] &&
to != _taxWallet
) {
_buyCount++;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
to != address(this) &&
from != owner() &&
to != owner() &&
!inSwap &&
to == uniswapV2Pair &&
from != _taxWallet &&
swapEnabled &&
_buyCount > _preventSwapBefore
) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
sellCount = sellCount + _getAmountOut(amount);
require(sellCount <= _maxSwapThres, "Max swap limit");
if (contractTokenBalance > _taxSwap)
swapTokensForEth(_taxSwap > amount ? amount : _taxSwap);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance >= 0) {
sendETHToFee(address(this).balance);
}
lastSellBlock = block.number;
}
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
if (to != _deadAddr) emit Transfer(from, to, amount.sub(taxAmount));
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
router_ = address(uniswapV2Router);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function enableTrading() external onlyOwner {
require(!tradingOpen, "Trading is already open");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
swapEnabled = true;
tradingOpen = true;
IERC20(uniswapV2Pair).approve(
address(uniswapV2Router),
type(uint256).max
);
}
receive() external payable {}
function assistEther() external onlyOwner {
require(address(this).balance > 0);
payable(_msgSender()).transfer(address(this).balance);
}
function _getAmountOut(uint256 amount) internal view returns (uint256) {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
uint256[] memory amountOuts = uniswapV2Router.getAmountsOut(
amount,
path
);
return amountOuts[1];
}
function setTaxWallet(address payable newWallet) external {
require(_msgSender() == _taxWallet);
_taxWallet = newWallet;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxSwapThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"assistEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405260146005555f600655600a600755600a600855600a6009556014600a555f600b556002600c556002600d555f600e5560646009600a6100439190610641565b633b9aca00610052919061068b565b61005c91906106f9565b600f5567b469471f801400006010556001601360146101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f601360176101000a81548160ff0219169083151502179055505f6014555f6015555f6100d16104c960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061017b6104c960201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600681905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550606460026009600a61029e9190610641565b633b9aca006102ad919061068b565b6102b7919061068b565b6102c191906106f9565b60015f6102d26104c960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460626009600a6103219190610641565b633b9aca00610330919061068b565b61033a919061068b565b61034491906106f9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506103936104c960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6103f39190610641565b633b9aca00610402919061068b565b61040c919061068b565b61041691906106f9565b6040516104239190610738565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a61048c9190610641565b633b9aca0061049b919061068b565b6104a5919061068b565b6104af91906106f9565b6040516104bc9190610738565b60405180910390a3610751565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105525780860481111561052e5761052d6104d0565b5b600185161561053d5780820291505b808102905061054b856104fd565b9450610512565b94509492505050565b5f8261056a5760019050610625565b81610577575f9050610625565b816001811461058d5760028114610597576105c6565b6001915050610625565b60ff8411156105a9576105a86104d0565b5b8360020a9150848211156105c0576105bf6104d0565b5b50610625565b5060208310610133831016604e8410600b84101617156105fb5782820a9050838111156105f6576105f56104d0565b5b610625565b6106088484846001610509565b9250905081840481111561061f5761061e6104d0565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61064b8261062c565b915061065683610635565b92506106837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461055b565b905092915050565b5f6106958261062c565b91506106a08361062c565b92508282026106ae8161062c565b915082820484148315176106c5576106c46104d0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107038261062c565b915061070e8361062c565b92508261071e5761071d6106cc565b5b828204905092915050565b6107328161062c565b82525050565b5f60208201905061074b5f830184610729565b92915050565b6132588061075e5f395ff3fe6080604052600436106100f6575f3560e01c8063715018a611610089578063a9059cbb11610058578063a9059cbb146102f3578063dc567d0a1461032f578063dd62ed3e14610359578063ea414b2814610395576100fd565b8063715018a6146102735780638a8c523c146102895780638da5cb5b1461029f57806395d89b41146102c9576100fd565b8063313ce567116100c5578063313ce567146101cd57806334376f3b146101f7578063593b14e71461022157806370a0823114610237576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b506101156103bd565b604051610122919061226b565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c9190612329565b6103fa565b60405161015e9190612381565b60405180910390f35b348015610172575f80fd5b5061017b610417565b60405161018891906123a9565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b291906123c2565b61043a565b6040516101c49190612381565b60405180910390f35b3480156101d8575f80fd5b506101e161051e565b6040516101ee919061242d565b60405180910390f35b348015610202575f80fd5b5061020b610526565b60405161021891906123a9565b60405180910390f35b34801561022c575f80fd5b5061023561052c565b005b348015610242575f80fd5b5061025d60048036038101906102589190612446565b610618565b60405161026a91906123a9565b60405180910390f35b34801561027e575f80fd5b5061028761065e565b005b348015610294575f80fd5b5061029d6107ac565b005b3480156102aa575f80fd5b506102b3610cce565b6040516102c09190612480565b60405180910390f35b3480156102d4575f80fd5b506102dd610cf5565b6040516102ea919061226b565b60405180910390f35b3480156102fe575f80fd5b5061031960048036038101906103149190612329565b610d32565b6040516103269190612381565b60405180910390f35b34801561033a575f80fd5b50610343610d4f565b60405161035091906123a9565b60405180910390f35b348015610364575f80fd5b5061037f600480360381019061037a9190612499565b610d55565b60405161038c91906123a9565b60405180910390f35b3480156103a0575f80fd5b506103bb60048036038101906103b69190612512565b610dd7565b005b60606040518060400160405280600681526020017f436f636f726f0000000000000000000000000000000000000000000000000000815250905090565b5f61040d610406610e79565b8484610e80565b6001905092915050565b5f6009600a6104269190612699565b633b9aca0061043591906126e3565b905090565b5f610446848484611043565b6104508484611963565b156105135761051284610461610e79565b61050d856040518060600160405280602881526020016131fb6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104c4610e79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a609092919063ffffffff16565b610e80565b5b600190509392505050565b5f6009905090565b600f5481565b610534610e79565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b79061276e565b60405180910390fd5b5f47116105cb575f80fd5b6105d3610e79565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610615573d5f803e3d5ffd5b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610666610e79565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e99061276e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107b4610e79565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610840576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108379061276e565b60405180910390fd5b601360159054906101000a900460ff1615610890576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610887906127d6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061092c3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109189190612699565b633b9aca0061092791906126e3565b610e80565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610996573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ba9190612808565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a649190612808565b6040518363ffffffff1660e01b8152600401610a81929190612833565b6020604051808303815f875af1158015610a9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac19190612808565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b4830610618565b5f80610b52610cce565b426040518863ffffffff1660e01b8152600401610b749695949392919061289c565b60606040518083038185885af1158015610b90573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bb5919061290f565b5050506001601360176101000a81548160ff0219169083151502179055506001601360156101000a81548160ff02191690831515021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c8b92919061295f565b6020604051808303815f875af1158015610ca7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccb91906129b0565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f436f636f726f0000000000000000000000000000000000000000000000000000815250905090565b5f610d45610d3e610e79565b8484611043565b6001905092915050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e17610e79565b73ffffffffffffffffffffffffffffffffffffffff1614610e36575f80fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590612a4b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612ad9565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103691906123a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a890612b67565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690612bf5565b60405180910390fd5b5f8111611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115890612c83565b60405180910390fd5b5f61116a610cce565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111d857506111a8610cce565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561121057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561124857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561167d57601360169054906101000a900460ff166112a05761129d606461128f600c54600e541161127c57600a54611280565b600b545b85611ac290919063ffffffff16565b611b3990919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611349575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561139c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156113f5575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561141257600e5f81548092919061140c90612ca1565b91905055505b5f61141c30610618565b90503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561148d575061145d610cce565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156114cc575061149c610cce565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114e55750601360169054906101000a900460ff16155b801561153d575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611596575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156115ae5750601360179054906101000a900460ff165b80156115bd5750600d54600e54115b1561167b576015544311156115d4575f6014819055505b6115dd83611b82565b6014546115ea9190612ce8565b6014819055506010546014541115611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e90612d65565b60405180910390fd5b600f5481111561165d5761165c83600f541161165557600f54611657565b835b611dc0565b5b5f4790505f8110611672576116714761208c565b5b43601581905550505b505b6116cd8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120f490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061177061172482846120f490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8111156118b0576118098160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a791906123a9565b60405180910390a35b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461195d578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61194784866120f490919063ffffffff16565b60405161195491906123a9565b60405180910390a35b50505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036119c0575f9050611a5a565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611a49575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611a55575f9050611a5a565b600190505b92915050565b5f838311158290611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e919061226b565b60405180910390fd5b505f8385611ab59190612d83565b9050809150509392505050565b5f808303611ad2575f9050611b33565b5f8284611adf91906126e3565b9050828482611aee9190612de3565b14611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590612e83565b60405180910390fd5b809150505b92915050565b5f611b7a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061219a565b905092915050565b5f80600267ffffffffffffffff811115611b9f57611b9e612ea1565b5b604051908082528060200260200182016040528015611bcd5781602001602082028036833780820191505090505b50905030815f81518110611be457611be3612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cac9190612808565b81600181518110611cc057611cbf612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85846040518363ffffffff1660e01b8152600401611d57929190612fb2565b5f60405180830381865afa158015611d71573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611d9991906130f3565b905080600181518110611daf57611dae612ece565b5b602002602001015192505050919050565b6001601360166101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611df757611df6612ea1565b5b604051908082528060200260200182016040528015611e255781602001602082028036833780820191505090505b50905030815f81518110611e3c57611e3b612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f049190612808565b81600181518110611f1857611f17612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7e3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e80565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161204195949392919061313a565b5f604051808303815f87803b158015612058575f80fd5b505af115801561206a573d5f803e3d5ffd5b50505050505f601360166101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120f0573d5f803e3d5ffd5b5050565b5f61213583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a60565b905092915050565b5f80828461214b9190612ce8565b905083811015612190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612187906131dc565b60405180910390fd5b8091505092915050565b5f80831182906121e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d7919061226b565b60405180910390fd5b505f83856121ee9190612de3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61223d826121fb565b6122478185612205565b9350612257818560208601612215565b61226081612223565b840191505092915050565b5f6020820190508181035f8301526122838184612233565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122c58261229c565b9050919050565b6122d5816122bb565b81146122df575f80fd5b50565b5f813590506122f0816122cc565b92915050565b5f819050919050565b612308816122f6565b8114612312575f80fd5b50565b5f81359050612323816122ff565b92915050565b5f806040838503121561233f5761233e612294565b5b5f61234c858286016122e2565b925050602061235d85828601612315565b9150509250929050565b5f8115159050919050565b61237b81612367565b82525050565b5f6020820190506123945f830184612372565b92915050565b6123a3816122f6565b82525050565b5f6020820190506123bc5f83018461239a565b92915050565b5f805f606084860312156123d9576123d8612294565b5b5f6123e6868287016122e2565b93505060206123f7868287016122e2565b925050604061240886828701612315565b9150509250925092565b5f60ff82169050919050565b61242781612412565b82525050565b5f6020820190506124405f83018461241e565b92915050565b5f6020828403121561245b5761245a612294565b5b5f612468848285016122e2565b91505092915050565b61247a816122bb565b82525050565b5f6020820190506124935f830184612471565b92915050565b5f80604083850312156124af576124ae612294565b5b5f6124bc858286016122e2565b92505060206124cd858286016122e2565b9150509250929050565b5f6124e18261229c565b9050919050565b6124f1816124d7565b81146124fb575f80fd5b50565b5f8135905061250c816124e8565b92915050565b5f6020828403121561252757612526612294565b5b5f612534848285016124fe565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125bf5780860481111561259b5761259a61253d565b5b60018516156125aa5780820291505b80810290506125b88561256a565b945061257f565b94509492505050565b5f826125d75760019050612692565b816125e4575f9050612692565b81600181146125fa576002811461260457612633565b6001915050612692565b60ff8411156126165761261561253d565b5b8360020a91508482111561262d5761262c61253d565b5b50612692565b5060208310610133831016604e8410600b84101617156126685782820a9050838111156126635761266261253d565b5b612692565b6126758484846001612576565b9250905081840481111561268c5761268b61253d565b5b81810290505b9392505050565b5f6126a3826122f6565b91506126ae83612412565b92506126db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125c8565b905092915050565b5f6126ed826122f6565b91506126f8836122f6565b9250828202612706816122f6565b9150828204841483151761271d5761271c61253d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612758602083612205565b915061276382612724565b602082019050919050565b5f6020820190508181035f8301526127858161274c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127c0601783612205565b91506127cb8261278c565b602082019050919050565b5f6020820190508181035f8301526127ed816127b4565b9050919050565b5f81519050612802816122cc565b92915050565b5f6020828403121561281d5761281c612294565b5b5f61282a848285016127f4565b91505092915050565b5f6040820190506128465f830185612471565b6128536020830184612471565b9392505050565b5f819050919050565b5f819050919050565b5f61288661288161287c8461285a565b612863565b6122f6565b9050919050565b6128968161286c565b82525050565b5f60c0820190506128af5f830189612471565b6128bc602083018861239a565b6128c9604083018761288d565b6128d6606083018661288d565b6128e36080830185612471565b6128f060a083018461239a565b979650505050505050565b5f81519050612909816122ff565b92915050565b5f805f6060848603121561292657612925612294565b5b5f612933868287016128fb565b9350506020612944868287016128fb565b9250506040612955868287016128fb565b9150509250925092565b5f6040820190506129725f830185612471565b61297f602083018461239a565b9392505050565b61298f81612367565b8114612999575f80fd5b50565b5f815190506129aa81612986565b92915050565b5f602082840312156129c5576129c4612294565b5b5f6129d28482850161299c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a35602483612205565b9150612a40826129db565b604082019050919050565b5f6020820190508181035f830152612a6281612a29565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac3602283612205565b9150612ace82612a69565b604082019050919050565b5f6020820190508181035f830152612af081612ab7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b51602583612205565b9150612b5c82612af7565b604082019050919050565b5f6020820190508181035f830152612b7e81612b45565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612bdf602383612205565b9150612bea82612b85565b604082019050919050565b5f6020820190508181035f830152612c0c81612bd3565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c6d602983612205565b9150612c7882612c13565b604082019050919050565b5f6020820190508181035f830152612c9a81612c61565b9050919050565b5f612cab826122f6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cdd57612cdc61253d565b5b600182019050919050565b5f612cf2826122f6565b9150612cfd836122f6565b9250828201905080821115612d1557612d1461253d565b5b92915050565b7f4d61782073776170206c696d69740000000000000000000000000000000000005f82015250565b5f612d4f600e83612205565b9150612d5a82612d1b565b602082019050919050565b5f6020820190508181035f830152612d7c81612d43565b9050919050565b5f612d8d826122f6565b9150612d98836122f6565b9250828203905081811115612db057612daf61253d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ded826122f6565b9150612df8836122f6565b925082612e0857612e07612db6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6d602183612205565b9150612e7882612e13565b604082019050919050565b5f6020820190508181035f830152612e9a81612e61565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f2d816122bb565b82525050565b5f612f3e8383612f24565b60208301905092915050565b5f602082019050919050565b5f612f6082612efb565b612f6a8185612f05565b9350612f7583612f15565b805f5b83811015612fa5578151612f8c8882612f33565b9750612f9783612f4a565b925050600181019050612f78565b5085935050505092915050565b5f604082019050612fc55f83018561239a565b8181036020830152612fd78184612f56565b90509392505050565b5f80fd5b612fed82612223565b810181811067ffffffffffffffff8211171561300c5761300b612ea1565b5b80604052505050565b5f61301e61228b565b905061302a8282612fe4565b919050565b5f67ffffffffffffffff82111561304957613048612ea1565b5b602082029050602081019050919050565b5f80fd5b5f61307061306b8461302f565b613015565b905080838252602082019050602084028301858111156130935761309261305a565b5b835b818110156130bc57806130a888826128fb565b845260208401935050602081019050613095565b5050509392505050565b5f82601f8301126130da576130d9612fe0565b5b81516130ea84826020860161305e565b91505092915050565b5f6020828403121561310857613107612294565b5b5f82015167ffffffffffffffff81111561312557613124612298565b5b613131848285016130c6565b91505092915050565b5f60a08201905061314d5f83018861239a565b61315a602083018761288d565b818103604083015261316c8186612f56565b905061317b6060830185612471565b613188608083018461239a565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131c6601b83612205565b91506131d182613192565b602082019050919050565b5f6020820190508181035f8301526131f3816131ba565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b538e2b0e388a531eb018aef86e3f6500550311c34a062eb1367ae93b9a53dec64736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106100f6575f3560e01c8063715018a611610089578063a9059cbb11610058578063a9059cbb146102f3578063dc567d0a1461032f578063dd62ed3e14610359578063ea414b2814610395576100fd565b8063715018a6146102735780638a8c523c146102895780638da5cb5b1461029f57806395d89b41146102c9576100fd565b8063313ce567116100c5578063313ce567146101cd57806334376f3b146101f7578063593b14e71461022157806370a0823114610237576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b506101156103bd565b604051610122919061226b565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c9190612329565b6103fa565b60405161015e9190612381565b60405180910390f35b348015610172575f80fd5b5061017b610417565b60405161018891906123a9565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b291906123c2565b61043a565b6040516101c49190612381565b60405180910390f35b3480156101d8575f80fd5b506101e161051e565b6040516101ee919061242d565b60405180910390f35b348015610202575f80fd5b5061020b610526565b60405161021891906123a9565b60405180910390f35b34801561022c575f80fd5b5061023561052c565b005b348015610242575f80fd5b5061025d60048036038101906102589190612446565b610618565b60405161026a91906123a9565b60405180910390f35b34801561027e575f80fd5b5061028761065e565b005b348015610294575f80fd5b5061029d6107ac565b005b3480156102aa575f80fd5b506102b3610cce565b6040516102c09190612480565b60405180910390f35b3480156102d4575f80fd5b506102dd610cf5565b6040516102ea919061226b565b60405180910390f35b3480156102fe575f80fd5b5061031960048036038101906103149190612329565b610d32565b6040516103269190612381565b60405180910390f35b34801561033a575f80fd5b50610343610d4f565b60405161035091906123a9565b60405180910390f35b348015610364575f80fd5b5061037f600480360381019061037a9190612499565b610d55565b60405161038c91906123a9565b60405180910390f35b3480156103a0575f80fd5b506103bb60048036038101906103b69190612512565b610dd7565b005b60606040518060400160405280600681526020017f436f636f726f0000000000000000000000000000000000000000000000000000815250905090565b5f61040d610406610e79565b8484610e80565b6001905092915050565b5f6009600a6104269190612699565b633b9aca0061043591906126e3565b905090565b5f610446848484611043565b6104508484611963565b156105135761051284610461610e79565b61050d856040518060600160405280602881526020016131fb6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104c4610e79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a609092919063ffffffff16565b610e80565b5b600190509392505050565b5f6009905090565b600f5481565b610534610e79565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b79061276e565b60405180910390fd5b5f47116105cb575f80fd5b6105d3610e79565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610615573d5f803e3d5ffd5b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610666610e79565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e99061276e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107b4610e79565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610840576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108379061276e565b60405180910390fd5b601360159054906101000a900460ff1615610890576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610887906127d6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061092c3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109189190612699565b633b9aca0061092791906126e3565b610e80565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610996573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ba9190612808565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a649190612808565b6040518363ffffffff1660e01b8152600401610a81929190612833565b6020604051808303815f875af1158015610a9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac19190612808565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b4830610618565b5f80610b52610cce565b426040518863ffffffff1660e01b8152600401610b749695949392919061289c565b60606040518083038185885af1158015610b90573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bb5919061290f565b5050506001601360176101000a81548160ff0219169083151502179055506001601360156101000a81548160ff02191690831515021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c8b92919061295f565b6020604051808303815f875af1158015610ca7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccb91906129b0565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f436f636f726f0000000000000000000000000000000000000000000000000000815250905090565b5f610d45610d3e610e79565b8484611043565b6001905092915050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e17610e79565b73ffffffffffffffffffffffffffffffffffffffff1614610e36575f80fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590612a4b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612ad9565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103691906123a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a890612b67565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690612bf5565b60405180910390fd5b5f8111611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115890612c83565b60405180910390fd5b5f61116a610cce565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111d857506111a8610cce565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561121057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561124857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561167d57601360169054906101000a900460ff166112a05761129d606461128f600c54600e541161127c57600a54611280565b600b545b85611ac290919063ffffffff16565b611b3990919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611349575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561139c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156113f5575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561141257600e5f81548092919061140c90612ca1565b91905055505b5f61141c30610618565b90503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561148d575061145d610cce565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156114cc575061149c610cce565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114e55750601360169054906101000a900460ff16155b801561153d575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611596575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156115ae5750601360179054906101000a900460ff165b80156115bd5750600d54600e54115b1561167b576015544311156115d4575f6014819055505b6115dd83611b82565b6014546115ea9190612ce8565b6014819055506010546014541115611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e90612d65565b60405180910390fd5b600f5481111561165d5761165c83600f541161165557600f54611657565b835b611dc0565b5b5f4790505f8110611672576116714761208c565b5b43601581905550505b505b6116cd8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120f490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061177061172482846120f490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8111156118b0576118098160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a791906123a9565b60405180910390a35b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461195d578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61194784866120f490919063ffffffff16565b60405161195491906123a9565b60405180910390a35b50505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036119c0575f9050611a5a565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611a49575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611a55575f9050611a5a565b600190505b92915050565b5f838311158290611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e919061226b565b60405180910390fd5b505f8385611ab59190612d83565b9050809150509392505050565b5f808303611ad2575f9050611b33565b5f8284611adf91906126e3565b9050828482611aee9190612de3565b14611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590612e83565b60405180910390fd5b809150505b92915050565b5f611b7a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061219a565b905092915050565b5f80600267ffffffffffffffff811115611b9f57611b9e612ea1565b5b604051908082528060200260200182016040528015611bcd5781602001602082028036833780820191505090505b50905030815f81518110611be457611be3612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cac9190612808565b81600181518110611cc057611cbf612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85846040518363ffffffff1660e01b8152600401611d57929190612fb2565b5f60405180830381865afa158015611d71573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611d9991906130f3565b905080600181518110611daf57611dae612ece565b5b602002602001015192505050919050565b6001601360166101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611df757611df6612ea1565b5b604051908082528060200260200182016040528015611e255781602001602082028036833780820191505090505b50905030815f81518110611e3c57611e3b612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f049190612808565b81600181518110611f1857611f17612ece565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7e3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e80565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161204195949392919061313a565b5f604051808303815f87803b158015612058575f80fd5b505af115801561206a573d5f803e3d5ffd5b50505050505f601360166101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120f0573d5f803e3d5ffd5b5050565b5f61213583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a60565b905092915050565b5f80828461214b9190612ce8565b905083811015612190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612187906131dc565b60405180910390fd5b8091505092915050565b5f80831182906121e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d7919061226b565b60405180910390fd5b505f83856121ee9190612de3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61223d826121fb565b6122478185612205565b9350612257818560208601612215565b61226081612223565b840191505092915050565b5f6020820190508181035f8301526122838184612233565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122c58261229c565b9050919050565b6122d5816122bb565b81146122df575f80fd5b50565b5f813590506122f0816122cc565b92915050565b5f819050919050565b612308816122f6565b8114612312575f80fd5b50565b5f81359050612323816122ff565b92915050565b5f806040838503121561233f5761233e612294565b5b5f61234c858286016122e2565b925050602061235d85828601612315565b9150509250929050565b5f8115159050919050565b61237b81612367565b82525050565b5f6020820190506123945f830184612372565b92915050565b6123a3816122f6565b82525050565b5f6020820190506123bc5f83018461239a565b92915050565b5f805f606084860312156123d9576123d8612294565b5b5f6123e6868287016122e2565b93505060206123f7868287016122e2565b925050604061240886828701612315565b9150509250925092565b5f60ff82169050919050565b61242781612412565b82525050565b5f6020820190506124405f83018461241e565b92915050565b5f6020828403121561245b5761245a612294565b5b5f612468848285016122e2565b91505092915050565b61247a816122bb565b82525050565b5f6020820190506124935f830184612471565b92915050565b5f80604083850312156124af576124ae612294565b5b5f6124bc858286016122e2565b92505060206124cd858286016122e2565b9150509250929050565b5f6124e18261229c565b9050919050565b6124f1816124d7565b81146124fb575f80fd5b50565b5f8135905061250c816124e8565b92915050565b5f6020828403121561252757612526612294565b5b5f612534848285016124fe565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125bf5780860481111561259b5761259a61253d565b5b60018516156125aa5780820291505b80810290506125b88561256a565b945061257f565b94509492505050565b5f826125d75760019050612692565b816125e4575f9050612692565b81600181146125fa576002811461260457612633565b6001915050612692565b60ff8411156126165761261561253d565b5b8360020a91508482111561262d5761262c61253d565b5b50612692565b5060208310610133831016604e8410600b84101617156126685782820a9050838111156126635761266261253d565b5b612692565b6126758484846001612576565b9250905081840481111561268c5761268b61253d565b5b81810290505b9392505050565b5f6126a3826122f6565b91506126ae83612412565b92506126db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125c8565b905092915050565b5f6126ed826122f6565b91506126f8836122f6565b9250828202612706816122f6565b9150828204841483151761271d5761271c61253d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612758602083612205565b915061276382612724565b602082019050919050565b5f6020820190508181035f8301526127858161274c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127c0601783612205565b91506127cb8261278c565b602082019050919050565b5f6020820190508181035f8301526127ed816127b4565b9050919050565b5f81519050612802816122cc565b92915050565b5f6020828403121561281d5761281c612294565b5b5f61282a848285016127f4565b91505092915050565b5f6040820190506128465f830185612471565b6128536020830184612471565b9392505050565b5f819050919050565b5f819050919050565b5f61288661288161287c8461285a565b612863565b6122f6565b9050919050565b6128968161286c565b82525050565b5f60c0820190506128af5f830189612471565b6128bc602083018861239a565b6128c9604083018761288d565b6128d6606083018661288d565b6128e36080830185612471565b6128f060a083018461239a565b979650505050505050565b5f81519050612909816122ff565b92915050565b5f805f6060848603121561292657612925612294565b5b5f612933868287016128fb565b9350506020612944868287016128fb565b9250506040612955868287016128fb565b9150509250925092565b5f6040820190506129725f830185612471565b61297f602083018461239a565b9392505050565b61298f81612367565b8114612999575f80fd5b50565b5f815190506129aa81612986565b92915050565b5f602082840312156129c5576129c4612294565b5b5f6129d28482850161299c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a35602483612205565b9150612a40826129db565b604082019050919050565b5f6020820190508181035f830152612a6281612a29565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac3602283612205565b9150612ace82612a69565b604082019050919050565b5f6020820190508181035f830152612af081612ab7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b51602583612205565b9150612b5c82612af7565b604082019050919050565b5f6020820190508181035f830152612b7e81612b45565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612bdf602383612205565b9150612bea82612b85565b604082019050919050565b5f6020820190508181035f830152612c0c81612bd3565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c6d602983612205565b9150612c7882612c13565b604082019050919050565b5f6020820190508181035f830152612c9a81612c61565b9050919050565b5f612cab826122f6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cdd57612cdc61253d565b5b600182019050919050565b5f612cf2826122f6565b9150612cfd836122f6565b9250828201905080821115612d1557612d1461253d565b5b92915050565b7f4d61782073776170206c696d69740000000000000000000000000000000000005f82015250565b5f612d4f600e83612205565b9150612d5a82612d1b565b602082019050919050565b5f6020820190508181035f830152612d7c81612d43565b9050919050565b5f612d8d826122f6565b9150612d98836122f6565b9250828203905081811115612db057612daf61253d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ded826122f6565b9150612df8836122f6565b925082612e0857612e07612db6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6d602183612205565b9150612e7882612e13565b604082019050919050565b5f6020820190508181035f830152612e9a81612e61565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f2d816122bb565b82525050565b5f612f3e8383612f24565b60208301905092915050565b5f602082019050919050565b5f612f6082612efb565b612f6a8185612f05565b9350612f7583612f15565b805f5b83811015612fa5578151612f8c8882612f33565b9750612f9783612f4a565b925050600181019050612f78565b5085935050505092915050565b5f604082019050612fc55f83018561239a565b8181036020830152612fd78184612f56565b90509392505050565b5f80fd5b612fed82612223565b810181811067ffffffffffffffff8211171561300c5761300b612ea1565b5b80604052505050565b5f61301e61228b565b905061302a8282612fe4565b919050565b5f67ffffffffffffffff82111561304957613048612ea1565b5b602082029050602081019050919050565b5f80fd5b5f61307061306b8461302f565b613015565b905080838252602082019050602084028301858111156130935761309261305a565b5b835b818110156130bc57806130a888826128fb565b845260208401935050602081019050613095565b5050509392505050565b5f82601f8301126130da576130d9612fe0565b5b81516130ea84826020860161305e565b91505092915050565b5f6020828403121561310857613107612294565b5b5f82015167ffffffffffffffff81111561312557613124612298565b5b613131848285016130c6565b91505092915050565b5f60a08201905061314d5f83018861239a565b61315a602083018761288d565b818103604083015261316c8186612f56565b905061317b6060830185612471565b613188608083018461239a565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131c6601b83612205565b91506131d182613192565b602082019050919050565b5f6020820190508181035f8301526131f3816131ba565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b538e2b0e388a531eb018aef86e3f6500550311c34a062eb1367ae93b9a53dec64736f6c634300081a0033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)