Commit graph

1566 commits

Author SHA1 Message Date
WMDE-Fisch 2337844925 Update some messages for the sub-ref use case
Bug: T373876
Change-Id: I2f65e2823de5b25a5e6a5dbce0a32cdbaf617b50
2024-10-01 11:58:24 +02:00
jenkins-bot b7e9910a35 Merge "Localisation updates from https://translatewiki.net." 2024-10-01 07:39:52 +00:00
Translation updater bot 107bf73c63
Localisation updates from https://translatewiki.net.
Change-Id: I6613f0a7e41cdadedbcd5297eda1f3f5b0a44a3b
2024-10-01 09:37:00 +02:00
Adam Wight e2ea1bcf68 [refactor] reuse dialog handles its children's events
Hide some knowledge from the reference dialog, and prepare the way
for additional events such as "extends".

Bug: T375053
Change-Id: I6097eb85deadcb58d1f56844c65726f19dbf6dda
2024-09-30 11:22:07 +02:00
jenkins-bot 97495c9bf1 Merge "[refactor] Move result items rendering to ReferenceResultWidget" 2024-09-30 08:37:36 +00:00
jenkins-bot 9c4c360ca4 Merge "Consistently use ve.msg() where possible" 2024-09-30 07:47:07 +00:00
Translation updater bot b8f29d80cd
Localisation updates from https://translatewiki.net.
Change-Id: I1b446618511c8c6b8e1ca6e24fff0a92ba1373d9
2024-09-30 09:20:43 +02:00
WMDE-Fisch 73917d493b [refactor] Move result items rendering to ReferenceResultWidget
The exact rendering of each item should be part of the widget.
This also allows a better application of the sub-ref indent.

Bug: T375841
Change-Id: Ic2c24f40d59f41b316c6d6f362726c1ee68f2102
2024-09-29 20:06:02 +02:00
jenkins-bot 805f691188 Merge "Indent subrefs in the reuse search item list" 2024-09-27 21:13:57 +00:00
WMDE-Fisch d9399cb81b Consistently use ve.msg() where possible
Change-Id: I2813ec963b869ea97aaadeb2018475e8dbaabb3e
2024-09-27 22:28:08 +02:00
Adam Wight 324e34fb12 Indent subrefs in the reuse search item list
TODO: This can be merged as-is, since it only affects pages with
subrefs, but it behaves surprisingly when the ref body is long.  In
this case, the text wraps around and flows onto the next lines
unindented.

A full implementation would require deeper changes to the item pane
layout, which is happening in a separate patch.  Recommend merging
this as a quick visual fix and then we come back to the subref+long
content edge case once the pane is easier to adjust layout in.

Bug: T375841
Change-Id: I65510f1550e033e57a3493676d8fc24f628c0600
2024-09-27 13:45:55 +02:00
WMDE-Fisch 72cf12a2de Adjust messages related to sub-referencing
Also adding some margin where it made sense looking at the mocks
in the message document.

Bug: T373876
Change-Id: I1165681521565d900b705a45579fd816fe625a8f
2024-09-26 21:09:56 +02:00
Translation updater bot a506383054
Localisation updates from https://translatewiki.net.
Change-Id: I06dae9c9a48bd840d2ea446de823047e77fa9ffe
2024-09-26 09:19:37 +02:00
Translation updater bot 11612e1118
Localisation updates from https://translatewiki.net.
Change-Id: I4b112700fce1172c4568061e0561d6dd5bec03bb
2024-09-24 09:28:39 +02:00
Translation updater bot bcbdbf934b
Localisation updates from https://translatewiki.net.
Change-Id: Ifb7babd567408cf57b2d662fac998e1ceb6214a2
2024-09-23 09:21:04 +02:00
jenkins-bot c15a34af79 Merge "[refactor] Moving the SetExtendsDialog class from Citoid" 2024-09-20 07:23:01 +00:00
WMDE-Fisch 1ba89ae0b8 Fix c&p leftover in MWReferenceEditPanel
Change-Id: Ia3d1ad5eeb652dd3c3b26d40fca184f1a9d9b805
2024-09-19 11:47:03 +00:00
Adam Wight 8534007aee [bugfix] Guard against out-of-order destruction
For unknown reasons, some of the event handlers in the reflist class
can be called when the model is already partially destroyed.  I
removed some guard logic in I0809df9d3c24fdd5fe which turns out to be
necessary, so I'm adding it here explicitly.

