@things-factory/shell 7.0.1-alpha.102 → 7.0.1-alpha.103

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.
@@ -79,7 +79,7 @@ if (production) {
79
79
  /* helps should be Network only for i18n sensitive */
80
80
  registerRoute(/(.*)helps(.*)\.md/, new NetworkOnly())
81
81
 
82
- registerRoute(/(.*)translations(.*)\.json/, new CacheFirst())
82
+ registerRoute(/(.*)translations(.*)\.json/, new StaleWhileRevalidate())
83
83
 
84
84
  registerRoute(({ request }) => request.destination === 'style', new CacheFirst())
85
85
 
@@ -97,7 +97,7 @@ if (production) {
97
97
  /* helps should be Network only for i18n sensitive */
98
98
  registerRoute(/(.*)helps(.*)\.md/, new NetworkOnly())
99
99
 
100
- registerRoute(/(.*)translations(.*)\.json/, new NetworkFirst())
100
+ registerRoute(/(.*)translations(.*)\.json/, new StaleWhileRevalidate())
101
101
 
102
102
  registerRoute(({ request }) => request.destination === 'style', new NetworkFirst())
103
103
 
@@ -81,26 +81,6 @@ body {
81
81
  --mdc-button-outline-width: 1px;
82
82
  --mdc-button-horizontal-padding: 16px;
83
83
 
84
- --md-theme-on-primary: var(--theme-white-color);
85
- --md-theme-primary: var(--secondary-text-color);
86
- --md-theme-on-secondary: var(--theme-white-color);
87
- --md-theme-secondary: var(--primary-color);
88
- --md-button-outline-color: var(--primary-color);
89
- --md-danger-button-primary-color: var(--status-danger-color);
90
- --md-danger-button-outline-color: var(--status-danger-color);
91
- --md-button-outline-width: 1px;
92
- --md-button-horizontal-padding: 16px;
93
-
94
- --md-theme-on-primary: var(--theme-white-color);
95
- --md-theme-primary: var(--secondary-text-color);
96
- --md-theme-on-secondary: var(--theme-white-color);
97
- --md-theme-secondary: var(--primary-color);
98
- --md-button-outline-color: var(--primary-color);
99
- --md-danger-button-primary-color: var(--status-danger-color);
100
- --md-danger-button-outline-color: var(--status-danger-color);
101
- --md-button-outline-width: 1px;
102
- --md-button-horizontal-padding: 16px;
103
-
104
84
  /* button style */
105
85
  --button-background-color: #fafbfc;
106
86
  --button-background-focus-color: var(--primary-color);
@@ -0,0 +1,51 @@
1
+ .dark {
2
+ --md-sys-color-primary: rgb(182 196 255);
3
+ --md-sys-color-surface-tint: rgb(182 196 255);
4
+ --md-sys-color-on-primary: rgb(30 45 97);
5
+ --md-sys-color-primary-container: rgb(53 68 121);
6
+ --md-sys-color-on-primary-container: rgb(220 225 255);
7
+ --md-sys-color-secondary: rgb(182 196 255);
8
+ --md-sys-color-on-secondary: rgb(29 45 97);
9
+ --md-sys-color-secondary-container: rgb(53 68 121);
10
+ --md-sys-color-on-secondary-container: rgb(220 225 255);
11
+ --md-sys-color-tertiary: rgb(227 186 218);
12
+ --md-sys-color-on-tertiary: rgb(67 39 63);
13
+ --md-sys-color-tertiary-container: rgb(91 61 87);
14
+ --md-sys-color-on-tertiary-container: rgb(255 215 245);
15
+ --md-sys-color-error: rgb(255 180 171);
16
+ --md-sys-color-on-error: rgb(105 0 5);
17
+ --md-sys-color-error-container: rgb(147 0 10);
18
+ --md-sys-color-on-error-container: rgb(255 218 214);
19
+ --md-sys-color-background: rgb(18 19 24);
20
+ --md-sys-color-on-background: rgb(227 225 233);
21
+ --md-sys-color-surface: rgb(18 19 24);
22
+ --md-sys-color-on-surface: rgb(227 225 233);
23
+ --md-sys-color-surface-variant: rgb(69 70 79);
24
+ --md-sys-color-on-surface-variant: rgb(198 197 208);
25
+ --md-sys-color-outline: rgb(144 144 154);
26
+ --md-sys-color-outline-variant: rgb(69 70 79);
27
+ --md-sys-color-shadow: rgb(0 0 0);
28
+ --md-sys-color-scrim: rgb(0 0 0);
29
+ --md-sys-color-inverse-surface: rgb(227 225 233);
30
+ --md-sys-color-inverse-on-surface: rgb(47 48 54);
31
+ --md-sys-color-inverse-primary: rgb(77 92 146);
32
+ --md-sys-color-primary-fixed: rgb(220 225 255);
33
+ --md-sys-color-on-primary-fixed: rgb(4 22 75);
34
+ --md-sys-color-primary-fixed-dim: rgb(182 196 255);
35
+ --md-sys-color-on-primary-fixed-variant: rgb(53 68 121);
36
+ --md-sys-color-secondary-fixed: rgb(220 225 255);
37
+ --md-sys-color-on-secondary-fixed: rgb(3 23 75);
38
+ --md-sys-color-secondary-fixed-dim: rgb(182 196 255);
39
+ --md-sys-color-on-secondary-fixed-variant: rgb(53 68 121);
40
+ --md-sys-color-tertiary-fixed: rgb(255 215 245);
41
+ --md-sys-color-on-tertiary-fixed: rgb(44 18 41);
42
+ --md-sys-color-tertiary-fixed-dim: rgb(227 186 218);
43
+ --md-sys-color-on-tertiary-fixed-variant: rgb(91 61 87);
44
+ --md-sys-color-surface-dim: rgb(18 19 24);
45
+ --md-sys-color-surface-bright: rgb(56 57 63);
46
+ --md-sys-color-surface-container-lowest: rgb(13 14 19);
47
+ --md-sys-color-surface-container-low: rgb(26 27 33);
48
+ --md-sys-color-surface-container: rgb(30 31 37);
49
+ --md-sys-color-surface-container-high: rgb(41 42 47);
50
+ --md-sys-color-surface-container-highest: rgb(52 52 58);
51
+ }
@@ -0,0 +1,169 @@
1
+ body {
2
+ --grid-container-border-color: 1px solid rgba(0, 0, 0, 0.09);
3
+ --grid-container-border-width: 1px 0;
4
+ --grid-wrap-container-border: 0px solid transparent;
5
+ --grid-wrap-container-border-width: 0;
6
+
7
+ --grist-background-color: transparent;
8
+ --grist-title-margin: 0 0 0 10px;
9
+ --grist-title-border: none;
10
+ --grist-title-font: var(--md-sys-typescale-label-large-weight) 1.1em var(--theme-font, 'Noto');
11
+ --grist-title-color: var(--md-sys-color-on-surface);
12
+ --grist-title-icon-color: var(--md-sys-color-on-surface-variant);
13
+ --grist-title-icon-margin: 0 3px 2px 0;
14
+ --grist-title-icon-size: var(--md-sys-typescale-label-medium-size);
15
+ --grist-title-with-grid-padding: 0;
16
+
17
+ --grist-object-editor-font: normal 1em var(--theme-font, 'Noto');
18
+ --grist-object-editor-color: var(--md-sys-color-on-surface);
19
+
20
+ --grist-input-progress-border: 1px solid rgba(255, 255, 255, 0.5);
21
+ --grist-input-progress-background: rgba(121, 110, 110, 0.1);
22
+ --grist-input-progress-bar-background: var(--md-ref-palette-primary50);
23
+ --grist-input-progress-bar-color: var(--md-sys-color-on-surface-variant);
24
+
25
+ --grid-header-background-color: var(--md-sys-color-surface-container-low);
26
+ --grid-header-top-border: 2px solid var(--md-sys-color-primary);
27
+ --grid-header-bottom-border: var(--grid-container-border-color);
28
+ --grid-header-border-color: var(--md-sys-color-outline);
29
+ --grid-header-padding: var(--spacing-small) var(--spacing-tiny);
30
+ --grid-header-sorter-size: 18px;
31
+ --grid-header-splitter-border: var(--grid-container-border-color);
32
+ --grid-header-splitter-border-hover: 1px solid var(--md-sys-color-inverse-primary);
33
+ --grid-header-color: var(--md-sys-color-primary);
34
+ --grid-header-font: var(--md-sys-typescale-label-large-weight) var(--fontsize-small) var(--theme-font, 'Noto');
35
+ --grid-header-filter-title-color: var(--md-sys-color-on-surface);
36
+ --grid-header-filter-title-font: normal 12px var(--theme-font, 'Noto');
37
+ --grid-header-filter-title-icon-color: var(--md-sys-color-on-surface-variant);
38
+
39
+ --grid-body-bottom-border: var(--grid-header-bottom-border);
40
+
41
+ --grid-gutter-padding: var(--spacing-tiny) 0;
42
+
43
+ --grid-record-background-color: var(--md-sys-color-surface-container-lowest);
44
+ --grid-record-odd-background-color: var(--md-sys-color-primary-container);
45
+ --grid-record-padding: var(--spacing-small) var(--spacing-medium);
46
+ --grid-record-color: var(--md-sys-color-on-surface-variant);
47
+ --grid-record-color-hover: var(--md-sys-color-primary);
48
+ --grid-record-wide-fontsize: var(--md-sys-typescale-label-medium-size);
49
+ --grid-record-selected-background-color: var(--md-sys-color-primary-container);
50
+ --grid-record-selected-color: var(--md-sys-color-primary);
51
+ --grid-record-focused-background-color: var(--md-sys-color-secondary-container);
52
+ --grid-record-focused-border: 1px solid var(--md-sys-color-outline-variant);
53
+ --grid-record-focused-cell-background-color: var(--md-sys-color-secondary-container);
54
+ --grid-record-focused-cell-border: 1px dashed var(--md-sys-color-outline);
55
+ --grid-record-focused-color: var(--md-sys-color-secondary);
56
+ --grid-record-focused-box-shadow: 0px 2px 0px 0px rgb(0 0 0 / 10%);
57
+ --grid-record-emphasized-background-color: var(--md-sys-color-secondary-fixed-dim);
58
+ --grid-record-emphasized-color: var(--md-sys-color-on-secondary-fixed-variant);
59
+ --grid-record-editing-background-color: var(--md-sys-color-inverse-primary);
60
+ --grid-record-editing-border: 1px dashed rgba(var(--md-sys-color-primary-rgb), 0.4);
61
+ --grid-record-fontsize: var(--md-sys-typescale-label-medium-size);
62
+ --grid-record-border-bottom: var(--grid-container-border-color);
63
+
64
+ --grid-record-dirty-border-top: 24px solid rgba(var(--md-sys-color-primary-rgb), 0.6);
65
+ --grid-record-dirty-border-left: 24px solid transparent;
66
+ --grid-record-dirty-icon-font: bold 10px/12px var(--mdc-icon-font, 'Material Icons');
67
+ --grid-record-dirty-icon-size: var(--fontsize-large);
68
+ --grid-record-dirty-color: var(--md-sys-color-surface);
69
+
70
+ --grid-footer-background-color: var(--md-sys-color-surface-container-low);
71
+ --grid-footer-font-size: var(--md-sys-typescale-label-medium-size);
72
+ --grid-footer-color: var(--md-sys-color-primary);
73
+ --grid-footer-limit-color: var(--md-ref-palette-neutral40);
74
+ --grid-footer-inactive-color: var(--md-ref-palette-neutral40);
75
+ --grid-footer-padding: var(--spacing-small) var(--spacing-medium);
76
+
77
+ --data-list-background-color: var(--md-sys-color-surface-container-lowest);
78
+ --data-list-item-margin: var(--spacing-medium);
79
+ --data-list-item-padding: var(--spacing-medium) var(--spacing-large);
80
+ --data-list-item-border-bottom: var(--grid-container-border-color);
81
+ --data-list-item-name-font: bold 1.1em var(--theme-font, 'Noto');
82
+ --data-list-item-name-color: var(--md-sys-color-secondary);
83
+ --data-list-item-disc-font: normal 0.9em var(--theme-font, 'Noto');
84
+ --data-list-item-disc-color: var(--md-sys-color-tertiary);
85
+ --data-list-item-etc-label-font: bold 1em/1em var(--theme-font, 'Noto');
86
+ --data-list-item-etc-font: normal 0.9em/1em var(--theme-font, 'Noto');
87
+ --data-list-item-etc-color: var(--md-ref-palette-neutral50);
88
+ --data-list-item-icon-font: normal 1em/1em;
89
+ --data-list-item-icon-color: var(--md-sys-color-on-secondary);
90
+ --data-list-selected-background-color: var(--grid-record-selected-background-color);
91
+ --data-list-fab-position-horizontal: 15px;
92
+ --data-list-fab-position-vertical: 15px;
93
+ --data-list-fab-color: var(--md-sys-color-primary);
94
+ --data-list-fab-shadow: var(--box-shadow);
95
+
96
+ --data-card-background-color: var(--md-sys-color-surface-container);
97
+ --data-card-record-card-background-color: var(--md-sys-color-surface);
98
+ --data-card-record-card-border: var(--grid-container-border-color);
99
+ --data-card-record-card-border-hover: 1px solid var(--md-sys-color-primary);
100
+ --data-card-record-card-boxshadow-hover: 1px 1px 2px 1px rgba(0, 0, 0, 0.15);
101
+ --data-card-record-card-selected-border: 1px solid var(--md-sys-color-primary);
102
+ --data-card-record-card-border-radius: var(--md-sys-shape-corner-small);
103
+ --data-card-item-margin: var(--spacing-medium);
104
+ --data-card-item-padding: var(--spacing-medium) var(--spacing-large);
105
+ --data-card-item-border-bottom: var(--grid-container-border-color);
106
+ --data-card-item-name-font: bold 1.1em var(--theme-font, 'Noto');
107
+ --data-card-item-name-color: var(--md-sys-color-secondary);
108
+ --data-card-item-name-label-font: normal 0.65em/0.8em var(--theme-font, 'Noto');
109
+ --data-card-item-name-label-color: rgba(var(--secondary-color-rgb), 0.8);
110
+ --data-card-item-disc-font: normal 0.9em var(--theme-font, 'Noto');
111
+ --data-card-item-disc-color: var(--md-sys-color-tertiary);
112
+ --data-card-item-etc-label-font: normal 1em/1em var(--theme-font, 'Noto');
113
+ --data-card-item-etc-font: normal 0.9em/1em var(--theme-font, 'Noto');
114
+ --data-card-item-etc-color: var(--md-ref-palette-neutral50);
115
+ --data-card-item-icon-font: normal 1em/1em;
116
+ --data-card-item-icon-color: var(--md-sys-color-on-secondary);
117
+ --data-card-item-btn-border: var(--grid-container-border-color);
118
+ --data-card-item-btn-border-radius: var(--md-sys-shape-corner-small);
119
+ --data-card-item-btn-padding: var(--spacing-small);
120
+ --data-card-selected-background-color: var(--grid-record-selected-background-color);
121
+ --data-card-fab-position-horizontal: 15px;
122
+ --data-card-fab-position-vertical: 15px;
123
+ --data-card-fab-color: var(--md-sys-color-primary);
124
+ --data-card-fab-shadow: var(--box-shadow);
125
+ --data-card-thumbnail-height: 140px;
126
+ --data-card-thumbnail-border-bottom: var(--grid-container-border-color);
127
+ --data-card-attachimg-height: 70px;
128
+
129
+ --record-view-background-color: var(--md-sys-color-surface-container);
130
+ --record-view-gap: var(--spacing-small) 0;
131
+ --record-view-padding: var(--spacing-medium);
132
+ --record-view-label-font: var(--md-sys-typescale-label-large-weight) 15px var(--theme-font, 'Noto');
133
+ --record-view-label-color: var(--md-sys-color-secondary);
134
+ --record-view-label-icon-size: var(--fontsize-small);
135
+ --record-view-font: normal 15px var(--theme-font, 'Noto');
136
+ --record-view-color: var(--md-sys-color-secondary);
137
+ --record-view-focus-color: var(--md-sys-color-primary);
138
+ --record-view-border-bottom: var(--grid-container-border-color);
139
+ --record-view-edit-border-bottom: 2px solid var(--md-sys-color-primary);
140
+ --record-view-item-padding: var(--spacing-medium);
141
+
142
+ --record-view-footer-background: var(--md-ref-palette-neutral50);
143
+ --record-view-footer-button-border: var(--grid-container-border-color);
144
+ --record-view-footer-button-border-width: 0 0 0 1px;
145
+ --record-view-footer-button-font: 17px;
146
+ --record-view-footer-button-color: var(--md-sys-color-surface);
147
+ --record-view-footer-iconbutton-size: 35px;
148
+ --record-view-footer-focus-background: var(--md-sys-color-primary);
149
+
150
+ --ox-grist-padding: var(--spacing-medium);
151
+ }
152
+
153
+ @media only screen and (max-width: 460px) {
154
+ body {
155
+ --record-view-label-font: var(--md-sys-typescale-label-large-weight) 15px/32px var(--theme-font, 'Noto');
156
+ --record-view-font: normal 15px/32px var(--theme-font, 'Noto');
157
+ --ox-grist-padding: 0;
158
+ }
159
+ }
160
+ @media (min-width: 461px) and (max-width: 700px) {
161
+ body {
162
+ --ox-grist-padding: 0;
163
+ }
164
+ }
165
+ @media (min-width: 461px) and (max-width: 1024px) {
166
+ body {
167
+ --data-card-create-form-padding: 7px;
168
+ }
169
+ }
@@ -0,0 +1,51 @@
1
+ .light {
2
+ --md-sys-color-primary: rgb(77 92 146);
3
+ --md-sys-color-surface-tint: rgb(77 92 146);
4
+ --md-sys-color-on-primary: rgb(255 255 255);
5
+ --md-sys-color-primary-container: rgb(220 225 255);
6
+ --md-sys-color-on-primary-container: rgb(4 22 75);
7
+ --md-sys-color-secondary: rgb(77 92 146);
8
+ --md-sys-color-on-secondary: rgb(255 255 255);
9
+ --md-sys-color-secondary-container: rgb(220 225 255);
10
+ --md-sys-color-on-secondary-container: rgb(3 23 75);
11
+ --md-sys-color-tertiary: rgb(117 84 111);
12
+ --md-sys-color-on-tertiary: rgb(255 255 255);
13
+ --md-sys-color-tertiary-container: rgb(255 215 245);
14
+ --md-sys-color-on-tertiary-container: rgb(44 18 41);
15
+ --md-sys-color-error: rgb(186 26 26);
16
+ --md-sys-color-on-error: rgb(255 255 255);
17
+ --md-sys-color-error-container: rgb(255 218 214);
18
+ --md-sys-color-on-error-container: rgb(65 0 2);
19
+ --md-sys-color-background: rgb(250 248 255);
20
+ --md-sys-color-on-background: rgb(26 27 33);
21
+ --md-sys-color-surface: rgb(250 248 255);
22
+ --md-sys-color-on-surface: rgb(26 27 33);
23
+ --md-sys-color-surface-variant: rgb(226 225 236);
24
+ --md-sys-color-on-surface-variant: rgb(69 70 79);
25
+ --md-sys-color-outline: rgb(118 118 128);
26
+ --md-sys-color-outline-variant: rgb(198 197 208);
27
+ --md-sys-color-shadow: rgb(0 0 0);
28
+ --md-sys-color-scrim: rgb(0 0 0);
29
+ --md-sys-color-inverse-surface: rgb(47 48 54);
30
+ --md-sys-color-inverse-on-surface: rgb(241 240 247);
31
+ --md-sys-color-inverse-primary: rgb(182 196 255);
32
+ --md-sys-color-primary-fixed: rgb(220 225 255);
33
+ --md-sys-color-on-primary-fixed: rgb(4 22 75);
34
+ --md-sys-color-primary-fixed-dim: rgb(182 196 255);
35
+ --md-sys-color-on-primary-fixed-variant: rgb(53 68 121);
36
+ --md-sys-color-secondary-fixed: rgb(220 225 255);
37
+ --md-sys-color-on-secondary-fixed: rgb(3 23 75);
38
+ --md-sys-color-secondary-fixed-dim: rgb(182 196 255);
39
+ --md-sys-color-on-secondary-fixed-variant: rgb(53 68 121);
40
+ --md-sys-color-tertiary-fixed: rgb(255 215 245);
41
+ --md-sys-color-on-tertiary-fixed: rgb(44 18 41);
42
+ --md-sys-color-tertiary-fixed-dim: rgb(227 186 218);
43
+ --md-sys-color-on-tertiary-fixed-variant: rgb(91 61 87);
44
+ --md-sys-color-surface-dim: rgb(218 217 224);
45
+ --md-sys-color-surface-bright: rgb(250 248 255);
46
+ --md-sys-color-surface-container-lowest: rgb(255 255 255);
47
+ --md-sys-color-surface-container-low: rgb(244 243 250);
48
+ --md-sys-color-surface-container: rgb(239 237 244);
49
+ --md-sys-color-surface-container-high: rgb(233 231 239);
50
+ --md-sys-color-surface-container-highest: rgb(227 225 233);
51
+ }
@@ -2,49 +2,16 @@ body {
2
2
  font-variation-settings: 'FILL' 1;
3
3
 
4
4
  /* meterial theme color */
5
- --md-sys-color-primary: var(--primary-color);
6
- --md-sys-color-on-primary: var(--theme-white-color);
7
- --md-sys-color-secondary: var(--secondary-color);
8
-
9
5
  --md-sys-shape-corner-small: 4px;
10
6
  --md-sys-shape-corner-medium: 6px;
11
7
  --md-sys-shape-corner-large: 8px;
12
8
 
13
9
  --md-sys-shape-corner-full: var(--md-sys-shape-corner-small);
14
-
15
- --md-sys-color-surface-container-high: var(--primary-color);
16
- --md-sys-color-surface-container-low: var(--secondary-color);
17
- --md-sys-color-surface-container-highest: #e0e3e2;
18
- --md-sys-color-surface-container-lowest: var(--secondary-color);
19
- --md-sys-typescale-body-large: 400 1rem system-ui;
20
-
21
- --md-filled-text-field-container-shape: 0px;
22
- --md-filled-text-field-label-text-color: #3f4948;
23
- --md-filled-text-field-input-text-color: #161d1d;
24
-
25
- --md-outlined-text-field-container-shape: 0px;
26
- --md-outlined-text-field-label-text-color: #3f4948;
27
- --md-outlined-text-field-input-text-color: #161d1d;
28
-
29
- --md-outlined-select-text-field-outline-color: #6e7979;
30
- --md-outlined-select-text-field-container-shape: 0px;
31
- --md-outlined-select-text-field-input-text-color: #005353;
32
- --md-outlined-select-text-field-input-text-font: system-ui;
33
-
34
- --md-menu-container-color: #f4f7fb;
35
10
  --md-menu-container-shape: 0px;
36
11
 
37
- --md-fab-container-color: var(--primary-color);
38
- --md-fab-icon-color: var(--focus-color);
39
-
40
- --md-checkbox-selected-container-color: var(--secondary-background-color, #6e7979);
41
- --md-checkbox-outline-color: var(--secondary-background-color, #6e7979);
42
- --md-checkbox-selected-icon-color: var(--focus-color);
43
-
44
- --md-switch-handle-color: var(--secondary-background-color, #6e7979);
45
12
  --md-switch-handle-shape: 9999px;
46
- --md-switch-track-color: var(--md-sys-color-surface-container-highest);
47
13
  --md-switch-track-shape: 9999px;
14
+
48
15
  --md-switch-selected-handle-color: var(--md-sys-color-on-primary);
49
16
  --md-switch-selected-track-color: var(--md-sys-color-primary);
50
17
  }
@@ -0,0 +1,6 @@
1
+ :root {
2
+ --status-danger-color: var(--md-sys-color-error, rgb(186 26 26));
3
+ --status-warning-color: #ee8d03;
4
+ --status-info-color: #398ace;
5
+ --status-success-color: #35a24a;
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/shell",
3
- "version": "7.0.1-alpha.102",
3
+ "version": "7.0.1-alpha.103",
4
4
  "description": "Core module for framework",
5
5
  "bin": {
6
6
  "things-factory": "bin/things-factory",
@@ -134,5 +134,5 @@
134
134
  "pg": "^8.7.3",
135
135
  "sqlite3": "^5.0.8"
136
136
  },
137
- "gitHead": "2bce598261c2d7377ea008ee687358480a2869bc"
137
+ "gitHead": "b192bdfb7c0caf36a1815ed40ed6e9c97046c4f5"
138
138
  }