@strapi/content-manager 0.0.0-experimental.d3243594aea3e6fa0ef08580192bb0df29c9162d → 0.0.0-experimental.d65615a2b9130dd742d3c396674457d7971da928
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/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js → ComponentConfigurationPage-CO977CPh.js} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js.map → ComponentConfigurationPage-CO977CPh.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs → ComponentConfigurationPage-CQroR9Qk.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs.map → ComponentConfigurationPage-CQroR9Qk.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js → EditConfigurationPage-BPgoE-kf.js} +4 -4
- package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js.map → EditConfigurationPage-BPgoE-kf.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs → EditConfigurationPage-tVCJ5vWC.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs.map → EditConfigurationPage-tVCJ5vWC.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-B82x_x1b.mjs → EditViewPage-8mOu02ji.mjs} +3 -3
- package/dist/_chunks/{EditViewPage-B82x_x1b.mjs.map → EditViewPage-8mOu02ji.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-DlxEHhUt.js → EditViewPage-BMVgUNOX.js} +3 -3
- package/dist/_chunks/{EditViewPage-DlxEHhUt.js.map → EditViewPage-BMVgUNOX.js.map} +1 -1
- package/dist/_chunks/{Field-DufHXW17.mjs → Field-CJPYzwD7.mjs} +4 -4
- package/dist/_chunks/{Field-DufHXW17.mjs.map → Field-CJPYzwD7.mjs.map} +1 -1
- package/dist/_chunks/{Field-COL25JiC.js → Field-CdSLKFQk.js} +4 -4
- package/dist/_chunks/{Field-COL25JiC.js.map → Field-CdSLKFQk.js.map} +1 -1
- package/dist/_chunks/{Form-u_kAOhwB.mjs → Form-DJOJ-GF1.mjs} +2 -2
- package/dist/_chunks/{Form-u_kAOhwB.mjs.map → Form-DJOJ-GF1.mjs.map} +1 -1
- package/dist/_chunks/{Form-BssUwrTO.js → Form-eP5bZwap.js} +2 -2
- package/dist/_chunks/{Form-BssUwrTO.js.map → Form-eP5bZwap.js.map} +1 -1
- package/dist/_chunks/{History-C9t9UqpO.js → History-B-Mrquzu.js} +4 -4
- package/dist/_chunks/{History-C9t9UqpO.js.map → History-B-Mrquzu.js.map} +1 -1
- package/dist/_chunks/{History-DRwA3oMM.mjs → History-MnQLtk1g.mjs} +4 -4
- package/dist/_chunks/{History-DRwA3oMM.mjs.map → History-MnQLtk1g.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs → ListConfigurationPage-BcycI8Lw.mjs} +3 -3
- package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs.map → ListConfigurationPage-BcycI8Lw.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js → ListConfigurationPage-C0n4rUzH.js} +3 -3
- package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js.map → ListConfigurationPage-C0n4rUzH.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-CELx2ysp.mjs → ListViewPage-CRXONXwZ.mjs} +3 -3
- package/dist/_chunks/{ListViewPage-CELx2ysp.mjs.map → ListViewPage-CRXONXwZ.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-D2VD8Szg.js → ListViewPage-q0SHVPUS.js} +3 -3
- package/dist/_chunks/{ListViewPage-D2VD8Szg.js.map → ListViewPage-q0SHVPUS.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js → NoContentTypePage-Bh3komDV.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js.map → NoContentTypePage-Bh3komDV.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs → NoContentTypePage-ukzFRF3z.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs.map → NoContentTypePage-ukzFRF3z.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs → NoPermissionsPage-B4sD7Ble.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs.map → NoPermissionsPage-B4sD7Ble.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js → NoPermissionsPage-BGBpj_Y1.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js.map → NoPermissionsPage-BGBpj_Y1.js.map} +1 -1
- package/dist/_chunks/{Relations-DR7EUgyC.js → Relations-B53wYe8g.js} +3 -3
- package/dist/_chunks/{Relations-DR7EUgyC.js.map → Relations-B53wYe8g.js.map} +1 -1
- package/dist/_chunks/{Relations-BTcf5xaw.mjs → Relations-CIexb8gr.mjs} +3 -3
- package/dist/_chunks/{Relations-BTcf5xaw.mjs.map → Relations-CIexb8gr.mjs.map} +1 -1
- package/dist/_chunks/{index-wnqzm4Q8.mjs → index-CJ2vYwuT.mjs} +10 -13
- package/dist/_chunks/{index-wnqzm4Q8.mjs.map → index-CJ2vYwuT.mjs.map} +1 -1
- package/dist/_chunks/{index-BdMf2lfT.js → index-DbT2sx-Q.js} +10 -13
- package/dist/_chunks/{index-BdMf2lfT.js.map → index-DbT2sx-Q.js.map} +1 -1
- package/dist/_chunks/{layout-B2MyZU-_.js → layout-CeBSIkmP.js} +3 -3
- package/dist/_chunks/{layout-B2MyZU-_.js.map → layout-CeBSIkmP.js.map} +1 -1
- package/dist/_chunks/{layout-2CfjL0T9.mjs → layout-vzKSrr7p.mjs} +3 -3
- package/dist/_chunks/{layout-2CfjL0T9.mjs.map → layout-vzKSrr7p.mjs.map} +1 -1
- package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
- package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
- package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
- package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
- package/dist/_chunks/{relations-BH7JJGGe.js → relations-Cl-6t9iz.js} +2 -2
- package/dist/_chunks/{relations-BH7JJGGe.js.map → relations-Cl-6t9iz.js.map} +1 -1
- package/dist/_chunks/{relations-C0w0GcXi.mjs → relations-DI0lguF0.mjs} +2 -2
- package/dist/_chunks/{relations-C0w0GcXi.mjs.map → relations-DI0lguF0.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +6 -6
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"relations-C0w0GcXi.mjs","sources":["../../admin/src/services/relations.ts","../../admin/src/utils/relations.ts"],"sourcesContent":["import { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...prepareTempKeys(uniqueNewItems, currentCache.results));\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"relations-DI0lguF0.mjs","sources":["../../admin/src/services/relations.ts","../../admin/src/utils/relations.ts"],"sourcesContent":["import { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...prepareTempKeys(uniqueNewItems, currentCache.results));\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":[],"mappings":"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"}
|
package/dist/admin/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
|
-
const index = require("../_chunks/index-
|
3
|
+
const index = require("../_chunks/index-DbT2sx-Q.js");
|
4
4
|
require("@strapi/icons");
|
5
5
|
exports.DocumentRBAC = index.DocumentRBAC;
|
6
6
|
exports.buildValidParams = index.buildValidParams;
|
package/dist/admin/index.mjs
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@strapi/content-manager",
|
3
|
-
"version": "0.0.0-experimental.
|
3
|
+
"version": "0.0.0-experimental.d65615a2b9130dd742d3c396674457d7971da928",
|
4
4
|
"description": "A powerful UI to easily manage your data.",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -62,8 +62,8 @@
|
|
62
62
|
"@sindresorhus/slugify": "1.1.0",
|
63
63
|
"@strapi/design-system": "2.0.0-rc.11",
|
64
64
|
"@strapi/icons": "2.0.0-rc.11",
|
65
|
-
"@strapi/types": "0.0.0-experimental.
|
66
|
-
"@strapi/utils": "0.0.0-experimental.
|
65
|
+
"@strapi/types": "0.0.0-experimental.d65615a2b9130dd742d3c396674457d7971da928",
|
66
|
+
"@strapi/utils": "0.0.0-experimental.d65615a2b9130dd742d3c396674457d7971da928",
|
67
67
|
"codemirror5": "npm:codemirror@^5.65.11",
|
68
68
|
"date-fns": "2.30.0",
|
69
69
|
"fractional-indexing": "3.2.0",
|
@@ -97,8 +97,8 @@
|
|
97
97
|
"yup": "0.32.9"
|
98
98
|
},
|
99
99
|
"devDependencies": {
|
100
|
-
"@strapi/admin": "0.0.0-experimental.
|
101
|
-
"@strapi/database": "0.0.0-experimental.
|
100
|
+
"@strapi/admin": "0.0.0-experimental.d65615a2b9130dd742d3c396674457d7971da928",
|
101
|
+
"@strapi/database": "0.0.0-experimental.d65615a2b9130dd742d3c396674457d7971da928",
|
102
102
|
"@strapi/pack-up": "5.0.0",
|
103
103
|
"@testing-library/react": "15.0.7",
|
104
104
|
"@types/jest": "29.5.2",
|
@@ -129,5 +129,5 @@
|
|
129
129
|
"required": true,
|
130
130
|
"kind": "plugin"
|
131
131
|
},
|
132
|
-
"gitHead": "
|
132
|
+
"gitHead": "d65615a2b9130dd742d3c396674457d7971da928"
|
133
133
|
}
|