To reproduce the bug, try deleting the reflist in VE.

Bug: T375049
Change-Id: I33e6526cdf535eddaaf8ae506243a5898bd15676
2024-09-18 09:32:24 +02:00
WMDE-Fisch 8a85f5fb05 [refactor] Moving the SetExtendsDialog class from Citoid
First step in streamlining the code to create sub-references.

Slightly renaming the class to fit the schema and avoid conflicts.

Bug: T373849
Change-Id: Iadbdbecbedf4d4aa3f0e0bade88ea020f2570926
2024-09-17 11:41:56 +02:00
jenkins-bot 94d78fa268 Merge "Try to always limit our document references to the current fragment" 2024-09-16 15:00:38 +00:00
Translation updater bot 189aa8f9ab
Localisation updates from https://translatewiki.net.
Change-Id: I132aa602e48eb175d39d0c3f0694af16ad91c033
2024-09-16 09:25:29 +02:00
Translation updater bot bbaf397f3e
Localisation updates from https://translatewiki.net.
Change-Id: I7ec9d0672919ecfd52a9fb6ac34aa2f8c4f9ea6c
2024-09-13 09:17:46 +02:00
Translation updater bot 1310475a0e
Localisation updates from https://translatewiki.net.
Change-Id: I25c988a76ffd1c6c7500311f8132a5ab062863a8
2024-09-12 09:17:39 +02:00
Adam Wight 6ea3a8c696 Try to always limit our document references to the current fragment
Reverses the previous logic which traversed up from a fragment to get
the full document's refs.  Much other code in VE isn't ready for this
behavior, for example we can see list-defined refs but not inline refs
defined outside of the fragment.

This patch will ensure that we're only looking at refs accessible from
the current fragment, and prevents caching on fragments because the
cache uses `persistentStorage`, which is shared between fragments and
their parent document.

Bug: T374068
Change-Id: Ia38098f8b3e5a9d24c2206e11edab37d60209225
2024-09-10 12:26:32 +02:00
Translation updater bot 5efd7bcaa3
Localisation updates from https://translatewiki.net.
Change-Id: I3cd229480ee45f8e122b3f96e76c580b9199952d
2024-09-10 09:28:45 +02:00
jenkins-bot 6203ab3d13 Merge "VE include subref count in warning message" 2024-09-09 12:09:26 +00:00
jenkins-bot 25b71720a4 Merge "[refactor] Renaming some fields in SearchWidget for clarity" 2024-09-09 07:26:57 +00:00
Translation updater bot d91bf9251a
Localisation updates from https://translatewiki.net.
Change-Id: Ie569a85559b233f8ba4da913df914fd65dc48273
2024-09-09 09:22:11 +02:00
mareikeheuer bdcbcc08f8 VE include subref count in warning message
Include subref count in warning messages in VE editPanel dialog and contextItem

Bug: T373023
Change-Id: Ie7d162c4a2291db441846ec338159e8955c206c2
2024-09-09 09:21:06 +02:00
WMDE-Fisch b5a41a62de [refactor] Renaming some fields in SearchWidget for clarity
Should be a no-op. I checked CodeSearch for other usages but seems
safe so far.

Bug: T370875
Change-Id: I4969e93308735f06be3e344616341c1284157c19
2024-09-09 09:03:11 +02:00
thiemowmde 878a29b727 Add extra safe-guard to ve.ui.MWCitationDialogTool
Note this doesn't fully solve T374068. The issue is probably that the
reuse tab shouldn't be visible in the first place. Still I think this
is a useful safe-guard that cannot hurt. We are doing the same in
almost all other places already.

Bug: T374068
Change-Id: I9b91374dbda74af75d8c36e24ffe5b9448da1aa7
2024-09-05 17:54:50 +02:00
jenkins-bot 70277f746d Merge "[refactor] Stash calculated group refs" 2024-09-03 13:48:13 +00:00
jenkins-bot 52dc522cca Merge "Streamlining the MWReferenceEditPanel QUnit test" 2024-09-03 13:19:54 +00:00
jenkins-bot 0f72ad8b05 Merge "[refactor] Finish decoupling search widget from InternalList" 2024-09-03 12:52:26 +00:00
jenkins-bot 45e9e7a328 Merge "Finish safety fallback for missing groups" 2024-09-03 12:52:24 +00:00
WMDE-Fisch 1507354f93 Streamlining the MWReferenceEditPanel QUnit test
I could add some simplifications to reduce the complexity of the
tests a bit. I also fixed the test for the change handler. Seems
it did not work that way before.

