@alicloud/polardb20170801 6.3.0 → 6.4.1

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 (29) hide show
  1. package/dist/client.d.ts +15 -0
  2. package/dist/client.js +87 -0
  3. package/dist/client.js.map +1 -1
  4. package/dist/models/DescribeHistoryEventsRequest.d.ts +88 -0
  5. package/dist/models/DescribeHistoryEventsRequest.js +86 -0
  6. package/dist/models/DescribeHistoryEventsRequest.js.map +1 -0
  7. package/dist/models/DescribeHistoryEventsResponse.d.ts +19 -0
  8. package/dist/models/DescribeHistoryEventsResponse.js +69 -0
  9. package/dist/models/DescribeHistoryEventsResponse.js.map +1 -0
  10. package/dist/models/DescribeHistoryEventsResponseBody.d.ts +229 -0
  11. package/dist/models/DescribeHistoryEventsResponseBody.js +176 -0
  12. package/dist/models/DescribeHistoryEventsResponseBody.js.map +1 -0
  13. package/dist/models/DescribeUserEncryptionKeyListRequest.d.ts +10 -0
  14. package/dist/models/DescribeUserEncryptionKeyListRequest.js +4 -0
  15. package/dist/models/DescribeUserEncryptionKeyListRequest.js.map +1 -1
  16. package/dist/models/DescribeUserEncryptionKeyListResponseBody.d.ts +20 -0
  17. package/dist/models/DescribeUserEncryptionKeyListResponseBody.js +8 -0
  18. package/dist/models/DescribeUserEncryptionKeyListResponseBody.js.map +1 -1
  19. package/dist/models/model.d.ts +5 -0
  20. package/dist/models/model.js +29 -19
  21. package/dist/models/model.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/client.ts +106 -0
  24. package/src/models/DescribeHistoryEventsRequest.ts +129 -0
  25. package/src/models/DescribeHistoryEventsResponse.ts +40 -0
  26. package/src/models/DescribeHistoryEventsResponseBody.ts +342 -0
  27. package/src/models/DescribeUserEncryptionKeyListRequest.ts +14 -0
  28. package/src/models/DescribeUserEncryptionKeyListResponseBody.ts +28 -0
  29. package/src/models/model.ts +5 -0
package/src/client.ts CHANGED
@@ -10430,6 +10430,104 @@ export default class Client extends OpenApi {
10430
10430
  return await this.describeHALogsWithOptions(request, runtime);
10431
10431
  }
10432
10432
 
