chriseth
|
482bda6887
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-10 12:15:52 +01:00 |
|
Mathias Baumann
|
37cc795034
|
Fix segfault for empty @return tags in modifiers
|
2020-12-10 11:54:40 +01:00 |
|
Alex Beregszaszi
|
f9d6abf69b
|
Add more tests for state access (block, msg, tx, etc.)
Move some of them out of SolidityEndToEndTests. Additionally this ensures the deterministic values of the testing infrastructure.
|
2020-12-09 20:46:01 +00:00 |
|
Leonardo Alt
|
3c142e0e94
|
Move CHC counterexamples to primary location
|
2020-12-09 19:55:18 +01:00 |
|
Djordje Mijovic
|
ab74194ca3
|
[Sol->Yul] Implementing empty byte array push.
|
2020-12-09 19:31:35 +01:00 |
|
chriseth
|
3f748bbb94
|
Merge pull request #10336 from ethereum/enablecoderv2bydefault
[BREAKING] Enable ABI coder v2 by default.
|
2020-12-09 18:05:07 +01:00 |
|
chriseth
|
1c99537b5a
|
Merge pull request #10550 from ethereum/chainIdView
[BREAKING] Mark chainid as view.
|
2020-12-09 17:41:27 +01:00 |
|
chriseth
|
870fd24723
|
Merge pull request #9888 from ethereum/account-hash
Support address().codehash
|
2020-12-09 17:40:56 +01:00 |
|
Daniel Kirchner
|
588535566f
|
Mark chainid as view.
|
2020-12-09 16:55:51 +01:00 |
|
Alex Beregszaszi
|
ad6739d0f6
|
Support address().codehash
|
2020-12-09 14:58:27 +00:00 |
|
chriseth
|
251f2a4d93
|
Fix bug in constant evaluator.
|
2020-12-09 15:50:53 +01:00 |
|
chriseth
|
dff7dcdc27
|
Update source location tests.
|
2020-12-09 15:25:15 +01:00 |
|
chriseth
|
3f5925e1c3
|
Update gas cost tests.
|
2020-12-09 15:25:15 +01:00 |
|
chriseth
|
72f1e4ea0b
|
Explicitly set coder to v1 for syntax tests.
|
2020-12-09 15:25:15 +01:00 |
|
chriseth
|
a5bd22795e
|
Force running abi coder v1 instead of v2.
|
2020-12-09 15:25:15 +01:00 |
|
chriseth
|
b18c76e34b
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-09 15:24:49 +01:00 |
|
Leonardo Alt
|
a961a76263
|
Do not run SMTChecker when file level functions/constants are present.
|
2020-12-09 12:18:55 +01:00 |
|
Martin Blicha
|
de34fe8aa3
|
[SMTChecker] Adding test witnessing that SMTChecker no longer crashes when producing CEX with arrays
|
2020-12-09 09:13:39 +01:00 |
|
chriseth
|
806453aca9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 21:00:09 +01:00 |
|
chriseth
|
49d1f541a1
|
Merge pull request #10264 from ethereum/warn-conversion
Enable -Wconversion
|
2020-12-08 20:37:12 +01:00 |
|
chriseth
|
672abc2276
|
Merge pull request #10530 from ethereum/changeConstructorOrder
[Sol->Yul] Evaluate base arguments in derived to base order.
|
2020-12-08 20:32:48 +01:00 |
|
chriseth
|
e97ca0a777
|
Evaluate base arguments in derived to base order.
|
2020-12-08 20:27:06 +01:00 |
|
Alex Beregszaszi
|
7e88ba8da0
|
Enable the -Wconversion warning
|
2020-12-08 16:45:24 +00:00 |
|
chriseth
|
b045195c1e
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 17:42:31 +01:00 |
|
Martin Blicha
|
12aa654bad
|
added test
|
2020-12-08 13:05:16 +01:00 |
|
Djordje Mijovic
|
acb93f3a97
|
Disallowing usage of msg.data in receive() function.
|
2020-12-08 11:49:20 +01:00 |
|
Alex Beregszaszi
|
66ee3ec533
|
Remove the \b, \f, \v escape sequences from the Scanner
|
2020-12-07 21:10:03 +00:00 |
|
Martin Blicha
|
ff0c794674
|
[SMTChecker] Fixing conversion from StringLiteral to FixedBytes
|
2020-12-07 19:30:51 +01:00 |
|
Leonardo Alt
|
b7ac207391
|
[SMTChecker] Support return in CHC
|
2020-12-07 18:17:33 +01:00 |
|
chriseth
|
a3c5d37d02
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 17:13:48 +01:00 |
|
Alex Beregszaszi
|
a8197788d0
|
Replace the inconsistent use of u160/Address/h160 with h160 only
|
2020-12-07 16:44:59 +01:00 |
|
chriseth
|
b86c91d1a3
|
Make super unavailable in libraries.
|
2020-12-07 13:59:50 +01:00 |
|
chriseth
|
329b8f2a60
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 13:04:14 +01:00 |
|
Djordje Mijovic
|
2839a1b0bf
|
[Sol->Yul] Documenting difference in initialization order in case of inheritance.
Co-authored-by: Leonardo <leo@ethereum.org>
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
|
2020-12-04 16:32:56 +01:00 |
|
chriseth
|
4be9b409de
|
Remove unary plus.
|
2020-12-04 15:14:25 +01:00 |
|
chriseth
|
89919e47d3
|
New test.
|
2020-12-04 15:14:25 +01:00 |
|
Christian Parpart
|
c5d172c058
|
Reimplement constant evaluator.
|
2020-12-04 15:14:25 +01:00 |
|
chriseth
|
49bde69afa
|
Move computation of constants out of types.cpp
|
2020-12-04 15:14:25 +01:00 |
|
Leonardo Alt
|
7490ffbe13
|
Use nonlinear clauses instead of inlining for base constructors
|
2020-12-04 13:25:56 +01:00 |
|
chriseth
|
75266ea8d4
|
Merge pull request #10488 from ethereum/fixDocsRevertData
Fix documentation about revert data.
|
2020-12-03 19:21:44 +01:00 |
|
chriseth
|
61fd76cb27
|
Fix documentation about revert data.
|
2020-12-03 18:47:16 +01:00 |
|
chriseth
|
d56a7bb89e
|
Merge pull request #10489 from ethereum/develop
Merge develop into breaking.
|
2020-12-03 18:11:12 +01:00 |
|
hrkrshnn
|
9e5d7b9910
|
Test updates after disallowing Integer -> Contract conversion
|
2020-12-03 17:53:00 +01:00 |
|
Alex Beregszaszi
|
a9be2e4bb8
|
update tests
|
2020-12-03 17:15:45 +01:00 |
|
Alex Beregszaszi
|
6c0a3bd043
|
Ensure that builtins must be executed
|
2020-12-03 17:15:44 +01:00 |
|
Alex Beregszaszi
|
43353bb6ca
|
update tests
|
2020-12-03 17:15:43 +01:00 |
|
Alex Beregszaszi
|
3da2b67b67
|
simplify parser
|
2020-12-03 17:14:49 +01:00 |
|
hrkrshnn
|
40244c5469
|
Tests/Docs after stricter explicit conversion.
|
2020-12-03 16:51:05 +01:00 |
|
Leonardo
|
088b694f0b
|
Merge pull request #10207 from ethereum/smt_tests_asserts
[SMTChecker] Add uncovered test and replace uncovered tests by asserts
|
2020-12-03 08:59:48 +01:00 |
|
Martin Blicha
|
2ee633f404
|
[SMTChecker] Added support for public getters through this.
|
2020-12-02 16:06:48 +01:00 |
|
chriseth
|
d50676ecb0
|
Merge pull request #10451 from ethereum/noTypeSuper
No type super
|
2020-12-02 15:56:41 +01:00 |
|
chriseth
|
52c49aebe8
|
Disallow meta type on super.
|
2020-12-02 15:43:18 +01:00 |
|
chriseth
|
9a5902f9d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-02 12:28:02 +01:00 |
|
chriseth
|
c4e97b7624
|
Update tests.
|
2020-12-01 16:15:19 +01:00 |
|
chriseth
|
c193ce6c07
|
Rename SourceReferenceFormatterHuman.
|
2020-12-01 16:09:46 +01:00 |
|
Alex Beregszaszi
|
1dedba8538
|
Only use SourceReferenceFormatterHuman
|
2020-12-01 16:09:46 +01:00 |
|
chriseth
|
edfae1ed05
|
Merge pull request #10458 from ethereum/fixMergeProblems
Fix tests after merge.
|
2020-12-01 16:08:51 +01:00 |
|
Alex Beregszaszi
|
d22434ee57
|
Change ABIEncoderV1 to not pad empty strings
|
2020-12-01 14:32:18 +00:00 |
|
chriseth
|
da91e590db
|
Fix tests after merge.
|
2020-12-01 15:30:50 +01:00 |
|
chriseth
|
390640f557
|
Merge pull request #10384 from ethereum/called_directly_feature
Use annotation.calledDirectly to simplify IR codegen
|
2020-12-01 15:07:02 +01:00 |
|
chriseth
|
6d1454fce6
|
Disallow conversion to super.
|
2020-12-01 14:15:50 +01:00 |
|
Mathias Baumann
|
ea5b63914a
|
Add test to cover (L.f)() case
|
2020-12-01 12:02:29 +01:00 |
|
chriseth
|
6de7eaba95
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-01 10:50:13 +01:00 |
|
chriseth
|
388fcddd23
|
Merge pull request #10415 from ethereum/arrayClearingStorageSol2Yul
[Sol->Yul] Fixing copying from storage to storage.
|
2020-12-01 09:43:47 +01:00 |
|
Djordje Mijovic
|
bd86588459
|
Adding more tests for array copying from storage to storage.
|
2020-12-01 08:50:36 +01:00 |
|
Djordje Mijovic
|
28e01202af
|
[Sol->Yul] Fixing coping from storage to storage.
|
2020-12-01 08:50:33 +01:00 |
|
Leonardo Alt
|
fa561dbd0e
|
Add uncovered test and replace uncovered tests by asserts
|
2020-11-30 18:46:47 +01:00 |
|
Martin Blicha
|
cd06d68cbe
|
[SMTChecker] Keeping better track of path condition through branches with return statement in the BMC engine.
|
2020-11-30 11:47:49 +01:00 |
|
Alex Beregszaszi
|
28e65bac46
|
Add unimplemented assert for modifiers in the IR
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
|
2020-11-27 18:34:17 +00:00 |
|
ssi91
|
e7165f3a9c
|
pass a literal with correct length
mark a test as Yul-based
|
2020-11-27 04:02:48 +07:00 |
|
chriseth
|
3e5396598b
|
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
Support BitNot on FixedBytes in IR
|
2020-11-26 14:42:52 +01:00 |
|
Alex Beregszaszi
|
cbae5ca324
|
Support BitNot on FixedBytes in IR
|
2020-11-26 13:20:02 +00:00 |
|
Djordje Mijovic
|
565d0cd4eb
|
Support copying of nested calldata arrays to memory.
|
2020-11-26 12:13:29 +01:00 |
|
chriseth
|
18de8a56c9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-26 11:48:53 +01:00 |
|
Djordje Mijovic
|
bae32ac402
|
[Sol->Yul] Implementing member access to arrays in calldata structs.
|
2020-11-26 11:46:31 +01:00 |
|
Đorđe Mijović
|
5f732cb3ca
|
Merge pull request #10402 from ethereum/ir-fix-library-call
Properly terminate definitions using define() in IRGenerateForStatements
|
2020-11-26 10:07:27 +01:00 |
|
Alex Beregszaszi
|
8d9c332593
|
Properly terminate definitions using define() in IRGenerateForStatements
The lack of termination can result in unparseable output.
|
2020-11-25 16:41:39 +00:00 |
|
Đorđe Mijović
|
7eb5fc31f8
|
Merge pull request #10394 from ethereum/viayul-tests
Switch compileViaYul to also where appropriate
|
2020-11-25 16:46:30 +01:00 |
|
Alex Beregszaszi
|
159f50e189
|
Turn on semantic tests for the old codegen where possible
These were marked IR-only, but they do pass on the old codegen too.
Also add old codegen version of semantictests/revertStrings/function_entry_checks.
|
2020-11-25 14:33:39 +00:00 |
|
Djordje Mijovic
|
5077deb285
|
Fixing pragmas to abicoder v2.
|
2020-11-25 15:13:57 +01:00 |
|
Alex Beregszaszi
|
c4fd7e4003
|
Remove/update tests
|
2020-11-25 11:40:33 +00:00 |
|
Alex Beregszaszi
|
3bce2a2294
|
Remove the legacy AST JSON output
|
2020-11-25 11:40:33 +00:00 |
|
hrkrshnn
|
a834476de6
|
Tests/Docs after disallowing super, this and _ as declaration names
|
2020-11-25 11:14:13 +01:00 |
|
chriseth
|
f02bc817af
|
Merge pull request #10388 from ethereum/forwardRevertOnCreate
[Sol->Yul] Forward failure for creation.
|
2020-11-25 10:39:54 +01:00 |
|
chriseth
|
ec49f4c905
|
Merge pull request #10393 from ethereum/getters
Add more tests for getters
|
2020-11-25 10:09:38 +01:00 |
|
chriseth
|
bdc571cfb6
|
Merge pull request #10385 from ethereum/activateStructCopyingOldCodegen
Support copying dynamically encoded structs from calldata to memory.
|
2020-11-25 10:07:13 +01:00 |
|
hrkrshnn
|
52c8fcc67b
|
Removed "compileToEwasm: also" option from 4 tests cases
|
2020-11-25 08:13:46 +01:00 |
|
chriseth
|
f01cd3f38f
|
Fix merge conflicts
|
2020-11-25 08:09:38 +01:00 |
|
Alex Beregszaszi
|
53b635a21f
|
Add more tests for getters
|
2020-11-24 22:37:42 +00:00 |
|
Djordje Mijovic
|
200227ab75
|
Support copying dynamically encoded structs from calldata to memory.
|
2020-11-24 20:36:17 +01:00 |
|
chriseth
|
cedb56ed81
|
Forward failure for creation.
|
2020-11-24 19:54:18 +01:00 |
|
Djordje Mijovic
|
26c43cfc66
|
[SMTChecker] Fix SMT logic error when doing compound assignment with string literlas.
|
2020-11-24 19:14:15 +01:00 |
|
chriseth
|
253889cbf1
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-24 16:22:03 +01:00 |
|
chriseth
|
2d235bf7b0
|
Merge pull request #10341 from ethereum/optimizeAllocation
Do not allocate memory objects if they will be assigned directly.
|
2020-11-24 16:05:46 +01:00 |
|
chriseth
|
79669ecd48
|
Use new abicoder pragma.
|
2020-11-24 14:57:45 +01:00 |
|
chriseth
|
dbb24484e9
|
Update test/libsolidity/semanticTests/memoryManagement/assembly_access.sol
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-11-24 14:39:37 +01:00 |
|
chriseth
|
409e92580f
|
Do not allocate memory objects if they will be assigned directly.
|
2020-11-24 14:11:01 +01:00 |
|
Djordje Mijovic
|
eea6513b5d
|
[Sol->Yul] Implementing copying dynamically encoded structs from calldata to memory
Co-authored-by: Leonardo <leo@ethereum.org>
|
2020-11-23 23:22:34 +01:00 |
|
chriseth
|
ee657f5361
|
Merge pull request #10214 from ethereum/fallbackReturn
Allow fallback function to return data.
|
2020-11-23 19:49:59 +01:00 |
|
chriseth
|
a0a02f2307
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-23 19:28:08 +01:00 |
|
chriseth
|
91c88a5f6b
|
Merge pull request #10346 from ethereum/boundFunctions
[Sol->Yul] Bound functions.
|
2020-11-23 19:09:20 +01:00 |
|
chriseth
|
f87edb6efc
|
Bound functions.
|
2020-11-23 18:58:23 +01:00 |
|
Martin Blicha
|
66125b79d6
|
[SMTChecker] Do not report warning when encountered a Type identifier. The operations are supported now.
|
2020-11-23 15:41:57 +01:00 |
|
chriseth
|
f313668ef1
|
Merge pull request #10211 from ethereum/copyArrayCalldata2MemSol2Yul
[Sol->Yul] Copying arrays from calldata to memory
|
2020-11-23 15:02:18 +01:00 |
|
chriseth
|
19e9e8b550
|
Some more tests.
|
2020-11-23 15:00:00 +01:00 |
|
Djordje Mijovic
|
41ec7cc23e
|
Adding new tests and activating old tests.
|
2020-11-23 14:52:55 +01:00 |
|
Djordje Mijovic
|
2b52677a82
|
Fixing some calldata to storage tests.
|
2020-11-23 14:52:51 +01:00 |
|
chriseth
|
67ec5f6b17
|
Override semantics for fallback function.
|
2020-11-23 14:22:37 +01:00 |
|
chriseth
|
fda352094f
|
Allow fallback function to return data.
|
2020-11-23 14:22:37 +01:00 |
|
Martin Blicha
|
80d743426f
|
[SMTChecker] Added support for struct constructor.
|
2020-11-23 13:45:17 +01:00 |
|
Alexander Arlt
|
da36055449
|
[ewasm] Polyfill: calldataload & calldatacopy: Enable Tests.
|
2020-11-21 08:57:56 -05:00 |
|
Alex Beregszaszi
|
8228b5b0b8
|
Fix test failures due to merge conflict (from develop to breaking)
|
2020-11-20 18:21:21 +00:00 |
|
Leonardo Alt
|
e4339b0526
|
[SMTChecker] Support named arguments in function calls
|
2020-11-20 11:52:26 -01:00 |
|
chriseth
|
f1d28b1d17
|
Fix string literal assignment to storage.
|
2020-11-19 15:27:21 +01:00 |
|
chriseth
|
7f0cc433be
|
Fix mapping conversion.
|
2020-11-18 20:20:25 +01:00 |
|
chriseth
|
a7db4fa4a5
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-18 20:05:02 +01:00 |
|
Kamil Śliwak
|
5560239cf5
|
Replace links to readthedocs.io with ones using the new domain
|
2020-11-18 15:20:34 +01:00 |
|
chriseth
|
1508b08f3e
|
Implement inline assembly access to constants.
|
2020-11-18 12:35:23 +01:00 |
|
chriseth
|
9f0a631948
|
Merge pull request #10208 from ethereum/offsetLengthCalldata
Support .offset and .length for dynamic calldata arrays
|
2020-11-18 12:09:11 +01:00 |
|
chriseth
|
2665eaa4fa
|
Support .offset and .length for calldata bytes and string arrays.
|
2020-11-18 01:45:56 +01:00 |
|
Kamil Śliwak
|
ced140615a
|
Test for calling external library functions with mapping parameters (does not work via Yul yet)
|
2020-11-17 20:36:58 +01:00 |
|
Kamil Śliwak
|
dfa0a0cdff
|
IR codegen: Handle address() with library type argument and external library calls
|
2020-11-17 20:36:39 +01:00 |
|
chriseth
|
691f7e6eae
|
Fix merge conflicts.
|
2020-11-17 19:59:23 +01:00 |
|
chriseth
|
e8a278eefa
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-17 18:51:57 +01:00 |
|
chriseth
|
049c7f7a8e
|
Disallow using modifiers not in the current contract or in base contracts.
|
2020-11-17 18:33:45 +01:00 |
|
chriseth
|
e64fd99fb5
|
Fix qualified modifier lookup.
|
2020-11-17 18:33:45 +01:00 |
|
Kamil Śliwak
|
4174f38b02
|
StandardCompiler: Include file names in link references
|
2020-11-17 17:51:04 +01:00 |
|
chriseth
|
74ce8d6979
|
Fix assignment to non-lvalue storage values.
|
2020-11-17 15:56:34 +01:00 |
|
chriseth
|
df53b53aa5
|
Merge pull request #10315 from ethereum/fixToStorageCopy
[SolYul] Fix bug in array to storage copy routine.
|
2020-11-17 15:56:21 +01:00 |
|
chriseth
|
fffd0306f5
|
Fix bug in array to storage copy routine.
|
2020-11-17 14:56:44 +01:00 |
|
chriseth
|
bb97363abf
|
Merge pull request #9989 from ethereum/issue-9947
Natspec: Fix internal error when different return name was inherited
|
2020-11-17 13:54:03 +01:00 |
|
Mathias Baumann
|
559b27aaad
|
Natspec: Fix internal error when different return name was inherited
|
2020-11-17 11:56:32 +01:00 |
|
chriseth
|
adaf1ff7df
|
Merge pull request #10272 from ethereum/storageStorageCopyForStructs
Storage storage copy for structs
|
2020-11-17 11:47:48 +01:00 |
|
Leonardo
|
65c2089b43
|
Merge pull request #10310 from blishko/issue-10306
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
|
2020-11-17 09:34:49 -01:00 |
|
chriseth
|
98cc7a1ea9
|
Copying structs from storage to storage.
|
2020-11-17 11:06:25 +01:00 |
|
chriseth
|
d9fb17a85e
|
Copy value array from storage to storage.
|
2020-11-17 10:51:34 +01:00 |
|
chriseth
|
7ccb4fea2b
|
Merge pull request #10270 from ethereum/copyByteArrayFromStorageToStorage
[SolYul] Copy byte arrays from storage to storage.
|
2020-11-17 00:30:30 +01:00 |
|
Martin Blicha
|
07427c798c
|
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
|
2020-11-16 22:46:17 +01:00 |
|
Leonardo
|
81b3a13333
|
Merge pull request #10289 from ethereum/fix-standard-json-crash-on-linker-references-without-colon
Fix standard JSON crash on linker references without a colon
|
2020-11-16 19:27:35 -01:00 |
|
chriseth
|
62893aa1a1
|
Copy byte arrays from storage to storage.
|
2020-11-16 19:06:33 +01:00 |
|
Kamil Śliwak
|
1bf700e088
|
Return a type error when an enum has more than 256 members
|
2020-11-16 18:58:19 +01:00 |
|
chriseth
|
5431afcc8c
|
Merge pull request #10287 from ethereum/refactorMoveTests3
Moving mostly array tests to semanticTests
|
2020-11-16 18:50:40 +01:00 |
|
Kamil Śliwak
|
b97c6c55ad
|
StandardCompiler: Don't assume that link reference always contains a colon
|
2020-11-16 17:41:54 +01:00 |
|
Kamil Śliwak
|
543f804226
|
StandardCompiler: Add helpers to streamline comparing link references in tests
|
2020-11-16 17:41:54 +01:00 |
|
Djordje Mijovic
|
1428a939a6
|
Moving some more array tests to semanticTests.
|
2020-11-13 12:32:39 +01:00 |
|
Djordje Mijovic
|
29d480d0ed
|
Moving some byte array pop tests to semanticTests.
|
2020-11-13 12:32:39 +01:00 |
|
Djordje Mijovic
|
31981bad12
|
Organizing array tests into more directories.
|
2020-11-13 12:32:39 +01:00 |
|
Djordje Mijovic
|
11033c9536
|
Moving some bytes and array tests to semanticTests
|
2020-11-13 12:32:39 +01:00 |
|
Djordje Mijovic
|
bdf05bf8a0
|
Moving try catch test to semantic tests.
|
2020-11-13 12:32:35 +01:00 |
|
Leonardo
|
f1846b57a2
|
Merge pull request #10244 from blishko/this-external-calls
[SMTChecker] Analyzing external calls to `this`
|
2020-11-13 11:28:34 +00:00 |
|