Matthias Koefferlein
cfc86ad62f
Implemented density check: 'with_density', 'without_density'
2021-02-28 18:21:05 +01:00
Matthias Koefferlein
77356cd877
More unit test stability
2021-02-27 21:31:32 +01:00
Matthias Koefferlein
be5714607f
Added a build dependency for safer building
2021-02-27 19:08:43 +01:00
Matthias Koefferlein
33ae3b0239
Added a build system option to enable/disable uitools support as some distributions do not support that
2021-02-27 18:03:37 +01:00
Matthias Koefferlein
66199958a5
Stupid typo fixed
2021-02-27 00:02:09 +01:00
Matthias Koefferlein
9350b33bcb
Squashed commit of the following:
...
commit 2a8a2d228d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Fri Feb 26 23:54:08 2021 +0100
One more fix.
commit 8c4d76505c
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Fri Feb 26 23:03:07 2021 +0100
More patches for uitools-less build for CentOS 8
commit 2ac28292b8
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Fri Feb 26 22:52:27 2021 +0100
First steps for fixing build on CentOS 8 without uitools
2021-02-26 23:59:23 +01:00
Matthias Koefferlein
f993c0397d
A linker issue fixed on Windows.
2021-02-25 23:08:42 +01:00
Matthias Koefferlein
68e1284c93
Fixed #728
2021-02-25 22:03:41 +01:00
Matthias Köfferlein
b968f2b47f
#730 : providing a new Qt module named QtUiTools for QUiLoader class s… ( #735 )
...
* #730 : providing a new Qt module named QtUiTools for QUiLoader class support.
* Fixed a compile error on Mac
* Added QtUiTools to some more places
* Fixed a linker issue in the QtUiTools Python lib
* On occasion fixed a infinite recursion problem in the debugger
The recursion happened because by mistake I instantiated a
QApplication inside an in-application Python script. This
crashed the debugger due to infinite recursion. This is not
a real use case but to prevent similar issues, a recursion
sentinel was added.
* Removed QCoreApplication#notify from script bindings
Reasoning: "notify" made standalone scripts using QApplication and
QUiLoader virtually impossible.
Problem description:
- When a QApplication object is instantiated, e.g. in Python, the Qt binding
will install reimplementation hooks as the object may be dynamically
extended.
- A notify is virtual this means the *every* "notify" call in the application
is routed through the interpreter.
- For one thing this will slow down the application
- But as "notify" is called a zillion times this has more than this side effect.
- Specifically "notify" is called from within the QWidget constructor to
indicate a new widget. Then, if a QDialog for example is instatiated, it's
base class constructor will call "notify" when the object isn't ready yet.
- This has another severe side effect: as the object isn't ready yet, it gets
registered in the Python space with the wrong class and QDialog is not visible
as such.
To mitigate these problems, the most efficient solution is to disable "notify"
in general. There is hardly any use case in a script environment (in C++,
apart from hacking the only reasonable use case is exception handling, but
this does not apply to scripts). For providing the call functionality of
"notify" you should better use "postEvent" or "sendEvent" anyway.
So farewell QCoreApplication.notify ...
* Fixed python test for QtUiTools module
* Fixed UiTools test on Qt4 - QUiLoader needs an application object
Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:29:21 +01:00
Matthias Köfferlein
8b2ecf41df
Fixed issue by providing a compatibility bridge between tl::Stream (abstract paths) and tl::URI ( #734 )
2021-02-25 21:28:48 +01:00
Matthias Köfferlein
483f67307c
Merge pull request #732 from KLayout/lefdef-enhancements
...
Lefdef enhancements
2021-02-25 21:28:02 +01:00
Matthias Köfferlein
82587e70c3
Merge pull request #731 from KLayout/recursive-inst-iterator
...
Recursive inst iterator
2021-02-25 21:27:41 +01:00
Matthias Köfferlein
9d5636a89d
Merge pull request #729 from KLayout/search-improvements
...
Search improvements
2021-02-25 21:27:25 +01:00
Matthias Köfferlein
c28451ed88
Merge pull request #727 from KLayout/drc-enhancements
...
Drc enhancements
2021-02-25 21:27:06 +01:00
Matthias Koefferlein
f700b3e056
Linker issue solved
2021-02-21 23:18:57 +01:00
Matthias Koefferlein
835133854c
Qt4 compatibility, some enhancement of macro IDE completer
2021-02-21 22:42:52 +01:00
Matthias Koefferlein
9074c918bb
Fixed a linker name clash.
2021-02-21 22:11:33 +01:00
Matthias Koefferlein
fea33b284e
Qt4 compatibility.
2021-02-21 21:55:36 +01:00
Matthias Koefferlein
3db1db831f
Test update after update of LEF/DEF reader.
2021-02-21 21:23:45 +01:00
Matthias Koefferlein
fe2d4eb570
Bugfix: LEF/DEF FILLS options were not active in buddy scripts.
2021-02-21 21:07:13 +01:00
Matthias Koefferlein
eda1992a7d
Added VIA size selectors for LEF/DEF .map files.
2021-02-21 21:00:55 +01:00
Matthias Koefferlein
898dbf07e9
Implemented FILLS support for LEF/DEF
2021-02-21 18:27:25 +01:00
Matthias Koefferlein
96e3570c6d
LEF/DEF: preparations for FILLS support, UI rearrangement.
2021-02-21 17:28:58 +01:00
Matthias Koefferlein
2168a72b9d
Technology changed event for CellView
2021-02-21 09:12:13 +01:00
Matthias Koefferlein
b31a64b367
Formulas for 'goto position' dialog.
2021-02-21 08:45:54 +01:00
Matthias Koefferlein
b1fc6008d9
WIP: better progress when reading OASIS irregular repetitions.
2021-02-21 08:36:45 +01:00
Matthias Koefferlein
0f4a10441d
RecursiveInstanceIterator: Doc fixes, tests, instance array iteration.
2021-02-20 22:17:43 +01:00
Matthias Koefferlein
a1bae225e3
Recursive instance iterator, tests
2021-02-20 17:50:32 +01:00
Matthias Koefferlein
ca11f0799a
Recursive instance iterator, selection of target cells.
2021-02-20 01:09:17 +01:00
Matthias Koefferlein
0f47ff68a5
Recursive instance iterator, debugging.
2021-02-20 01:03:05 +01:00
Matthias Koefferlein
6527d29f8f
Recursive instance iterator, debugging.
2021-02-20 00:48:07 +01:00
Matthias Koefferlein
412056afed
Recursive instance iterator, first draft.
2021-02-20 00:40:05 +01:00
Matthias Koefferlein
effa8027cc
Implemented completer for macro editor.
2021-02-14 23:12:50 +01:00
Matthias Koefferlein
16f6174ad9
'apply as filter' for search feature in libraries view too
2021-02-14 21:07:36 +01:00
Matthias Koefferlein
92d36868bb
Enhancements to search and replace in macro editor.
2021-02-13 19:13:22 +01:00
Matthias Koefferlein
0f8dc9ac13
Improvements on layer list search and filtering
2021-02-13 09:51:28 +01:00
Matthias Koefferlein
71f64f5f63
Bugfixed search function for cells.
2021-02-12 23:46:57 +01:00
Matthias Koefferlein
c64dad0b3a
Bugfix, crash on switching to flat cell list
2021-02-12 01:20:38 +01:00
Matthias Koefferlein
423dddae62
Bug fixes on cell name search feature.
2021-02-12 00:44:31 +01:00
Matthias Koefferlein
71a7326fe9
Enhancements to cell name search feature. Needs more debugging.
2021-02-10 00:17:01 +01:00
Matthias Koefferlein
b3685c6722
Implemented with_holes for generic DRC too
2021-02-08 21:29:41 +01:00
Matthias Koefferlein
a9fa5d73f9
Introducing 'with_holes' and 'without_holes' in DRC and RBA::Region.
2021-02-08 20:59:17 +01:00
Matthias Koefferlein
94e6f0f7a6
Logging progress for DRC, introducing 'abstract progress' concept
2021-02-07 23:41:53 +01:00
Matthias Koefferlein
620776fe51
Provide better log output for region
2021-02-07 19:15:47 +01:00
Matthias Koefferlein
b97413234a
trying to provide a log along with progress
2021-02-07 19:14:20 +01:00
Matthias Köfferlein
d8c0ea806a
Issue 723 fixed. ( #724 )
...
* Fixed a segfault with simple 'klayout -v'
* Fixed #723
2021-02-05 23:28:22 +01:00
Matthias Köfferlein
e31d7afb64
Reduce risk of DRC polygon split artefacts in deep mode ( #722 )
...
* Fixed a segfault with simple 'klayout -v'
* is_halfmanhattan polygon predicate, confine polygon splitting to halfmanhattan
Splitting any-angle polygons for area reduction in the
deep processor creates a risk of introducing grid-snap
artefacts. Hence we avoid this.
2021-02-05 23:28:04 +01:00
Matthias Köfferlein
c837b306be
Issue 720 ( #721 )
...
* Implemented a backup scheme for the file writer.
* Also consider backup files when the writer fails.
* Removed test exception
* Added config option for number of backups.
2021-02-02 22:47:25 +01:00
Matthias Koefferlein
8e7d571c2c
Removed inclusion of APPDATA into search path on Windows - this was pulling DLLs from other installations.
2021-02-02 22:31:22 +01:00
Matthias
47777b7eba
Fixed crash in WebDAV access test observed on MacOS, but probably also relevant for other platforms.
2021-02-02 19:53:55 +01:00
Matthias Koefferlein
fc4976be81
Remove test code
2021-02-01 22:01:29 +01:00
Matthias Koefferlein
fdbf26f184
Merge branch 'master' of github.com:KLayout/klayout
2021-01-31 21:49:32 +01:00
Matthias Koefferlein
036e9f7d6b
Yet another fix for Windows build.
2021-01-31 21:49:20 +01:00
Matthias Koefferlein
d10165928f
Trying to fix Windows build.
2021-01-31 20:21:14 +01:00
Matthias Köfferlein
4134829304
Issue 718 ( #719 )
...
* WIP: first part of fix - generation of hole cutlines
First problem was that hole cutlines got extended
over the whole length and sometimes lead to coincident
edges which are difficult to resolve for the polygon
cutter.
* Refined solution, fixed #718
- disabled elaborate hole insertion procedure for now as the
performance impact has to be assessed yet and the new scheme
will break many tests
- stricter rejection of ambiguous configurations in the polygon cutter
- fallback is boolean AND now since there is no need to re-invoke the
polygon cutter (we can't do so as we made it more strict).
Performance-wise we replace a merge by an AND step which may even be
faster the output is smaller and the polygon cutter does not need
to be re-invoked.
* Compatibility with other STLs
2021-01-31 19:21:15 +01:00
Matthias Köfferlein
10eee4d895
Fixed #709 . ( #714 )
2021-01-31 19:21:00 +01:00
Matthias Köfferlein
97ed4cf0f2
Merge pull request #712 from KLayout/gsi-fixes
...
Some enhancements to script API
2021-01-31 19:20:35 +01:00
Matthias Koefferlein
f263f5c44c
Compatibility with older Ruby and Python versions in unit tests.
2021-01-31 17:14:21 +00:00
Matthias Koefferlein
f1d2f39031
Added signal-safe sleep function which does not return when a timer signal happens. Fixes some random fails in the test suite.
2021-01-31 16:20:16 +01:00
Matthias Koefferlein
290d393126
Fixed another link issue on Windows
2021-01-27 21:42:43 +01:00
Matthias Koefferlein
1cdcf546f8
Fixed linker issue on Windows.
2021-01-27 12:54:25 +01:00
Matthias Koefferlein
cdb62cc111
Merge branch 'master' into gsi-fixes
2021-01-27 12:46:34 +01:00
Matthias Köfferlein
1ba4394c2a
Merge pull request #710 from KLayout/byte-arrays
...
Byte arrays
2021-01-27 12:42:48 +01:00
Matthias Koefferlein
96136e6993
Fixed Qt-less builds.
2021-01-27 08:05:02 +01:00
Matthias Koefferlein
dce371caaa
Fixed Qt-less builds.
2021-01-26 23:42:18 +01:00
Matthias Köfferlein
bd41f7222d
Merge pull request #706 from KLayout/spline-as-api
...
Generalized spline interpolation of DXF reader
2021-01-26 23:39:51 +01:00
Matthias Koefferlein
c7113b8c72
Added methods to manipulate key bindings and menu visibility through scripts (MainWindow#set_key_bindings, MainWindow#get_key_bindings, MainWindow#set_menu_items_hidden ...)
2021-01-26 23:10:26 +01:00
Matthias Koefferlein
6a23769387
Different integration of Dispatcher interface with MainWindow
...
In 0.27 the main window got it's own configuration API
as now it's possible to instantiate a main window explicitly
and not application backs up configuration. Because GSI allows
as single base class only, we cannot derive from Dispatcher.
A delegate is used instead.
2021-01-26 07:56:49 +01:00
Matthias Koefferlein
702852a8a9
Merge branch 'master' of github.com:KLayout/klayout into byte-arrays
2021-01-25 08:11:53 +01:00
Matthias Koefferlein
885c52eeeb
Stupid bug fixed
2021-01-25 08:10:47 +01:00
Matthias Koefferlein
204cb7ec3f
Fixed build with curl
2021-01-25 08:05:16 +01:00
Matthias Koefferlein
199602424a
Merge branch 'master' of github.com:KLayout/klayout into byte-arrays
2021-01-24 23:52:56 +01:00
Matthias Koefferlein
d31f87f053
Some issues with the byte array binding fixed, less ambiguitites with Qt bindings, tests added.
2021-01-24 23:44:40 +01:00
Matthias Koefferlein
245bf93429
Some build fixes to enable basic compilation on CentOS6
2021-01-24 17:37:46 +00:00
Matthias Koefferlein
5aac018503
Mapping QByteArray (and std::vector<char>) to Python 'bytes' now.
2021-01-24 17:36:40 +01:00
Matthias Koefferlein
c309961109
More verbose debugging for HTTP requests.
2021-01-23 22:27:53 +01:00
Matthias Koefferlein
d1e6845ae4
Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated
2021-01-23 21:55:51 +01:00
Matthias Koefferlein
a1ace443f7
Added LayoutView#close
2021-01-23 20:56:00 +01:00
Matthias Koefferlein
fdd5671602
Attempt to solve WebDAV redirection issue on Windows.
2021-01-23 20:40:25 +01:00
Matthias Koefferlein
372a42e84a
Renamed test files so that debugger doesn't get confused
2021-01-23 20:40:10 +01:00
Matthias Koefferlein
c8951c10cd
Generalized spline interpolation of DXF reader and provide a script binding (RBA::Utils).
2021-01-23 18:44:36 +01:00
Matthias Koefferlein
d7986c4849
Merge branch 'master' into opengl-fix
2021-01-23 16:22:56 +01:00
Matthias Koefferlein
1a3675956e
Ported to OpenGL 3.2 for Windows compatibility.
2021-01-23 15:54:02 +01:00
Matthias Köfferlein
41094ab839
Fixed #704 (DXF reader: rational splines not supported) ( #705 )
...
* Fixed issue #704 . TODO: replace algorithm by De Boor, check if accuracy is still maintained.
* Switch spline interpolation algorithm to De Boor for better numerical stability.
* Updated tests with DXF accuracy test, provide a warning for unsupported SPLINE types.
2021-01-21 07:48:08 +01:00
Matthias Koefferlein
dc40f9a885
Trying to fix OpenGL compatibility issue.
2021-01-20 22:25:16 +01:00
Matthias Koefferlein
618e1134c4
More robustness against test variations on different platforms.
2021-01-19 22:23:02 +01:00
Matthias Koefferlein
63d19bdb4c
More robustness against test variations on different platforms.
2021-01-19 21:49:38 +01:00
Matthias Koefferlein
73485a5061
More robustness against differences on different platforms.
2021-01-19 20:36:25 +01:00
Matthias Koefferlein
11e9f89fc2
Introduced normalization into region/edges/edge pairs/texts tests to get rid of platform dependency because of unordered_set implementation details.
2021-01-19 08:03:42 +01:00
Matthias Koefferlein
3677a36804
Made region tests less susceptible to 'unordered_set' implementation details.
2021-01-19 01:26:20 +01:00
Matthias Koefferlein
c184a8a5fb
Merge branch 'master' of github.com:KLayout/klayout
2021-01-18 21:36:59 +01:00
Matthias Koefferlein
9b275d85a6
More stable hash function (the previous one was too sparse for small coordinates). Test updates for this reason.
2021-01-18 20:26:03 +01:00
Matthias Koefferlein
757543ec48
Fixed a build issue with 64bit coordinates.
2021-01-18 20:25:40 +01:00
Matthias Köfferlein
f32901407c
Fixed Windows build
2021-01-18 12:30:05 +01:00
Matthias Koefferlein
9a7b2babc0
Fixed Windows build
2021-01-17 23:50:42 +01:00
Matthias Koefferlein
19ecf8866c
Fixed Windows build
2021-01-17 23:41:51 +01:00
Matthias Koefferlein
5b60e2be90
Fixed Windows build
2021-01-17 23:35:22 +01:00
Matthias Koefferlein
e1312d7a0c
Merge branch 'master' of github.com:KLayout/klayout into complex_drc_ops
2021-01-17 22:45:40 +01:00
Matthias Köfferlein
a026da9bf8
Merge pull request #699 from KLayout/oas-reader-issue
...
Fixed an issue with the OASIS reader (unused cells popped up as dummy…
2021-01-17 22:45:01 +01:00
Matthias Koefferlein
081c445cd8
Merge branch 'master' into complex_drc_ops
2021-01-17 19:55:28 +01:00
Matthias Koefferlein
e3773be7dc
Updated tests and provide 'lesser' and 'greater' edge pair extraction operator.
2021-01-17 19:55:21 +01:00
Matthias Koefferlein
9cf0a9e659
Major enhancements for DRC feature (universal DRC)
...
Main issue: universal DRC scheme and rectangle filtering/opposite filtering/shielding.
The space function required some enhancements to accomodate symmetric interactions.
Now there are symmetric edge pairs. Space initially runs twofold (primary to foreign)
but produces symmetric edge pairs. These are filtered later unless converted before.
2021-01-17 19:26:22 +01:00
Matthias Koefferlein
fd90e66ee1
WIP (shielding, various bug fixes)
2021-01-17 14:38:44 +01:00
Matthias Koefferlein
9a55bdc687
Fixed caching implementation of complex DRC ops.
2021-01-16 20:34:15 +01:00
Matthias Koefferlein
c66a19ba42
More consistent progress reporting for complex ops.
2021-01-16 19:01:45 +01:00
Matthias Koefferlein
80e033c618
Fixed shielded implementation for DRC
2021-01-16 18:09:26 +01:00
Matthias Koefferlein
758861226f
Doc updates
2021-01-16 18:08:44 +01:00
Matthias Koefferlein
ed73046c13
Allow flatten for non-editable layouts too
2021-01-16 18:08:23 +01:00
Matthias Koefferlein
d5f18ca1c1
Spelling fixed.
2021-01-16 11:13:17 +01:00
Matthias Koefferlein
f0ad373248
Build errors fixed.
2021-01-16 10:31:08 +01:00
Matthias Koefferlein
3732e0428e
Build errors fixed.
2021-01-16 10:12:48 +01:00
Matthias Koefferlein
785bc0b6e5
Build error fixed, test cases updated.
2021-01-16 10:09:07 +01:00
Matthias Koefferlein
4460c294b0
Some bug fixes, doc update, test updates.
2021-01-16 00:32:06 +01:00
Matthias Koefferlein
111b49f0ef
Updated DRC documentation
2021-01-15 19:01:32 +01:00
Matthias Koefferlein
bbd511bc8b
Added some tests for 'switch', small bug fix.
2021-01-15 17:32:39 +01:00
Matthias Koefferlein
ec88362eca
Doc updates
2021-01-15 00:56:17 +01:00
Matthias Koefferlein
8051bef9ac
Doc update, fixed DRC's 'switch' function
2021-01-15 00:31:26 +01:00
Matthias Koefferlein
80996a77fb
New *_sum quantifiers, doc enhancements, bug fixing
2021-01-14 00:21:21 +01:00
Matthias Koefferlein
80d0229b7c
More intuitive DRC specification of 'projection_limits' with 'projecting' and a condition
2021-01-13 15:58:55 +01:00
Matthias Koefferlein
c5859cd957
Tests for new DRC features (square, new attiribute tests)
2021-01-13 13:35:37 +01:00
Matthias Koefferlein
a8f08bffac
WIP: new ratio filters, squares for DRC
2021-01-13 02:12:33 +01:00
Matthias Koefferlein
dce22fee37
New region filters (square, area ratio, relative height)
2021-01-13 01:08:42 +01:00
Matthias Koefferlein
ae29c75326
WIP: documentation, local merging of polygon for interact, covering ..
2021-01-12 01:08:12 +01:00
Matthias Koefferlein
aefc3153fe
Doc update.
2021-01-10 21:47:43 +01:00
Matthias Koefferlein
f3f196cfb3
Doc update, implemented != for DRC operations.
2021-01-10 21:36:58 +01:00
Matthias Koefferlein
2951bf424c
Updated doc.
2021-01-10 20:20:33 +01:00
Matthias Koefferlein
383f72eb09
Added missing files, tests for angle and length (universal DRC), some clarifications and bug fixes.
2021-01-10 20:18:06 +01:00
Matthias Koefferlein
0a7ca69da2
Some refactoring (angle check), angle check and length check for universal DRC, tests, bug fixes.
2021-01-10 19:54:16 +01:00
Matthias Koefferlein
158ea196ec
WIP: more tests, bug fixes, new feature: deep_reject_odd_polygons, odd_polygons check disabled in deep mode
2021-01-10 18:46:01 +01:00
Matthias Koefferlein
c24568b510
Added more tests, debugging.
2021-01-10 09:02:41 +01:00
Matthias Koefferlein
168b41c119
WIP: new tests for complex DRC ops.
2021-01-09 23:38:53 +01:00
Matthias Koefferlein
858c78729f
More tests for complex DRC
2021-01-09 23:23:50 +01:00
Matthias Koefferlein
ddf36290fa
Corner detection feature: tests, bug fixes, enhancements (inclusive/exclusive angle constraints)
2021-01-09 23:10:17 +01:00
Matthias Koefferlein
bc63f98622
WIP: more tests on complex DRC ops
2021-01-09 18:40:32 +01:00
Matthias Koefferlein
6f93ff616f
More tests, bug fixes.
2021-01-09 17:50:39 +01:00
Matthias Koefferlein
b15e7f2b9f
WIP: proper integration of complex DRC ops in DRC framework
2021-01-09 16:37:16 +01:00
Matthias Koefferlein
7093dfd0eb
WIP: bug fixes, more tests for complex DRC
2021-01-09 15:56:55 +01:00
Matthias Koefferlein
d1868a4b23
WIP: some development, bugfixing on DRC implementation - mainly about correct opposite filter operation
2021-01-06 23:39:51 +01:00
Matthias Koefferlein
9c95bed67e
Generic DRC: new tests, bug fixes.
2021-01-06 11:59:47 +01:00
Matthias Koefferlein
0d9ee8a70d
First test for generic DRC feature
2021-01-06 09:52:24 +01:00
Matthias Koefferlein
736fe874eb
Fixed an issue in the DRC doc generation (needs explicit doc for enum defaults)
2021-01-06 02:31:56 +01:00
Matthias Koefferlein
c160f7f43f
Documentation updates
2021-01-06 02:20:36 +01:00
Matthias Koefferlein
37d62f97e1
WIP: More documentation for complex DRC ops
2021-01-06 01:27:02 +01:00
Matthias Koefferlein
7d4310d343
Updated copyright to 2021
2021-01-05 22:57:48 +01:00
Matthias Koefferlein
9812ff7901
WIP: a new concept for complex DRC - 'foreign' subjects
2021-01-05 22:49:30 +01:00
Matthias Koefferlein
6dd190e3af
More compound DRC operations (join, merge, count filter)
2021-01-04 21:34:12 +01:00
Matthias Koefferlein
ee082f65a0
WIP: documentation
2021-01-04 01:14:39 +01:00
Matthias Koefferlein
7f1d91f529
WIP: typo fixed
2021-01-03 23:32:24 +01:00
Matthias Koefferlein
d273c2514d
WIP: DRC complex ops, implementation, doc, refactoring ...
2021-01-03 19:33:14 +01:00
Matthias Koefferlein
f3d8fb4a43
WIP: refactoring of DRC Ruby code
2021-01-03 19:03:30 +01:00