10433
+ /**
10434
+ * 事件中心事件列表
10435
+ *
10436
+ * @param request - DescribeHistoryEventsRequest
10437
+ * @param runtime - runtime options for this request RuntimeOptions
10438
+ * @returns DescribeHistoryEventsResponse
10439
+ */
10440
+ async describeHistoryEventsWithOptions(request: $_model.DescribeHistoryEventsRequest, runtime: $dara.RuntimeOptions): Promise<$_model.DescribeHistoryEventsResponse> {
10441
+ request.validate();
10442
+ let query = { };
10443
+ if (!$dara.isNull(request.archiveStatus)) {
10444
+ query["ArchiveStatus"] = request.archiveStatus;
10445
+ }
10446
+
10447
+ if (!$dara.isNull(request.eventCategory)) {
10448
+ query["EventCategory"] = request.eventCategory;
10449
+ }
10450
+
10451
+ if (!$dara.isNull(request.eventId)) {
10452
+ query["EventId"] = request.eventId;
10453
+ }
10454
+
10455
+ if (!$dara.isNull(request.eventLevel)) {
10456
+ query["EventLevel"] = request.eventLevel;
10457
+ }
10458
+
10459
+ if (!$dara.isNull(request.eventStatus)) {
10460
+ query["EventStatus"] = request.eventStatus;
10461
+ }
10462
+
10463
+ if (!$dara.isNull(request.eventType)) {
10464
+ query["EventType"] = request.eventType;
10465
+ }
10466
+
10467
+ if (!$dara.isNull(request.fromStartTime)) {
10468
+ query["FromStartTime"] = request.fromStartTime;
10469
+ }
10470
+
10471
+ if (!$dara.isNull(request.instanceId)) {
10472
+ query["InstanceId"] = request.instanceId;
10473
+ }
10474
+
10475
+ if (!$dara.isNull(request.pageNumber)) {
10476
+ query["PageNumber"] = request.pageNumber;
10477
+ }
10478
+
10479
+ if (!$dara.isNull(request.pageSize)) {
10480
+ query["PageSize"] = request.pageSize;
10481
+ }
10482
+
10483
+ if (!$dara.isNull(request.regionId)) {
10484
+ query["RegionId"] = request.regionId;
10485
+ }
10486
+
10487
+ if (!$dara.isNull(request.resourceGroupId)) {
10488
+ query["ResourceGroupId"] = request.resourceGroupId;
10489
+ }
10490
+
10491
+ if (!$dara.isNull(request.resourceType)) {
10492
+ query["ResourceType"] = request.resourceType;
10493
+ }
10494
+
10495
+ if (!$dara.isNull(request.taskId)) {
10496
+ query["TaskId"] = request.taskId;
10497
+ }
10498
+
10499
+ if (!$dara.isNull(request.toStartTime)) {
10500
+ query["ToStartTime"] = request.toStartTime;
10501
+ }
10502
+
10503
+ let req = new $OpenApiUtil.OpenApiRequest({
10504
+ query: OpenApiUtil.query(query),
10505
+ });
10506
+ let params = new $OpenApiUtil.Params({
10507
+ action: "DescribeHistoryEvents",
10508
+ version: "2017-08-01",
10509
+ protocol: "HTTPS",
10510
+ pathname: "/",
10511
+ method: "POST",
10512
+ authType: "AK",
10513
+ style: "RPC",
10514
+ reqBodyType: "formData",
10515
+ bodyType: "json",
10516
+ });
10517
+ return $dara.cast<$_model.DescribeHistoryEventsResponse>(await this.callApi(params, req, runtime), new $_model.DescribeHistoryEventsResponse({}));
10518
+ }
10519
+
10520
+ /**
10521
+ * 事件中心事件列表
10522
+ *
10523
+ * @param request - DescribeHistoryEventsRequest
10524
+ * @returns DescribeHistoryEventsResponse
10525
+ */
10526
+ async describeHistoryEvents(request: $_model.DescribeHistoryEventsRequest): Promise<$_model.DescribeHistoryEventsResponse> {
10527
+ let runtime = new $dara.RuntimeOptions({ });
10528
+ return await this.describeHistoryEventsWithOptions(request, runtime);
10529
+ }
10530
+
10433
10531
  /**
10434
10532
  * 任务中心任务列表
10435
10533
  *
@@ -12464,6 +12562,14 @@ export default class Client extends OpenApi {
12464
12562
  query["OwnerId"] = request.ownerId;
12465
12563
  }
12466
12564
 
12565
+ if (!$dara.isNull(request.pageNumber)) {
12566
+ query["PageNumber"] = request.pageNumber;
12567
+ }
12568
+
12569
+ if (!$dara.isNull(request.pageSize)) {
12570
+ query["PageSize"] = request.pageSize;
12571
+ }
12572
+
12467
12573
  if (!$dara.isNull(request.regionId)) {
12468
12574
  query["RegionId"] = request.regionId;
12469
12575
  }
@@ -0,0 +1,129 @@
1
+ // This file is auto-generated, don't edit it
2
+ import * as $dara from '@darabonba/typescript';
3
+
4
+
5
+ export class DescribeHistoryEventsRequest extends $dara.Model {
6
+ /**
7
+ * @example
8
+ * All
9
+ */
10
+ archiveStatus?: string;
11
+ /**
12
+ * @example
13
+ * Exception
14
+ */
15
+ eventCategory?: string;
16
+ /**
17
+ * @example
18
+ * 5345398
19
+ */
20
+ eventId?: string;
21
+ /**
22
+ * @example
23
+ * high
24
+ */
25
+ eventLevel?: string;
26
+ /**
27
+ * @example
28
+ * Succeed
29
+ */
30
+ eventStatus?: string;
31
+ /**
32
+ * @example
33
+ * SystemFailure.Reboot
34
+ */
35
+ eventType?: string;
36
+ /**
37
+ * @example
38
+ * 2025-01-02T11:31:03Z
39
+ */
40
+ fromStartTime?: string;
41
+ /**
42
+ * @example
43
+ * pc-2zed3m89cw***
44
+ */
45
+ instanceId?: string;
46
+ /**
47
+ * @example
48
+ * 1
49
+ */
50
+ pageNumber?: number;
51
+ /**
52
+ * @example
53
+ * 10
54
+ */
55
+ pageSize?: number;
56
+ /**
57
+ * @example
58
+ * cn-hangzhou
59
+ */
60
+ regionId?: string;
61
+ /**
62
+ * @example
63
+ * rg-**********
64
+ */
65
+ resourceGroupId?: string;
66
+ /**
67
+ * @example
68
+ * Instance
69
+ */
70
+ resourceType?: string;
71
+ /**
72
+ * @example
73
+ * 32077515
74
+ */
75
+ taskId?: string;
76
+ /**
77
+ * @example
78
+ * 2025-01-03T12:31:03Z
79
+ */
80
+ toStartTime?: string;
81
+ static names(): { [key: string]: string } {
82
+ return {
83
+ archiveStatus: 'ArchiveStatus',
84
+ eventCategory: 'EventCategory',
85
+ eventId: 'EventId',
86
+ eventLevel: 'EventLevel',
87
+ eventStatus: 'EventStatus',
88
+ eventType: 'EventType',
89
+ fromStartTime: 'FromStartTime',
90
+ instanceId: 'InstanceId',
91
+ pageNumber: 'PageNumber',
92
+ pageSize: 'PageSize',
93
+ regionId: 'RegionId',
94
+ resourceGroupId: 'ResourceGroupId',
95
+ resourceType: 'ResourceType',
96
+ taskId: 'TaskId',
97
+ toStartTime: 'ToStartTime',
98
+ };
99
+ }
100
+
101
+ static types(): { [key: string]: any } {
102
+ return {
103
+ archiveStatus: 'string',
104
+ eventCategory: 'string',
105
+ eventId: 'string',
106
+ eventLevel: 'string',
107
+ eventStatus: 'string',
108
+ eventType: 'string',
109
+ fromStartTime: 'string',
110
+ instanceId: 'string',
111
+ pageNumber: 'number',
112
+ pageSize: 'number',
113
+ regionId: 'string',
114
+ resourceGroupId: 'string',
115
+ resourceType: 'string',
116
+ taskId: 'string',
117
+ toStartTime: 'string',
118
+ };
119
+ }
120
+
121
+ validate() {
122
+ super.validate();
123
+ }
124
+
125
+ constructor(map?: { [key: string]: any }) {
126
+ super(map);
127
+ }
128
+ }
129
+
@@ -0,0 +1,40 @@
1
+ // This file is auto-generated, don't edit it
2
+ import * as $dara from '@darabonba/typescript';
3
+ import { DescribeHistoryEventsResponseBody } from "./DescribeHistoryEventsResponseBody";
4
+
5
+
6
+ export class DescribeHistoryEventsResponse extends $dara.Model {
7
+ headers?: { [key: string]: string };
8
+ statusCode?: number;
9
+ body?: DescribeHistoryEventsResponseBody;
10
+ static names(): { [key: string]: string } {
11
+ return {
12
+ headers: 'headers',
13
+ statusCode: 'statusCode',
14
+ body: 'body',
15
+ };
16
+ }
17
+
18
+ static types(): { [key: string]: any } {
19
+ return {
20
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
21
+ statusCode: 'number',
22
+ body: DescribeHistoryEventsResponseBody,
23
+ };
24
+ }
25
+
26
+ validate() {
27
+ if(this.headers) {
28
+ $dara.Model.validateMap(this.headers);
29
+ }
30
+ if(this.body && typeof (this.body as any).validate === 'function') {
31
+ (this.body as any).validate();
32
+ }
33
+ super.validate();
34
+ }
35
+
36
+ constructor(map?: { [key: string]: any }) {
37
+ super(map);
38
+ }
39
+ }
40
+
@@ -0,0 +1,342 @@
1
+ // This file is auto-generated, don't edit it
2
+ import * as $dara from '@darabonba/typescript';
3
+
4
+
5
+ export class DescribeHistoryEventsResponseBodyItemsData extends $dara.Model {
6
+ /**
7
+ * @example
8
+ * web
9
+ */
10
+ cmsProduct?: string;
11
+ /**
12
+ * @example
13
+ * mysql
14
+ */
15
+ dbType?: string;
16
+ /**
17
+ * @example
18
+ * 1
19
+ */
20
+ detailImpact?: string;
21
+ /**
22
+ * @example
23
+ * xxxx
24
+ */
25
+ detailReason?: string;
26
+ /**
27
+ * @example
28
+ * 2025-12-24T02:24:00Z
29
+ */
30
+ endTime?: string;
31
+ /**
32
+ * @example
33
+ * Exception
34
+ */
35
+ eventCategory?: string;
36
+ /**
37
+ * @example
38
+ * de_aamexg3015
39
+ */
40
+ eventCode?: string;
41
+ /**
42
+ * @example
43
+ * xxxx
44
+ */
45
+ eventDetail?: string;
46
+ /**
47
+ * @example
48
+ * 600324
49
+ */
50
+ eventId?: string;
51
+ /**
52
+ * @example
53
+ * xxxx
54
+ */
55
+ eventImpact?: string;
56
+ /**
57
+ * @example
58
+ * INFO
59
+ */
60
+ eventLevel?: string;
61
+ /**
62
+ * @example
63
+ * xxxxx
64
+ */
65
+ eventReason?: string;
66
+ /**
67
+ * @example
68
+ * Inquiring
69
+ */
70
+ eventStatus?: string;
71
+ /**
72
+ * @example
73
+ * SystemFailure.Delete
74
+ */
75
+ eventType?: string;
76
+ /**
77
+ * @example
78
+ * 2025-07-15T14:53:06+08:00
79
+ */
80
+ gmtCreated?: string;
81
+ /**
82
+ * @example
83
+ * 2025-01-07T15:10:32+08:00
84
+ */
85
+ gmtModified?: string;
86
+ /**
87
+ * @example
88
+ * done
89
+ */
90
+ handleStatus?: string;
91
+ /**
92
+ * @example
93
+ * false
94
+ */
95
+ hasLifeCycle?: number;
96
+ /**
97
+ * @example
98
+ * pc-2ze150h1p29t***
99
+ */
100
+ instanceId?: string;
101
+ /**
102
+ * @example
103
+ * dhimgsearch
104
+ */
105
+ instanceName?: string;
106
+ /**
107
+ * @example
108
+ * 1
109
+ */
110
+ isClosed?: number;
111
+ /**
112
+ * @example
113
+ * polardb
114
+ */
115
+ product?: string;
116
+ /**
117
+ * @example
118
+ * cn-beijing
119
+ */
120
+ regionId?: string;
121
+ /**
122
+ * @example
123
+ * Host
124
+ */
125
+ resourceType?: string;
126
+ /**
127
+ * @example
128
+ * loanBill
129
+ */
130
+ sourceType?: string;
131
+ /**
132
+ * @example
133
+ * 2025-02-27T02:00:00Z
134
+ */
135
+ startTime?: string;
136
+ /**
137
+ * @example
138
+ * 1540497309282125
139
+ */
140
+ uid?: string;
141
+ static names(): { [key: string]: string } {
142
+ return {
143
+ cmsProduct: 'CmsProduct',
144
+ dbType: 'DbType',
145
+ detailImpact: 'DetailImpact',
146
+ detailReason: 'DetailReason',
147
+ endTime: 'EndTime',
148
+ eventCategory: 'EventCategory',
149
+ eventCode: 'EventCode',
150
+ eventDetail: 'EventDetail',
151
+ eventId: 'EventId',
152
+ eventImpact: 'EventImpact',
153
+ eventLevel: 'EventLevel',
154
+ eventReason: 'EventReason',
155
+ eventStatus: 'EventStatus',
156
+ eventType: 'EventType',
157
+ gmtCreated: 'GmtCreated',
158
+ gmtModified: 'GmtModified',
159
+ handleStatus: 'HandleStatus',
160
+ hasLifeCycle: 'HasLifeCycle',
161
+ instanceId: 'InstanceId',
162
+ instanceName: 'InstanceName',
163
+ isClosed: 'IsClosed',
164
+ product: 'Product',
165
+ regionId: 'RegionId',
166
+ resourceType: 'ResourceType',
167
+ sourceType: 'SourceType',
168
+ startTime: 'StartTime',
169
+ uid: 'Uid',
170
+ };
171
+ }
172
+
173
+ static types(): { [key: string]: any } {
174
+ return {
175
+ cmsProduct: 'string',
176
+ dbType: 'string',
177
+ detailImpact: 'string',
178
+ detailReason: 'string',
179
+ endTime: 'string',
180
+ eventCategory: 'string',
181
+ eventCode: 'string',
182
+ eventDetail: 'string',
183
+ eventId: 'string',
184
+ eventImpact: 'string',
185
+ eventLevel: 'string',
186
+ eventReason: 'string',
187
+ eventStatus: 'string',
188
+ eventType: 'string',
189
+ gmtCreated: 'string',
190
+ gmtModified: 'string',
191
+ handleStatus: 'string',
192
+ hasLifeCycle: 'number',
193
+ instanceId: 'string',
194
+ instanceName: 'string',
195
+ isClosed: 'number',
196
+ product: 'string',
197
+ regionId: 'string',
198
+ resourceType: 'string',
199
+ sourceType: 'string',
200
+ startTime: 'string',
201
+ uid: 'string',
202
+ };
203
+ }
204
+
205
+ validate() {
206
+ super.validate();
207
+ }
208
+
209
+ constructor(map?: { [key: string]: any }) {
210
+ super(map);
211
+ }
212
+ }
213
+
214
+ export class DescribeHistoryEventsResponseBodyItems extends $dara.Model {
215
+ data?: DescribeHistoryEventsResponseBodyItemsData;
216
+ /**
217
+ * @example
218
+ * 123
219
+ */
220
+ id?: string;
221
+ /**
222
+ * @example
223
+ * cn-hangzhou
224
+ */
225
+ region?: string;
226
+ /**
227
+ * @example
228
+ * loanBill
229
+ */
230
+ source?: string;
231
+ /**
232
+ * @example
233
+ * 8.0
234
+ */
235
+ specversion?: string;
236
+ /**
237
+ * @example
238
+ * QiTian
239
+ */
240
+ subject?: string;
241
+ /**
242
+ * @example
243
+ * 1758680209206
244
+ */
245
+ time?: string;
246
+ /**
247
+ * @example
248
+ * host
249
+ */
250
+ type?: string;
251
+ static names(): { [key: string]: string } {
252
+ return {
253
+ data: 'Data',
254
+ id: 'Id',
255
+ region: 'Region',
256
+ source: 'Source',
257
+ specversion: 'Specversion',
258
+ subject: 'Subject',
259
+ time: 'Time',
260
+ type: 'Type',
261
+ };
262
+ }
263
+
264
+ static types(): { [key: string]: any } {
265
+ return {
266
+ data: DescribeHistoryEventsResponseBodyItemsData,
267
+ id: 'string',
268
+ region: 'string',
269
+ source: 'string',
270
+ specversion: 'string',
271
+ subject: 'string',
272
+ time: 'string',
273
+ type: 'string',
274
+ };
275
+ }
276
+
277
+ validate() {
278
+ if(this.data && typeof (this.data as any).validate === 'function') {
279
+ (this.data as any).validate();
280
+ }
281
+ super.validate();
282
+ }
283
+
284
+ constructor(map?: { [key: string]: any }) {
285
+ super(map);
286
+ }
287
+ }
288
+
289
+ export class DescribeHistoryEventsResponseBody extends $dara.Model {
290
+ items?: DescribeHistoryEventsResponseBodyItems[];
291
+ /**
292
+ * @example
293
+ * 1
294
+ */
295
+ pageNumber?: number;
296
+ /**
297
+ * @example
298
+ * 30
299
+ */
300
+ pageSize?: number;
301
+ /**
302
+ * @example
303
+ * EB07CFF0-D8A4-5C76-AED7-D00E26FC2***
304
+ */
305
+ requestId?: string;
306
+ /**
307
+ * @example
308
+ * 7
309
+ */
310
+ totalCount?: number;
311
+ static names(): { [key: string]: string } {
312
+ return {
313
+ items: 'Items',
314
+ pageNumber: 'PageNumber',
315
+ pageSize: 'PageSize',
316
+ requestId: 'RequestId',
317
+ totalCount: 'TotalCount',
318
+ };
319
+ }
320
+
321
+ static types(): { [key: string]: any } {
322
+ return {
323
+ items: { 'type': 'array', 'itemType': DescribeHistoryEventsResponseBodyItems },
324
+ pageNumber: 'number',
325
+ pageSize: 'number',
326
+ requestId: 'string',
327
+ totalCount: 'number',
328
+ };
329
+ }
330
+
331
+ validate() {
332
+ if(Array.isArray(this.items)) {
333
+ $dara.Model.validateArray(this.items);
334
+ }
335
+ super.validate();
336
+ }
337
+
338
+ constructor(map?: { [key: string]: any }) {
339
+ super(map);
340
+ }
341
+ }
342
+
@@ -15,6 +15,16 @@ export class DescribeUserEncryptionKeyListRequest extends $dara.Model {
15
15
  DBClusterId?: string;
16
16
  ownerAccount?: string;
17
17
  ownerId?: number;
18
+ /**
19
+ * @example
20
+ * 1
21
+ */
22
+ pageNumber?: number;
23
+ /**
24
+ * @example
25
+ * 30
26
+ */
27
+ pageSize?: number;
18
28
  /**
19
29
  * @remarks
20
30
  * The ID of the region.
@@ -40,6 +50,8 @@ export class DescribeUserEncryptionKeyListRequest extends $dara.Model {
40
50
  DBClusterId: 'DBClusterId',
41
51
  ownerAccount: 'OwnerAccount',
42
52
  ownerId: 'OwnerId',
53
+ pageNumber: 'PageNumber',
54
+ pageSize: 'PageSize',
43
55
  regionId: 'RegionId',
44
56
  resourceOwnerAccount: 'ResourceOwnerAccount',
45
57
  resourceOwnerId: 'ResourceOwnerId',
@@ -52,6 +64,8 @@ export class DescribeUserEncryptionKeyListRequest extends $dara.Model {
52
64
  DBClusterId: 'string',
53
65
  ownerAccount: 'string',
54
66
  ownerId: 'number',
67
+ pageNumber: 'number',
68
+ pageSize: 'number',
55
69
  regionId: 'string',
56
70
  resourceOwnerAccount: 'string',
57
71
  resourceOwnerId: 'number',
@@ -16,6 +16,21 @@ export class DescribeUserEncryptionKeyListResponseBody extends $dara.Model {
16
16
  * Cluster key list.
17
17
  */
18
18
  keyList?: string[];
19
+ /**
20
+ * @example
21
+ * 1
22
+ */
23
+ pageNumber?: number;
24
+ /**
25
+ * @example
26
+ * 1
27
+ */
28
+ pageRecordCount?: number;
29
+ /**
30
+ * @example
31
+ * 30
32
+ */
33
+ pageSize?: number;
19
34
  /**
20
35
  * @remarks
21
36
  * The ID of the request.
@@ -24,11 +39,20 @@ export class DescribeUserEncryptionKeyListResponseBody extends $dara.Model {
24
39
  * A7E6A8FD-C50B-46B2-BA85-D8B8D3******
25
40
  */
26
41
  requestId?: string;
42
+ /**
43
+ * @example
44
+ * 1
45
+ */
46
+ totalRecordCount?: number;
27
47
  static names(): { [key: string]: string } {
28
48
  return {
29
49
  DBClusterId: 'DBClusterId',
30
50
  keyList: 'KeyList',
51
+ pageNumber: 'PageNumber',
52
+ pageRecordCount: 'PageRecordCount',
53
+ pageSize: 'PageSize',
31
54
  requestId: 'RequestId',
55
+ totalRecordCount: 'TotalRecordCount',
32
56
  };
33
57
  }
34
58
 
@@ -36,7 +60,11 @@ export class DescribeUserEncryptionKeyListResponseBody extends $dara.Model {
36
60
  return {
37
61
  DBClusterId: 'string',
38
62
  keyList: { 'type': 'array', 'itemType': 'string' },
63
+ pageNumber: 'number',
64
+ pageRecordCount: 'number',
65
+ pageSize: 'number',
39
66
  requestId: 'string',
67
+ totalRecordCount: 'number',
40
68
  };
41
69
  }
42
70