nextjs-cms 0.9.40 → 0.9.42
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.
- package/dist/api/actions/pages.d.ts +4 -3
- package/dist/api/actions/pages.d.ts.map +1 -1
- package/dist/api/actions/pages.js +11 -4
- package/dist/api/trpc/root.d.ts +4 -3
- package/dist/api/trpc/root.d.ts.map +1 -1
- package/dist/api/trpc/routers/config.d.ts.map +1 -1
- package/dist/api/trpc/routers/hasItemsSection.d.ts +1 -0
- package/dist/api/trpc/routers/hasItemsSection.d.ts.map +1 -1
- package/dist/api/trpc/routers/navigation.d.ts +3 -3
- package/dist/api/trpc/server.d.ts +12 -9
- package/dist/api/trpc/server.d.ts.map +1 -1
- package/dist/cli/lib/update-sections.d.ts.map +1 -1
- package/dist/cli/lib/update-sections.js +43 -2
- package/dist/cli/utils/add-table-keys.d.ts.map +1 -1
- package/dist/cli/utils/add-table-keys.js +42 -6
- package/dist/cli/utils/schema-generator.d.ts +41 -0
- package/dist/cli/utils/schema-generator.d.ts.map +1 -1
- package/dist/cli/utils/schema-generator.js +41 -1
- package/dist/core/config/config-loader.d.ts +25 -6
- package/dist/core/config/config-loader.d.ts.map +1 -1
- package/dist/core/config/config-loader.js +9 -13
- package/dist/core/fields/photo.d.ts +86 -14
- package/dist/core/fields/photo.d.ts.map +1 -1
- package/dist/core/fields/photo.js +120 -23
- package/dist/core/fields/richText.d.ts +8 -8
- package/dist/core/fields/select.d.ts +1 -1
- package/dist/core/fields/select.d.ts.map +1 -1
- package/dist/core/fields/select.js +18 -2
- package/dist/core/fields/selectMultiple.d.ts.map +1 -1
- package/dist/core/fields/selectMultiple.js +9 -0
- package/dist/core/helpers/index.d.ts +2 -0
- package/dist/core/helpers/index.d.ts.map +1 -1
- package/dist/core/helpers/index.js +1 -0
- package/dist/core/helpers/watermark.d.ts +96 -0
- package/dist/core/helpers/watermark.d.ts.map +1 -0
- package/dist/core/helpers/watermark.js +61 -0
- package/dist/core/sections/category.d.ts +80 -44
- package/dist/core/sections/category.d.ts.map +1 -1
- package/dist/core/sections/hasItems.d.ts +140 -56
- package/dist/core/sections/hasItems.d.ts.map +1 -1
- package/dist/core/sections/section.d.ts +63 -26
- package/dist/core/sections/section.d.ts.map +1 -1
- package/dist/core/sections/section.js +2 -2
- package/dist/core/sections/simple.d.ts +44 -8
- package/dist/core/sections/simple.d.ts.map +1 -1
- package/dist/core/submit/gallery-order.d.ts +34 -0
- package/dist/core/submit/gallery-order.d.ts.map +1 -0
- package/dist/core/submit/gallery-order.js +50 -0
- package/dist/core/submit/submit.d.ts +8 -0
- package/dist/core/submit/submit.d.ts.map +1 -1
- package/dist/core/submit/submit.js +63 -3
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/translations/client.d.ts +4 -4
- package/dist/translations/server.d.ts +4 -4
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../../src/core/sections/simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,EAAiE,MAAM,cAAc,CAAA;AACrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,QAAA,MAAM,YAAY;;;;;kBAqBhB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,OAAO,CAAC,MAAM,CAAC;IAC9C,gBAAyB,CAAC,UAAU,CAAC,mBAAkB;IACvD,SAAkB,IAAI,YAAW;IACxB,KAAK,EAAE,kBAAkB,CAAA;gBAEtB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;CAKjD;AAED,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../../src/core/sections/simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,EAAiE,MAAM,cAAc,CAAA;AACrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,QAAA,MAAM,YAAY;;;;;kBAqBhB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,OAAO,CAAC,MAAM,CAAC;IAC9C,gBAAyB,CAAC,UAAU,CAAC,mBAAkB;IACvD,SAAkB,IAAI,YAAW;IACxB,KAAK,EAAE,kBAAkB,CAAA;gBAEtB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;CAKjD;AAED,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGjB,CAAA;AAOF,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAK7B,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEhE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAmDhF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SQL } from 'drizzle-orm';
|
|
2
|
+
/**
|
|
3
|
+
* Upper bound on the number of photos a single reorder may touch.
|
|
4
|
+
* Bounds the size of the generated CASE statement.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MAX_GALLERY_ORDER_ENTRIES = 500;
|
|
7
|
+
/**
|
|
8
|
+
* Parse the `galleryOrder` form payload into an ordered list of photo names.
|
|
9
|
+
*
|
|
10
|
+
* Reordering is best-effort: any absent, malformed, or oversized payload
|
|
11
|
+
* yields an empty array, which callers treat as "leave the order alone".
|
|
12
|
+
* A bad payload must never fail a submit or clear an existing order.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseGalleryOrder(raw: unknown): string[];
|
|
15
|
+
/**
|
|
16
|
+
* Build a single batched UPDATE that assigns 0-based positions to the given
|
|
17
|
+
* photos, in the order supplied.
|
|
18
|
+
*
|
|
19
|
+
* Photo names bind as parameters. Only table and column names — which come
|
|
20
|
+
* from section config, not user input — are interpolated with `sql.raw`.
|
|
21
|
+
*
|
|
22
|
+
* Photos present in the database but absent from `photoNames` keep their
|
|
23
|
+
* existing sort_order; photos in `photoNames` that no longer exist simply
|
|
24
|
+
* do not match the WHERE clause.
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildGalleryOrderStatement({ tableName, photoNameField, referenceIdentifierField, referenceId, photoNames, locale, }: {
|
|
27
|
+
tableName: string;
|
|
28
|
+
photoNameField: string;
|
|
29
|
+
referenceIdentifierField: string;
|
|
30
|
+
referenceId: string | number;
|
|
31
|
+
photoNames: string[];
|
|
32
|
+
locale?: string;
|
|
33
|
+
}): SQL | null;
|
|
34
|
+
//# sourceMappingURL=gallery-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gallery-order.d.ts","sourceRoot":"","sources":["../../../src/core/submit/gallery-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAGtC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAexD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,EACvC,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,UAAU,EACV,MAAM,GACT,EAAE;IACC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,wBAAwB,EAAE,MAAM,CAAA;IAChC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,GAAG,GAAG,IAAI,CAQb"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
2
|
+
/**
|
|
3
|
+
* Upper bound on the number of photos a single reorder may touch.
|
|
4
|
+
* Bounds the size of the generated CASE statement.
|
|
5
|
+
*/
|
|
6
|
+
export const MAX_GALLERY_ORDER_ENTRIES = 500;
|
|
7
|
+
/**
|
|
8
|
+
* Parse the `galleryOrder` form payload into an ordered list of photo names.
|
|
9
|
+
*
|
|
10
|
+
* Reordering is best-effort: any absent, malformed, or oversized payload
|
|
11
|
+
* yields an empty array, which callers treat as "leave the order alone".
|
|
12
|
+
* A bad payload must never fail a submit or clear an existing order.
|
|
13
|
+
*/
|
|
14
|
+
export function parseGalleryOrder(raw) {
|
|
15
|
+
if (typeof raw !== 'string' || raw.trim() === '')
|
|
16
|
+
return [];
|
|
17
|
+
let parsed;
|
|
18
|
+
try {
|
|
19
|
+
parsed = JSON.parse(raw);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
if (!Array.isArray(parsed))
|
|
25
|
+
return [];
|
|
26
|
+
if (parsed.length > MAX_GALLERY_ORDER_ENTRIES)
|
|
27
|
+
return [];
|
|
28
|
+
if (!parsed.every((entry) => typeof entry === 'string' && entry !== ''))
|
|
29
|
+
return [];
|
|
30
|
+
return [...new Set(parsed)];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build a single batched UPDATE that assigns 0-based positions to the given
|
|
34
|
+
* photos, in the order supplied.
|
|
35
|
+
*
|
|
36
|
+
* Photo names bind as parameters. Only table and column names — which come
|
|
37
|
+
* from section config, not user input — are interpolated with `sql.raw`.
|
|
38
|
+
*
|
|
39
|
+
* Photos present in the database but absent from `photoNames` keep their
|
|
40
|
+
* existing sort_order; photos in `photoNames` that no longer exist simply
|
|
41
|
+
* do not match the WHERE clause.
|
|
42
|
+
*/
|
|
43
|
+
export function buildGalleryOrderStatement({ tableName, photoNameField, referenceIdentifierField, referenceId, photoNames, locale, }) {
|
|
44
|
+
if (photoNames.length === 0)
|
|
45
|
+
return null;
|
|
46
|
+
const cases = photoNames.map((photo, index) => sql `WHEN ${photo} THEN ${index}`);
|
|
47
|
+
const inList = photoNames.map((photo) => sql `${photo}`);
|
|
48
|
+
const localeFilter = locale ? sql ` AND \`locale\` = ${locale}` : sql ``;
|
|
49
|
+
return sql `UPDATE \`${sql.raw(tableName)}\` SET \`sort_order\` = CASE \`${sql.raw(photoNameField)}\` ${sql.join(cases, sql ` `)} ELSE \`sort_order\` END WHERE \`${sql.raw(referenceIdentifierField)}\` = ${referenceId} AND \`${sql.raw(photoNameField)}\` IN (${sql.join(inList, sql `, `)})${localeFilter}`;
|
|
50
|
+
}
|
|
@@ -175,6 +175,14 @@ export declare abstract class Submit {
|
|
|
175
175
|
* Try to submit the form.
|
|
176
176
|
*/
|
|
177
177
|
submit(): Promise<true | undefined>;
|
|
178
|
+
/**
|
|
179
|
+
* Apply the order staged by the admin UI, sent as a `galleryOrder` JSON
|
|
180
|
+
* array of photo names in the FormData.
|
|
181
|
+
*
|
|
182
|
+
* Runs before `handleGallery()` so freshly uploaded photos land after the
|
|
183
|
+
* reordered set rather than inside it.
|
|
184
|
+
*/
|
|
185
|
+
protected handleGalleryOrder(): Promise<void>;
|
|
178
186
|
protected handleGallery(): Promise<void>;
|
|
179
187
|
get errorMessage(): string;
|
|
180
188
|
get error(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/core/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,KAAK,EAAoC,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AASpF,OAAO,EAAE,UAAU,EAAoC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/core/submit/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { MysqlTableChecker } from '../db';
|
|
|
8
8
|
import { SectionFactory } from '../factories';
|
|
9
9
|
import { DateRangeField, NumberField, PhotoField, SelectField, TextField } from '../fields';
|
|
10
10
|
import { entityKind, evaluateConditionalRuleGroup, is } from '../helpers';
|
|
11
|
+
import { buildGalleryOrderStatement, parseGalleryOrder } from './gallery-order.js';
|
|
11
12
|
export class Submit {
|
|
12
13
|
static [entityKind] = 'Submit';
|
|
13
14
|
user;
|
|
@@ -605,8 +606,11 @@ export class Submit {
|
|
|
605
606
|
await this.runPostSubmitHooks();
|
|
606
607
|
}
|
|
607
608
|
/**
|
|
608
|
-
* Handle gallery photos
|
|
609
|
+
* Handle gallery ordering, then gallery photos.
|
|
610
|
+
* Order matters: handleGallery reads MAX(sort_order) to append new
|
|
611
|
+
* uploads at the end, so the reorder must already be applied.
|
|
609
612
|
*/
|
|
613
|
+
await this.handleGalleryOrder();
|
|
610
614
|
await this.handleGallery();
|
|
611
615
|
/**
|
|
612
616
|
* Log the operation
|
|
@@ -616,6 +620,46 @@ export class Submit {
|
|
|
616
620
|
}
|
|
617
621
|
return true;
|
|
618
622
|
}
|
|
623
|
+
/**
|
|
624
|
+
* Apply the order staged by the admin UI, sent as a `galleryOrder` JSON
|
|
625
|
+
* array of photo names in the FormData.
|
|
626
|
+
*
|
|
627
|
+
* Runs before `handleGallery()` so freshly uploaded photos land after the
|
|
628
|
+
* reordered set rather than inside it.
|
|
629
|
+
*/
|
|
630
|
+
async handleGalleryOrder() {
|
|
631
|
+
const gallery = await this._sectionInfo.getGallery();
|
|
632
|
+
if (!gallery?.db?.tableName || !gallery.db.photoNameField || !gallery.db.referenceIdentifierField)
|
|
633
|
+
return;
|
|
634
|
+
if (this._itemId === undefined)
|
|
635
|
+
return;
|
|
636
|
+
const photoNames = parseGalleryOrder(this._postData.get('galleryOrder'));
|
|
637
|
+
if (photoNames.length === 0)
|
|
638
|
+
return;
|
|
639
|
+
const columns = await MysqlTableChecker.getColumns(gallery.db.tableName);
|
|
640
|
+
if (!columns.includes('sort_order'))
|
|
641
|
+
return;
|
|
642
|
+
const shouldScopeLocale = gallery.localized === true && this._locale !== undefined && columns.includes('locale');
|
|
643
|
+
const statement = buildGalleryOrderStatement({
|
|
644
|
+
tableName: gallery.db.tableName,
|
|
645
|
+
photoNameField: gallery.db.photoNameField,
|
|
646
|
+
referenceIdentifierField: gallery.db.referenceIdentifierField,
|
|
647
|
+
referenceId: this._itemId,
|
|
648
|
+
photoNames: photoNames,
|
|
649
|
+
...(shouldScopeLocale ? { locale: this._locale } : {}),
|
|
650
|
+
});
|
|
651
|
+
if (!statement)
|
|
652
|
+
return;
|
|
653
|
+
try {
|
|
654
|
+
await db.execute(statement);
|
|
655
|
+
}
|
|
656
|
+
catch (e) {
|
|
657
|
+
// Consistent with handleGallery: a failed reorder must not roll back
|
|
658
|
+
// the whole submit. Surface it as a notice instead.
|
|
659
|
+
this.addNotice(e.message);
|
|
660
|
+
console.log(e);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
619
663
|
async handleGallery() {
|
|
620
664
|
const gallery = await this._sectionInfo.getGallery();
|
|
621
665
|
if (!gallery ||
|
|
@@ -648,6 +692,18 @@ export class Submit {
|
|
|
648
692
|
* Gallery photos are sent as `dropzoneFiles` in the post request
|
|
649
693
|
*/
|
|
650
694
|
const galleryPhotos = this._postData.getAll('dropzoneFiles');
|
|
695
|
+
/**
|
|
696
|
+
* New uploads append after everything already in the gallery.
|
|
697
|
+
* COALESCE handles the empty-gallery case, giving a first position of 0.
|
|
698
|
+
*/
|
|
699
|
+
let nextSortOrder = 0;
|
|
700
|
+
const hasSortOrder = columns.includes('sort_order');
|
|
701
|
+
if (hasSortOrder) {
|
|
702
|
+
const [maxRows] = await db.execute(shouldInsertLocale
|
|
703
|
+
? sql `SELECT COALESCE(MAX(\`sort_order\`), -1) AS maxOrder FROM \`${sql.raw(gallery.db.tableName)}\` WHERE \`${sql.raw(gallery.db.referenceIdentifierField)}\` = ${this._itemId} AND \`locale\` = ${this._locale}`
|
|
704
|
+
: sql `SELECT COALESCE(MAX(\`sort_order\`), -1) AS maxOrder FROM \`${sql.raw(gallery.db.tableName)}\` WHERE \`${sql.raw(gallery.db.referenceIdentifierField)}\` = ${this._itemId}`);
|
|
705
|
+
nextSortOrder = Number(maxRows?.[0]?.maxOrder ?? -1) + 1;
|
|
706
|
+
}
|
|
651
707
|
/**
|
|
652
708
|
* Loop through the gallery photos and create a new PhotoField for each photo
|
|
653
709
|
*/
|
|
@@ -681,8 +737,12 @@ export class Submit {
|
|
|
681
737
|
* Prepare the sql statement to insert the photo into the gallery table
|
|
682
738
|
*/
|
|
683
739
|
const sqlQuery = shouldInsertLocale
|
|
684
|
-
?
|
|
685
|
-
|
|
740
|
+
? hasSortOrder
|
|
741
|
+
? sql `INSERT INTO \`${sql.raw(gallery.db.tableName)}\` (\`${sql.raw(gallery.db.referenceIdentifierField)}\`, \`${sql.raw(gallery.db.photoNameField)}\`, \`locale\`, \`sort_order\`, \`created_by\`) VALUES (${this._itemId}, ${photoField.getValue()}, ${this._locale}, ${nextSortOrder++}, ${this.user.name})`
|
|
742
|
+
: sql `INSERT INTO \`${sql.raw(gallery.db.tableName)}\` (\`${sql.raw(gallery.db.referenceIdentifierField)}\`, \`${sql.raw(gallery.db.photoNameField)}\`, \`locale\`, \`created_by\`) VALUES (${this._itemId}, ${photoField.getValue()}, ${this._locale}, ${this.user.name})`
|
|
743
|
+
: hasSortOrder
|
|
744
|
+
? sql `INSERT INTO \`${sql.raw(gallery.db.tableName)}\` (\`${sql.raw(gallery.db.referenceIdentifierField)}\`, \`${sql.raw(gallery.db.photoNameField)}\`, \`sort_order\`, \`created_by\`) VALUES (${this._itemId}, ${photoField.getValue()}, ${nextSortOrder++}, ${this.user.name})`
|
|
745
|
+
: sql `INSERT INTO \`${sql.raw(gallery.db.tableName)}\` (\`${sql.raw(gallery.db.referenceIdentifierField)}\`, \`${sql.raw(gallery.db.photoNameField)}\`, \`created_by\`) VALUES (${this._itemId}, ${photoField.getValue()}, ${this.user.name})`;
|
|
686
746
|
/**
|
|
687
747
|
* Execute the sql query
|
|
688
748
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"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"}
|