@semapps/semantic-data-provider 1.0.2 → 1.0.4
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/index.cjs.js +34 -30
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +10 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +34 -30
- package/dist/index.es.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -29,11 +29,6 @@ type DataServerConfig = {
|
|
|
29
29
|
blankNodes: any;
|
|
30
30
|
};
|
|
31
31
|
export type DataServersConfig = Record<DataServerKey, DataServerConfig>;
|
|
32
|
-
type HttpClientOptions = {
|
|
33
|
-
headers?: Headers;
|
|
34
|
-
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
35
|
-
body?: string | File;
|
|
36
|
-
};
|
|
37
32
|
export type DataModel = {
|
|
38
33
|
/** Type(s) of resources to fetch or create (example: [pair:Organization]) */
|
|
39
34
|
types: string | string[];
|
|
@@ -66,9 +61,10 @@ export type DataModel = {
|
|
|
66
61
|
title: string;
|
|
67
62
|
};
|
|
68
63
|
};
|
|
64
|
+
export type FetchFn = typeof fetchUtils.fetchJson;
|
|
69
65
|
export type Configuration = {
|
|
70
66
|
dataServers: DataServersConfig;
|
|
71
|
-
httpClient:
|
|
67
|
+
httpClient: FetchFn;
|
|
72
68
|
/** Context from ontologies { prefix: IRI } or IRI, or array of IRI */
|
|
73
69
|
jsonContext: string | string[] | Record<string, string>;
|
|
74
70
|
resources: Record<string, DataModel>;
|
|
@@ -76,7 +72,9 @@ export type Configuration = {
|
|
|
76
72
|
export type SemanticDataProvider = DataProvider & {
|
|
77
73
|
getDataModels: () => Promise<Record<string, DataModel>>;
|
|
78
74
|
getDataServers: () => Promise<DataServersConfig>;
|
|
79
|
-
fetch:
|
|
75
|
+
fetch: FetchFn;
|
|
76
|
+
refreshConfig: () => Promise<Configuration>;
|
|
77
|
+
uploadFile: (rawFile: File) => Promise<string | null>;
|
|
80
78
|
};
|
|
81
79
|
export interface PatchParams<RecordType extends RaRecord = any> {
|
|
82
80
|
id: RecordType['id'];
|
|
@@ -110,23 +108,8 @@ export function buildSparqlQuery({
|
|
|
110
108
|
dataModel: any;
|
|
111
109
|
ontologies: any;
|
|
112
110
|
}): string;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
getMany: (...arg: any[]) => Promise<any>;
|
|
116
|
-
getManyReference: (...arg: any[]) => Promise<any>;
|
|
117
|
-
getOne: (...arg: any[]) => Promise<any>;
|
|
118
|
-
create: (...arg: any[]) => Promise<any>;
|
|
119
|
-
update: (...arg: any[]) => Promise<any>;
|
|
120
|
-
updateMany: () => never;
|
|
121
|
-
delete: (...arg: any[]) => Promise<any>;
|
|
122
|
-
deleteMany: (...arg: any[]) => Promise<any>;
|
|
123
|
-
patch: (...arg: any[]) => Promise<any>;
|
|
124
|
-
getDataModels: (...arg: any[]) => Promise<any>;
|
|
125
|
-
getDataServers: (...arg: any[]) => Promise<any>;
|
|
126
|
-
getLocalDataServers: () => any;
|
|
127
|
-
fetch: (...arg: any[]) => Promise<any>;
|
|
128
|
-
refreshConfig: () => Promise<any>;
|
|
129
|
-
};
|
|
111
|
+
/** @type {(config: Configuration) => SemanticDataProvider} */
|
|
112
|
+
export const dataProvider: (config: Configuration) => SemanticDataProvider;
|
|
130
113
|
export function useGetExternalLink(componentExternalLinks: any): (record: any) => any;
|
|
131
114
|
export const useDataModel: (resourceId: string) => any;
|
|
132
115
|
export const useDataServers: () => DataServersConfig | undefined;
|
|
@@ -178,7 +161,6 @@ export function GroupedReferenceHandler({
|
|
|
178
161
|
filterProperty: any;
|
|
179
162
|
}): import('react/jsx-runtime').JSX.Element;
|
|
180
163
|
export function ReificationArrayInput(props: any): import('react/jsx-runtime').JSX.Element;
|
|
181
|
-
type fetchFn = typeof fetchUtils.fetchJson;
|
|
182
164
|
interface CreateSolidChannelOptions {
|
|
183
165
|
type: string;
|
|
184
166
|
closeAfter?: number;
|
|
@@ -188,12 +170,12 @@ interface CreateSolidChannelOptions {
|
|
|
188
170
|
rate?: number;
|
|
189
171
|
}
|
|
190
172
|
export const createSolidNotificationChannel: (
|
|
191
|
-
authenticatedFetch:
|
|
173
|
+
authenticatedFetch: FetchFn,
|
|
192
174
|
resourceUri: string,
|
|
193
175
|
options?: CreateSolidChannelOptions
|
|
194
176
|
) => Promise<any>;
|
|
195
177
|
export const createWsChannel: (
|
|
196
|
-
authenticatedFetch:
|
|
178
|
+
authenticatedFetch: FetchFn,
|
|
197
179
|
resourceUri: string,
|
|
198
180
|
options: CreateSolidChannelOptions
|
|
199
181
|
) => Promise<WebSocket>;
|
|
@@ -204,7 +186,7 @@ export const createWsChannel: (
|
|
|
204
186
|
* @returns {WebSocket} A new or existing web socket that subscribed to the given resource.
|
|
205
187
|
*/
|
|
206
188
|
export const getOrCreateWsChannel: (
|
|
207
|
-
authenticatedFetch:
|
|
189
|
+
authenticatedFetch: FetchFn,
|
|
208
190
|
resourceUri: string,
|
|
209
191
|
options?: CreateSolidChannelOptions
|
|
210
192
|
) => Promise<WebSocket>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;
|
|
1
|
+
{"mappings":"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","sources":["packages/semantic-data-provider/src/src/dataProvider/types.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchResource.js","packages/semantic-data-provider/src/src/dataProvider/methods/getOne.js","packages/semantic-data-provider/src/src/dataProvider/utils/handleFiles.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromType.js","packages/semantic-data-provider/src/src/dataProvider/utils/parseServerKeys.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/methods/create.js","packages/semantic-data-provider/src/src/dataProvider/methods/delete.ts","packages/semantic-data-provider/src/src/dataProvider/methods/deleteMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataServers.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataModels.js","packages/semantic-data-provider/src/src/dataProvider/utils/arrayOf.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getEmbedFrame.js","packages/semantic-data-provider/src/src/dataProvider/utils/resolvePrefix.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBaseQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildAutoDetectBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildSparqlQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchSparqlEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithPath.js","packages/semantic-data-provider/src/src/dataProvider/methods/getList.js","packages/semantic-data-provider/src/src/dataProvider/methods/getMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getManyReference.js","packages/semantic-data-provider/src/src/dataProvider/methods/patch.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromUri.js","packages/semantic-data-provider/src/src/dataProvider/methods/update.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchUserConfig.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchVoidEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useDataServers.ts","packages/semantic-data-provider/src/src/hooks/useContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainer.js","packages/semantic-data-provider/src/src/hooks/useDataModels.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/reification/FilterHandler.js","packages/semantic-data-provider/src/src/reification/GroupedReferenceHandler.js","packages/semantic-data-provider/src/src/reification/ReificationArrayInput.js","packages/semantic-data-provider/src/src/notificationChannels/subscribeToUpdates.ts","packages/semantic-data-provider/src/src/index.ts","packages/semantic-data-provider/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export { default as dataProvider } from './dataProvider/dataProvider';\n\nexport { default as buildSparqlQuery } from './dataProvider/utils/buildSparqlQuery';\nexport { default as buildBlankNodesQuery } from './dataProvider/utils/buildBlankNodesQuery';\n\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useCreateContainer } from './hooks/useCreateContainer';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataServers } from './hooks/useDataServers';\n\nexport { default as FilterHandler } from './reification/FilterHandler';\nexport { default as GroupedReferenceHandler } from './reification/GroupedReferenceHandler';\nexport { default as ReificationArrayInput } from './reification/ReificationArrayInput';\n\nexport {\n createWsChannel,\n getOrCreateWsChannel,\n createSolidNotificationChannel\n} from './notificationChannels/subscribeToUpdates';\n\nexport * from './dataProvider/types';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/index.es.js
CHANGED
|
@@ -9,6 +9,9 @@ import $fj9kP$react, {useContext as $fj9kP$useContext, useMemo as $fj9kP$useMemo
|
|
|
9
9
|
import {jsx as $fj9kP$jsx, Fragment as $fj9kP$Fragment, jsxs as $fj9kP$jsxs} from "react/jsx-runtime";
|
|
10
10
|
import $fj9kP$muistylesmakeStyles from "@mui/styles/makeStyles";
|
|
11
11
|
|
|
12
|
+
var $11242e90250f263e$exports = {};
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-redundant-type-constituents */
|
|
14
|
+
|
|
12
15
|
|
|
13
16
|
|
|
14
17
|
const $336b7edf722fe53e$var$fetchResource = async (resourceUri, config)=>{
|
|
@@ -63,13 +66,15 @@ var $ed447224dd38ce82$export$2e2bcd8739ae039 = $ed447224dd38ce82$var$getOneMetho
|
|
|
63
66
|
|
|
64
67
|
const $b17c43e3301545ca$var$isFile = (o)=>o?.rawFile && o.rawFile instanceof File;
|
|
65
68
|
const $b17c43e3301545ca$var$isFileToDelete = (o)=>o?.fileToDelete !== undefined && o?.fileToDelete !== null;
|
|
66
|
-
const $b17c43e3301545ca$var$getUploadsContainerUri = (config)=>{
|
|
67
|
-
|
|
68
|
-
if (serverKey
|
|
69
|
+
const $b17c43e3301545ca$var$getUploadsContainerUri = (config, serverKey)=>{
|
|
70
|
+
// If no server key is defined, or if the server has no uploads container, find any server with a uploads container
|
|
71
|
+
if (!serverKey || !config.dataServers[serverKey].uploadsContainer) serverKey = Object.keys(config.dataServers).find((key)=>config.dataServers[key].uploadsContainer);
|
|
72
|
+
if (serverKey) return (0, $fj9kP$urljoin)(config.dataServers[serverKey].baseUrl, config.dataServers[serverKey].uploadsContainer);
|
|
73
|
+
else // No server has an uploads container
|
|
69
74
|
return null;
|
|
70
75
|
};
|
|
71
|
-
const $b17c43e3301545ca$
|
|
72
|
-
const uploadsContainerUri = $b17c43e3301545ca$var$getUploadsContainerUri(config);
|
|
76
|
+
const $b17c43e3301545ca$export$a5575dbeeffdad98 = async (rawFile, config, serverKey)=>{
|
|
77
|
+
const uploadsContainerUri = $b17c43e3301545ca$var$getUploadsContainerUri(config, serverKey);
|
|
73
78
|
if (!uploadsContainerUri) throw new Error("You must define an uploadsContainer in one of the server's configuration");
|
|
74
79
|
const response = await config.httpClient(uploadsContainerUri, {
|
|
75
80
|
method: "POST",
|
|
@@ -89,7 +94,7 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
|
|
|
89
94
|
/*
|
|
90
95
|
* Look for raw files in the record data.
|
|
91
96
|
* If there are any, upload them and replace the file by its URL.
|
|
92
|
-
*/ const $b17c43e3301545ca$var$uploadAllFiles = async (record, config)=>{
|
|
97
|
+
*/ const $b17c43e3301545ca$var$uploadAllFiles = async (record, config, serverKey)=>{
|
|
93
98
|
const filesToDelete = [];
|
|
94
99
|
const updatedRecord = {
|
|
95
100
|
...record
|
|
@@ -100,7 +105,7 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
|
|
|
100
105
|
const itemValue = value[i];
|
|
101
106
|
if ($b17c43e3301545ca$var$isFile(itemValue)) {
|
|
102
107
|
if ($b17c43e3301545ca$var$isFileToDelete(itemValue)) filesToDelete.push(itemValue.fileToDelete);
|
|
103
|
-
updatedRecord[property][i] = await $b17c43e3301545ca$
|
|
108
|
+
updatedRecord[property][i] = await $b17c43e3301545ca$export$a5575dbeeffdad98(itemValue.rawFile, config, serverKey);
|
|
104
109
|
} else if ($b17c43e3301545ca$var$isFileToDelete(itemValue)) {
|
|
105
110
|
filesToDelete.push(itemValue.fileToDelete);
|
|
106
111
|
updatedRecord[property][i] = null;
|
|
@@ -108,7 +113,7 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
|
|
|
108
113
|
}
|
|
109
114
|
else if ($b17c43e3301545ca$var$isFile(value)) {
|
|
110
115
|
if ($b17c43e3301545ca$var$isFileToDelete(value)) filesToDelete.push(value.fileToDelete);
|
|
111
|
-
updatedRecord[property] = await $b17c43e3301545ca$
|
|
116
|
+
updatedRecord[property] = await $b17c43e3301545ca$export$a5575dbeeffdad98(value.rawFile, config, serverKey);
|
|
112
117
|
} else if ($b17c43e3301545ca$var$isFileToDelete(value)) {
|
|
113
118
|
filesToDelete.push(value.fileToDelete);
|
|
114
119
|
updatedRecord[property] = null;
|
|
@@ -221,7 +226,7 @@ const $5a7a2f7583392866$var$createMethod = (config)=>async (resourceId, params)=
|
|
|
221
226
|
else headers.set("Slug", params.data[dataModel.fieldsMapping.title]);
|
|
222
227
|
}
|
|
223
228
|
// Upload files, if there are any
|
|
224
|
-
const { updatedRecord: updatedRecord } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config);
|
|
229
|
+
const { updatedRecord: updatedRecord } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config, serverKey);
|
|
225
230
|
params.data = updatedRecord;
|
|
226
231
|
const { headers: responseHeaders } = await httpClient(containerUri, {
|
|
227
232
|
method: "POST",
|
|
@@ -404,11 +409,8 @@ const $aba124ea15ea8bc6$var$fetchContainers = async (containers, params, { httpC
|
|
|
404
409
|
});
|
|
405
410
|
// Sorting
|
|
406
411
|
if (params.sort) resources = resources.sort((a, b)=>{
|
|
407
|
-
if (a[params.sort.field]
|
|
408
|
-
|
|
409
|
-
return b[params.sort.field].localeCompare(a[params.sort.field]);
|
|
410
|
-
}
|
|
411
|
-
return true;
|
|
412
|
+
if (params.sort.order === "ASC") return (a[params.sort.field] ?? "").localeCompare(b[params.sort.field] ?? "");
|
|
413
|
+
return (b[params.sort.field] ?? "").localeCompare(a[params.sort.field] ?? "");
|
|
412
414
|
});
|
|
413
415
|
// Pagination
|
|
414
416
|
const total = resources.length;
|
|
@@ -965,10 +967,23 @@ var $cdfdce6efa87baab$export$2e2bcd8739ae039 = $cdfdce6efa87baab$var$patchMethod
|
|
|
965
967
|
|
|
966
968
|
|
|
967
969
|
|
|
970
|
+
// Return the first server matching with the baseUrl
|
|
971
|
+
const $47e21ee81eed09a6$var$getServerKeyFromUri = (uri, dataServers)=>{
|
|
972
|
+
if (!uri) throw Error(`No URI provided to getServerKeyFromUri`);
|
|
973
|
+
return Object.keys(dataServers).find((key)=>{
|
|
974
|
+
if (dataServers[key].pod) // The baseUrl ends with /data so remove this part to match with the webId and webId-related URLs (/inbox, /outbox...)
|
|
975
|
+
return dataServers[key].baseUrl && uri.startsWith(dataServers[key].baseUrl.replace("/data", ""));
|
|
976
|
+
return uri.startsWith(dataServers[key].baseUrl);
|
|
977
|
+
});
|
|
978
|
+
};
|
|
979
|
+
var $47e21ee81eed09a6$export$2e2bcd8739ae039 = $47e21ee81eed09a6$var$getServerKeyFromUri;
|
|
980
|
+
|
|
981
|
+
|
|
968
982
|
const $c5031381f4dfc62d$var$updateMethod = (config)=>async (resourceId, params)=>{
|
|
969
|
-
const { httpClient: httpClient, jsonContext: jsonContext } = config;
|
|
983
|
+
const { httpClient: httpClient, jsonContext: jsonContext, dataServers: dataServers } = config;
|
|
984
|
+
const serverKey = (0, $47e21ee81eed09a6$export$2e2bcd8739ae039)(params.id, dataServers);
|
|
970
985
|
// Upload files, if there are any
|
|
971
|
-
const { updatedRecord: updatedRecord, filesToDelete: filesToDelete } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config);
|
|
986
|
+
const { updatedRecord: updatedRecord, filesToDelete: filesToDelete } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config, serverKey);
|
|
972
987
|
params.data = updatedRecord;
|
|
973
988
|
await httpClient(`${params.id}`, {
|
|
974
989
|
method: "PUT",
|
|
@@ -1078,17 +1093,6 @@ var $31a4627920feab4a$export$2e2bcd8739ae039 = $31a4627920feab4a$var$fetchVoidEn
|
|
|
1078
1093
|
|
|
1079
1094
|
|
|
1080
1095
|
|
|
1081
|
-
// Return the first server matching with the baseUrl
|
|
1082
|
-
const $47e21ee81eed09a6$var$getServerKeyFromUri = (uri, dataServers)=>{
|
|
1083
|
-
if (!uri) throw Error(`No URI provided to getServerKeyFromUri`);
|
|
1084
|
-
return Object.keys(dataServers).find((key)=>{
|
|
1085
|
-
if (dataServers[key].pod) // The baseUrl ends with /data so remove this part to match with the webId and webId-related URLs (/inbox, /outbox...)
|
|
1086
|
-
return dataServers[key].baseUrl && uri.startsWith(dataServers[key].baseUrl.replace("/data", ""));
|
|
1087
|
-
return uri.startsWith(dataServers[key].baseUrl);
|
|
1088
|
-
});
|
|
1089
|
-
};
|
|
1090
|
-
var $47e21ee81eed09a6$export$2e2bcd8739ae039 = $47e21ee81eed09a6$var$getServerKeyFromUri;
|
|
1091
|
-
|
|
1092
1096
|
|
|
1093
1097
|
|
|
1094
1098
|
/*
|
|
@@ -1141,7 +1145,8 @@ var $47e21ee81eed09a6$export$2e2bcd8739ae039 = $47e21ee81eed09a6$var$getServerKe
|
|
|
1141
1145
|
var $22b4895a4ca7d626$export$2e2bcd8739ae039 = $22b4895a4ca7d626$var$httpClient;
|
|
1142
1146
|
|
|
1143
1147
|
|
|
1144
|
-
|
|
1148
|
+
|
|
1149
|
+
/** @type {(config: Configuration) => SemanticDataProvider} */ const $243bf28fbb1b868f$var$dataProvider = (config)=>{
|
|
1145
1150
|
// TODO verify all data provider config + data models
|
|
1146
1151
|
if (!(0, $8326b88c1a913ca9$export$2e2bcd8739ae039)("default", config.dataServers)) throw new Error("You must define a default server in your dataServers config");
|
|
1147
1152
|
if (!config.jsonContext) config.jsonContext = Object.fromEntries(config.ontologies.map((o)=>[
|
|
@@ -1180,6 +1185,7 @@ const $243bf28fbb1b868f$var$dataProvider = (config)=>{
|
|
|
1180
1185
|
getDataServers: waitForConfig((0, $7dd5bf9323d2d9c1$export$2e2bcd8739ae039)(config)),
|
|
1181
1186
|
getLocalDataServers: (0, $7dd5bf9323d2d9c1$export$2e2bcd8739ae039)(config),
|
|
1182
1187
|
fetch: waitForConfig(config.httpClient),
|
|
1188
|
+
uploadFile: waitForConfig((rawFile)=>(0, $b17c43e3301545ca$export$a5575dbeeffdad98)(rawFile, config)),
|
|
1183
1189
|
refreshConfig: async ()=>{
|
|
1184
1190
|
config = {
|
|
1185
1191
|
...originalConfig
|
|
@@ -1682,8 +1688,6 @@ const $03d52e691e8dc945$var$registeredWebSockets = new Map();
|
|
|
1682
1688
|
};
|
|
1683
1689
|
|
|
1684
1690
|
|
|
1685
|
-
var $11242e90250f263e$exports = {};
|
|
1686
|
-
/* eslint-disable @typescript-eslint/no-redundant-type-constituents */
|
|
1687
1691
|
|
|
1688
1692
|
|
|
1689
1693
|
|