Also some minor random doc fixes.

Change-Id: If1530a815ea126c38c3a55f3d52e3ca482059840
2024-09-03 14:50:51 +02:00
jenkins-bot 30b5fca6ee Merge "[refactor] InternalList isn't state" 2024-09-03 12:47:12 +00:00
Adam Wight 5f888c98fa Finish safety fallback for missing groups
In a document without references, the default group doesn't exist.
Make sure that we don't assume any group's existence.

Bug: T373661
Change-Id: I1bfd41b0b61938f32219d61142cd576c8ca97ace
2024-09-03 13:37:31 +02:00
Adam Wight aa9af6346a [refactor] Stash calculated group refs
Motivation is to simplify calling code.

Citoid subclass usage is safe across this change.

Change-Id: I24d9cbd58a0e34f6ce659e9a655547a46d5d057d
2024-09-03 12:47:25 +02:00
Adam Wight 65a02eb97b Fixup types
Change-Id: I609f6b4dfb4ebc357b6190571b8779a167a66f4f
2024-09-03 12:46:47 +02:00
Adam Wight ab0f2ea000 [refactor] Finish decoupling search widget from InternalList
Bug: T370875
Change-Id: I6ed43ea3a5b25c2ef5afc373b5a2523a730fd11e
2024-09-03 12:12:01 +02:00
Adam Wight e3398577c1 [refactor] InternalList isn't state
We've almost finished decoupling, and the last remaining usages of
InternalList can be inlined.

Change-Id: I0809df9d3c24fdd5fe4c628420d0406e012a3259
2024-09-03 11:34:47 +02:00
jenkins-bot 4b92287348 Merge "Fix null reference error in 2017 source editor" 2024-09-02 09:23:12 +00:00
Translation updater bot 4141cb91b9
Localisation updates from https://translatewiki.net.
Change-Id: Ic4cbb937827d897220d8b1720af1e2baef1497f7
2024-09-02 09:20:23 +02:00
thiemowmde 581d987b88 Fix null reference error in 2017 source editor
Looking for other references can (as of now) never work in source
mode. There are never other references or reference lists.

Bug: T373661
Change-Id: Icaad4e71a1538c5fad6a0f016b342a7cb7b9db2f
2024-08-30 17:41:17 +02:00
jenkins-bot 617ca08892 Merge "Drop unused, duplicate "this is an extension" message" 2024-08-30 11:20:00 +00:00
jenkins-bot d68f601b25 Merge "Drop unused "Re-use by this name" message" 2024-08-30 11:17:29 +00:00
jenkins-bot e28b4c0d04 Merge "[refactor] Replace InternalList with DocumentReferences in ReferenceEditPanel" 2024-08-30 08:21:32 +00:00
Translation updater bot 210912c199
Localisation updates from https://translatewiki.net.
Change-Id: Id0e6ab2c0668a8ab2aae344e0b0cf3e13a709826
2024-08-30 09:19:51 +02:00
WMDE-Fisch 31dcf2528e [refactor] Replace InternalList with DocumentReferences in ReferenceEditPanel
Change-Id: Icdb7b80f5ca4284fe77c4905b7a9c98659f9c2b4
2024-08-29 23:43:03 +02:00
Raimond Spekking 1882c463f2 Merge "Localisation updates from https://translatewiki.net." 2024-08-29 16:31:16 +00:00
thiemowmde 24915de7d7 Drop unused, duplicate "this is an extension" message
Patch I83434afaf1b76425bddb575dd724f462a247c83d was meant to be a
revert of I3749683d8a18e502bf16e5bd5f2fe385581625be, but left this
unused message behind.

While an unused message is harmless, it's of no use either. Even if
we are going to re-implement something like this again in the future,
we will certainly not be able to use this exact message (mostly
because of T373307). Starting with a new message is much easier then.

