@piveau/piveau-hub-ui-modules 4.1.3 → 4.1.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/data-provider-interface/DPIMenu.vue.mjs +21 -22
- package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +182 -48
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +33 -32
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.d.ts +3 -0
- package/dist/data-provider-interface/components/FileUpload.vue.mjs +146 -139
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs +55 -44
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatap/format-types.mjs +3 -3
- package/dist/data-provider-interface/config/dcatap/format-types.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatap/input-definition.mjs +108 -86
- package/dist/data-provider-interface/config/dcatap/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapde/input-definition.mjs +3 -3
- package/dist/data-provider-interface/config/dcatapde/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +13 -1
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs +154 -111
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.mjs +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs +27 -24
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue.mjs +33 -33
- package/dist/form/Repeatable.vue.mjs.map +1 -1
- package/dist/form/inputDefinitions.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/scss/_dpi-style.scss +17 -3
- package/dist/store/modules/authStore.d.ts +9 -0
- package/dist/store/modules/authStore.mjs +32 -24
- package/dist/store/modules/authStore.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { get as
|
|
1
|
+
import A from "axios";
|
|
2
|
+
import { get as o, cloneDeep as u } from "lodash-es";
|
|
3
3
|
import i from "../../utils/draftApi.mjs";
|
|
4
|
-
import
|
|
5
|
-
import { decode as
|
|
6
|
-
let _,
|
|
7
|
-
const
|
|
4
|
+
import f from "../../utils/identifiersApi.mjs";
|
|
5
|
+
import { decode as R } from "../../utils/jwt.mjs";
|
|
6
|
+
let _, T;
|
|
7
|
+
const d = {
|
|
8
8
|
authenticated: !1,
|
|
9
9
|
rtptoken: "",
|
|
10
10
|
keycloak: null,
|
|
@@ -18,7 +18,7 @@ const o = {
|
|
|
18
18
|
},
|
|
19
19
|
isEditMode: !1,
|
|
20
20
|
isDraft: !1
|
|
21
|
-
},
|
|
21
|
+
}, U = {
|
|
22
22
|
securityAuth: (e) => e.authenticated,
|
|
23
23
|
getRTPToken: (e) => e.rtptoken,
|
|
24
24
|
getKeycloak: (e) => e.keycloak,
|
|
@@ -67,15 +67,15 @@ const o = {
|
|
|
67
67
|
try {
|
|
68
68
|
if (!s)
|
|
69
69
|
throw new Error("Failed to retrieve RTP token");
|
|
70
|
-
const E =
|
|
70
|
+
const E = R(s), D = o(E, "authorization.permissions", []), n = o(E, "realm_access.roles", []);
|
|
71
71
|
e("SET_USER_DATA", {
|
|
72
72
|
authToken: a,
|
|
73
73
|
rtpToken: s,
|
|
74
74
|
userName: E.preferred_username,
|
|
75
75
|
permissions: D,
|
|
76
76
|
drafts: [],
|
|
77
|
-
roles:
|
|
78
|
-
}), _ = i({ baseURL: r, authToken: s }),
|
|
77
|
+
roles: n
|
|
78
|
+
}), _ = i({ baseURL: r, authToken: s }), T = f({ baseURL: r, authToken: s }), t("updateUserDrafts"), e("UPDATE_USER_DATA_SUCCESS");
|
|
79
79
|
} catch (E) {
|
|
80
80
|
console.error(E), e("UPDATE_USER_DATA_ERROR");
|
|
81
81
|
}
|
|
@@ -96,7 +96,7 @@ const o = {
|
|
|
96
96
|
Authorization: `Bearer ${t.token}`
|
|
97
97
|
},
|
|
98
98
|
data: t.data
|
|
99
|
-
}, s = await
|
|
99
|
+
}, s = await A.request(a);
|
|
100
100
|
(s.status === 201 || s.status === 204) && (e("CHANGE_IS_EDIT_MODE", !1), e("CHANGE_IS_DRAFT", !1));
|
|
101
101
|
},
|
|
102
102
|
/**
|
|
@@ -129,8 +129,8 @@ const o = {
|
|
|
129
129
|
title: r,
|
|
130
130
|
body: E
|
|
131
131
|
}), e("UPDATE_USER_DATA_SUCCESS");
|
|
132
|
-
} catch (
|
|
133
|
-
throw e("UPDATE_USER_DATA_ERROR"),
|
|
132
|
+
} catch (n) {
|
|
133
|
+
throw e("UPDATE_USER_DATA_ERROR"), n;
|
|
134
134
|
}
|
|
135
135
|
return D;
|
|
136
136
|
},
|
|
@@ -151,17 +151,25 @@ const o = {
|
|
|
151
151
|
async publishUserDraftById({ commit: e, state: t }, { id: a, catalog: s, body: r = {} }) {
|
|
152
152
|
if (!_)
|
|
153
153
|
return {};
|
|
154
|
-
if (!t.userData.drafts.find((
|
|
154
|
+
if (!t.userData.drafts.find((n) => n.id === a))
|
|
155
155
|
return {};
|
|
156
156
|
e("UPDATE_USER_DATA_PENDING");
|
|
157
157
|
let D;
|
|
158
158
|
try {
|
|
159
159
|
D = await _.publishDatasetDraft({ id: a, catalogue: s, body: r }), e("DELETE_USER_DRAFT", a), e("UPDATE_USER_DATA_SUCCESS"), e("CHANGE_IS_DRAFT", !1), e("CHANGE_IS_EDIT_MODE", !1);
|
|
160
|
-
} catch (
|
|
161
|
-
throw e("UPDATE_USER_DATA_ERROR"),
|
|
160
|
+
} catch (n) {
|
|
161
|
+
throw e("UPDATE_USER_DATA_ERROR"), n;
|
|
162
162
|
}
|
|
163
163
|
return D;
|
|
164
164
|
},
|
|
165
|
+
async duplicateDataset({ commit: e, state: t }, { id: a, newId: s, catalog: r, url: E }) {
|
|
166
|
+
console.log(a, r, E);
|
|
167
|
+
const D = {
|
|
168
|
+
method: "GET",
|
|
169
|
+
url: E + "drafts/datasets/" + a + ".nt?catalogue=" + r
|
|
170
|
+
};
|
|
171
|
+
await A.request(D);
|
|
172
|
+
},
|
|
165
173
|
async publishUserDraft({ dispatch: e }, { id: t, catalog: a, body: s }) {
|
|
166
174
|
return e("publishUserDraftById", { id: t, catalog: a, body: s });
|
|
167
175
|
},
|
|
@@ -194,12 +202,12 @@ const o = {
|
|
|
194
202
|
e("CHANGE_IS_DRAFT", t);
|
|
195
203
|
},
|
|
196
204
|
async createPersistentIdentifier({ commit: e }, { id: t, catalog: a, type: s = "mock" }) {
|
|
197
|
-
if (!
|
|
205
|
+
if (!T)
|
|
198
206
|
return {};
|
|
199
207
|
e("UPDATE_USER_DATA_PENDING");
|
|
200
208
|
let r;
|
|
201
209
|
try {
|
|
202
|
-
r = await
|
|
210
|
+
r = await T.createPersistentIdentifier({ id: t, catalogue: a, type: s }), e("UPDATE_USER_DATA_SUCCESS");
|
|
203
211
|
} catch (E) {
|
|
204
212
|
throw e("UPDATE_USER_DATA_ERROR"), E;
|
|
205
213
|
}
|
|
@@ -217,10 +225,10 @@ const o = {
|
|
|
217
225
|
Authorization: `Bearer ${t.token}`
|
|
218
226
|
},
|
|
219
227
|
data: t.data
|
|
220
|
-
}, s = await
|
|
228
|
+
}, s = await A.request(a);
|
|
221
229
|
if (s.status === 201 | s.status === 204) {
|
|
222
230
|
e("CHANGE_IS_EDIT_MODE", !1), e("CHANGE_IS_DRAFT", !1);
|
|
223
|
-
const r = u(
|
|
231
|
+
const r = u(d.userData), E = {
|
|
224
232
|
rsid: "",
|
|
225
233
|
rsname: t.id,
|
|
226
234
|
scopes: ["dataset:update", "dataset:delete", "dataset:create"]
|
|
@@ -290,14 +298,14 @@ const o = {
|
|
|
290
298
|
const t = Object.keys(localStorage);
|
|
291
299
|
t.includes("dpi_editmode") && (e.isEditMode = JSON.parse(localStorage.getItem("dpi_editmode"))), t.includes("dpi_draftmode") && (e.isDraft = JSON.parse(localStorage.getItem("dpi_draftmode")));
|
|
292
300
|
}
|
|
293
|
-
},
|
|
301
|
+
}, C = {
|
|
294
302
|
namespaced: !0,
|
|
295
|
-
state:
|
|
303
|
+
state: d,
|
|
296
304
|
actions: S,
|
|
297
305
|
mutations: l,
|
|
298
|
-
getters:
|
|
306
|
+
getters: U
|
|
299
307
|
};
|
|
300
308
|
export {
|
|
301
|
-
|
|
309
|
+
C as default
|
|
302
310
|
};
|
|
303
311
|
//# sourceMappingURL=authStore.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStore.mjs","sources":["../../../lib/store/modules/authStore.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable no-param-reassign, no-shadow, no-console */\nimport axios from 'axios';\nimport { cloneDeep, get } from 'lodash-es';\nimport createDraftApi from '../../utils/draftApi';\nimport createIdentifiersApi from '../../utils/identifiersApi';\nimport { decode } from '../../utils/jwt';\n\nlet draftApi;\nlet identifiersApi;\n\nconst state = {\n authenticated: false,\n rtptoken: '',\n keycloak: null,\n userData: {\n authToken: '',\n rtpToken: '',\n userName: '',\n permissions: [],\n drafts: [],\n roles: [],\n },\n isEditMode: false,\n isDraft: false,\n};\n\nconst getters = {\n securityAuth: state => state.authenticated,\n getRTPToken: state => state.rtptoken,\n getKeycloak: state => state.keycloak,\n getUserData: state => state.userData,\n getUserName: state => state.userData.userName,\n /**\n * @description Get all catalogs associated to the user where they have access to.\n * @returns {Array} Array of catalogs\n */\n getUserCatalogs: state => state.userData.permissions.filter(\n // User must have CRUD authorization\n permission => ['dataset:update', 'dataset:delete', 'dataset:create']\n .every(scope => permission.scopes.includes(scope)),\n ),\n /**\n * @description Get all catalog IDs associated to the user where they have access to.\n */\n getUserCatalogIds: (state, getters) => {\n return getters.getUserCatalogs.map(catalog => catalog.rsname)\n },\n getUserDrafts: state => state.userData.drafts,\n getUserDraftIds: state => state.userData.drafts.map(dataset => dataset.id),\n getIsEditMode: state => state.isEditMode,\n getIsDraft: state => state.isDraft,\n};\n\nconst actions = {\n authLogin({ commit }, authenticated) {\n commit('SECURITY_AUTH', authenticated);\n },\n authLogout({ commit }) {\n commit('SECURITY_AUTH', false);\n commit('RTP_TOKEN', '');\n },\n rtpToken({ commit }, rtptoken) {\n commit('RTP_TOKEN', rtptoken);\n },\n setKeycloak({ commit }, keycloak) {\n commit('SET_KEYCLOAK', keycloak);\n },\n /**\n * Updates user data according to an authentication token and by supplying neccessary\n * information to retrieve tFhe user's permissions as well as their drafts.\n * @param {*} commit\n * @param {Object} params\n * @returns {Promise<Object>}\n */\n async updateUserData({ commit, dispatch }, { authToken, rtpToken, hubUrl }) {\n if (!authToken || !rtpToken) {\n console.error('Missing authToken or rtpToken');\n commit('UPDATE_USER_DATA_ERROR');\n return {};\n }\n commit('UPDATE_USER_DATA_PENDING');\n\n try {\n if (!rtpToken) throw new Error('Failed to retrieve RTP token');\n\n const decodedRtpToken = decode(rtpToken);\n const permissions = get(decodedRtpToken, 'authorization.permissions', []);\n const roles = get(decodedRtpToken, 'realm_access.roles', []);\n\n commit('SET_USER_DATA', {\n authToken,\n rtpToken,\n userName: decodedRtpToken.preferred_username,\n permissions,\n drafts: [],\n roles,\n });\n\n draftApi = createDraftApi({ baseURL: hubUrl, authToken: rtpToken });\n identifiersApi = createIdentifiersApi({ baseURL: hubUrl, authToken: rtpToken });\n\n dispatch('updateUserDrafts');\n\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n console.error(ex);\n commit('UPDATE_USER_DATA_ERROR');\n }\n return {};\n },\n async updateUserDrafts({ commit, state }) {\n const rtpToken = state.userData.rtpToken;\n if (!rtpToken) throw new Error('Requires RTP token');\n\n // Get associated drafts\n const draftsResponse = await draftApi.getAllDatasetDrafts();\n const drafts = draftsResponse.status === 200\n && draftsResponse.data;\n commit('SET_USER_DATA', { drafts });\n },\n async createDataset({ commit }, actionParams) {\n const requestOptions = {\n method: 'PUT',\n url: actionParams.url,\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${actionParams.token}`,\n },\n data: actionParams.data,\n };\n\n const result = await axios.request(requestOptions);\n\n if (result.status === 201 || result.status === 204) {\n commit('CHANGE_IS_EDIT_MODE', false);\n commit('CHANGE_IS_DRAFT', false);\n }\n },\n /**\n * Creates a draft dataset\n * @param {*} commit\n * @param {object} dataset - The dataset object\n * @param {string} dataset.id - The ID of the dataset\n * @param {string} dataset.catalog - The ID of the dataset\n * @param {object} dataset.description - The description object of the dataset containing different locales\n * @param {object} dataset.title - The title object of the dataset containing different locales\n * @param {object} dataset.body - the JSON-LD representation of the dataset\n * @returns {Promise<Object>}\n */\n async createUserDraft({ commit }, {\n id, catalog, description = { en: '' }, title = { en: '' }, body = {},\n }) {\n if (!draftApi) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.createDatasetDraft({ id, catalogue: catalog, body });\n commit('CREATE_USER_DRAFT', {\n id, catalog, description, title, body,\n });\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n async deleteUserDraftById({ commit, state }, { id, catalog }) {\n if (!draftApi) return {};\n const draftExists = state.userData.drafts.find(draft => draft.id === id);\n if (!draftExists) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.deleteDatasetDraft({ id, catalogue: catalog });\n\n commit('DELETE_USER_DRAFT', id);\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n async publishUserDraftById({ commit, state }, { id, catalog, body = {} }) {\n if (!draftApi) return {};\n const draftExists = state.userData.drafts.find(draft => draft.id === id);\n if (!draftExists) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.publishDatasetDraft({ id, catalogue: catalog, body });\n commit('DELETE_USER_DRAFT', id);\n commit('UPDATE_USER_DATA_SUCCESS');\n commit('CHANGE_IS_DRAFT', false);\n commit('CHANGE_IS_EDIT_MODE', false);\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n async publishUserDraft({ dispatch }, { id, catalog, body }) {\n return dispatch('publishUserDraftById', { id, catalog, body });\n },\n async putDatasetToDraft({ commit }, {\n id, catalog, title, description,\n }) {\n if (!draftApi) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.putDatasetToDraft({ id, catalogue: catalog });\n commit('PUT_DATASET_TO_DRAFT', {\n id, catalog, title, description,\n });\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n setIsEditMode({ commit }, bool) {\n commit('CHANGE_IS_EDIT_MODE', bool);\n },\n setIsDraft({ commit }, bool) {\n commit('CHANGE_IS_DRAFT', bool);\n },\n async createPersistentIdentifier({ commit }, { id, catalog, type = 'mock' }) {\n if (!identifiersApi) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await identifiersApi.createPersistentIdentifier({ id, catalogue: catalog, type });\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n return response;\n },\n populateDraftAndEdit({ commit }) {\n commit('PREDEFINE_DRAFT_AND_EDIT');\n },\n async createCatalogue({ commit }, actionParams) {\n const requestOptions = {\n method: 'PUT',\n url: actionParams.url,\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${actionParams.token}`,\n },\n data: actionParams.data,\n };\n\n const result = await axios.request(requestOptions);\n\n if (result.status === 201 | result.status === 204 ) {\n commit('CHANGE_IS_EDIT_MODE', false);\n commit('CHANGE_IS_DRAFT', false); // shouldn't be necessary but for safety\n\n const updatedUserData = cloneDeep(state.userData);\n const catalogPermission = {\n rsid: \"\",\n rsname: actionParams.id,\n scopes: ['dataset:update', 'dataset:delete', 'dataset:create'],\n }\n updatedUserData.permissions.push(catalogPermission);\n commit('SET_USER_DATA', updatedUserData);\n }\n }\n};\n\nconst mutations = {\n SECURITY_AUTH(state, authenticated) {\n state.authenticated = authenticated;\n },\n RTP_TOKEN(state, rtpToken) {\n state.rtptoken = rtpToken;\n },\n SET_KEYCLOAK(state, keycloak) {\n state.keycloak = keycloak;\n },\n SET_USER_DATA(state, userData) {\n state.userData = { ...state.userData, ...userData };\n },\n UPDATE_USER_DATA_PENDING(state) { state.userData.pending = true; },\n UPDATE_USER_DATA_SUCCESS(state) { state.userData.pending = false; },\n UPDATE_USER_DATA_ERROR(state) { state.userData.pending = false; },\n\n CREATE_USER_DRAFT(state, {\n id, catalog, title, description,\n }) {\n state.userData.drafts.push({\n id,\n catalog,\n title,\n description,\n });\n },\n PUT_DATASET_TO_DRAFT(state, {\n id, catalog, title, description,\n }) {\n state.userData.drafts.push({\n id,\n catalog,\n title,\n description,\n });\n },\n DELETE_USER_DRAFT(state, id) {\n const draftIndex = state.userData.drafts.findIndex(draft => draft.id === id);\n if (draftIndex > -1) {\n state.userData.drafts.splice(draftIndex, 1);\n }\n },\n CHANGE_IS_EDIT_MODE(state, bool) {\n state.isEditMode = bool;\n localStorage.setItem('dpi_editmode', bool);\n },\n CHANGE_IS_DRAFT(state, bool) {\n state.isDraft = bool;\n localStorage.setItem('dpi_draftmode', bool);\n },\n PREDEFINE_DRAFT_AND_EDIT(state) {\n const localStorageKeys = Object.keys(localStorage);\n if (localStorageKeys.includes('dpi_editmode')) {\n state.isEditMode = JSON.parse(localStorage.getItem('dpi_editmode'));\n }\n if (localStorageKeys.includes('dpi_draftmode')) {\n state.isDraft = JSON.parse(localStorage.getItem('dpi_draftmode'));\n }\n }\n};\n\nconst module = {\n namespaced: true,\n state,\n actions,\n mutations,\n getters,\n};\n\nexport default module;\n"],"names":["draftApi","identifiersApi","state","getters","permission","scope","catalog","dataset","actions","commit","authenticated","rtptoken","keycloak","dispatch","authToken","rtpToken","hubUrl","decodedRtpToken","decode","permissions","get","roles","createDraftApi","createIdentifiersApi","ex","draftsResponse","drafts","actionParams","requestOptions","result","axios","id","description","title","body","response","draft","bool","type","updatedUserData","cloneDeep","catalogPermission","mutations","userData","draftIndex","localStorageKeys","module"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authStore.mjs","sources":["../../../lib/store/modules/authStore.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable no-param-reassign, no-shadow, no-console */\nimport axios from 'axios';\nimport { cloneDeep, get } from 'lodash-es';\nimport createDraftApi from '../../utils/draftApi';\nimport createIdentifiersApi from '../../utils/identifiersApi';\nimport { decode } from '../../utils/jwt';\n\n\nlet draftApi;\nlet identifiersApi;\n\nconst state = {\n authenticated: false,\n rtptoken: '',\n keycloak: null,\n userData: {\n authToken: '',\n rtpToken: '',\n userName: '',\n permissions: [],\n drafts: [],\n roles: [],\n },\n isEditMode: false,\n isDraft: false,\n};\n\nconst getters = {\n securityAuth: state => state.authenticated,\n getRTPToken: state => state.rtptoken,\n getKeycloak: state => state.keycloak,\n getUserData: state => state.userData,\n getUserName: state => state.userData.userName,\n /**\n * @description Get all catalogs associated to the user where they have access to.\n * @returns {Array} Array of catalogs\n */\n getUserCatalogs: state => state.userData.permissions.filter(\n // User must have CRUD authorization\n permission => ['dataset:update', 'dataset:delete', 'dataset:create']\n .every(scope => permission.scopes.includes(scope)),\n ),\n /**\n * @description Get all catalog IDs associated to the user where they have access to.\n */\n getUserCatalogIds: (state, getters) => {\n return getters.getUserCatalogs.map(catalog => catalog.rsname)\n },\n getUserDrafts: state => state.userData.drafts,\n getUserDraftIds: state => state.userData.drafts.map(dataset => dataset.id),\n getIsEditMode: state => state.isEditMode,\n getIsDraft: state => state.isDraft,\n};\n\nconst actions = {\n authLogin({ commit }, authenticated) {\n commit('SECURITY_AUTH', authenticated);\n },\n authLogout({ commit }) {\n commit('SECURITY_AUTH', false);\n commit('RTP_TOKEN', '');\n },\n rtpToken({ commit }, rtptoken) {\n commit('RTP_TOKEN', rtptoken);\n },\n setKeycloak({ commit }, keycloak) {\n commit('SET_KEYCLOAK', keycloak);\n },\n /**\n * Updates user data according to an authentication token and by supplying neccessary\n * information to retrieve tFhe user's permissions as well as their drafts.\n * @param {*} commit\n * @param {Object} params\n * @returns {Promise<Object>}\n */\n async updateUserData({ commit, dispatch }, { authToken, rtpToken, hubUrl }) {\n if (!authToken || !rtpToken) {\n console.error('Missing authToken or rtpToken');\n commit('UPDATE_USER_DATA_ERROR');\n return {};\n }\n commit('UPDATE_USER_DATA_PENDING');\n\n try {\n if (!rtpToken) throw new Error('Failed to retrieve RTP token');\n\n const decodedRtpToken = decode(rtpToken);\n const permissions = get(decodedRtpToken, 'authorization.permissions', []);\n const roles = get(decodedRtpToken, 'realm_access.roles', []);\n\n commit('SET_USER_DATA', {\n authToken,\n rtpToken,\n userName: decodedRtpToken.preferred_username,\n permissions,\n drafts: [],\n roles,\n });\n\n draftApi = createDraftApi({ baseURL: hubUrl, authToken: rtpToken });\n identifiersApi = createIdentifiersApi({ baseURL: hubUrl, authToken: rtpToken });\n\n dispatch('updateUserDrafts');\n\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n console.error(ex);\n commit('UPDATE_USER_DATA_ERROR');\n }\n return {};\n },\n async updateUserDrafts({ commit, state }) {\n const rtpToken = state.userData.rtpToken;\n if (!rtpToken) throw new Error('Requires RTP token');\n\n // Get associated drafts\n const draftsResponse = await draftApi.getAllDatasetDrafts();\n const drafts = draftsResponse.status === 200\n && draftsResponse.data;\n commit('SET_USER_DATA', { drafts });\n },\n async createDataset({ commit }, actionParams) {\n const requestOptions = {\n method: 'PUT',\n url: actionParams.url,\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${actionParams.token}`,\n },\n data: actionParams.data,\n };\n\n const result = await axios.request(requestOptions);\n\n if (result.status === 201 || result.status === 204) {\n commit('CHANGE_IS_EDIT_MODE', false);\n commit('CHANGE_IS_DRAFT', false);\n }\n },\n /**\n * Creates a draft dataset\n * @param {*} commit\n * @param {object} dataset - The dataset object\n * @param {string} dataset.id - The ID of the dataset\n * @param {string} dataset.catalog - The ID of the dataset\n * @param {object} dataset.description - The description object of the dataset containing different locales\n * @param {object} dataset.title - The title object of the dataset containing different locales\n * @param {object} dataset.body - the JSON-LD representation of the dataset\n * @returns {Promise<Object>}\n */\n async createUserDraft({ commit }, {\n id, catalog, description = { en: '' }, title = { en: '' }, body = {},\n }) {\n if (!draftApi) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.createDatasetDraft({ id, catalogue: catalog, body });\n commit('CREATE_USER_DRAFT', {\n id, catalog, description, title, body,\n });\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n async deleteUserDraftById({ commit, state }, { id, catalog }) {\n if (!draftApi) return {};\n const draftExists = state.userData.drafts.find(draft => draft.id === id);\n if (!draftExists) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.deleteDatasetDraft({ id, catalogue: catalog });\n\n commit('DELETE_USER_DRAFT', id);\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n async publishUserDraftById({ commit, state }, { id, catalog, body = {} }) {\n if (!draftApi) return {};\n const draftExists = state.userData.drafts.find(draft => draft.id === id);\n if (!draftExists) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.publishDatasetDraft({ id, catalogue: catalog, body });\n commit('DELETE_USER_DRAFT', id);\n commit('UPDATE_USER_DATA_SUCCESS');\n commit('CHANGE_IS_DRAFT', false);\n commit('CHANGE_IS_EDIT_MODE', false);\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n async duplicateDataset({ commit, state }, { id, newId, catalog, url }) {\n\n console.log(id, catalog, url);\n\n const requestOptions = {\n method: 'GET',\n url: url + 'drafts/datasets/' + id + '.nt?' + 'catalogue=' + catalog,\n };\n\n const result = await axios.request(requestOptions);\n\n // if (!draftApi) return {};\n // const draftExists = state.userData.drafts.find(draft => draft.id === id);\n // if (!draftExists) return {};\n\n // commit('UPDATE_USER_DATA_PENDING');\n // let response;\n // try {\n // response = await draftApi.publishDatasetDraft({ id, catalogue: catalog, body });\n // commit('DELETE_USER_DRAFT', id);\n // commit('UPDATE_USER_DATA_SUCCESS');\n // commit('CHANGE_IS_DRAFT', false);\n // commit('CHANGE_IS_EDIT_MODE', false);\n // } catch (ex) {\n // commit('UPDATE_USER_DATA_ERROR');\n // throw ex;\n // }\n\n // return response;\n },\n async publishUserDraft({ dispatch }, { id, catalog, body }) {\n return dispatch('publishUserDraftById', { id, catalog, body });\n },\n async putDatasetToDraft({ commit }, {\n id, catalog, title, description,\n }) {\n if (!draftApi) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await draftApi.putDatasetToDraft({ id, catalogue: catalog });\n commit('PUT_DATASET_TO_DRAFT', {\n id, catalog, title, description,\n });\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n\n return response;\n },\n setIsEditMode({ commit }, bool) {\n commit('CHANGE_IS_EDIT_MODE', bool);\n },\n setIsDraft({ commit }, bool) {\n commit('CHANGE_IS_DRAFT', bool);\n },\n async createPersistentIdentifier({ commit }, { id, catalog, type = 'mock' }) {\n if (!identifiersApi) return {};\n\n commit('UPDATE_USER_DATA_PENDING');\n let response;\n try {\n response = await identifiersApi.createPersistentIdentifier({ id, catalogue: catalog, type });\n commit('UPDATE_USER_DATA_SUCCESS');\n } catch (ex) {\n commit('UPDATE_USER_DATA_ERROR');\n throw ex;\n }\n return response;\n },\n populateDraftAndEdit({ commit }) {\n commit('PREDEFINE_DRAFT_AND_EDIT');\n },\n async createCatalogue({ commit }, actionParams) {\n const requestOptions = {\n method: 'PUT',\n url: actionParams.url,\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${actionParams.token}`,\n },\n data: actionParams.data,\n };\n\n const result = await axios.request(requestOptions);\n\n if (result.status === 201 | result.status === 204) {\n commit('CHANGE_IS_EDIT_MODE', false);\n commit('CHANGE_IS_DRAFT', false); // shouldn't be necessary but for safety\n\n const updatedUserData = cloneDeep(state.userData);\n const catalogPermission = {\n rsid: \"\",\n rsname: actionParams.id,\n scopes: ['dataset:update', 'dataset:delete', 'dataset:create'],\n }\n updatedUserData.permissions.push(catalogPermission);\n commit('SET_USER_DATA', updatedUserData);\n }\n }\n};\n\nconst mutations = {\n SECURITY_AUTH(state, authenticated) {\n state.authenticated = authenticated;\n },\n RTP_TOKEN(state, rtpToken) {\n state.rtptoken = rtpToken;\n },\n SET_KEYCLOAK(state, keycloak) {\n state.keycloak = keycloak;\n },\n SET_USER_DATA(state, userData) {\n state.userData = { ...state.userData, ...userData };\n },\n UPDATE_USER_DATA_PENDING(state) { state.userData.pending = true; },\n UPDATE_USER_DATA_SUCCESS(state) { state.userData.pending = false; },\n UPDATE_USER_DATA_ERROR(state) { state.userData.pending = false; },\n\n CREATE_USER_DRAFT(state, {\n id, catalog, title, description,\n }) {\n state.userData.drafts.push({\n id,\n catalog,\n title,\n description,\n });\n },\n PUT_DATASET_TO_DRAFT(state, {\n id, catalog, title, description,\n }) {\n state.userData.drafts.push({\n id,\n catalog,\n title,\n description,\n });\n },\n DELETE_USER_DRAFT(state, id) {\n const draftIndex = state.userData.drafts.findIndex(draft => draft.id === id);\n if (draftIndex > -1) {\n state.userData.drafts.splice(draftIndex, 1);\n }\n },\n CHANGE_IS_EDIT_MODE(state, bool) {\n state.isEditMode = bool;\n localStorage.setItem('dpi_editmode', bool);\n },\n CHANGE_IS_DRAFT(state, bool) {\n state.isDraft = bool;\n localStorage.setItem('dpi_draftmode', bool);\n },\n PREDEFINE_DRAFT_AND_EDIT(state) {\n const localStorageKeys = Object.keys(localStorage);\n if (localStorageKeys.includes('dpi_editmode')) {\n state.isEditMode = JSON.parse(localStorage.getItem('dpi_editmode'));\n }\n if (localStorageKeys.includes('dpi_draftmode')) {\n state.isDraft = JSON.parse(localStorage.getItem('dpi_draftmode'));\n }\n }\n};\n\nconst module = {\n namespaced: true,\n state,\n actions,\n mutations,\n getters,\n};\n\nexport default module;\n"],"names":["draftApi","identifiersApi","state","getters","permission","scope","catalog","dataset","actions","commit","authenticated","rtptoken","keycloak","dispatch","authToken","rtpToken","hubUrl","decodedRtpToken","decode","permissions","get","roles","createDraftApi","createIdentifiersApi","ex","draftsResponse","drafts","actionParams","requestOptions","result","axios","id","description","title","body","response","draft","newId","url","bool","type","updatedUserData","cloneDeep","catalogPermission","mutations","userData","draftIndex","localStorageKeys","module"],"mappings":";;;;;AASA,IAAIA,GACAC;AAEJ,MAAMC,IAAQ;AAAA,EACZ,eAAe;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,aAAa,CAAC;AAAA,IACd,QAAQ,CAAC;AAAA,IACT,OAAO,CAAC;AAAA,EACV;AAAA,EACA,YAAY;AAAA,EACZ,SAAS;AACX,GAEMC,IAAU;AAAA,EACd,cAAc,CAAAD,MAASA,EAAM;AAAA,EAC7B,aAAa,CAAAA,MAASA,EAAM;AAAA,EAC5B,aAAa,CAAAA,MAASA,EAAM;AAAA,EAC5B,aAAa,CAAAA,MAASA,EAAM;AAAA,EAC5B,aAAa,CAAAA,MAASA,EAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKrC,iBAAiB,CAAAA,MAASA,EAAM,SAAS,YAAY;AAAA;AAAA,IAEnD,CAAcE,MAAA,CAAC,kBAAkB,kBAAkB,gBAAgB,EAChE,MAAM,CAAAC,MAASD,EAAW,OAAO,SAASC,CAAK,CAAC;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAIA,mBAAmB,CAACH,GAAOC,MAClBA,EAAQ,gBAAgB,IAAI,CAAAG,MAAWA,EAAQ,MAAM;AAAA,EAE9D,eAAe,CAAAJ,MAASA,EAAM,SAAS;AAAA,EACvC,iBAAiB,CAAAA,MAASA,EAAM,SAAS,OAAO,IAAI,CAAWK,MAAAA,EAAQ,EAAE;AAAA,EACzE,eAAe,CAAAL,MAASA,EAAM;AAAA,EAC9B,YAAY,CAAAA,MAASA,EAAM;AAC7B,GAEMM,IAAU;AAAA,EACd,UAAU,EAAE,QAAAC,EAAO,GAAGC,GAAe;AACnC,IAAAD,EAAO,iBAAiBC,CAAa;AAAA,EACvC;AAAA,EACA,WAAW,EAAE,QAAAD,KAAU;AACrB,IAAAA,EAAO,iBAAiB,EAAK,GAC7BA,EAAO,aAAa,EAAE;AAAA,EACxB;AAAA,EACA,SAAS,EAAE,QAAAA,EAAO,GAAGE,GAAU;AAC7B,IAAAF,EAAO,aAAaE,CAAQ;AAAA,EAC9B;AAAA,EACA,YAAY,EAAE,QAAAF,EAAO,GAAGG,GAAU;AAChC,IAAAH,EAAO,gBAAgBG,CAAQ;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,eAAe,EAAE,QAAAH,GAAQ,UAAAI,EAAA,GAAY,EAAE,WAAAC,GAAW,UAAAC,GAAU,QAAAC,KAAU;AACtE,QAAA,CAACF,KAAa,CAACC;AACjB,qBAAQ,MAAM,+BAA+B,GAC7CN,EAAO,wBAAwB,GACxB;AAET,IAAAA,EAAO,0BAA0B;AAE7B,QAAA;AACF,UAAI,CAACM;AAAgB,cAAA,IAAI,MAAM,8BAA8B;AAEvD,YAAAE,IAAkBC,EAAOH,CAAQ,GACjCI,IAAcC,EAAIH,GAAiB,6BAA6B,CAAE,CAAA,GAClEI,IAAQD,EAAIH,GAAiB,sBAAsB,CAAE,CAAA;AAE3D,MAAAR,EAAO,iBAAiB;AAAA,QACtB,WAAAK;AAAA,QACA,UAAAC;AAAA,QACA,UAAUE,EAAgB;AAAA,QAC1B,aAAAE;AAAA,QACA,QAAQ,CAAC;AAAA,QACT,OAAAE;AAAA,MAAA,CACD,GAEDrB,IAAWsB,EAAe,EAAE,SAASN,GAAQ,WAAWD,GAAU,GAClEd,IAAiBsB,EAAqB,EAAE,SAASP,GAAQ,WAAWD,GAAU,GAE9EF,EAAS,kBAAkB,GAE3BJ,EAAO,0BAA0B;AAAA,aAC1Be,GAAI;AACX,cAAQ,MAAMA,CAAE,GAChBf,EAAO,wBAAwB;AAAA,IACjC;AACA,WAAO;EACT;AAAA,EACA,MAAM,iBAAiB,EAAE,QAAAA,GAAQ,OAAAP,KAAS;AAExC,QAAI,CADaA,EAAM,SAAS;AACX,YAAA,IAAI,MAAM,oBAAoB;AAG7C,UAAAuB,IAAiB,MAAMzB,EAAS,uBAChC0B,IAASD,EAAe,WAAW,OACpCA,EAAe;AACb,IAAAhB,EAAA,iBAAiB,EAAE,QAAAiB,EAAA,CAAQ;AAAA,EACpC;AAAA,EACA,MAAM,cAAc,EAAE,QAAAjB,KAAUkB,GAAc;AAC5C,UAAMC,IAAiB;AAAA,MACrB,QAAQ;AAAA,MACR,KAAKD,EAAa;AAAA,MAClB,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,eAAe,UAAUA,EAAa,KAAK;AAAA,MAC7C;AAAA,MACA,MAAMA,EAAa;AAAA,IAAA,GAGfE,IAAS,MAAMC,EAAM,QAAQF,CAAc;AAEjD,KAAIC,EAAO,WAAW,OAAOA,EAAO,WAAW,SAC7CpB,EAAO,uBAAuB,EAAK,GACnCA,EAAO,mBAAmB,EAAK;AAAA,EAEnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,gBAAgB,EAAE,QAAAA,KAAU;AAAA,IAChC,IAAAsB;AAAA,IAAI,SAAAzB;AAAA,IAAS,aAAA0B,IAAc,EAAE,IAAI,GAAG;AAAA,IAAG,OAAAC,IAAQ,EAAE,IAAI,GAAG;AAAA,IAAG,MAAAC,IAAO,CAAC;AAAA,EAAA,GAClE;AACD,QAAI,CAAClC;AAAU,aAAO;AAEtB,IAAAS,EAAO,0BAA0B;AAC7B,QAAA0B;AACA,QAAA;AACS,MAAAA,IAAA,MAAMnC,EAAS,mBAAmB,EAAE,IAAA+B,GAAI,WAAWzB,GAAS,MAAA4B,GAAM,GAC7EzB,EAAO,qBAAqB;AAAA,QAC1B,IAAAsB;AAAA,QAAI,SAAAzB;AAAA,QAAS,aAAA0B;AAAA,QAAa,OAAAC;AAAA,QAAO,MAAAC;AAAA,MAAA,CAClC,GACDzB,EAAO,0BAA0B;AAAA,aAC1Be,GAAI;AACX,YAAAf,EAAO,wBAAwB,GACzBe;AAAA,IACR;AAEO,WAAAW;AAAA,EACT;AAAA,EACA,MAAM,oBAAoB,EAAE,QAAA1B,GAAQ,OAAAP,KAAS,EAAE,IAAA6B,GAAI,SAAAzB,KAAW;AAC5D,QAAI,CAACN;AAAU,aAAO;AAEtB,QAAI,CADgBE,EAAM,SAAS,OAAO,KAAK,CAASkC,MAAAA,EAAM,OAAOL,CAAE;AACrD,aAAO;AAEzB,IAAAtB,EAAO,0BAA0B;AAC7B,QAAA0B;AACA,QAAA;AACF,MAAAA,IAAW,MAAMnC,EAAS,mBAAmB,EAAE,IAAA+B,GAAI,WAAWzB,GAAS,GAEvEG,EAAO,qBAAqBsB,CAAE,GAC9BtB,EAAO,0BAA0B;AAAA,aAC1Be,GAAI;AACX,YAAAf,EAAO,wBAAwB,GACzBe;AAAA,IACR;AAEO,WAAAW;AAAA,EACT;AAAA,EACA,MAAM,qBAAqB,EAAE,QAAA1B,GAAQ,OAAAP,EAAAA,GAAS,EAAE,IAAA6B,GAAI,SAAAzB,GAAS,MAAA4B,IAAO,CAAA,KAAM;AACxE,QAAI,CAAClC;AAAU,aAAO;AAEtB,QAAI,CADgBE,EAAM,SAAS,OAAO,KAAK,CAASkC,MAAAA,EAAM,OAAOL,CAAE;AACrD,aAAO;AAEzB,IAAAtB,EAAO,0BAA0B;AAC7B,QAAA0B;AACA,QAAA;AACS,MAAAA,IAAA,MAAMnC,EAAS,oBAAoB,EAAE,IAAA+B,GAAI,WAAWzB,GAAS,MAAA4B,GAAM,GAC9EzB,EAAO,qBAAqBsB,CAAE,GAC9BtB,EAAO,0BAA0B,GACjCA,EAAO,mBAAmB,EAAK,GAC/BA,EAAO,uBAAuB,EAAK;AAAA,aAC5Be,GAAI;AACX,YAAAf,EAAO,wBAAwB,GACzBe;AAAA,IACR;AAEO,WAAAW;AAAA,EACT;AAAA,EACA,MAAM,iBAAiB,EAAE,QAAA1B,GAAQ,OAAAP,EAAAA,GAAS,EAAE,IAAA6B,GAAI,OAAAM,GAAO,SAAA/B,GAAS,KAAAgC,KAAO;AAE7D,YAAA,IAAIP,GAAIzB,GAASgC,CAAG;AAE5B,UAAMV,IAAiB;AAAA,MACrB,QAAQ;AAAA,MACR,KAAKU,IAAM,qBAAqBP,IAAK,mBAAwBzB;AAAA,IAAA;AAGhD,UAAMwB,EAAM,QAAQF,CAAc;AAAA,EAoBnD;AAAA,EACA,MAAM,iBAAiB,EAAE,UAAAf,KAAY,EAAE,IAAAkB,GAAI,SAAAzB,GAAS,MAAA4B,KAAQ;AAC1D,WAAOrB,EAAS,wBAAwB,EAAE,IAAAkB,GAAI,SAAAzB,GAAS,MAAA4B,GAAM;AAAA,EAC/D;AAAA,EACA,MAAM,kBAAkB,EAAE,QAAAzB,KAAU;AAAA,IAClC,IAAAsB;AAAA,IAAI,SAAAzB;AAAA,IAAS,OAAA2B;AAAA,IAAO,aAAAD;AAAA,EAAA,GACnB;AACD,QAAI,CAAChC;AAAU,aAAO;AAEtB,IAAAS,EAAO,0BAA0B;AAC7B,QAAA0B;AACA,QAAA;AACF,MAAAA,IAAW,MAAMnC,EAAS,kBAAkB,EAAE,IAAA+B,GAAI,WAAWzB,GAAS,GACtEG,EAAO,wBAAwB;AAAA,QAC7B,IAAAsB;AAAA,QAAI,SAAAzB;AAAA,QAAS,OAAA2B;AAAA,QAAO,aAAAD;AAAA,MAAA,CACrB,GACDvB,EAAO,0BAA0B;AAAA,aAC1Be,GAAI;AACX,YAAAf,EAAO,wBAAwB,GACzBe;AAAA,IACR;AAEO,WAAAW;AAAA,EACT;AAAA,EACA,cAAc,EAAE,QAAA1B,EAAO,GAAG8B,GAAM;AAC9B,IAAA9B,EAAO,uBAAuB8B,CAAI;AAAA,EACpC;AAAA,EACA,WAAW,EAAE,QAAA9B,EAAO,GAAG8B,GAAM;AAC3B,IAAA9B,EAAO,mBAAmB8B,CAAI;AAAA,EAChC;AAAA,EACA,MAAM,2BAA2B,EAAE,QAAA9B,KAAU,EAAE,IAAAsB,GAAI,SAAAzB,GAAS,MAAAkC,IAAO,UAAU;AAC3E,QAAI,CAACvC;AAAgB,aAAO;AAE5B,IAAAQ,EAAO,0BAA0B;AAC7B,QAAA0B;AACA,QAAA;AACS,MAAAA,IAAA,MAAMlC,EAAe,2BAA2B,EAAE,IAAA8B,GAAI,WAAWzB,GAAS,MAAAkC,GAAM,GAC3F/B,EAAO,0BAA0B;AAAA,aAC1Be,GAAI;AACX,YAAAf,EAAO,wBAAwB,GACzBe;AAAA,IACR;AACO,WAAAW;AAAA,EACT;AAAA,EACA,qBAAqB,EAAE,QAAA1B,KAAU;AAC/B,IAAAA,EAAO,0BAA0B;AAAA,EACnC;AAAA,EACA,MAAM,gBAAgB,EAAE,QAAAA,KAAUkB,GAAc;AAC9C,UAAMC,IAAiB;AAAA,MACrB,QAAQ;AAAA,MACR,KAAKD,EAAa;AAAA,MAClB,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,eAAe,UAAUA,EAAa,KAAK;AAAA,MAC7C;AAAA,MACA,MAAMA,EAAa;AAAA,IAAA,GAGfE,IAAS,MAAMC,EAAM,QAAQF,CAAc;AAEjD,QAAIC,EAAO,WAAW,MAAMA,EAAO,WAAW,KAAK;AACjD,MAAApB,EAAO,uBAAuB,EAAK,GACnCA,EAAO,mBAAmB,EAAK;AAEzB,YAAAgC,IAAkBC,EAAUxC,EAAM,QAAQ,GAC1CyC,IAAoB;AAAA,QACxB,MAAM;AAAA,QACN,QAAQhB,EAAa;AAAA,QACrB,QAAQ,CAAC,kBAAkB,kBAAkB,gBAAgB;AAAA,MAAA;AAE/C,MAAAc,EAAA,YAAY,KAAKE,CAAiB,GAClDlC,EAAO,iBAAiBgC,CAAe;AAAA,IACzC;AAAA,EACF;AACF,GAEMG,IAAY;AAAA,EAChB,cAAc1C,GAAOQ,GAAe;AAClCR,IAAAA,EAAM,gBAAgBQ;AAAA,EACxB;AAAA,EACA,UAAUR,GAAOa,GAAU;AACzBb,IAAAA,EAAM,WAAWa;AAAA,EACnB;AAAA,EACA,aAAab,GAAOU,GAAU;AAC5BV,IAAAA,EAAM,WAAWU;AAAA,EACnB;AAAA,EACA,cAAcV,GAAO2C,GAAU;AAC7B3C,IAAAA,EAAM,WAAW,EAAE,GAAGA,EAAM,UAAU,GAAG2C;EAC3C;AAAA,EACA,yBAAyB3C,GAAO;AAAEA,IAAAA,EAAM,SAAS,UAAU;AAAA,EAAM;AAAA,EACjE,yBAAyBA,GAAO;AAAEA,IAAAA,EAAM,SAAS,UAAU;AAAA,EAAO;AAAA,EAClE,uBAAuBA,GAAO;AAAEA,IAAAA,EAAM,SAAS,UAAU;AAAA,EAAO;AAAA,EAEhE,kBAAkBA,GAAO;AAAA,IACvB,IAAA6B;AAAA,IAAI,SAAAzB;AAAA,IAAS,OAAA2B;AAAA,IAAO,aAAAD;AAAA,EAAA,GACnB;AACD9B,IAAAA,EAAM,SAAS,OAAO,KAAK;AAAA,MACzB,IAAA6B;AAAA,MACA,SAAAzB;AAAA,MACA,OAAA2B;AAAA,MACA,aAAAD;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EACA,qBAAqB9B,GAAO;AAAA,IAC1B,IAAA6B;AAAA,IAAI,SAAAzB;AAAA,IAAS,OAAA2B;AAAA,IAAO,aAAAD;AAAA,EAAA,GACnB;AACD9B,IAAAA,EAAM,SAAS,OAAO,KAAK;AAAA,MACzB,IAAA6B;AAAA,MACA,SAAAzB;AAAA,MACA,OAAA2B;AAAA,MACA,aAAAD;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EACA,kBAAkB9B,GAAO6B,GAAI;AACrB,UAAAe,IAAa5C,EAAM,SAAS,OAAO,UAAU,CAASkC,MAAAA,EAAM,OAAOL,CAAE;AAC3E,IAAIe,IAAa,MACf5C,EAAM,SAAS,OAAO,OAAO4C,GAAY,CAAC;AAAA,EAE9C;AAAA,EACA,oBAAoB5C,GAAOqC,GAAM;AAC/BrC,IAAAA,EAAM,aAAaqC,GACN,aAAA,QAAQ,gBAAgBA,CAAI;AAAA,EAC3C;AAAA,EACA,gBAAgBrC,GAAOqC,GAAM;AAC3BrC,IAAAA,EAAM,UAAUqC,GACH,aAAA,QAAQ,iBAAiBA,CAAI;AAAA,EAC5C;AAAA,EACA,yBAAyBrC,GAAO;AACxB,UAAA6C,IAAmB,OAAO,KAAK,YAAY;AAC7C,IAAAA,EAAiB,SAAS,cAAc,MAC1C7C,EAAM,aAAa,KAAK,MAAM,aAAa,QAAQ,cAAc,CAAC,IAEhE6C,EAAiB,SAAS,eAAe,MAC3C7C,EAAM,UAAU,KAAK,MAAM,aAAa,QAAQ,eAAe,CAAC;AAAA,EAEpE;AACF,GAEM8C,IAAS;AAAA,EACb,YAAY;AAAA,EACZ,OAAA9C;AAAA,EACA,SAAAM;AAAA,EACA,WAAAoC;AAAA,EACA,SAAAzC;AACF;"}
|