Łukasz Magiera
ca790b4c69
sealing: Validate piece alignment in checkPieces
2022-09-19 12:13:05 +02:00
Łukasz Magiera
332d83bd18
sector import: Check pieces in Sealing.Receive
2022-09-19 12:13:05 +02:00
Łukasz Magiera
5c485c3375
sealing: Drop redundant Piece type
2022-09-19 12:13:05 +02:00
Łukasz Magiera
29135aa77c
sector import: Initial api scaffolding
2022-09-19 12:13:03 +02:00
Łukasz Magiera
d68bb937d8
fix: ffiwrapper: Close readers in AddPiece
2022-09-19 09:52:57 +02:00
Jiaying Wang
4abc38dacc
Merge pull request #9310 from filecoin-project/fix/empty-snap
...
fix: sealing: Abort upgrades in sectors with no deals
2022-09-16 21:21:39 -04:00
Łukasz Magiera
f1e4ecaaa3
fix: Drop unused PreCommitInfo from pipeline.SectorInfo
2022-09-16 17:51:09 +02:00
Łukasz Magiera
501d21aa28
fix expiration config handling in calcTargetExpiration
2022-09-16 15:37:50 +02:00
Łukasz Magiera
7a2a069a5a
Merge pull request #9282 from Juneezee/refactor/os.ReadDir
...
refactor: use `os.ReadDir` for lightweight directory reading
2022-09-15 16:25:51 +02:00
Łukasz Magiera
bf3daea124
sealing: Minimum upgrade sector expiration/target config
2022-09-15 16:19:57 +02:00
Łukasz Magiera
305cfa1f69
sealing: Pick safer minTarget in calcTargetExpiration
2022-09-15 16:09:13 +02:00
Łukasz Magiera
d2c726cd28
fix: sealing: Abort upgrades in sectors with no deals
2022-09-15 16:09:13 +02:00
Aayush
19c3232d2f
more fixes
2022-09-10 12:37:03 -04:00
Aayush
c0bbaebaf4
more fixes
2022-09-09 21:40:15 -04:00
Aayush
92cc24fca2
support fvm gas tracing
2022-09-09 21:40:15 -04:00
Geoff Stuart
642555d0fb
Fix discrepancies, run fiximports
2022-09-09 21:40:15 -04:00
Aayush
0efca4d266
introduce v9 actors and nv17
2022-09-09 21:40:15 -04:00
Eng Zer Jun
abef90423d
refactor: use os.ReadDir
for lightweight directory reading
...
`os.ReadDir` was added in Go 1.16 as part of the deprecation of `ioutil`
package. It is a more efficient implementation than `ioutil.ReadDir`.
Reference: https://pkg.go.dev/io/ioutil#ReadDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-09-09 19:53:40 +08:00
LexLuthr
67d4f905e6
feat: proving: Introduce manual sector fault recovery ( #9144 )
...
* rebase
* fix lint error
* fix errors
* add itest
* make gen after rebase
* apply suggestion from review
* make gen after latest rebase
* gen after rebase
* fix waitgroup
* change as per review
* refactor Recovery Batches
* fix CLI
* gen after rebase
* close the channel
2022-09-06 21:17:30 +05:30
Łukasz Magiera
088bf56f2a
Merge pull request #9231 from filecoin-project/fix/datacid-res-envvars
...
sealing: fix: Make DataCid resource env vars make more sense
2022-08-30 02:36:02 +02:00
Łukasz Magiera
08b22edd89
fix make gen
2022-08-29 16:25:30 +02:00
Łukasz Magiera
d00e1e78bb
resources: Use 32G AP resources for DC
2022-08-29 16:12:02 +02:00
Łukasz Magiera
e4ed3f8cf8
sealing: fix: Make DataCid resource env vars make more sense
2022-08-29 15:57:58 +02:00
Dirk McCormick
964bbca792
fix: DataCid - ensure reader is closed
2022-08-29 10:31:11 +02:00
Łukasz Magiera
45d1bd61ce
Merge pull request #9183 from filecoin-project/feat/sectornum-mgmt
...
feat: sealing: Use bitfields to manage sector numbers
2022-08-26 10:59:24 -04:00
Łukasz Magiera
70f0edd041
strle, sealing: address review
2022-08-25 10:19:39 -04:00
Łukasz Magiera
b8a8648f4a
numassigner: fix lint
2022-08-24 11:38:29 -04:00
Łukasz Magiera
335f5df3ec
numassigner: SectorNumReserveCount
2022-08-24 11:25:37 -04:00
Aayush
5e80276631
fix: mock sealer: grab lock in ReadPiece
2022-08-23 17:24:28 -04:00
nujz
76f6eb3edf
cgroupV1: memory.memsw.usage_in_bytes: no such file or directory
2022-08-23 17:37:47 +08:00
Łukasz Magiera
c18874c122
numassigner: Don't error on fresh non-genesis miners
2022-08-22 17:49:58 -04:00
Łukasz Magiera
129eba2b5d
sealing: numassign: itests/bug fixes
2022-08-22 16:58:36 -04:00
Łukasz Magiera
00bef607ca
sealing: numassign: take on-chain allocated numbers into account
2022-08-22 16:55:44 -04:00
Łukasz Magiera
ef2080a800
cli for managing sector reservations
2022-08-22 16:55:41 -04:00
Łukasz Magiera
ca72590e49
sealing: Use bitfields to manage sector numbers
2022-08-22 16:55:08 -04:00
Łukasz Magiera
2e29b460d2
Merge pull request #9142 from filecoin-project/chore/untangle-fsm
...
sealing pipeline: Remove useless storage adapter code
2022-08-14 15:50:31 -04:00
Łukasz Magiera
77208728ad
sealing: fix lint/tests
2022-08-14 12:50:18 -04:00
Rob Quist
f5086c98e8
fix: Add information on what worker a job was assigned to in logs
...
More detailed logs
2022-08-10 21:33:19 +02:00
Łukasz Magiera
71dacb5af8
sealing pipeline: Remove useless storage adapter code
2022-08-09 13:40:06 +02:00
Łukasz Magiera
fe2a589890
sealing pipeline: Cleanup AddresSelector plumbing
2022-08-09 12:57:36 +02:00
Łukasz Magiera
4b6a9e0387
sealing pipeline: Cleanup journal plumbing
2022-08-09 12:42:35 +02:00
Łukasz Magiera
ca1ff19541
fix: storage: don't panic in getCommitCutoff when precommit is not found
2022-08-09 11:44:40 +02:00
Łukasz Magiera
cb2b4fa4aa
Merge remote-tracking branch 'origin/master' into feat/storage-redeclare
2022-08-05 21:26:15 +02:00
Łukasz Magiera
819314de46
Merge remote-tracking branch 'origin/master' into feat/storage-redeclare
2022-08-05 09:01:30 +02:00
LexLuthr
a59d73d64a
Merge branch 'master' into feat/SchedRemoveRequest
2022-08-04 02:24:14 +05:30
LexLuthr
fad79f3218
respond to caller. Add itest
2022-08-04 02:00:24 +05:30
LexLuthr
cdc08e566f
fix everything pointed as per review
2022-08-04 02:00:24 +05:30
LexLuthr
c736dedfa6
move requestremove inside runSched
2022-08-04 02:00:24 +05:30
LexLuthr
cf78fa99ee
Rebase on master
2022-08-04 01:59:48 +05:30
Łukasz Magiera
da33d82e1b
feat: sealer: Custom worker name config
2022-08-03 12:58:49 +02:00
Łukasz Magiera
4d10adae3c
Merge branch 'hostname_variable' of github.com:clinta/lotus into feat/worker-name-set
2022-08-03 12:40:18 +02:00
Łukasz Magiera
4b47881950
Merge branch 'master' into sbansal/lotus-worker-stop-cmd
2022-08-03 10:42:19 +02:00
Łukasz Magiera
92d27aa6d2
Merge remote-tracking branch 'origin/master' into feat/storage-redeclare
2022-08-03 00:56:23 +02:00
Aayush
784926b2b4
add a test for Post max sectors recovery
2022-08-02 15:28:43 -04:00
Aayush
50c22aef7a
fix: post: restrict recoveries per deadline
2022-08-02 12:32:44 -04:00
Łukasz Magiera
6d2990314f
storage: Fix detaching shared paths
2022-08-02 15:46:35 +02:00
Aayush
650130f9c4
fix: sector counter for recovery
2022-08-01 14:30:20 -04:00
Łukasz Magiera
c215a03edd
feat: wdpost: Envvar for limiting recovering sectors
2022-08-01 16:58:05 +02:00
Łukasz Magiera
3309e10b0d
itests: Test storage detach/redeclare
2022-08-01 15:58:06 +02:00
Łukasz Magiera
d690b49d17
storage: Fix linter warnings
2022-08-01 15:58:06 +02:00
Łukasz Magiera
8cff52aef6
Storage detach/attach in lotus-miner, cli commands
2022-08-01 15:58:06 +02:00
Łukasz Magiera
943d2a72c6
storage: StorageRedeclareLocal on lotus-worker
2022-08-01 15:58:06 +02:00
Łukasz Magiera
f947e65f15
wip storage redeclare/detach
2022-08-01 15:58:06 +02:00
Shrenuj Bansal
dfea74cca8
Add stop cmd for lotus worker
2022-07-29 18:33:30 -04:00
Geoff Stuart
4b79cc68cb
Merge pull request #9043 from filecoin-project/gstuart/hacky-sealing-fix
...
fix: sealing: Workaround for sealing bug
2022-07-18 13:54:03 -07:00
Geoff Stuart
b22e24a95a
Workaround for sealing bug
2022-07-15 11:56:08 -07:00
Aayush Rajasekaran
3353cbe23a
Fixup typos
2022-07-15 08:20:37 -04:00
Łukasz Magiera
db9105e166
storage: Add one more test case to TestFileTypeAnyAllow
2022-07-15 12:47:46 +02:00
Łukasz Magiera
e1b02dd13d
storage: paths: Review suggestions
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-07-15 12:46:20 +02:00
Łukasz Magiera
ac2ea039b5
path index: Raise alerts on bad filter config
2022-07-12 21:45:12 +02:00
Łukasz Magiera
91e474e72e
sealer: Pass correct args to SubAllowed in selectors
2022-07-12 21:45:12 +02:00
Łukasz Magiera
43db2fb8a4
miner cli: Print allow/deny types in storage list
2022-07-12 21:45:12 +02:00
Łukasz Magiera
59d069dc4d
itests: Tests for storage path filters
2022-07-12 21:45:12 +02:00
Łukasz Magiera
cd682e200b
sealer: Fix no-remote move selector
2022-07-12 21:45:12 +02:00
Łukasz Magiera
6ac5c16d2b
storage: Path type filters
2022-07-12 21:45:12 +02:00
Jennifer Wang
8486ae0d51
Merge branch 'releases' into jen/backport
2022-07-11 14:27:26 -04:00
Aayush
c4ad7c81e2
remove mock file
2022-07-07 14:51:21 -04:00
Aayush
d68a60e8d9
feat: recovery: Config for maximum partition count per message
2022-07-07 14:48:37 -04:00
Łukasz Magiera
673f9238be
feat: wdpost: Config for maximum partition count per message
2022-07-07 14:10:31 -04:00
Aayush
770c32c3cb
feat: recovery: Config for maximum partition count per message
2022-07-07 12:46:33 -04:00
Łukasz Magiera
7741175b7d
feat: wdpost: Config for maximum partition count per message
2022-07-07 12:38:21 +02:00
Łukasz Magiera
d5100f883d
cfgdoc-gen: Handle empty lines in comments
2022-07-01 22:32:10 +02:00
Łukasz Magiera
59f3161fd6
wdpost: Config for disabling sector prechecks
2022-07-01 22:20:05 +02:00
Łukasz Magiera
84881f64ad
sealer: Config for disabling builtin PoSt
2022-07-01 21:24:54 +02:00
Łukasz Magiera
0277ff4239
wdpost: move fault/recover code to a separate file
2022-07-01 21:24:22 +02:00
Geoff Stuart
56c7e7a8d6
Remove old functions for getting actors cids
2022-06-29 14:58:58 -04:00
Łukasz Magiera
db676acdf8
storage: Cleanup interfaces a bit
2022-06-17 13:52:19 +02:00
Łukasz Magiera
58416d0881
storage: Don't depend on specs-storage, move to storiface
2022-06-17 13:36:33 +02:00
Łukasz Magiera
4a4d64f528
sealing pipeline: Rename 'tok' to 'tsk'
2022-06-17 11:20:33 +02:00
Łukasz Magiera
d56241603a
sealing pipeline: Remove adapter code!
2022-06-16 17:22:50 +02:00
Łukasz Magiera
59a4fe1e56
sealing pipeline: Don't adapt MpoolPushMessage
2022-06-16 15:54:15 +02:00
Łukasz Magiera
9c4d10ec73
api: handle no-precommit in StateSectorPreCommitInfo gracefully
2022-06-16 15:20:58 +02:00
Łukasz Magiera
06b3e555c5
sealing pipeline: Drop ChainBaseFee, don't wrap StateSectorPartition
2022-06-16 14:00:37 +02:00
Łukasz Magiera
db842224b8
sealing pipeline: Drop StateMarketStorageDealProposal
2022-06-16 13:33:59 +02:00
Łukasz Magiera
2dc1df878d
api: Move StateComputeDataCID to full-node
2022-06-16 13:29:35 +02:00
Łukasz Magiera
a084445e6c
sealing pipeline: Use non-special ChainHead
2022-06-16 13:15:49 +02:00
Łukasz Magiera
048bfe6d5b
sealing pipeline: Use non-special msg wait APIs
2022-06-16 12:47:19 +02:00
Łukasz Magiera
cd4514bddf
sealing pipeline: Drop StateMinerActiveSectors
2022-06-16 12:34:29 +02:00
Łukasz Magiera
9fad80ce9a
sealing pipeline: Drop unused miner-info related methods
2022-06-16 12:18:24 +02:00
Łukasz Magiera
9aa5659d24
sealing pipeline: Drop TipSetToken, use TipSetKey directly
2022-06-16 12:05:58 +02:00
Łukasz Magiera
05cdeb80c3
chore: remove redundant import prefixes
2022-06-15 12:06:22 +02:00
Łukasz Magiera
39cede946c
chore: Fix more imports with '2' suffix
2022-06-14 21:37:54 +02:00
Łukasz Magiera
a581d73548
chore: Fix imports with '2' suffix
2022-06-14 20:36:33 +02:00
Łukasz Magiera
28099a3905
storage: Move storage/sealer/stores to storage/paths
2022-06-14 20:25:52 +02:00
Łukasz Magiera
82857e6d5d
chore: rerun gen with moved packages
2022-06-14 20:13:31 +02:00
Łukasz Magiera
a9600b8a6f
storage: Move extern/sector-storage to storage/sealer
2022-06-14 20:03:38 +02:00
Łukasz Magiera
98a48a47f8
storage: Move extern/storage-sealing to storage/pipeline
2022-06-14 19:41:59 +02:00
Łukasz Magiera
cf835fcc0c
fix wdpost unit tests
2022-06-14 19:33:57 +02:00
Łukasz Magiera
717bda63b1
storage: Move control address logic to storage/ctladdr
2022-06-14 19:32:29 +02:00
Łukasz Magiera
dff1bf2868
storage: Move window-post logic into a separate package
2022-06-14 19:27:09 +02:00
Łukasz Magiera
12c91bb41d
storage: Move mock PreCommit helper to the mock package
2022-06-14 19:23:14 +02:00
Łukasz Magiera
6afb43afbb
wallet: Move key.go into separate pkg to avoid import loops
2022-06-14 19:21:40 +02:00
Łukasz Magiera
e65fae28de
chore: fix imports
2022-06-14 17:00:51 +02:00
Geoff Stuart
b7010c9e60
Implement function to migrate actors with only code changes
2022-06-10 15:52:32 -04:00
Geoff Stuart
801c670edd
Remove ChainPutMany
2022-06-10 14:09:05 -04:00
Geoff Stuart
5c0f2c8ae6
Add putObj and putMany to apiBlockstore
2022-06-09 15:13:42 -04:00
Aayush
b28c11a57d
Merge branch 'feat/nv16'
2022-06-03 14:01:49 -04:00
Łukasz Magiera
af510e2cd7
feat: wdpost: Ignore faults in lotus-miner proving compute window-post
2022-05-27 13:14:47 +02:00
Aayush
b2b20e469f
Fix tests
2022-05-17 15:21:27 -04:00
Aayush
8cca9b1970
Use new go-state-types accessors
2022-05-17 15:21:27 -04:00
zenground0
60d09579be
More fixes
2022-04-14 19:32:56 +03:00
Aayush
339b7db2b7
Integrate FIP 0027
2022-04-14 19:32:56 +03:00
Łukasz Magiera
54cb55a7ae
feat: miner: API/CLI to compute window-post
2022-03-28 17:06:51 -04:00
Łukasz Magiera
36f1dd7bb3
itests: Fix flaky TestWindowPostWorkerSkipBadSector
2022-03-18 20:51:47 +01:00
Łukasz Magiera
7b81369c8c
wdpost: Don't attempt to snark with skipped sectors
2022-03-18 19:45:25 +01:00
Łukasz Magiera
6ddbe41376
Merge remote-tracking branch 'origin/master' into feat/post-worker
2022-03-18 10:54:44 +01:00
Łukasz Magiera
a3bdd29615
Merge pull request #8330 from filecoin-project/feat/snap-queue
...
feat: sealing: Sector upgrade queue
2022-03-16 22:24:45 +01:00
Łukasz Magiera
4d4739497d
sealing: Use bitfields in sectorActive
2022-03-16 19:53:00 +01:00
Darko Brdareski
79453663b3
feat: Add additional test annotations ( #8272 )
...
* Annotate api,proxy_util,blockstore_badger, policy tests
* Annotate splitstore: bsbadger / markset
* Annotate splitstore feature
* Annotate union/timed blockstore tests
* Annotate openrpc, diff_adt tests
* Annotate error,drand,events tests
* Annotate predicates_test
* Fix annotations
* Annotate tscache, gen tests
* Annotate fundmanager test
* Annotate repub and selection tests
* Annotate statetree_test
* Annotate forks_test
* Annotate searchwait_test.go
* Fix duplicated @@ symbols
* Annotate chain stmgr/store tests
* Annotate more (types) tests
* More tests annotated
* Annotate conformance chaos actor tests
* Annotate more integration tests
* Annotate journal system tests
* Annotate more tests.
* Annotate gas,head buffer behaviors
* Fix markset annotations
* doc: test annotations for the markets dagstore wrapper
* Annotate miner_api test in dagstore
* Annotate more test files
* Remove bad annotations from fsrepo
* Annotate wdpost system
* Remove bad annotations
* Renamce "conformance" to "chaos_actor" tests
* doc: stm annotations for blockheader & election proof tests
* Annotate remaining "A" tests
* annotate: stm for error_test
* memrepo_test.go
* Annotate "b" file tests
* message_test.go
* doc: stm annotate for fsrepo_test
* Annotate "c" file tests
* Annotate "D" test files
* message_test.go
* doc: stm annotate for chain, node/config & client
* docs: stm annotate node_test
* Annotate u,v,wl tests
* doc: stm annotations for various test files
* Annotate "T" test files
* doc: stm annotate for proxy_util_test & policy_test
* doc: stm annotate for various tests
* doc: final few stm annotations
* Add mempool unit tests
* Add two more memPool Add tests
* Update submodules
* Add check function tests
* Add stm annotations, refactor test helper
* Annotate api,proxy_util,blockstore_badger, policy tests
* Annotate splitstore: bsbadger / markset
solving merge conflicts
* Annotate splitstore feature
* Annotate union/timed blockstore tests
* Annotate openrpc, diff_adt tests
* Annotate error,drand,events tests
* Annotate predicates_test
* Fix annotations
* Annotate tscache, gen tests
* Annotate fundmanager test
* Annotate statetree_test
* Annotate forks_test
* Annotate searchwait_test.go
* Fix duplicated @@ symbols
* Annotate chain stmgr/store tests
* Annotate more (types) tests
* More tests annotated
* Annotate conformance chaos actor tests
* Annotate more integration tests
* Annotate journal system tests
* Annotate more tests.
* Annotate gas,head buffer behaviors
solve merge conflict
* Fix markset annotations
* Annotate miner_api test in dagstore
* Annotate more test files
* doc: test annotations for the markets dagstore wrapper
* Annotate wdpost system
* Renamce "conformance" to "chaos_actor" tests
* Annotate remaining "A" tests
* doc: stm annotations for blockheader & election proof tests
* annotate: stm for error_test
* Annotate "b" file tests
* memrepo_test.go
* Annotate "c" file tests
* message_test.go
* Annotate "D" test files
* doc: stm annotate for fsrepo_test
* Annotate u,v,wl tests
* message_test.go
* doc: stm annotate for chain, node/config & client
* docs: stm annotate node_test
* Annotate "T" test files
* doc: stm annotations for various test files
* Add mempool unit tests
solve merge conflict
* doc: stm annotate for proxy_util_test & policy_test
* doc: stm annotate for various tests
* doc: final few stm annotations
* Add two more memPool Add tests
* Update submodules
* Add check function tests
solve conflict
* Add stm annotations, refactor test helper
solve merge conflict
* Change CLI test kinds to "unit"
* Fix double merged test
* Fix ccupgrade_test merge
* Fix lint issues
* Add stm annotation to types_Test
* Test vectors submodule
* Add file annotation to burn_test
Co-authored-by: Nikola Divic <divicnikola@gmail.com>
Co-authored-by: TheMenko <themenkoprojects@gmail.com>
2022-03-16 18:37:34 +01:00
Łukasz Magiera
ce99aad438
Fix provingCheckProvableCmd
2022-03-11 18:13:51 +01:00
Łukasz Magiera
046a9f8af0
Merge remote-tracking branch 'origin/master' into feat/post-worker
2022-03-09 16:27:03 +01:00
zenground0
a463c90057
remove endpoint from cli
2022-03-01 11:27:03 -07:00
zenground0
abe04c33c1
Fix fault tracker to handle snap deals
2022-02-23 09:56:47 -07:00
Jennifer Wang
6ed97f0d04
Merge branch 'release/v1.14.0' into jen/v15
2022-02-09 03:17:38 -05:00
Aayush
1b18236f91
feat: sealer: allow users to abort in-flight snap upgrades
2022-01-25 13:01:51 -05:00
Łukasz Magiera
33dfcf2663
stores: Fix single post proof reading with updated sectors
2022-01-20 15:27:42 +01:00
Łukasz Magiera
b115e2879a
don't defer in a loop
2022-01-20 11:19:57 +01:00
Łukasz Magiera
03fa955e9e
Cleanup imports
2022-01-18 11:37:24 +01:00
Łukasz Magiera
f2496d87c9
post workers: Snapdeals updates
2022-01-18 11:25:04 +01:00
Łukasz Magiera
0c062f9c08
Merge remote-tracking branch 'origin/master' into feat/post-worker
2022-01-18 10:49:42 +01:00
Aayush Rajasekaran
ca57546ef5
Remove unnecessary params from VerifyWinningPost
2022-01-14 17:14:32 -05:00
zenground0
d6aa17e21f
Snap Deals Integration
...
- FSM handles the actual cc upgrade process including error states
- PoSting (winning and window) works over upgraded and upgrading sectors
- Integration test and changes to itest framework to reduce flakes
- Update CLI to handle new upgrade
- Update dependencies
2022-01-14 17:14:32 -05:00
Aayush Rajasekaran
a8cb027c08
Integrate v7 actors
2022-01-14 17:14:32 -05:00
Łukasz Magiera
4a874eff70
post workers: Cleanup, tests
2022-01-14 14:17:52 +01:00
Aayush Rajasekaran
d645c5fbab
Remove unnecessary params from VerifyWinningPost
2022-01-11 12:06:39 -05:00
Łukasz Magiera
cf7dd36829
Merge branch 'feat/decoupling-post-worker' of github.com:wusirdcenter/lotus into feat/decoupling-post-worker
2022-01-10 15:06:04 +01:00
zenground0
33f2d24f54
Snap Deals Integration
...
- FSM handles the actual cc upgrade process including error states
- PoSting (winning and window) works over upgraded and upgrading sectors
- Integration test and changes to itest framework to reduce flakes
- Update CLI to handle new upgrade
- Update dependencies
2022-01-10 15:39:38 +05:30
mz-sirius
3fd55fa56b
decoupling winningpost and windowpost from lotus-miner
2022-01-05 01:50:49 +08:00
pefish
f82a262ffe
Update wdpost_run.go
2021-12-29 17:37:37 +08:00
Łukasz Magiera
bc384c01e3
Merge remote-tracking branch 'origin/master' into deps/update-ctx-dsbs
2021-12-17 13:01:22 +01:00