Bug: T373564
Change-Id: I241d44639ca7112e8398d095e7aa59cf8e275da1
2024-08-29 16:21:04 +02:00
thiemowmde b5522b705c Drop unused "Re-use by this name" message
This message was added via Icf9ea348cd97bdb09ddf18769f53c01ea5a8b7ef,
merged 2013-06-15.

The code of the ReferenceDialog class was later largely rewritten
and split into two separate "Edit" and "Insert" dialogs.
See Ib244ff6ad9b4cee1decfd9b9e1d3d4e9cdcfb78c, merged 2013-06-28.
Since then the message is unused. The commit message mentions the
related change. The patch just forgot to remove the message.

Note: The two separate dialog classes have been merged back into
the original ReferenceDialog class.
See I8265febf4fd8f64d2ac40470ff033bac68b24d99, merged 2013-07-18.
The message is already unused at this point. This just makes the
Git history extra confusing.

Bug: T373564
Change-Id: Ifb71a243fbdac43d2199ad40d84da14333d42599
2024-08-29 15:57:43 +02:00
jenkins-bot 1bae4d71c9 Merge "[refactor] Update some usages to new refs interface" 2024-08-29 12:23:14 +00:00
Adam Wight 633969300b [refactor] Update some usages to new refs interface
Change-Id: Idfffbe92ad1385e85b078bc4794a529c5f770eae
2024-08-29 13:21:48 +02:00
Translation updater bot 568cbfdd12
Localisation updates from https://translatewiki.net.
Change-Id: I2f148433c357c0f7a6804d703768fc5b48c70a7f
2024-08-29 09:17:33 +02:00
jenkins-bot 43274e9716 Merge "Reword the missing main ref hint in editing and context menu" 2024-08-28 13:47:18 +00:00
jenkins-bot 179e12f4ec Merge "[refactor] groupInput takes narrower parameters" 2024-08-28 08:09:55 +00:00
jenkins-bot 99d2cce694 Merge "[refactor] New interface in MWReferenceContextItem" 2024-08-28 08:06:54 +00:00
jenkins-bot 95263957a1 Merge "Clean up reflist usage of MWGroupReferences" 2024-08-28 08:03:25 +00:00
Adam Wight b69614fc82 [refactor] groupInput takes narrower parameters
Simple parameters hide knowledge and ease testing.

Change-Id: I9a8549199a1de07b437caf274c8d5e842183f570
2024-08-28 05:48:44 +00:00
Adam Wight 8c08491752 [refactor] New interface in MWReferenceContextItem
Switch to MWGroupReferences interface.

Change-Id: If6b0ee307ea8d44de8859953135be6e06f3e19e3
2024-08-28 05:47:31 +00:00
Adam Wight 35e8af7d40 Clean up reflist usage of MWGroupReferences
Switch this usage entirely to the new interface, moving much of the
junk out.

Bug: T372871
Change-Id: I445af469a823144b0b6fa5e6f4f23a858939e9e6
2024-08-28 07:45:39 +02:00
Adam Wight 850586c625 [refactor] Inline single-use variables
Change-Id: Icee82498a9e7c9645ef2a9dc84be230a6d68ba42
2024-08-27 10:54:17 +00:00
jenkins-bot f282a28021 Merge "Fix and update styling in reference re-use dialog" 2024-08-27 08:15:20 +00:00
Translation updater bot bcc6e2be69
Localisation updates from https://translatewiki.net.
Change-Id: I6bee2abcca5c448fc73a8c87714f51f841db608e
2024-08-27 09:47:16 +02:00
thiemowmde a3a6091534 Fix and update styling in reference re-use dialog
This makes the dialog's behavior much more robust, especially when
confronted with overly long and complex references.
* Limit the height of list items to avoid the situation where a
  single item overflows the dialog. This makes it especially hard
  to navigate with the cursor keys. We can't see any more what's
  going on. The proposed height is intentionally a very high upper
  bound, equivalent to about 2/3 of the dialog's height.
* Limit the name on the right side to take up less than half of an
  item. The left side is for the content. Usually the names are very
  short anyway. But if a name is long it currently creates a mess
  where the name is intertwined with the content.
* Break overly long words in references.
* Changing the opacity to use upstream values makes the dimmed names
  a bit darker. I think this is good, even necessary for legibility.

Technical changes:
* Use LESS variables from upstream, where possible.
* Remove redundant `relative` already set upstream.

