// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract StandardToken {
uint8 public constant decimals = 18;
uint256 public constant FIXED_SUPPLY = 1_000_000_000 * 10 ** 18;
string public name;
string public symbol;
uint256 public totalSupply;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor(string memory name_, string memory symbol_) {
name = name_;
symbol = symbol_;
_mint(msg.sender, FIXED_SUPPLY);
}
function balanceOf(address account) external view returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) external view returns (uint256) {
return _allowances[owner][spender];
}
function transfer(address to, uint256 amount) external returns (bool) {
_transfer(msg.sender, to, amount);
return true;
}
function approve(address spender, uint256 amount) external returns (bool) {
_approve(msg.sender, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) external returns (bool) {
uint256 currentAllowance = _allowances[from][msg.sender];
require(currentAllowance >= amount, "ERC20_INSUFFICIENT_ALLOWANCE");
unchecked {
_approve(from, msg.sender, currentAllowance - amount);
}
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
_approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
uint256 currentAllowance = _allowances[msg.sender][spender];
require(currentAllowance >= subtractedValue, "ALLOWANCE_BELOW_ZERO");
unchecked {
_approve(msg.sender, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(address from, address to, uint256 amount) internal {
require(from != address(0), "ERC20_INVALID_SENDER");
require(to != address(0), "ERC20_INVALID_RECEIVER");
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20_INSUFFICIENT_BALANCE");
unchecked {
_balances[from] = fromBalance - amount;
}
_balances[to] += amount;
emit Transfer(from, to, amount);
}
function _approve(address owner, address spender, uint256 amount) internal {
require(owner != address(0), "ERC20_INVALID_APPROVER");
require(spender != address(0), "ERC20_INVALID_SPENDER");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _mint(address to, uint256 amount) internal {
require(to != address(0), "ERC20_INVALID_RECEIVER");
totalSupply += amount;
_balances[to] += amount;
emit Transfer(address(0), to, amount);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
}
],
"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": "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": "FIXED_SUPPLY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"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": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "decreaseAllowance",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "subtractedValue",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "increaseAllowance",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "addedValue",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"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"
}
]0x6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461047857508063095ea7b31461044e57806318160ddd1461042f57806323b872dd14610383578063313ce56714610367578063395093511461031957806370a08231146102e157806395d89b41146101dd578063a457c2d71461014e578063a9059cbb1461011d578063c969943e146100f25763dd62ed3e146100a757600080fd5b346100ee57816003193601126100ee5760209282916100c4610597565b6100cc6105b2565b6001600160a01b03918216845291865283832091168252845220549051908152f35b8280fd5b505034610119578160031936011261011957602090516b033b2e3c9fd0803ce80000008152f35b5080fd5b50503461011957806003193601126101195760209061014761013d610597565b60243590336105eb565b5160018152f35b5082346101da57826003193601126101da57610168610597565b9183602435923381528260205281812060018060a01b03861682526020522054908282106101a0576020856101478585038733610726565b606490602086519162461bcd60e51b83528201526014602482015273414c4c4f57414e43455f42454c4f575f5a45524f60601b6044820152fd5b80fd5b5091903461011957816003193601126101195780519082600180549081811c908083169283156102d7575b60209384841081146102c4578388529081156102a85750600114610270575b505050829003601f01601f191682019267ffffffffffffffff84118385101761025d575082918261025992528261054e565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b8385106102945750505050830101388080610227565b80548886018301529301928490820161027e565b60ff1916878501525050151560051b8401019050388080610227565b634e487b7160e01b895260228a52602489fd5b91607f1691610208565b5050346101195760203660031901126101195760209181906001600160a01b03610309610597565b1681526003845220549051908152f35b50346100ee57816003193601126100ee576101479061036060209461033c610597565b3382529286528481206001600160a01b0384168252865284902054602435906105c8565b9033610726565b5050346101195781600319360112610119576020905160128152f35b508290346101195760603660031901126101195761039f610597565b6103a76105b2565b6001600160a01b038216845260208381528585203386529052928490205460443593928482106103ec576020866101478787876103e78389033383610726565b6105eb565b606490602087519162461bcd60e51b8352820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e4345000000006044820152fd5b5050346101195781600319360112610119576020906002549051908152f35b50503461011957806003193601126101195760209061014761046e610597565b6024359033610726565b84915083346100ee57826003193601126100ee57828354600181811c90808316928315610544575b60209384841081146102c45783885290811561052857506001146104f057505050829003601f01601f191682019267ffffffffffffffff84118385101761025d575082918261025992528261054e565b919250858052828620918387935b8385106105145750505050830101858080610227565b8054888601830152930192849082016104fe565b60ff1916878501525050151560051b8401019050858080610227565b91607f16916104a0565b6020808252825181830181905290939260005b82811061058357505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610561565b600435906001600160a01b03821682036105ad57565b600080fd5b602435906001600160a01b03821682036105ad57565b919082018092116105d557565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156106ea57169182156106ac576000828152600360205260408120549180831061066a57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9587602096526003865203828220558681522061065f8282546105c8565b9055604051908152a3565b60405162461bcd60e51b815260206004820152601a60248201527945524332305f494e53554646494349454e545f42414c414e434560301b6044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527522a92199182fa4a72b20a624a22fa922a1a2a4ab22a960511b6044820152606490fd5b60405162461bcd60e51b815260206004820152601460248201527322a92199182fa4a72b20a624a22fa9a2a72222a960611b6044820152606490fd5b6001600160a01b039081169182156107c457169182156107875760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260048252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152601560248201527422a92199182fa4a72b20a624a22fa9a822a72222a960591b6044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527522a92199182fa4a72b20a624a22fa0a8282927ab22a960511b6044820152606490fdfea26469706673582212201a0cd059c235d9cf195524a15747bfa38247eacdad20785f720b7280d3c111bf64736f6c63430008140033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x8da29b…6a3313 | 3 days agoFri, 14 Aug 2026 07:51:10 UTC | Approval | [0] 0x000000000000…11dadbe9 [1] 0x000000000000…e1a4f53d data: 0x000000000000000000…00000000 |
| 0xce0436…dd1e72 | 8 days agoSun, 09 Aug 2026 10:08:40 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…e697294a data: 0x000000000000000000…73cf610a |
| 0xd9c5f6…30c5ea | 11 days agoThu, 06 Aug 2026 21:33:07 UTC | Approval | [0] 0x000000000000…b362b14f [1] 0x000000000000…2e5fb996 data: 0x000000000000000000…00000000 |
| 0x18d467…69bbda | 11 days agoThu, 06 Aug 2026 18:35:07 UTC | Transfer | [0] 0x000000000000…6a47e3d0 [1] 0x000000000000…43e40951 data: 0x000000000000000000…212a937f |
| 0x18d467…69bbda | 11 days agoThu, 06 Aug 2026 18:35:07 UTC | Approval | [0] 0x000000000000…6a47e3d0 [1] 0x000000000000…3ac78ba3 data: 0xffffffffffffffffff…ded56c80 |
| 0xcb45ce…373a2d | 11 days agoThu, 06 Aug 2026 18:35:02 UTC | Approval | [0] 0x000000000000…6a47e3d0 [1] 0x000000000000…3ac78ba3 data: 0xffffffffffffffffff…ffffffff |
| 0x94dee4…ed4a6d | 11 days agoThu, 06 Aug 2026 18:33:49 UTC | Transfer | [0] 0x000000000000…4d6952fc [1] 0x000000000000…6a47e3d0 data: 0x000000000000000000…ae07857d |
| 0x3bdf99…aab2ba | 11 days agoThu, 06 Aug 2026 17:51:55 UTC | Transfer | [0] 0x000000000000…6e03b78f [1] 0x000000000000…43e40951 data: 0x000000000000000000…3c0d84ed |
| 0x3bdf99…aab2ba | 11 days agoThu, 06 Aug 2026 17:51:55 UTC | Approval | [0] 0x000000000000…6e03b78f [1] 0x000000000000…3ac78ba3 data: 0x000000000000000000…235fd6c5 |
| 0x088234…57a854 | 11 days agoThu, 06 Aug 2026 17:49:50 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…6e03b78f data: 0x000000000000000000…e58c9051 |
| 0x0d147d…ae2f5b | 11 days agoThu, 06 Aug 2026 17:20:38 UTC | Transfer | [0] 0x000000000000…dd8d2519 [1] 0x000000000000…4d6952fc data: 0x000000000000000000…b579cf65 |
| 0x0d147d…ae2f5b | 11 days agoThu, 06 Aug 2026 17:20:38 UTC | Approval | [0] 0x000000000000…dd8d2519 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…fffe487e |
| 0x9080ef…9be599 | 11 days agoThu, 06 Aug 2026 17:20:02 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…dd8d2519 data: 0x000000000000000000…b579cf65 |
| 0x065776…e69b80 | 11 days agoThu, 06 Aug 2026 16:45:10 UTC | Transfer | [0] 0x000000000000…262c40dc [1] 0x000000000000…43e40951 data: 0x000000000000000000…f48c753c |
| 0x065776…e69b80 | 11 days agoThu, 06 Aug 2026 16:45:10 UTC | Transfer | [0] 0x000000000000…4d6952fc [1] 0x000000000000…262c40dc data: 0x000000000000000000…f48c753c |
| 0x93064d…93c7be | 12 days agoWed, 05 Aug 2026 18:08:50 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…6e03b78f data: 0x000000000000000000…1c641d03 |
| 0xbcebf8…2cef94 | 12 days agoWed, 05 Aug 2026 17:40:44 UTC | Transfer | [0] 0x000000000000…dd8d2519 [1] 0x000000000000…4d6952fc data: 0x000000000000000000…4a87e81c |
| 0xbcebf8…2cef94 | 12 days agoWed, 05 Aug 2026 17:40:44 UTC | Approval | [0] 0x000000000000…dd8d2519 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…b57817e3 |
| 0xec2f85…e9a946 | 12 days agoWed, 05 Aug 2026 17:40:39 UTC | Approval | [0] 0x000000000000…dd8d2519 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0xe896b4…acfc32 | 12 days agoWed, 05 Aug 2026 17:39:45 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…dd8d2519 data: 0x000000000000000000…5fb5ede5 |
| 0x2e4d6a…2e5bfb | 12 days agoWed, 05 Aug 2026 17:36:28 UTC | Transfer | [0] 0x000000000000…262c40dc [1] 0x000000000000…43e40951 data: 0x000000000000000000…42a3a3b1 |
| 0x2e4d6a…2e5bfb | 12 days agoWed, 05 Aug 2026 17:36:28 UTC | Transfer | [0] 0x000000000000…4d6952fc [1] 0x000000000000…262c40dc data: 0x000000000000000000…42a3a3b1 |
| 0x6f72cc…01cb5d | 12 days agoWed, 05 Aug 2026 17:36:28 UTC | Transfer | [0] 0x000000000000…262c40dc [1] 0x000000000000…43e40951 data: 0x000000000000000000…5a58db68 |
| 0x6f72cc…01cb5d | 12 days agoWed, 05 Aug 2026 17:36:28 UTC | Transfer | [0] 0x000000000000…4d6952fc [1] 0x000000000000…262c40dc data: 0x000000000000000000…5a58db68 |
| 0x7b7ad7…62679f | 14 days agoMon, 03 Aug 2026 14:55:38 UTC | Transfer | [0] 0x000000000000…c8aebb4f [1] 0x000000000000…4d6952fc data: 0x000000000000000000…18f3a229 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x8da29b…6a3313 | Approve | 36,086,810 | 3 days agoFri, 14 Aug 2026 07:51:10 UTC | 0x12b3…dbe9 | IN | Shib Test | $0.000 ETH | 0.00000104 | |
| 0xd9c5f6…30c5ea | Approve | 29,674,929 | 11 days agoThu, 06 Aug 2026 21:33:07 UTC | 0x3a8e…b14f | IN | Shib Test | $0.000 ETH | 0.00000074 | |
| 0xcb45ce…373a2d | Approve | 29,568,194 | 11 days agoThu, 06 Aug 2026 18:35:02 UTC | 0xc9be…e3d0 | IN | Shib Test | $0.000 ETH | 0.00000140 | |
| 0xec2f85…e9a946 | Approve | 28,672,912 | 12 days agoWed, 05 Aug 2026 17:40:39 UTC | 0xb687…2519 | IN | Shib Test | $0.000 ETH | 0.00000103 | |
| 0xe0bb39…0ef331 | Approve | 25,936,216 | 15 days agoSun, 02 Aug 2026 13:28:15 UTC | 0x12b3…dbe9 | IN | Shib Test | $0.000 ETH | 0.00000093 | |
| 0x303d63…e876a2 | Approve | 24,997,246 | 16 days agoSat, 01 Aug 2026 11:18:22 UTC | 0xa913…7399 | IN | Shib Test | $0.000 ETH | 0.00000092 | |
| 0xfb67f2…d67f78 | Approve | 24,920,880 | 16 days agoSat, 01 Aug 2026 09:10:36 UTC | 0xa14c…0b83 | IN | Shib Test | $0.000 ETH | 0.00000092 | |
| 0x9a2ed2…fdb995 | Approve | 24,212,264 | 17 days agoFri, 31 Jul 2026 13:26:59 UTC | 0xa71e…c2fe | IN | Shib Test | $0.000 ETH | 0.00000058 | |
| 0xf68fbb…d7a37e | Approve | 23,640,219 | 18 days agoThu, 30 Jul 2026 21:31:13 UTC | 0xab79…8896 | IN | Shib Test | $0.000 ETH | 0.00000049 | |
| 0xeccf46…0c132a | Approve | 23,639,452 | 18 days agoThu, 30 Jul 2026 21:29:56 UTC | 0xab79…8896 | IN | Shib Test | $0.000 ETH | 0.00000093 | |
| 0xbfd046…a7fbaf | Approve | 22,930,830 | 19 days agoThu, 30 Jul 2026 01:45:19 UTC | 0xa71e…c2fe | IN | Shib Test | $0.000 ETH | 0.00000097 | |
| 0xffbfb9…910497 | Approve | 22,589,283 | 19 days agoWed, 29 Jul 2026 16:15:07 UTC | 0xacdc…5cc7 | IN | Shib Test | $0.000 ETH | 0.00000104 | |
| 0x3fd81f…deec23 | Approve | 22,576,794 | 19 days agoWed, 29 Jul 2026 15:54:15 UTC | 0x87e9…2204 | IN | Shib Test | $0.000 ETH | 0.00000067 | |
| 0xa26a96…459966 | Approve | 22,576,794 | 19 days agoWed, 29 Jul 2026 15:54:15 UTC | 0x6a3d…2375 | IN | Shib Test | $0.000 ETH | 0.00000067 | |
| 0x58831e…d51143 | Approve | 22,542,285 | 19 days agoWed, 29 Jul 2026 14:56:36 UTC | 0x37fe…051c | IN | Shib Test | $0.000 ETH | 0.00000072 | |
| 0x3984fe…ebcbf1 | Approve | 22,540,742 | 19 days agoWed, 29 Jul 2026 14:54:00 UTC | 0x3669…1032 | IN | Shib Test | $0.000 ETH | 0.00000111 | |
| 0xb0d55f…731a3d | Approve | 22,520,475 | 19 days agoWed, 29 Jul 2026 14:20:17 UTC | 0x798f…0eb2 | IN | Shib Test | $0.000 ETH | 0.00000065 | |
| 0x2d5070…4206f7 | Approve | 22,514,456 | 19 days agoWed, 29 Jul 2026 14:10:13 UTC | 0x798f…0eb2 | IN | Shib Test | $0.000 ETH | 0.00000103 | |
| 0xab9503…3b58f3 | Approve | 22,477,955 | 19 days agoWed, 29 Jul 2026 13:09:12 UTC | 0x0332…3862 | IN | Shib Test | $0.000 ETH | 0.00000105 | |
| 0xa287b4…c5cf9b | Approve | 22,469,976 | 19 days agoWed, 29 Jul 2026 12:55:51 UTC | 0xe983…e543 | IN | Shib Test | $0.000 ETH | 0.00000105 | |
| 0x2e7527…376bc9 | Approve | 22,466,554 | 19 days agoWed, 29 Jul 2026 12:50:08 UTC | 0xdb02…dd0c | IN | Shib Test | $0.000 ETH | 0.00000067 | |
| 0x5a67a4…a1fc95 | Approve | 22,445,131 | 19 days agoWed, 29 Jul 2026 12:14:19 UTC | 0x68ee…8b3a | IN | Shib Test | $0.000 ETH | 0.00000105 | |
| 0x86e601…a4e793 | Approve | 22,444,544 | 19 days agoWed, 29 Jul 2026 12:13:21 UTC | 0x37fe…051c | IN | Shib Test | $0.000 ETH | 0.00000066 | |
| 0x9d0c7a…349315 | Approve | 22,444,541 | 19 days agoWed, 29 Jul 2026 12:13:21 UTC | 0x87e9…2204 | IN | Shib Test | $0.000 ETH | 0.00000105 | |
| 0x00c873…cd715f | Approve | 22,444,541 | 19 days agoWed, 29 Jul 2026 12:13:21 UTC | 0x6a3d…2375 | IN | Shib Test | $0.000 ETH | 0.00000105 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 22,116,905 | 20 days agoWed, 29 Jul 2026 03:05:05 UTC | 0x072c3c…b68f38 | CREATE2 | createAndLaunch | 0xbf8c…2690 | IN | 0x1232…c873 | 0 ETH |