@stackbit/cms-contentstack 0.1.1-staging.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 (72) hide show
  1. package/README.md +1 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/contentstack-api-client.d.ts +63 -0
  4. package/dist/contentstack-api-client.d.ts.map +1 -0
  5. package/dist/contentstack-api-client.js +295 -0
  6. package/dist/contentstack-api-client.js.map +1 -0
  7. package/dist/contentstack-content-poller.d.ts +46 -0
  8. package/dist/contentstack-content-poller.d.ts.map +1 -0
  9. package/dist/contentstack-content-poller.js +111 -0
  10. package/dist/contentstack-content-poller.js.map +1 -0
  11. package/dist/contentstack-content-source.d.ts +138 -0
  12. package/dist/contentstack-content-source.d.ts.map +1 -0
  13. package/dist/contentstack-content-source.js +544 -0
  14. package/dist/contentstack-content-source.js.map +1 -0
  15. package/dist/contentstack-conversion-utils.d.ts +41 -0
  16. package/dist/contentstack-conversion-utils.d.ts.map +1 -0
  17. package/dist/contentstack-conversion-utils.js +504 -0
  18. package/dist/contentstack-conversion-utils.js.map +1 -0
  19. package/dist/contentstack-entries-converter.d.ts +39 -0
  20. package/dist/contentstack-entries-converter.d.ts.map +1 -0
  21. package/dist/contentstack-entries-converter.js +333 -0
  22. package/dist/contentstack-entries-converter.js.map +1 -0
  23. package/dist/contentstack-operation-converter.d.ts +42 -0
  24. package/dist/contentstack-operation-converter.d.ts.map +1 -0
  25. package/dist/contentstack-operation-converter.js +535 -0
  26. package/dist/contentstack-operation-converter.js.map +1 -0
  27. package/dist/contentstack-schema-converter.d.ts +26 -0
  28. package/dist/contentstack-schema-converter.d.ts.map +1 -0
  29. package/dist/contentstack-schema-converter.js +379 -0
  30. package/dist/contentstack-schema-converter.js.map +1 -0
  31. package/dist/contentstack-types.d.ts +429 -0
  32. package/dist/contentstack-types.d.ts.map +1 -0
  33. package/dist/contentstack-types.js +3 -0
  34. package/dist/contentstack-types.js.map +1 -0
  35. package/dist/contentstack-utils.d.ts +31 -0
  36. package/dist/contentstack-utils.d.ts.map +1 -0
  37. package/dist/contentstack-utils.js +144 -0
  38. package/dist/contentstack-utils.js.map +1 -0
  39. package/dist/entries-converter.d.ts +10 -0
  40. package/dist/entries-converter.d.ts.map +1 -0
  41. package/dist/entries-converter.js +245 -0
  42. package/dist/entries-converter.js.map +1 -0
  43. package/dist/file-download.d.ts +2 -0
  44. package/dist/file-download.d.ts.map +1 -0
  45. package/dist/file-download.js +33 -0
  46. package/dist/file-download.js.map +1 -0
  47. package/dist/index.d.ts +4 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +14 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/schema-converter.d.ts +3 -0
  52. package/dist/schema-converter.d.ts.map +1 -0
  53. package/dist/schema-converter.js +169 -0
  54. package/dist/schema-converter.js.map +1 -0
  55. package/dist/transformation-utils.d.ts +41 -0
  56. package/dist/transformation-utils.d.ts.map +1 -0
  57. package/dist/transformation-utils.js +730 -0
  58. package/dist/transformation-utils.js.map +1 -0
  59. package/dist/types.d.ts +120 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/types.js +3 -0
  62. package/dist/types.js.map +1 -0
  63. package/package.json +44 -0
  64. package/src/contentstack-api-client.ts +330 -0
  65. package/src/contentstack-content-poller.ts +157 -0
  66. package/src/contentstack-content-source.ts +687 -0
  67. package/src/contentstack-entries-converter.ts +438 -0
  68. package/src/contentstack-operation-converter.ts +703 -0
  69. package/src/contentstack-schema-converter.ts +486 -0
  70. package/src/contentstack-types.ts +527 -0
  71. package/src/contentstack-utils.ts +174 -0
  72. package/src/index.ts +3 -0
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertAsset = exports.convertAssets = exports.convertEntry = exports.convertEntries = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const contentstack_utils_1 = require("./contentstack-utils");
9
+ function convertEntries(options) {
10
+ const { entries, ...rest } = options;
11
+ return entries.map((entry) => convertEntry({
12
+ entry,
13
+ ...rest
14
+ }));
15
+ }
16
+ exports.convertEntries = convertEntries;
17
+ function convertEntry({ entry, apiKey, getModelByName, usersById, publishEnvironment, status, logger }) {
18
+ var _a;
19
+ const model = getModelByName(entry.content_type_uid);
20
+ if (!model) {
21
+ throw new Error(`error converting an entry, model '${entry.content_type_uid}' not found`);
22
+ }
23
+ return {
24
+ type: 'document',
25
+ id: entry.uid,
26
+ manageUrl: (0, contentstack_utils_1.getEntryUrl)({ apiKey, entry }),
27
+ modelName: entry.content_type_uid,
28
+ status: status !== null && status !== void 0 ? status : getEntryPublishStatus(entry, publishEnvironment),
29
+ createdAt: entry.created_at,
30
+ updatedAt: entry.updated_at,
31
+ ...getEntityCreatedAndUpdatedBy(usersById, entry),
32
+ locale: entry.locale,
33
+ context: {},
34
+ fields: convertFields({
35
+ entry,
36
+ modelFields: (_a = model.fields) !== null && _a !== void 0 ? _a : [],
37
+ rootEntry: entry,
38
+ rootModel: model,
39
+ entryFieldPath: [],
40
+ modelFieldPath: [],
41
+ getModelByName,
42
+ logger
43
+ })
44
+ };
45
+ }
46
+ exports.convertEntry = convertEntry;
47
+ function convertFields({ entry, modelFields, rootEntry, rootModel, entryFieldPath, modelFieldPath, getModelByName, logger }) {
48
+ const modelFieldsByName = lodash_1.default.keyBy(modelFields, 'name');
49
+ return lodash_1.default.entries(entry).reduce((documentFields, [fieldName, fieldValue]) => {
50
+ const modelField = modelFieldsByName[fieldName];
51
+ if (!modelField) {
52
+ return documentFields;
53
+ }
54
+ const documentField = convertField({
55
+ fieldValue: fieldValue,
56
+ modelField: modelField,
57
+ rootEntry: rootEntry,
58
+ rootModel: rootModel,
59
+ entryFieldPath: entryFieldPath.concat(fieldName),
60
+ modelFieldPath: modelFieldPath.concat(fieldName),
61
+ getModelByName,
62
+ logger
63
+ });
64
+ if (typeof documentField !== 'undefined') {
65
+ documentFields[fieldName] = documentField;
66
+ }
67
+ return documentFields;
68
+ }, {});
69
+ }
70
+ function convertField({ fieldValue, modelField, rootEntry, rootModel, entryFieldPath, modelFieldPath, getModelByName, logger }) {
71
+ var _a, _b, _c, _d;
72
+ if (lodash_1.default.isNil(fieldValue) || fieldValue === '') {
73
+ return;
74
+ }
75
+ const errorPrefix = `Error occurred while converting entry '${rootEntry.uid}'.`;
76
+ switch (modelField.type) {
77
+ case 'string':
78
+ case 'url':
79
+ case 'slug':
80
+ case 'text':
81
+ case 'markdown':
82
+ case 'html':
83
+ case 'date':
84
+ case 'datetime':
85
+ case 'color':
86
+ case 'enum':
87
+ return {
88
+ type: modelField.type,
89
+ value: fieldValue
90
+ };
91
+ case 'number':
92
+ case 'boolean':
93
+ case 'json':
94
+ return {
95
+ type: modelField.type,
96
+ value: fieldValue
97
+ };
98
+ case 'richText':
99
+ return {
100
+ type: modelField.type,
101
+ value: fieldValue
102
+ };
103
+ case 'image':
104
+ if (!isObject(fieldValue) || typeof fieldValue.uid !== 'string') {
105
+ return;
106
+ }
107
+ return {
108
+ type: 'reference',
109
+ refType: 'asset',
110
+ refId: fieldValue.uid
111
+ };
112
+ case 'file':
113
+ if (!isObject(fieldValue) || typeof fieldValue.uid !== 'string') {
114
+ return;
115
+ }
116
+ return {
117
+ type: 'file',
118
+ value: fieldValue.uid
119
+ };
120
+ case 'reference':
121
+ // references fields always returned as arrays, even if they are not marked as multiple
122
+ if (Array.isArray(fieldValue) && fieldValue.length === 1) {
123
+ fieldValue = fieldValue[0];
124
+ }
125
+ if (!isObject(fieldValue) || typeof fieldValue.uid !== 'string') {
126
+ return;
127
+ }
128
+ return {
129
+ type: 'reference',
130
+ refType: 'document',
131
+ refId: fieldValue.uid
132
+ };
133
+ case 'object': {
134
+ if (!isObject(fieldValue)) {
135
+ logger.warn(`${errorPrefix} The value of a group field at field path ${entryFieldPath.join('.')} is not an object.`);
136
+ return;
137
+ }
138
+ return {
139
+ type: 'object',
140
+ fields: convertFields({
141
+ entry: fieldValue,
142
+ modelFields: modelField.fields,
143
+ rootEntry,
144
+ rootModel,
145
+ modelFieldPath,
146
+ entryFieldPath,
147
+ getModelByName,
148
+ logger
149
+ })
150
+ };
151
+ }
152
+ case 'model': {
153
+ const fieldPathStr = modelFieldPath.join('.');
154
+ const blockMap = (_b = (_a = rootModel.context) === null || _a === void 0 ? void 0 : _a.blockMap) === null || _b === void 0 ? void 0 : _b[fieldPathStr];
155
+ if (blockMap) {
156
+ // this is a modular blocks field with keys mapping to inline (object) or global (model) fields
157
+ // mapped by context.blockMap[blockUID]
158
+ if (!isObject(fieldValue)) {
159
+ logger.warn(`${errorPrefix} The value of a modular block at field path ${entryFieldPath.join('.')} is not an object.`);
160
+ return;
161
+ }
162
+ // The fieldValue must be an object with a single property matching the block uid
163
+ const blockUIDs = lodash_1.default.keys(fieldValue);
164
+ const blockUID = blockUIDs[0];
165
+ if (blockUIDs.length !== 1 || !blockUID) {
166
+ logger.warn(`${errorPrefix} The object wrapping a modular block at field path ${entryFieldPath.join('.')} ` +
167
+ `does not have a modular block uid property.`);
168
+ return;
169
+ }
170
+ const nestedEntry = fieldValue[blockUID];
171
+ if (!isObject(nestedEntry)) {
172
+ return;
173
+ }
174
+ const modelName = blockMap.blockIdToModelName[blockUID];
175
+ if (!modelName) {
176
+ logger.warn(`${errorPrefix} Could not match model name for modular block '${blockUID}' at field path ${entryFieldPath.join('.')}.`);
177
+ return;
178
+ }
179
+ const nestedModel = getModelByName(modelName);
180
+ if (!nestedModel) {
181
+ logger.warn(`${errorPrefix} Could not find model named '${modelName}' for modular block '${blockUID}' at field path ${entryFieldPath.join('.')}.`);
182
+ return;
183
+ }
184
+ return {
185
+ type: 'model',
186
+ modelName: modelName,
187
+ fields: convertFields({
188
+ entry: nestedEntry,
189
+ modelFields: (_c = nestedModel.fields) !== null && _c !== void 0 ? _c : [],
190
+ rootEntry,
191
+ rootModel: nestedModel,
192
+ entryFieldPath: entryFieldPath.concat(blockUID),
193
+ modelFieldPath: [],
194
+ getModelByName,
195
+ logger
196
+ })
197
+ };
198
+ }
199
+ else {
200
+ // this is as a regular global field (model) with a single model or as a CNTSTK_LINK_MODEL
201
+ if (modelField.models.length !== 1) {
202
+ logger.warn(`${errorPrefix} The global field at field path ${entryFieldPath.join('.')} has more than one model name.`);
203
+ return;
204
+ }
205
+ const modelName = modelField.models[0];
206
+ const nestedModel = getModelByName(modelName);
207
+ if (!nestedModel) {
208
+ logger.warn(`${errorPrefix} Could not find model named '${modelName}' for global field at field path ${entryFieldPath.join('.')}.`);
209
+ return;
210
+ }
211
+ if (!isObject(fieldValue)) {
212
+ logger.warn(`${errorPrefix} The value of a global field at field path ${entryFieldPath.join('.')} is not an object.`);
213
+ return;
214
+ }
215
+ return {
216
+ type: 'model',
217
+ modelName: modelName,
218
+ fields: convertFields({
219
+ entry: fieldValue,
220
+ modelFields: (_d = nestedModel.fields) !== null && _d !== void 0 ? _d : [],
221
+ rootEntry,
222
+ rootModel: nestedModel,
223
+ entryFieldPath: entryFieldPath,
224
+ modelFieldPath: [],
225
+ getModelByName,
226
+ logger
227
+ })
228
+ };
229
+ }
230
+ }
231
+ case 'list': {
232
+ if (!Array.isArray(fieldValue)) {
233
+ logger.warn(`${errorPrefix} The value of a list field at field path ${entryFieldPath.join('.')} is not an array.`);
234
+ return;
235
+ }
236
+ return {
237
+ type: 'list',
238
+ items: lodash_1.default.reduce(fieldValue, (documentListFieldItems, value, index) => {
239
+ const documentListFieldItem = convertField({
240
+ fieldValue: value,
241
+ modelField: modelField.items,
242
+ rootEntry,
243
+ rootModel,
244
+ entryFieldPath: entryFieldPath.concat(index),
245
+ modelFieldPath,
246
+ getModelByName,
247
+ logger
248
+ });
249
+ if (!documentListFieldItem) {
250
+ logger.debug(`${errorPrefix} One of the items of a list at field path ${entryFieldPath.join('.')} ` +
251
+ `could not be converted, skipping the whole list field.`);
252
+ return documentListFieldItems;
253
+ }
254
+ return documentListFieldItems.concat(documentListFieldItem);
255
+ }, [])
256
+ };
257
+ }
258
+ case 'cross-reference':
259
+ case 'style':
260
+ logger.warn(`${errorPrefix} Field type ${modelField.type} at field path ${entryFieldPath.join('.')}.`);
261
+ return;
262
+ default: {
263
+ const _exhaustiveCheck = modelField;
264
+ return _exhaustiveCheck;
265
+ }
266
+ }
267
+ }
268
+ function convertAssets(options) {
269
+ const { assets, ...rest } = options;
270
+ return assets.map((asset) => convertAsset({ asset, ...rest }));
271
+ }
272
+ exports.convertAssets = convertAssets;
273
+ function convertAsset({ asset, apiKey, usersById, publishEnvironment }) {
274
+ var _a, _b;
275
+ return {
276
+ type: 'asset',
277
+ id: asset.uid,
278
+ manageUrl: (0, contentstack_utils_1.getAssetUrl)({ apiKey, asset }),
279
+ status: getAssetPublishStatus(asset, publishEnvironment),
280
+ createdAt: asset.created_at,
281
+ updatedAt: asset.updated_at,
282
+ ...getEntityCreatedAndUpdatedBy(usersById, asset),
283
+ context: {},
284
+ fields: {
285
+ title: {
286
+ type: 'string',
287
+ value: (_b = (_a = asset.title) !== null && _a !== void 0 ? _a : asset.filename) !== null && _b !== void 0 ? _b : ''
288
+ },
289
+ file: {
290
+ type: 'assetFile',
291
+ url: asset.url,
292
+ fileName: asset.filename,
293
+ contentType: asset.content_type,
294
+ size: Number(asset.file_size)
295
+ }
296
+ }
297
+ };
298
+ }
299
+ exports.convertAsset = convertAsset;
300
+ function getEntryPublishStatus(entry, publishEnvironment) {
301
+ // Get the publish that matches the publish environment and the entry's locale
302
+ const publishDetailsForEnv = lodash_1.default.filter(entry.publish_details, lodash_1.default.matchesProperty('environment', publishEnvironment.uid));
303
+ const publishForLocale = lodash_1.default.find(publishDetailsForEnv, lodash_1.default.matchesProperty('locale', entry.locale));
304
+ if (publishForLocale) {
305
+ return entry._version === publishForLocale.version ? 'published' : 'modified';
306
+ }
307
+ return 'added';
308
+ }
309
+ function getAssetPublishStatus(asset, publishEnvironment) {
310
+ // Get the publish that matches the publish environment and the asset's locale
311
+ const publishDetailsForEnv = lodash_1.default.filter(asset.publish_details, lodash_1.default.matchesProperty('environment', publishEnvironment.uid));
312
+ if ((publishDetailsForEnv === null || publishDetailsForEnv === void 0 ? void 0 : publishDetailsForEnv.length) === 1) {
313
+ const publish = publishDetailsForEnv[0];
314
+ return asset._version === publish.version ? 'published' : 'modified';
315
+ }
316
+ return 'added';
317
+ }
318
+ function getEntityCreatedAndUpdatedBy(usersById, entity) {
319
+ const result = {};
320
+ const createdBy = usersById[entity.created_by];
321
+ if (createdBy && createdBy.email) {
322
+ result.createdBy = createdBy.email;
323
+ }
324
+ const updatedBy = usersById[entity.updated_by];
325
+ if (updatedBy && updatedBy.email) {
326
+ result.updatedBy = [updatedBy.email];
327
+ }
328
+ return result;
329
+ }
330
+ function isObject(value) {
331
+ return lodash_1.default.isPlainObject(value);
332
+ }
333
+ //# sourceMappingURL=contentstack-entries-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentstack-entries-converter.js","sourceRoot":"","sources":["../src/contentstack-entries-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import * as StackbitTypes from '@stackbit/types';
2
+ import type { EntryData } from '@contentstack/management/types/stack/contentType/entry';
3
+ import type { Entry } from './contentstack-types';
4
+ import type { ModelWithContext } from './contentstack-schema-converter';
5
+ import type { DocumentWithContext } from './contentstack-entries-converter';
6
+ declare type GetModelByName = (modelName: string) => ModelWithContext | undefined;
7
+ declare type GetDocumentById = (documentId: string) => DocumentWithContext | undefined;
8
+ export declare function createEntryFromOperationFields({ updateOperationFields, model, getDocumentById, getModelByName, logger }: {
9
+ updateOperationFields: Record<string, StackbitTypes.UpdateOperationField>;
10
+ model: ModelWithContext;
11
+ getDocumentById: GetDocumentById;
12
+ getModelByName: GetModelByName;
13
+ logger: StackbitTypes.Logger;
14
+ }): EntryData;
15
+ export declare function updateEntryFromUpdateOperations({ entry, updateOperations, getDocumentById, getModelByName, logger }: {
16
+ entry: Entry;
17
+ updateOperations: StackbitTypes.UpdateOperation[];
18
+ getDocumentById: GetDocumentById;
19
+ getModelByName: GetModelByName;
20
+ logger: StackbitTypes.Logger;
21
+ }): Entry;
22
+ export declare function getUpdatedEntryAtFieldPathWithOperation({ entry, updateOperation, model, getDocumentById, getModelByName, logger }: {
23
+ entry: Entry;
24
+ updateOperation: StackbitTypes.UpdateOperation;
25
+ model: ModelWithContext;
26
+ getDocumentById: GetDocumentById;
27
+ getModelByName: GetModelByName;
28
+ logger: StackbitTypes.Logger;
29
+ }): Entry;
30
+ export declare function convertOperationFieldValue({ updateOperationField, rootModel, modelField, isInList, entryFieldPath, modelFieldPath, getDocumentById, getModelByName, errorPrefix }: {
31
+ updateOperationField: StackbitTypes.UpdateOperationField;
32
+ rootModel: ModelWithContext;
33
+ modelField: StackbitTypes.FieldSpecificProps;
34
+ isInList: boolean;
35
+ entryFieldPath: (string | number)[];
36
+ modelFieldPath: string[];
37
+ getDocumentById: GetDocumentById;
38
+ getModelByName: GetModelByName;
39
+ errorPrefix: string;
40
+ }): any;
41
+ export {};
42
+ //# sourceMappingURL=contentstack-operation-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentstack-operation-converter.d.ts","sourceRoot":"","sources":["../src/contentstack-operation-converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,aAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;AAC1E,aAAK,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAE/E,wBAAgB,8BAA8B,CAAC,EAC3C,qBAAqB,EACrB,KAAK,EACL,eAAe,EACf,cAAc,EACd,MAAM,EACT,EAAE;IACC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1E,KAAK,EAAE,gBAAgB,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;CAChC,GAAG,SAAS,CAuBZ;AAED,wBAAgB,+BAA+B,CAAC,EAC5C,KAAK,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,MAAM,EACT,EAAE;IACC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,aAAa,CAAC,eAAe,EAAE,CAAC;IAClD,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;CAChC,GAAG,KAAK,CA8CR;AAED,wBAAgB,uCAAuC,CAAC,EACpD,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,cAAc,EACd,MAAM,EACT,EAAE;IACC,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC;IAC/C,KAAK,EAAE,gBAAgB,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;CAChC,GAAG,KAAK,CA+OR;AA4FD,wBAAgB,0BAA0B,CAAC,EACvC,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACd,EAAE;IACC,oBAAoB,EAAE,aAAa,CAAC,oBAAoB,CAAC;IACzD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACpC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACvB,GAAG,GAAG,CA2MN"}