Bug: T372385
Change-Id: Ie59b7b7e4aa7eadc8f82b39884313f5aa8cfd950
2024-08-27 07:07:06 +00:00
WMDE-Fisch d55d641314 Reword the missing main ref hint in editing and context menu
I think that the message is more clear when it starts with the
subject we're describing. That also seems to be the case in other
messages here.

It also aligns with the wording in referenceslist-missing-parent:
"There are subreferences with a missing parent reference."

Bug: T372871
Change-Id: If9a49faccb6cbe2000b15a2d28bd66565cce0e90
2024-08-26 23:13:43 +02:00
Adam Wight ab7d60ca05 Show specific error message in reflist when parent is missing
Bug: T372871
Change-Id: Idce84adc0100dfd73f02611f2825f3be1d2da223
2024-08-26 12:33:12 +02:00
Adam Wight 6e03d2cafa Moving ref group knowledge into a dedicated data structure
Pushes per-group knowledge down into a structured object and give it
an interface, separated from the singleton cache across all groups.

Also changes the behavior of orphaned subrefs so that they're still
rendered as subrefs, with an error placeholder where the parent
should be.

Bug: T372871
Change-Id: I84e679a8365f3fbfabaf344d99f56f6d069c0776
2024-08-26 09:26:15 +00:00
Translation updater bot b21b9a339e
Localisation updates from https://translatewiki.net.
Change-Id: I26e581d81dfb23e2aaacc8a72d2048d5fc77b30b
2024-08-26 09:21:51 +02:00
mareikeheuer 52956bed11 Adjust indentation of subrefs in reflist for mobile view
Based on the mobile version evaluation in task T370876, indentation is aligned for subrefs in the reflist for mobile view to match the web version

Bug: T371666
Change-Id: I40a3fe0b9cc607365e0ead26cf554921fe0abc5b
2024-08-23 11:11:27 +02:00
jenkins-bot 1bbae40ca5 Merge "Show error message in ref edit dialog for orphaned subref" 2024-08-23 08:02:54 +00:00
Translation updater bot 4d14e6fa61
Localisation updates from https://translatewiki.net.
Change-Id: Ib15727bdb52343ec729deb34eaa03ff75c1e52e7
2024-08-23 09:45:46 +02:00
Adam Wight ce16e4a4cb Show error message in ref edit dialog for orphaned subref
Bug: T372871
Change-Id: I2b5c99f699ac4113f90b0b22913f1b7119d1d8ce
2024-08-22 17:27:51 +02:00
Adam Wight 438eed5c54 Show error placeholder in context item for orphaned subref
Bug: T372871
Change-Id: Ifc183b33793fb8e5c736488569f47838c138ce2e
2024-08-22 16:46:01 +02:00
Translation updater bot dfa08cbb03
Localisation updates from https://translatewiki.net.
Change-Id: Id8979317b7ace536692740998aeec173400f003a
2024-08-20 09:41:54 +02:00
Translation updater bot 934960b07b
Localisation updates from https://translatewiki.net.
Change-Id: Ifb602e7086bd59d3052e5c38a68bbf95f486da5e
2024-08-19 09:22:34 +02:00
Translation updater bot 203b9b7e2a
Localisation updates from https://translatewiki.net.
Change-Id: I5acd2b0a5ef95398f482678add4e6ba303b49011
2024-08-16 09:27:30 +02:00
jenkins-bot 7f14cc8679 Merge "Git rid of the ref class property in the dialog class" 2024-08-14 08:57:33 +00:00
WMDE-Fisch f5c96716f0 Git rid of the ref class property in the dialog class
The model is now fully owned by the edit panel and I could not find
any usages of this outside of that class using codesearch.

Bug: T369005
Change-Id: I911fee99d6c910e6e40e0b3cbdb4c7ab60b413c6
2024-08-13 18:41:31 +00:00
WMDE-Fisch 70e1f91bc0 Set more methods private in EditPanel class
These are just for internal use.

Bug: T369005
Change-Id: Ia3c6338c79c3ec4144727c841c24ea5066060eed
2024-08-13 20:37:42 +02:00
WMDE-Fisch 3af9dfdb71 Move event handler to the EditPanel class
Making sure that change events form the fields are handled in the
panel and forwarded to the dialog with the information needed.

Also slighly moving some calls in the setup process that inits
the dialog and removing some duplication. Calling focus on the
edit panel only makes sense in the ready step. Not during setup.

