imio.smartweb.common 1.2.35__py3-none-any.whl → 1.2.36__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- imio/smartweb/common/profiles/default/metadata.xml +1 -1
- imio/smartweb/common/profiles/default/registry/tinymce.xml +1 -1
- imio/smartweb/common/upgrades/configure.zcml +19 -0
- imio/smartweb/common/upgrades/profiles/1032_to_1033/registry/tinymce.xml +86 -0
- imio/smartweb/common/vocabularies.py +35 -0
- imio/smartweb/common/vocabularies.zcml +12 -0
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/METADATA +14 -1
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/RECORD +14 -13
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/WHEEL +1 -1
- /imio.smartweb.common-1.2.35-py3.12-nspkg.pth → /imio.smartweb.common-1.2.36-py3.12-nspkg.pth +0 -0
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/licenses/LICENSE.GPL +0 -0
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/licenses/LICENSE.rst +0 -0
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/namespace_packages.txt +0 -0
- {imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/top_level.txt +0 -0
|
@@ -157,6 +157,14 @@
|
|
|
157
157
|
directory="profiles/1031_to_1032"
|
|
158
158
|
/>
|
|
159
159
|
|
|
160
|
+
<genericsetup:registerProfile
|
|
161
|
+
name="upgrade_1032_to_1033"
|
|
162
|
+
title="Upgrade common from 1032 to 1033"
|
|
163
|
+
description="Add HorizontalRule to TinyMCE7"
|
|
164
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
|
165
|
+
directory="profiles/1032_to_1033"
|
|
166
|
+
/>
|
|
167
|
+
|
|
160
168
|
<genericsetup:upgradeStep
|
|
161
169
|
title="Configure first official release"
|
|
162
170
|
description="Run needed registry step"
|
|
@@ -496,4 +504,15 @@
|
|
|
496
504
|
/>
|
|
497
505
|
</genericsetup:upgradeSteps>
|
|
498
506
|
|
|
507
|
+
<genericsetup:upgradeSteps
|
|
508
|
+
profile="imio.smartweb.common:default"
|
|
509
|
+
source="1032"
|
|
510
|
+
destination="1033"
|
|
511
|
+
>
|
|
512
|
+
<genericsetup:upgradeDepends
|
|
513
|
+
title="Add HorizontalRule to TinyMCE7"
|
|
514
|
+
import_profile="imio.smartweb.common.upgrades:upgrade_1032_to_1033"
|
|
515
|
+
/>
|
|
516
|
+
</genericsetup:upgradeSteps>
|
|
517
|
+
|
|
499
518
|
</configure>
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<registry>
|
|
3
|
+
|
|
4
|
+
<!-- See possible values in https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ -->
|
|
5
|
+
<record interface="plone.base.interfaces.controlpanel.ITinyMCESchema"
|
|
6
|
+
name="plone.menu"
|
|
7
|
+
>
|
|
8
|
+
<value purge="true">
|
|
9
|
+
{
|
|
10
|
+
"file": {
|
|
11
|
+
"title": "File",
|
|
12
|
+
"items": ""
|
|
13
|
+
},
|
|
14
|
+
"tools": {
|
|
15
|
+
"title": "Tools",
|
|
16
|
+
"items": ""
|
|
17
|
+
},
|
|
18
|
+
"table": {
|
|
19
|
+
"title": "Table",
|
|
20
|
+
"items": ""
|
|
21
|
+
},
|
|
22
|
+
"edit": {
|
|
23
|
+
"title": "Edit",
|
|
24
|
+
"items": "undo redo | cut copy paste | searchreplace selectall"
|
|
25
|
+
},
|
|
26
|
+
"format": {
|
|
27
|
+
"title": "Format",
|
|
28
|
+
"items": ""
|
|
29
|
+
},
|
|
30
|
+
"insert": {
|
|
31
|
+
"title": "Insert",
|
|
32
|
+
"items": "hr"
|
|
33
|
+
},
|
|
34
|
+
"table": {
|
|
35
|
+
"title": "Table",
|
|
36
|
+
"items": "inserttable deletetable | cell row column"
|
|
37
|
+
},
|
|
38
|
+
"view": {
|
|
39
|
+
"title": "View",
|
|
40
|
+
"items": "visualblocks preview fullscreen"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
</value>
|
|
44
|
+
</record>
|
|
45
|
+
|
|
46
|
+
<!-- See paste_as_text options in https://www.tiny.cloud/docs/tinymce/latest/copy-and-paste/#paste_as_text -->
|
|
47
|
+
<!-- See style_formats options in https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/#style_formats -->
|
|
48
|
+
<!-- See default table options in https://www.tiny.cloud/docs/tinymce/latest/table-options/ -->
|
|
49
|
+
<!-- See plugin table options in https://www.tiny.cloud/docs/tinymce/latest/table/ -->
|
|
50
|
+
<record interface="plone.base.interfaces.controlpanel.ITinyMCESchema"
|
|
51
|
+
name="plone.other_settings"
|
|
52
|
+
>
|
|
53
|
+
<value>
|
|
54
|
+
{
|
|
55
|
+
"paste_as_text": true,
|
|
56
|
+
"style_formats": [
|
|
57
|
+
{
|
|
58
|
+
"block": "p",
|
|
59
|
+
"title": "Paragraphe"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"block": "h2",
|
|
63
|
+
"title": "Titre 2"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"block": "h3",
|
|
67
|
+
"title": "Titre 3"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"block": "h4",
|
|
71
|
+
"title": "Titre 4"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"block": "mark",
|
|
75
|
+
"title": "Mise en évidence"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"block": "blockquote",
|
|
79
|
+
"title": "Citation"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
</value>
|
|
84
|
+
</record>
|
|
85
|
+
|
|
86
|
+
</registry>
|
|
@@ -5,6 +5,7 @@ from plone import api
|
|
|
5
5
|
from plone.i18n.normalizer.interfaces import IIDNormalizer
|
|
6
6
|
from plone.registry.interfaces import IRegistry
|
|
7
7
|
from zope.component import getUtility
|
|
8
|
+
from zope.i18n import translate
|
|
8
9
|
from zope.i18n.locales import locales
|
|
9
10
|
from zope.schema.vocabulary import SimpleTerm
|
|
10
11
|
from zope.schema.vocabulary import SimpleVocabulary
|
|
@@ -40,6 +41,23 @@ class TopicsVocabularyFactory:
|
|
|
40
41
|
TopicsVocabulary = TopicsVocabularyFactory()
|
|
41
42
|
|
|
42
43
|
|
|
44
|
+
class TopicsDeVocabularyFactory:
|
|
45
|
+
def __call__(self, context=None):
|
|
46
|
+
vocabulary = TopicsVocabularyFactory()(context)
|
|
47
|
+
translated_terms = [
|
|
48
|
+
SimpleTerm(
|
|
49
|
+
value=term.value,
|
|
50
|
+
token=term.token,
|
|
51
|
+
title=translate(term.title, target_language="de"),
|
|
52
|
+
)
|
|
53
|
+
for term in vocabulary
|
|
54
|
+
]
|
|
55
|
+
return SimpleVocabulary(translated_terms)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
TopicsDeVocabulary = TopicsDeVocabularyFactory()
|
|
59
|
+
|
|
60
|
+
|
|
43
61
|
class IAmVocabularyFactory:
|
|
44
62
|
def __call__(self, context=None):
|
|
45
63
|
iam = [
|
|
@@ -61,6 +79,23 @@ class IAmVocabularyFactory:
|
|
|
61
79
|
IAmVocabulary = IAmVocabularyFactory()
|
|
62
80
|
|
|
63
81
|
|
|
82
|
+
class IAmDeVocabularyFactory:
|
|
83
|
+
def __call__(self, context=None):
|
|
84
|
+
vocabulary = IAmVocabularyFactory()(context)
|
|
85
|
+
translated_terms = [
|
|
86
|
+
SimpleTerm(
|
|
87
|
+
value=term.value,
|
|
88
|
+
token=term.token,
|
|
89
|
+
title=translate(term.title, target_language="de"),
|
|
90
|
+
)
|
|
91
|
+
for term in vocabulary
|
|
92
|
+
]
|
|
93
|
+
return SimpleVocabulary(translated_terms)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
IAmDeVocabulary = IAmDeVocabularyFactory()
|
|
97
|
+
|
|
98
|
+
|
|
64
99
|
class CountriesVocabularyFactory:
|
|
65
100
|
def __call__(self, context=None, lang=None):
|
|
66
101
|
normalizer = getUtility(IIDNormalizer)
|
|
@@ -7,11 +7,23 @@
|
|
|
7
7
|
provides="zope.schema.interfaces.IVocabularyFactory"
|
|
8
8
|
/>
|
|
9
9
|
|
|
10
|
+
<utility
|
|
11
|
+
name="imio.smartweb.vocabulary.Topics_de"
|
|
12
|
+
component=".vocabularies.TopicsDeVocabulary"
|
|
13
|
+
provides="zope.schema.interfaces.IVocabularyFactory"
|
|
14
|
+
/>
|
|
15
|
+
|
|
10
16
|
<utility
|
|
11
17
|
name="imio.smartweb.vocabulary.IAm"
|
|
12
18
|
component=".vocabularies.IAmVocabulary"
|
|
13
19
|
provides="zope.schema.interfaces.IVocabularyFactory"
|
|
14
20
|
/>
|
|
21
|
+
|
|
22
|
+
<utility
|
|
23
|
+
name="imio.smartweb.vocabulary.IAm_de"
|
|
24
|
+
component=".vocabularies.IAmDeVocabulary"
|
|
25
|
+
provides="zope.schema.interfaces.IVocabularyFactory"
|
|
26
|
+
/>
|
|
15
27
|
|
|
16
28
|
<utility
|
|
17
29
|
name="imio.smartweb.vocabulary.Countries"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: imio.smartweb.common
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.36
|
|
4
4
|
Summary: Common utilities, vocabularies, taxonomies for imio.smartweb & co products
|
|
5
5
|
Home-page: https://github.com/imio/imio.smartweb.common
|
|
6
6
|
Author: iMio
|
|
@@ -178,6 +178,19 @@ Changelog
|
|
|
178
178
|
=========
|
|
179
179
|
|
|
180
180
|
|
|
181
|
+
1.2.36 (2025-06-25)
|
|
182
|
+
-------------------
|
|
183
|
+
|
|
184
|
+
- WEB-4278 : Create translated (de) iam vocabulary for e-guichet (citizen project)
|
|
185
|
+
[boulch]
|
|
186
|
+
|
|
187
|
+
- WEB-4278 : Create translated (de) topics vocabulary for e-guichet (citizen project)
|
|
188
|
+
[boulch]
|
|
189
|
+
|
|
190
|
+
- WEB-4269 : Add Horizontal Rule option to the insert menu in TinyMCE
|
|
191
|
+
[remdub]
|
|
192
|
+
|
|
193
|
+
|
|
181
194
|
1.2.35 (2025-05-26)
|
|
182
195
|
-------------------
|
|
183
196
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
imio.smartweb.common-1.2.
|
|
1
|
+
imio.smartweb.common-1.2.36-py3.12-nspkg.pth,sha256=XZ3YhlzwpUCC8tXtelHRqxVxo3NWomIiMsUfUshrbeE,1011
|
|
2
2
|
imio/smartweb/common/__init__.py,sha256=Na9XBfEQUMrm2c5jbqQgwWeg40ih0aXVG1vT8NeAjMQ,2709
|
|
3
3
|
imio/smartweb/common/adapters.py,sha256=dG4MALuHPQI6lTeNvs5p4vVOxHoBBYaWN6g8J96KxzQ,1507
|
|
4
4
|
imio/smartweb/common/adapters.zcml,sha256=VO3luZDtRL9FIIEghxPrqpx8paZF3m6MGEy-8kF1sOQ,437
|
|
@@ -21,8 +21,8 @@ imio/smartweb/common/testing.py,sha256=GKlYMHJUSxZFVX0o_R_c_Au1VYlkd-GjykQqfONHv
|
|
|
21
21
|
imio/smartweb/common/testing.zcml,sha256=7N-ALtklyWeLSzZmlxN2Tp-aZe_3An--w_6BGl1991E,172
|
|
22
22
|
imio/smartweb/common/utility_overrides.zcml,sha256=Nn1q1FwQUyktB-EJM2qzPfsc-zUmHxX0Gj9OQTlYKQM,413
|
|
23
23
|
imio/smartweb/common/utils.py,sha256=bQaR1i9_dID2_QKmHImZfJhWOYzK8AzFtI43-IG7xPo,7831
|
|
24
|
-
imio/smartweb/common/vocabularies.py,sha256=
|
|
25
|
-
imio/smartweb/common/vocabularies.zcml,sha256=
|
|
24
|
+
imio/smartweb/common/vocabularies.py,sha256=L4H73GQxLbIRZOpn_fHBU4-J-gY6BeiYjDyU90jV0U8,4809
|
|
25
|
+
imio/smartweb/common/vocabularies.zcml,sha256=hnsIJYrof0k4gCj1wAJQtekXznvfFHIQXu-58eqXevk,1306
|
|
26
26
|
imio/smartweb/common/widgets.zcml,sha256=GQ0aJblx44OJpj0HGXiyQJnFeSaJlOTMd1RAZn_1Qgk,375
|
|
27
27
|
imio/smartweb/common/behaviors/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
|
|
28
28
|
imio/smartweb/common/behaviors/configure.zcml,sha256=RfGH8DIybHpxxe2HUsjH2QKSiWYpV7lCZhGN6KLFwCw,531
|
|
@@ -63,10 +63,10 @@ imio/smartweb/common/faceted/widget.py,sha256=EMvFyEcS9t6lJAgz4zIkUnGAPd1fQcrv4A
|
|
|
63
63
|
imio/smartweb/common/profiles/default/actions.xml,sha256=q5ajChGAPlPtpN_H80voDgg4C8Z-yDcIghUJIgFYtRg,1193
|
|
64
64
|
imio/smartweb/common/profiles/default/browserlayer.xml,sha256=Up2dVOgFtzE43eLMNJY1xXvdUbQRSEpNxnySqSncFqQ,185
|
|
65
65
|
imio/smartweb/common/profiles/default/catalog.xml,sha256=hB2Cu64TPp29EKICqbfixwa3AFmrDJVC784KeKTMX90,576
|
|
66
|
-
imio/smartweb/common/profiles/default/metadata.xml,sha256=
|
|
66
|
+
imio/smartweb/common/profiles/default/metadata.xml,sha256=ay0Er9TDIXpaEiDIRwdMbhxZt_kZVzRQyQdQGCMc86w,432
|
|
67
67
|
imio/smartweb/common/profiles/default/rolemap.xml,sha256=XCdOazRleiwTAAZt3lzTsOw3ZtIwoPDqA8s4zXACvkc,1595
|
|
68
68
|
imio/smartweb/common/profiles/default/registry/registry.xml,sha256=GXo92ntNu5GPhFOvDzde5ES7z6pgzrvK1aJtH-ElAHg,44314
|
|
69
|
-
imio/smartweb/common/profiles/default/registry/tinymce.xml,sha256=
|
|
69
|
+
imio/smartweb/common/profiles/default/registry/tinymce.xml,sha256=bRDdJ_cS8NS3d5oleipENhY1qYDOgpV1vuYR6hRtitA,5143
|
|
70
70
|
imio/smartweb/common/profiles/testing/catalog.xml,sha256=CzEXLuHkT5NH-lRzTSDIR_3y_U7t2D7oBDm1oAJIoP4,214
|
|
71
71
|
imio/smartweb/common/profiles/testing/metadata.xml,sha256=hPZnje-9ffhOiQfVamGoE_lOf9ISjBBf2ynQlg-Hv20,229
|
|
72
72
|
imio/smartweb/common/profiles/testing/registry.xml,sha256=8lTQSGT_bnP2Z0y-86ztgpdQY8yDOLoXgqTC7fXiD2Y,1010
|
|
@@ -111,7 +111,7 @@ imio/smartweb/common/tests/resources/image_1400x800.png,sha256=Iy3bWGH4NBlgYC5Bo
|
|
|
111
111
|
imio/smartweb/common/tests/resources/image_1800x700.png,sha256=aQcMisSFQO78c6QX4mO7qIfDb9SDRmfzTuPjxMJ_0HM,32643
|
|
112
112
|
imio/smartweb/common/tests/robot/test_example.robot,sha256=3ClbWps1Pfr6-RHT4FmmzGWGmtJrNnDW53bJGP69Nz4,2011
|
|
113
113
|
imio/smartweb/common/upgrades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
114
|
-
imio/smartweb/common/upgrades/configure.zcml,sha256=
|
|
114
|
+
imio/smartweb/common/upgrades/configure.zcml,sha256=m-Trixs77TNqYg_WCdH8fqthgtCD0YGSjHkJ12jRpx8,16760
|
|
115
115
|
imio/smartweb/common/upgrades/upgrades.py,sha256=NObmvdWPUrfgaPJhTB_tIZsmLawxg5jbui-TRLhS2NE,5474
|
|
116
116
|
imio/smartweb/common/upgrades/profiles/1007_to_1008/rolemap.xml,sha256=dKUuBq-2pO4dGtHshBisISSTBP8aWfbwTGHj_pJvY5A,1346
|
|
117
117
|
imio/smartweb/common/upgrades/profiles/1008_to_1009/actions.xml,sha256=D41gp1PDVINobhCM8L11IMXABYatjmoUuW-EQkPT804,721
|
|
@@ -134,6 +134,7 @@ imio/smartweb/common/upgrades/profiles/1028_to_1029/registry.xml,sha256=3XXZyTOD
|
|
|
134
134
|
imio/smartweb/common/upgrades/profiles/1029_to_1030/registry.xml,sha256=cApJaG7duyGX3D3Bby3V3D8YcIAZuWB-A-WSH3XKU7E,406
|
|
135
135
|
imio/smartweb/common/upgrades/profiles/1030_to_1031/registry/tinymce.xml,sha256=EYBpIVuUnQyfxntiLmXoTLiRHBzMlwzfFXmTqwMNrn0,5813
|
|
136
136
|
imio/smartweb/common/upgrades/profiles/1031_to_1032/registry/tinymce.xml,sha256=3IOzZra7FIfxDO8DDIXwygL8z92f-cUCYEXq2GsVetg,2419
|
|
137
|
+
imio/smartweb/common/upgrades/profiles/1032_to_1033/registry/tinymce.xml,sha256=V-8TeadC9Wk4aEBPOKOKd_48iSeyQEYlYXMLP2ILJ10,2421
|
|
137
138
|
imio/smartweb/common/viewlets/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
|
|
138
139
|
imio/smartweb/common/viewlets/analytics.pt,sha256=J6e8fWmusLWMKXg3cJbNYV0LPS9ONz2yJ921vMvrrzE,33
|
|
139
140
|
imio/smartweb/common/viewlets/colophon.pt,sha256=qaEUV2N5aZpAEcztLzK_R2eINBod1AByWxi11B1HYa0,1278
|
|
@@ -146,10 +147,10 @@ imio/smartweb/common/viewlets/skip_to_content.py,sha256=wm22NUf8Qh5uzz8p4vkLCdFN
|
|
|
146
147
|
imio/smartweb/common/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
148
|
imio/smartweb/common/widgets/select.py,sha256=5sV0UIgwu4AvwpgVmJeSZwUWz7OPD9VxYMowfmjcfbA,1313
|
|
148
149
|
imio/smartweb/common/widgets/templates/ajaxselect_display.pt,sha256=v8TT2Xc19er6SUGWabgNfIdrayFYIjxyLK9H_XkIG3M,1209
|
|
149
|
-
imio_smartweb_common-1.2.
|
|
150
|
-
imio_smartweb_common-1.2.
|
|
151
|
-
imio_smartweb_common-1.2.
|
|
152
|
-
imio_smartweb_common-1.2.
|
|
153
|
-
imio_smartweb_common-1.2.
|
|
154
|
-
imio_smartweb_common-1.2.
|
|
155
|
-
imio_smartweb_common-1.2.
|
|
150
|
+
imio_smartweb_common-1.2.36.dist-info/licenses/LICENSE.GPL,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
|
|
151
|
+
imio_smartweb_common-1.2.36.dist-info/licenses/LICENSE.rst,sha256=5dd78Fdt0e-oM2ICBrMpjHnT8vEP-jhBDF7akXni6B4,655
|
|
152
|
+
imio_smartweb_common-1.2.36.dist-info/METADATA,sha256=5sVMJ5OumSl-oBKCj17pKY9mOwW_SXs38N_Z_etnIEQ,18706
|
|
153
|
+
imio_smartweb_common-1.2.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
154
|
+
imio_smartweb_common-1.2.36.dist-info/namespace_packages.txt,sha256=Pg8AH8t9viMMW1hJbNZvTy_n2jXG2igIYUpon5RA4Js,19
|
|
155
|
+
imio_smartweb_common-1.2.36.dist-info/top_level.txt,sha256=ZktC0EGzThvMTAin9_q_41rzvvfMT2FYbP8pbhSLMSA,5
|
|
156
|
+
imio_smartweb_common-1.2.36.dist-info/RECORD,,
|
/imio.smartweb.common-1.2.35-py3.12-nspkg.pth → /imio.smartweb.common-1.2.36-py3.12-nspkg.pth
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/licenses/LICENSE.GPL
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/licenses/LICENSE.rst
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.35.dist-info → imio_smartweb_common-1.2.36.dist-info}/top_level.txt
RENAMED
|
File without changes
|