owl-cli 7.12.0 → 7.14.0

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.
Files changed (37) hide show
  1. package/examples/models/owlsys/systemAdmin/app_fields.json +48 -0
  2. package/examples/models/owlsys/systemAdmin/app_plugins.json +44 -0
  3. package/examples/models/owlsys/systemAdmin/app_sections.json +64 -0
  4. package/examples/models/owlsys/systemAdmin/apps/api/src/plugins/refresh_apps.jsx +663 -0
  5. package/examples/models/owlsys/systemAdmin/apps.json +101 -0
  6. package/examples/models/owlsys/systemAdmin/backendSession.json +52 -0
  7. package/examples/models/owlsys/systemAdmin/batchImport.json +54 -0
  8. package/examples/models/owlsys/systemAdmin/batch_import/api/src/plugins/addImport.jsx +75 -0
  9. package/examples/models/owlsys/systemAdmin/batch_import/api/src/tasks/doImportTask.jsx +130 -0
  10. package/examples/models/owlsys/systemAdmin/change_log.json +70 -0
  11. package/examples/models/owlsys/systemAdmin/change_logs/api/src/services/modelService.jsx +1096 -0
  12. package/examples/models/owlsys/systemAdmin/common_views/api/src/views/product_basic_info_default.jsx +280 -0
  13. package/examples/models/owlsys/systemAdmin/common_views/api/src/views/product_basic_info_edit.jsx +380 -0
  14. package/examples/models/owlsys/systemAdmin/common_views.json +32 -0
  15. package/examples/models/owlsys/systemAdmin/download_template.json +45 -0
  16. package/examples/models/owlsys/systemAdmin/error_logs/dispatch_order_errors.json +61 -0
  17. package/examples/models/owlsys/systemAdmin/excel_templates.json +60 -0
  18. package/examples/models/owlsys/systemAdmin/frontendSession.json +44 -0
  19. package/examples/models/owlsys/systemAdmin/obj_permission.json +66 -0
  20. package/examples/models/owlsys/systemAdmin/org_setting.json +188 -0
  21. package/examples/models/owlsys/systemAdmin/param.json +29 -0
  22. package/examples/models/owlsys/systemAdmin/process_job.json +94 -0
  23. package/examples/models/owlsys/systemAdmin/process_job_checklog.json +66 -0
  24. package/examples/models/owlsys/systemAdmin/process_job_log.json +34 -0
  25. package/examples/models/owlsys/systemAdmin/roleOptions.json +36 -0
  26. package/examples/models/owlsys/systemAdmin/sensitive_keywords.json +58 -0
  27. package/examples/models/owlsys/systemAdmin/server_token.json +38 -0
  28. package/examples/models/owlsys/systemAdmin/session.json +51 -0
  29. package/examples/models/owlsys/systemAdmin/task_version.json +60 -0
  30. package/examples/models/owlsys/systemAdmin/taskinfo.json +38 -0
  31. package/examples/models/owlsys/systemAdmin/tasks/api/src/plugins/doRunTask.jsx +32 -0
  32. package/examples/models/owlsys/systemAdmin/tasks.json +43 -0
  33. package/examples/owlsysApps/owlPasswordService/build.xml +4 -3
  34. package/package.json +1 -1
  35. /package/examples/models/owlsys/{permissions → systemAdmin}/permission.json +0 -0
  36. /package/examples/models/owlsys/{permissions → systemAdmin}/roles.json +0 -0
  37. /package/examples/models/owlsys/{permissions → systemAdmin}/tablelevelpermission.json +0 -0