Bug: T369005
Change-Id: I4f9a022a06ec6543b106620eae030235b8f6712b
2024-08-13 15:53:24 +02:00
jenkins-bot e163f354a5 Merge "Add method to get the updated ref from the edit panel" 2024-08-13 13:22:15 +00:00
Translation updater bot 7d7a2469b8
Localisation updates from https://translatewiki.net.
Change-Id: I45f0398a3c72bf8c2d5e48e5f9e40887ac7837e3
2024-08-13 09:50:20 +02:00
WMDE-Fisch 48d0699f09 Add method to get the updated ref from the edit panel
That's another step to separate the editing form the dialog. The dialog should not know about internals of the edit panel.

And eventually the dialog can get rid of the referenceModel property.

Bug: T369005
Change-Id: I9cf3a68ef58bc5791497af362c0572734e4bcadd
2024-08-12 18:00:32 +00:00
jenkins-bot d847caf5b8 Merge "Hide main ref warning on orphan refs" 2024-08-12 13:34:09 +00:00
jenkins-bot e5808ef6fb Merge "Fix missing cursor focus visualization in reference search" 2024-08-12 09:17:18 +00:00
jenkins-bot f11e415c24 Merge "Remove obsolete disconnect()" 2024-08-12 08:59:34 +00:00
Translation updater bot bde79b6a61
Localisation updates from https://translatewiki.net.
Change-Id: I2b315df554f6a1444e9b3175d0706410893d75ed
2024-08-12 09:22:11 +02:00
WMDE-Fisch 3d0a88c384 Hide main ref warning on orphan refs
Also adding tests.

Bug: T369005
Change-Id: Icb3deaf0c8e14e34bd05455590bd9680a7a5adec
2024-08-02 15:33:44 +02:00
WMDE-Fisch 6bfe4f1c5d Remove obsolete disconnect()
I could not find any connect() was applied from this codebase to
the SurfaceModel. Looking back it seems that the code that connects
the event was removed in Icba13d84e10cf18a6c68e26448b2efe93b8c42b8
and the disconnect was never touched.

Bug: T369005
Change-Id: Ieab623751dd946ba43c42a1be144e6b3725abce3
2024-08-02 12:00:27 +02:00
WMDE-Fisch cc6aec4c77 Don't use the edit form when reusing a reference
There's no need to populate and use the form fields when we're
reusing a reference. The group and content are already stored
in the model and we can insert more directly.

I found that it's also not needed to update the internal item
because we're not changing the content or group. The same is done
in Citoid when reusing a reference.

Bug: T369003
Change-Id: I57315aafb73b0cd68a0d397d2f79833ac54a7c7f
2024-08-01 18:09:07 +02:00
jenkins-bot 8ef86b2f0f Merge "Rename function to getIndexLabel to clarify that it's presentation" 2024-08-01 06:33:30 +00:00
jenkins-bot a9b8380bcb Merge "Helper function getAllGroupNames" 2024-07-30 12:30:14 +00:00
Adam Wight baedd6c44c Rename function to getIndexLabel to clarify that it's presentation
Bug: T370874
Change-Id: I2e00aca86d2a97f8dff11b742e010ef117b5522a
2024-07-30 12:05:25 +00:00
Adam Wight 06e7dda6a3 Helper function getAllGroupNames
Bug: T370874
Change-Id: I8d61b1ab428ab30e250c8dad05d1b97e15905ed5
2024-07-30 00:00:50 +02:00
jenkins-bot caee02b888 Merge "References always deal with original document" 2024-07-29 21:29:30 +00:00
Adam Wight 3e2d060037 References always deal with original document
Singleton always steps up to the original document from fragments, to
give absolute numbering.

Bug: T370874
Change-Id: I0353649289f6c8fe26fa6bdff5d2367b7b575bac
2024-07-29 11:45:24 +02:00
WMDE-Fisch 8b60ead109 Move more editing methods to the EditPanel
Mainly leaving out the event handling for the change detection to
still keep it simple.

Also the data flow back for editing the content is still somewhat
opaque because the relevant data is passed by reference. I might
change that in follow up patches so it's more clear.

Bug: T369005
Change-Id: I93b62791ef10bf318697905af8a0c5b5d438fdb5
2024-07-26 17:45:23 +00:00