@@ -0,0 +1,280 @@
1
+ _viewObj = {
2
+ type: 'div',
3
+ props: {
4
+ style: {
5
+ width: "100%",
6
+ background: '#ffffff',
7
+ borderRadius: 15,
8
+ borderStyle: "dashed",
9
+ borderWidth: 0,
10
+ padding: 3,
11
+ margin: 3
12
+ }
13
+ },
14
+ children: [
15
+ {
16
+ type: 'Typography.Title',
17
+ props: {level: 2, style: {color: '#333333', marginTop: '10px'}},
18
+ children: [$name]
19
+ },
20
+ {
21
+ type: 'div',
22
+ props: {style: {display: 'flex',flexWrap:'wrap'}},
23
+ children: [
24
+ {
25
+ type: 'div',
26
+ props: {style: {color: '#999999'}},
27
+ children: ["[卖点]"]
28
+ }, {
29
+ type: 'div',
30
+ props: {style: {color: '#cc2222', marginLeft: '10px'}},
31
+ children: [($selling_point || '(空)')]
32
+ },
33
+ ]
34
+ },
35
+ {
36
+ 'type': 'Divider'
37
+ },
38
+
39
+ {
40
+ type: 'div',
41
+ props: {style: {display: 'flex', flexWrap:'wrap',backgroundColor: '#f5f5f5', padding: 10, marginBottom: 10}},
42
+ children: [
43
+ {
44
+ "type": "div",
45
+ "key": "basic_div",
46
+ "props": {"style": {minWidth: 300,marginTop:10,marginRight:10,marginBottom: 10}},
47
+ "children": [{
48
+ type: 'Typography.Title',
49
+ props: {style: {color: '#333333',fontSize:14, display:'none'}, level: 4, marginBottom: 10},
50
+ children: ["基础信息"],
51
+ },
52
+ {
53
+ type: 'div',
54
+ props: {
55
+ key: "content_div",
56
+ style: {background: '#ffffff', borderRadius: 15, borderColor: "#eeeeee", padding: 15}
57
+ },
58
+ children: [
59
+ {
60
+ type: 'div',
61
+ props: {
62
+ style: {
63
+ color: '#333333',
64
+ height: 42,
65
+ lineHeight: '42px',
66
+ borderBottom: '1px solid #eeeeee',
67
+ display: 'flex',
68
+ justifyContent: 'space-between'
69
+ }
70
+ },
71
+ children: [{
72
+ type: 'div',
73
+ props: {style: {color: '#999999'}},
74
+ children: ["款型代码"]
75
+ }, {
76
+ type: 'div',
77
+ props: {style: {color: '#333333'}},
78
+ children: [$productNumber || '']
79
+ }]
80
+ }, {
81
+ type: 'div',
82
+ props: {
83
+ style: {
84
+ color: '#333333',
85
+ height: 42,
86
+ lineHeight: '42px',
87
+ borderBottom: '1px solid #eeeeee',
88
+ display: 'flex',
89
+ justifyContent: 'space-between'
90
+ }
91
+ },
92
+ children: [{
93
+ type: 'div',
94
+ props: {style: {color: '#999999'}},
95
+ children: ["外部编码"]
96
+ }, {
97
+ type: 'div',
98
+ props: {style: {color: '#333333'}},
99
+ children: [$code || '']
100
+ }]
101
+ },
102
+ {
103
+ type: 'div',
104
+ props: {
105
+ style: {
106
+ color: '#333333',
107
+ height: 42,
108
+ lineHeight: '42px',
109
+ borderBottom: '1px solid #eeeeee',
110
+ display: 'flex',
111
+ justifyContent: 'space-between'
112
+ }
113
+ },
114
+ children: [{
115
+ type: 'div',
116
+ props: {style: {color: '#999999'}},
117
+ children: ["条形码"]
118
+ }, {
119
+ type: 'div',
120
+ props: {style: {color: '#333333'}},
121
+ children: [$barcode || '']
122
+ }]
123
+ }
124
+ ]
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "type": "div",
130
+ "key": "brand_div",
131
+ "props": {"style": {minWidth: 300,marginTop:10,marginRight:10,marginBottom: 10}},
132
+ "children": [
133
+ {
134
+ type: 'Typography.Title',
135
+ props: {style: {color: '#333333', fontSize:14, display:'none'}, level: 4, marginBottom: 10},
136
+ children: ["品牌信息"],
137
+ },
138
+ {
139
+ type: 'div',
140
+ props: {
141
+ key: "content_div",
142
+ style: {background: '#ffffff', borderRadius: 15, borderColor: "#eeeeee", padding: 15}
143
+ },
144
+ children: [
145
+ {
146
+ type: 'div',
147
+ props: {
148
+ style: {
149
+ color: '#333333',
150
+ height: 42,
151
+ lineHeight: '42px',
152
+ borderBottom: '1px solid #eeeeee',
153
+ display: 'flex',
154
+ justifyContent: 'space-between'
155
+ }
156
+ },
157
+ children: [{
158
+ type: 'div',
159
+ props: {style: {color: '#999999',fontSize: 14}},
160
+ children: ["品牌"]
161
+ }, {
162
+ type: 'LinkToObject',
163
+ props: {style: {color: '#333333'},type: 'text', toAppId: "owl_brand", objId: $brandId},
164
+ children: [$brandName||'']
165
+ }]
166
+
167
+ },
168
+ {
169
+ type: 'div',
170
+ props: {style: {color: '#333333', height: 42, lineHeight: '42px',borderBottom: '1px solid #eeeeee',display: 'flex',justifyContent: 'space-between'}},
171
+ children: [{
172
+ type: 'div',
173
+ props: {style: {color: '#999999'}},
174
+ children: ["计量单位"]
175
+ },{
176
+ type: 'div',
177
+ props: {style: {color: '#333333'}},
178
+ children: [$sellUnitName || '']
179
+ }]
180
+ },
181
+ {
182
+ type: 'div',
183
+ props: {style: {color: '#333333', height: 42, lineHeight: '42px',borderBottom: '1px solid #eeeeee',display: 'flex',justifyContent: 'space-between'}},
184
+ children: [{
185
+ type: 'div',
186
+ props: {style: {color: '#999999'}},
187
+ children: ["原产国"]
188
+ },{
189
+ type: 'div',
190
+ props: {style: {color: '#333333'}},
191
+ children: [$country_name || '']
192
+ }]
193
+ },
194
+ {
195
+ type: 'div',
196
+ props: {
197
+ style: {
198
+ color: '#333333',
199
+ height: 42,
200
+ lineHeight: '42px',
201
+ borderBottom: '1px solid #eeeeee',
202
+ display: 'flex',
203
+ justifyContent: 'space-between'
204
+ }
205
+ },
206
+ children: [{
207
+ type: 'div',
208
+ props: {style: {color: '#999999'}},
209
+ children: ["税率"]
210
+ }, {
211
+ type: 'div',
212
+ props: {style: {color: '#333333'}},
213
+ children: [toString($tax_rate)]
214
+ }]
215
+ }
216
+ ]
217
+ }
218
+ ]
219
+ },
220
+ {
221
+ "type": "div",
222
+ "key": "resale_div",
223
+ "props": {"style": {minWidth: 300,marginTop:10,marginRight:10,marginBottom: 10}},
224
+ "children": [{
225
+ type: 'Typography.Title',
226
+ props: {style: {color: '#333333',fontSize:14, display:'none'}, level: 4, marginBottom:10},
227
+ children: ["数量信息"],
228
+ },
229
+ {
230
+ type: 'div',
231
+ props: {
232
+ key: "content_div",
233
+ style: {background: '#ffffff', borderRadius: 15, borderColor: "#eeeeee", padding: 15}
234
+ },
235
+ children: [
236
+ {
237
+ type: 'div',
238
+ props: {style: {color: '#333333', height: 42, lineHeight: '42px',borderBottom: '1px solid #eeeeee',display: 'flex',justifyContent: 'space-between'}},
239
+ children: [{
240
+ type: 'div',
241
+ props: {style: {color: '#999999'}},
242
+ children: ["真实库存"]
243
+ },{
244
+ type: 'div',
245
+ props: {style: {color: '#333333'}},
246
+ children: [toString($real_inventory)]
247
+ }]
248
+ },
249
+ {
250
+ type: 'div',
251
+ props: {style: {color: '#333333', height: 42, lineHeight: '42px',borderBottom: '1px solid #eeeeee',display: 'flex',justifyContent: 'space-between'}},
252
+ children: [{
253
+ type: 'div',
254
+ props: {style: {color: '#999999'}},
255
+ children: ["分销sku数"]
256
+ },{
257
+ type: 'div',
258
+ props: {style: {color: '#333333'}},
259
+ children: [toString($resellSkuCount)]
260
+ }]
261
+ }, {
262
+ type: 'div',
263
+ props: {style: {color: '#333333', height: 42, lineHeight: '42px',borderBottom: '1px solid #eeeeee',display: 'flex',justifyContent: 'space-between'}},
264
+ children: [{
265
+ type: 'div',
266
+ props: {style: {color: '#999999'}},
267
+ children: ["是否全部sku已分销"]
268
+ },{
269
+ type: 'div',
270
+ props: {style: {color: '#333333'}},
271
+ children: [toString($isResellAllSku)]
272
+ }]
273
+ }
274
+ ]
275
+ }
276
+ ]
277
+ }
278
+ ]
279
+ }]
280
+ }
@@ -0,0 +1,380 @@
1
+ _viewObj = {
2
+ type: 'div',
3
+ props: {
4
+ style: {
5
+ width: "100%",
6
+ background: '#ffffff',
7
+ borderRadius: 15,
8
+ borderStyle: "dashed",
9
+ borderWidth: 0,
10
+ padding: 3,
11
+ margin: 3
12
+ }
13
+ },
14
+ children: [
15
+ {
16
+ type: 'OwlInput',
17
+ props: {
18
+ level: 2, wrapStyle: {color: '#333333', borderBottom: "1px solid #dddddd"},
19
+ inputStyle: {width: "100%", fontSize: 32, fontWeight: 600},
20
+ value: $name, fieldKey: 'name', bordered: false,
21
+ rules: [{required: true, message: '请输入商品名称'}]
22
+ }
23
+ },
24
+ {
25
+ type: 'div',
26
+ props: {style: {display: 'flex', flexWrap: 'wrap'}},
27
+ children: [
28
+ {
29
+ type: 'div',
30
+ props: {style: {color: '#999999'}},
31
+ children: ["[卖点]"]
32
+ },
33
+ {
34
+ type: 'OwlInput',
35
+ props: {
36
+ wrapStyle: {
37
+ color: '#cc2222',
38
+ marginLeft: '10px',
39
+ width: '80%',
40
+ borderBottom: "1px solid #dddddd"
41
+ },
42
+ inputStyle: {width: "100%"},
43
+ value: $selling_point, fieldKey: 'selling_point', bordered: false
44
+ }
45
+ },
46
+ ]
47
+ },
48
+ {
49
+ 'type': 'Divider'
50
+ },
51
+
52
+ {
53
+ type: 'div',
54
+ props: {style: {display: 'flex', flexWrap: "wrap", backgroundColor: '#f5f5f5', padding: 10, marginBottom: 10}},
55
+ children: [
56
+ {
57
+ "type": "div",
58
+ "key": "basic_div",
59
+ "props": {"style": {minWidth: 300, marginTop: 10, marginRight: 10, marginBottom: 10}},
60
+ "children": [{
61
+ type: 'Typography.Title',
62
+ props: {style: {color: '#333333', fontSize: 14, display:'none'}, level: 4, marginBottom: 10},
63
+ children: ["基础信息"],
64
+ },
65
+ {
66
+ type: 'div',
67
+ props: {
68
+ key: "content_div",
69
+ style: {background: '#ffffff', borderRadius: 15, borderColor: "#eeeeee", padding: 15}
70
+ },
71
+ children: [
72
+ {
73
+ type: 'div',
74
+ props: {
75
+ style: {
76
+ color: '#333333',
77
+ height: 42,
78
+ lineHeight: '42px',
79
+ borderBottom: '1px solid #eeeeee',
80
+ display: 'flex',
81
+ paddingTop: 6,
82
+ justifyContent: 'space-between'
83
+ }
84
+ },
85
+ children: [{
86
+ type: 'div',
87
+ props: {style: {color: '#999999'}},
88
+ children: ["款型代码"]
89
+ }, {
90
+ type: 'OwlInput',
91
+ props: {
92
+ inputStyle: {color: '#333333'},
93
+ value: $productNumber,
94
+ fieldKey: 'productNumber'
95
+ },
96
+ children: [$productNumber || '']
97
+ }]
98
+ },
99
+ {
100
+ type: 'div',
101
+ props: {
102
+ style: {
103
+ color: '#333333',
104
+ height: 42,
105
+ lineHeight: '42px',
106
+ borderBottom: '1px solid #eeeeee',
107
+ display: 'flex',
108
+ paddingTop: 6,
109
+ justifyContent: 'space-between'
110
+ }
111
+ },
112
+ children: [{
113
+ type: 'div',
114
+ props: {style: {color: '#999999'}},
115
+ children: ["外部编码"]
116
+ }, {
117
+ type: 'OwlInput',
118
+ props: {style: {color: '#333333'}, value: $code, fieldKey: 'code'},
119
+ children: [$code || '']
120
+ }]
121
+ },
122
+ {
123
+ type: 'div',
124
+ props: {
125
+ style: {
126
+ color: '#333333',
127
+ height: 42,
128
+ lineHeight: '42px',
129
+ borderBottom: '1px solid #eeeeee',
130
+ display: 'flex',
131
+ paddingTop: 6,
132
+ justifyContent: 'space-between'
133
+ }
134
+ },
135
+ children: [{
136
+ type: 'div',
137
+ props: {style: {color: '#999999'}},
138
+ children: ["条形码"]
139
+ }, {
140
+ type: 'OwlInput',
141
+ props: {style: {color: '#333333'}, value: $barcode, fieldKey: 'barcode'},
142
+ children: [$barcode || '']
143
+ }]
144
+ }
145
+ ]
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "type": "div",
151
+ "key": "brand_div",
152
+ "props": {"style": {minWidth: 300, marginTop: 10, marginRight: 10, marginBottom: 10}},
153
+ "children": [
154
+ {
155
+ type: 'Typography.Title',
156
+ props: {style: {color: '#333333', fontSize: 14, display:'none'}, level: 4, marginBottom: 10},
157
+ children: ["品牌信息"],
158
+ },
159
+ {
160
+ type: 'div',
161
+ props: {
162
+ key: "content_div",
163
+ style: {background: '#ffffff', borderRadius: 15, borderColor: "#eeeeee", padding: 15}
164
+ },
165
+ children: [
166
+ {
167
+ type: 'div',
168
+ props: {
169
+ style: {
170
+ color: '#333333',
171
+ height: 42,
172
+ lineHeight: '42px',
173
+ borderBottom: '1px solid #eeeeee',
174
+ display: 'flex',
175
+
176
+ justifyContent: 'space-between'
177
+ }
178
+ },
179
+ children: [{
180
+ type: 'div',
181
+ props: {style: {color: '#999999', fontSize: 14}},
182
+ children: ["品牌"]
183
+ }, {
184
+ type: 'OwlLinkIdInput',
185
+ props: {
186
+ style: {color: '#333333', width: 120},
187
+ wrapStyle: {width: 160},
188
+ fieldKey: 'brandName', record: __viewData,
189
+ datasource: 'brand',
190
+ displayField: 'name',
191
+ value: $brandName,
192
+ fields: 'id/name', toFields: 'brandId/brandName'
193
+ },
194
+ children: []
195
+ }]
196
+
197
+ },
198
+ {
199
+ type: 'div',
200
+ props: {
201
+ style: {
202
+ color: '#333333',
203
+ height: 42,
204
+ lineHeight: '42px',
205
+ borderBottom: '1px solid #eeeeee',
206
+ display: 'flex',
207
+ justifyContent: 'space-between'
208
+ }
209
+ },
210
+ children: [{
211
+ type: 'div',
212
+ props: {style: {color: '#999999'}},
213
+ children: ["计量单位"]
214
+ }, {
215
+ type: 'OwlLinkIdInput',
216
+ props: {
217
+ style: {color: '#333333'},
218
+ wrapStyle: {width: 160, marginTop: 5},
219
+ fieldKey: 'sellUnitName', record: __viewData,
220
+ datasource: 'mall_sellunit',
221
+ displayField: 'name',
222
+ value: $sellUnitName,
223
+ fields: 'id/name', toFields: 'sellUnitId/sellUnitName'
224
+
225
+
226
+ },
227
+ children: [$sellUnitName || '']
228
+ }]
229
+ },
230
+ {
231
+ type: 'div',
232
+ props: {
233
+ style: {
234
+ color: '#333333',
235
+ height: 42,
236
+ lineHeight: '42px',
237
+ borderBottom: '1px solid #eeeeee',
238
+ display: 'flex',
239
+ justifyContent: 'space-between'
240
+ }
241
+ },
242
+ children: [{
243
+ type: 'div',
244
+ props: {style: {color: '#999999'}},
245
+ children: ["原产国"]
246
+ }, {
247
+ type: 'OwlLinkIdInput',
248
+ props: {
249
+ style: {color: '#333333'},
250
+ wrapStyle: {width: 160, marginTop: 5},
251
+ fieldKey: 'country_name', record: __viewData,
252
+ datasource: 'country',
253
+ displayField: 'name',
254
+ value: $country_name,
255
+ fields: 'id/name', toFields: 'country_id/country_name'
256
+ },
257
+ children: [$country_name || '']
258
+ }]
259
+ },
260
+ {
261
+ type: 'div',
262
+ props: {
263
+ style: {
264
+ color: '#333333',
265
+ height: 42,
266
+ lineHeight: '42px',
267
+ borderBottom: '1px solid #eeeeee',
268
+ display: 'flex',
269
+ paddingTop: 6,
270
+ justifyContent: 'space-between'
271
+ }
272
+ },
273
+ children: [{
274
+ type: 'div',
275
+ props: {style: {color: '#999999'}},
276
+ children: ["税率"]
277
+ }, {
278
+ type: 'OwlSelect',
279
+ props: {
280
+ inputStyle: {color: '#333333'},
281
+ wrapStyle: {width: 160,marginBottom:5},
282
+ value: $tax_rate,
283
+ options:[[0,'0%'],[3,'3%'],[6,'6%'],[9,'9%'],[10,'10%'],[13,'13%'],[16,'16%']],
284
+ fieldKey: 'tax_rate'
285
+ },
286
+ children: ["" + $tax_rate || '']
287
+ }]
288
+ }
289
+ ]
290
+ }
291
+ ]
292
+ },
293
+ {
294
+ "type": "div",
295
+ "key": "resale_div",
296
+ "props": {"style": {minWidth: 300, marginTop: 10, marginRight: 10, marginBottom: 10}},
297
+ "children": [{
298
+ type: 'Typography.Title',
299
+ props: {style: {color: '#333333', fontSize: 14, display:'none'}, level: 4, marginBottom: 10},
300
+ children: ["数量信息"],
301
+ },
302
+ {
303
+ type: 'div',
304
+ props: {
305
+ key: "content_div",
306
+ style: {background: '#ffffff', borderRadius: 15, borderColor: "#eeeeee", padding: 15}
307
+ },
308
+ children: [
309
+ {
310
+ type: 'div',
311
+ props: {
312
+ style: {
313
+ color: '#333333',
314
+ height: 42,
315
+ lineHeight: '42px',
316
+ borderBottom: '1px solid #eeeeee',
317
+ display: 'flex',
318
+ justifyContent: 'space-between'
319
+ }
320
+ },
321
+ children: [{
322
+ type: 'div',
323
+ props: {style: {color: '#999999'}},
324
+ children: ["真实库存"]
325
+ }, {
326
+ type: 'div',
327
+ props: {style: {color: '#333333'}},
328
+ children: [toString($real_inventory)]
329
+ }]
330
+ },
331
+ {
332
+ type: 'div',
333
+ props: {
334
+ style: {
335
+ color: '#333333',
336
+ height: 42,
337
+ lineHeight: '42px',
338
+ borderBottom: '1px solid #eeeeee',
339
+ display: 'flex',
340
+ justifyContent: 'space-between'
341
+ }
342
+ },
343
+ children: [{
344
+ type: 'div',
345
+ props: {style: {color: '#999999'}},
346
+ children: ["分销sku数"]
347
+ }, {
348
+ type: 'div',
349
+ props: {style: {color: '#333333'}},
350
+ children: [toString($resellSkuCount)]
351
+ }]
352
+ }, {
353
+ type: 'div',
354
+ props: {
355
+ style: {
356
+ color: '#333333',
357
+ height: 42,
358
+ lineHeight: '42px',
359
+ borderBottom: '1px solid #eeeeee',
360
+ display: 'flex',
361
+ justifyContent: 'space-between'
362
+ }
363
+ },
364
+ children: [{
365
+ type: 'div',
366
+ props: {style: {color: '#999999'}},
367
+ children: ["是否全部sku已分销"]
368
+ }, {
369
+ type: 'div',
370
+ props: {style: {color: '#333333'}},
371
+ children: [toString($isResellAllSku)]
372
+ }]
373
+ }
374
+ ]
375
+ }
376
+ ]
377
+ }
378
+ ]
379
+ }]
380
+ }