@provoly/dashboard 0.19.4 → 0.19.5
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/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -6
- package/esm2022/lib/core/i18n/en.translations.mjs +3 -1
- package/esm2022/lib/core/i18n/fr.translations.mjs +3 -1
- package/esm2022/lib/core/model/display-options.interface.mjs +29 -36
- package/esm2022/lib/core/store/config/config.effects.mjs +2 -2
- package/esm2022/lib/core/store/search/search.service.mjs +7 -4
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -4
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -1
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +7 -4
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -2
- package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -2
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +39 -8
- package/esm2022/presentation/components/presentation.component.mjs +17 -10
- package/esm2022/toolbox/components/toolbox.component.mjs +15 -12
- package/fesm2022/provoly-dashboard-dataset.mjs +2 -5
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +54 -16
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +14 -11
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +71 -67
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/i18n/en.translations.d.ts +2 -0
- package/lib/core/i18n/fr.translations.d.ts +2 -0
- package/lib/core/model/display-options.interface.d.ts +3 -8
- package/lib/dashboard/store/dashboard.actions.d.ts +8 -6
- package/lib/dashboard/store/dashboard.effects.d.ts +9 -5
- package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
- package/package.json +37 -37
- package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +10 -2
- package/presentation/components/presentation.component.d.ts +5 -3
- package/toolbox/components/toolbox.component.d.ts +2 -1
|
@@ -3,6 +3,7 @@ import equal from 'fast-deep-equal/es6';
|
|
|
3
3
|
import { DashboardGridLayout } from '../../core/model/manifest.interface';
|
|
4
4
|
import { ManifestUtils } from './manifest-utils.class';
|
|
5
5
|
import { ProxyUtils } from './proxy.utils';
|
|
6
|
+
import { BASE_DISPLAY_OPTIONS } from '../../core/model/display-options.interface';
|
|
6
7
|
const NEW_WINDOW_TARGET = -1;
|
|
7
8
|
const feature = createFeatureSelector('@pry/dashboard');
|
|
8
9
|
const manifests = createSelector(feature, (state) => state?.manifests);
|
|
@@ -83,7 +84,7 @@ const datasourceFilters = createSelector(feature, (state) => state?.manifests.ma
|
|
|
83
84
|
obj), {})
|
|
84
85
|
: {});
|
|
85
86
|
const wmsFeatures = createSelector(feature, (state) => state?.wmsFeatures);
|
|
86
|
-
const displayOptions = createSelector(feature, (state) => state?.display);
|
|
87
|
+
const displayOptions = createSelector(feature, (state) => state?.display ?? BASE_DISPLAY_OPTIONS);
|
|
87
88
|
const capabilities = createSelector(feature, (state) => state?.capabilities);
|
|
88
89
|
export const DashboardSelectors = {
|
|
89
90
|
feature,
|
|
@@ -124,4 +125,4 @@ export const DashboardSelectors = {
|
|
|
124
125
|
displayOptions,
|
|
125
126
|
capabilities
|
|
126
127
|
};
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUN0RixPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUd4QyxPQUFPLEVBQ0wsbUJBQW1CLEVBS3BCLE1BQU0scUNBQXFDLENBQUM7QUFLN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU3QixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUN4RSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZGLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsU0FBUztBQUNULGFBQWE7QUFDYixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFB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Y0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMzRixNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFGLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsT0FBTztJQUNQLElBQUk7SUFDSixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxhQUFhO0lBQ2IsVUFBVTtJQUNWLE9BQU87SUFDUCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixjQUFjO0lBQ2QsT0FBTztJQUNQLFVBQVU7SUFDVixZQUFZO0lBQ1osT0FBTztJQUNQLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxjQUFjO0lBQ2QsWUFBWTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgRmlsdGVyLCBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZE1hbmlmZXN0LFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgV2lkZ2V0TGF5b3V0LFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRPcmRlciB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQsIFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhc2hib2FyZENlbGxQYXJhbXMgfSBmcm9tICcuL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IERhc2hib2FyZFN0YXRlIH0gZnJvbSAnLi9kYXNoYm9hcmQucmVkdWNlcnMnO1xuaW1wb3J0IHsgTWFuaWZlc3RVdGlscyB9IGZyb20gJy4vbWFuaWZlc3QtdXRpbHMuY2xhc3MnO1xuaW1wb3J0IHsgUHJveHlVdGlscyB9IGZyb20gJy4vcHJveHkudXRpbHMnO1xuXG5jb25zdCBORVdfV0lORE9XX1RBUkdFVCA9IC0xO1xuXG5jb25zdCBmZWF0dXJlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPERhc2hib2FyZFN0YXRlPignQHByeS9kYXNoYm9hcmQnKTtcbmNvbnN0IG1hbmlmZXN0cyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5tYW5pZmVzdHMpO1xuY29uc3QgcmFuayA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzPy50ZW5hbnRzLmluZGV4T2YobWFuaWZlc3RzLnNlbmRlcikpO1xuY29uc3QgY3VycmVudE1hbmlmZXN0SWQgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cy5jdXJyZW50SWQpO1xuY29uc3QgZ2xvYmFsTWFuaWZlc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgbWFuaWZlc3RzLFxuICAvLyBAdHMtaWdub3JlXG4gIChtYW5pZmVzdHMpID0+ICh7IHdpbmRvd3M6IFtdLCAuLi5tYW5pZmVzdHM/Lm1hbmlmZXN0IH0gPz8gKHsgd2luZG93czogW10gfSBhcyBHbG9iYWxNYW5pZmVzdCkpXG4pO1xuY29uc3QgbWFuaWZlc3REYXRhc291cmNlcyA9IGNyZWF0ZVNlbGVjdG9yKGdsb2JhbE1hbmlmZXN0LCAobWFuaWZlc3QpID0+XG4gIE1hbmlmZXN0VXRpbHMuZ2V0RGF0YXNvdXJjZXNVc2VkQnlNYW5pZmVzdChtYW5pZmVzdClcbik7XG5jb25zdCBzdGF0aWNNYW5pZmVzdCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBtYW5pZmVzdHMsXG4gIC8vIEB0cy1pZ25vcmVcbiAgKG1hbmlmZXN0cykgPT4gKHsgd2luZG93czogW10sIC4uLm1hbmlmZXN0cz8uc3RhdGljTWFuaWZlc3QgfSA/PyAoeyB3aW5kb3dzOiBbXSB9IGFzIEdsb2JhbE1hbmlmZXN0KSlcbik7XG5jb25zdCBsb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiAhIW1hbmlmZXN0cz8ubG9hZGluZyk7XG5jb25zdCByZWZyZXNoUmF0ZXMgPSBjcmVhdGVTZWxlY3RvcihnbG9iYWxNYW5pZmVzdCwgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzLnJlZnJlc2hSYXRlcyA/PyB7fSk7XG5jb25zdCB3aW5kb3dNYW5pZmVzdCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnbG9iYWxNYW5pZmVzdCxcbiAgcmFuayxcbiAgKG1hbmlmZXN0LCByYW5rKSA9PiBtYW5pZmVzdC53aW5kb3dzW3JhbmtdID8/IDxEYXNoYm9hcmRNYW5pZmVzdD57IHdpZGdldHM6IFtdIH1cbik7XG5jb25zdCBncmlkTGF5b3V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHdpbmRvd01hbmlmZXN0LFxuICAobWFuaWZlc3QpID0+IChtYW5pZmVzdC5ncmlkID8/IHt9KS5sYXlvdXQgPz8gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUxcbik7XG5jb25zdCBtZW1vaXplV2lkZ2V0TWFuaWZlc3QgPSB7fSBhcyBhbnk7XG5jb25zdCB3aWRnZXRNYW5pZmVzdCA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gIGlmICghbWVtb2l6ZVdpZGdldE1hbmlmZXN0W2luZGV4XSkge1xuICAgIG1lbW9pemVXaWRnZXRNYW5pZmVzdFtpbmRleF0gPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHdpbmRvd01hbmlmZXN0LFxuICAgICAgKHdpbmRvd01hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCkgPT5cbiAgICAgICAgd2luZG93TWFuaWZlc3Qud2lkZ2V0c1tpbmRleF0gPz9cbiAgICAgICAgKHtcbiAgICAgICAgICB0eXBlOiAncGxhY2Vob2xkZXInLFxuICAgICAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCB3aWR0aDogMSwgaGVpZ2h0OiAxIH1cbiAgICAgICAgfSBhcyBXaWRnZXRNYW5pZmVzdClcbiAgICApO1xuICB9XG4gIHJldHVybiBtZW1vaXplV2lkZ2V0TWFuaWZlc3RbaW5kZXhdIGFzIE1lbW9pemVkU2VsZWN0b3I8RGFzaGJvYXJkTWFuaWZlc3QsIFdpZGdldE1hbmlmZXN0Pjtcbn07XG5jb25zdCBtYW5pZmVzdHNMaXN0ID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiBtYW5pZmVzdHMubGlzdCk7XG5jb25zdCB0ZW5hbnRzID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiBtYW5pZmVzdHMudGVuYW50cyA/PyA8c3RyaW5nW10+W10pO1xuY29uc3QgdGFyZ2V0VGVuYW50c0luZGV4ZXMgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIHJhbmssIChtYW5pZmVzdHMsIHJhbmspID0+IFtcbiAgTkVXX1dJTkRPV19UQVJHRVQsXG4gIC4uLihtYW5pZmVzdHMudGVuYW50cyA/PyAoW10gYXMgc3RyaW5nW10pKS5tYXAoKHRlbiwgaWR4KSA9PiBpZHgpLmZpbHRlcigoaWR4KSA9PiBpZHggIT09IHJhbmspXG5dKTtcbmNvbnN0IHJlc3VsdHMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8ucmVzdWx0cyk7XG5cbmNvbnN0IHJlc3VsdFNldHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgcmVzdWx0cyxcbiAgKHJlc3VsdHMpID0+IChQcm94eVV0aWxzLlJlc3VsdFNldHMocmVzdWx0cy5yZXN1bHRTZXRzKSBhcyBSZXN1bHRTZXRzKSA/PyAoe30gYXMgUmVzdWx0U2V0cylcbik7XG5jb25zdCByZXN1bHRTZXRzUGFyYW1zID0gY3JlYXRlU2VsZWN0b3IoXG4gIHJlc3VsdHMsXG4gIChyZXN1bHRzKSA9PiByZXN1bHRzLnJlc3VsdFNldHNQYXJhbXMgPz8gKHt9IGFzIHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSlcbik7XG5jb25zdCBuYW1lZFF1ZXJpZXNOYW1lcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdFNldHMsIChzdGF0ZTogUmVzdWx0U2V0cykgPT4gT2JqZWN0LmtleXMoc3RhdGUpID8/IDxzdHJpbmdbXT5bXSk7XG5jb25zdCBhdmFpbGFibGVOYW1lZFF1ZXJpZXMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4ge1xuICByZXR1cm4gWy4uLm5ldyBTZXQoWy4uLnJlc3VsdHMuYXZhaWxhYmxlRGF0YXNvdXJjZU5hbWVzLCAuLi5PYmplY3Qua2V5cyhyZXN1bHRzLnJlc3VsdFNldHMpXSldID8/IDxzdHJpbmdbXT5bXTtcbn0pO1xuY29uc3QgZGVmYXVsdERhdGFzb3VyY2VOYW1lcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLmRlZmF1bHREYXRhc291cmNlID8/ICdjdXJyZW50Jyk7XG5jb25zdCBzZWxlY3RlZEl0ZW1JZHMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4gcmVzdWx0cy5zZWxlY3RlZEl0ZW1zID8/IChbXSBhcyBzdHJpbmdbXSkpO1xuY29uc3Qgb2JqZWN0RGV0YWlscyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLm9iamVjdERldGFpbHMgPz8gKHt9IGFzIHsgW2lkOiBzdHJpbmddOiBJdGVtIH0pKTtcbmNvbnN0IHF1aWNrT3JkZXIgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4gcmVzdWx0cy5xdWlja09yZGVyID8/ICh7fSBhcyB7IFtpZDogc3RyaW5nXTogUmVzdWx0T3JkZXIgfSkpO1xuY29uc3QgYWxsSXRlbXMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT5cbiAgT2JqZWN0LmtleXMocmVzdWx0cy5yZXN1bHRTZXRzKVxuICAgIC5tYXAoKHJzS2V5KSA9PlxuICAgICAgT2JqZWN0LmtleXMocmVzdWx0cy5yZXN1bHRTZXRzW3JzS2V5XS5pdGVtcylcbiAgICAgICAgLm1hcCgoY2xhc3NLZXkpID0+IChyZXN1bHRzLnJlc3VsdFNldHNbcnNLZXldIGFzIFJlc3VsdFNldCkuaXRlbXNbY2xhc3NLZXldKVxuICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgIClcbiAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuKTtcbmNvbnN0IGdldEl0ZW1zQnlJZHMgPSAoaWRzOiBzdHJpbmdbXSkgPT5cbiAgY3JlYXRlU2VsZWN0b3IoYWxsSXRlbXMsIChpdGVtcykgPT4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpZHMuaW5jbHVkZXMoaXRlbS5pZCkpKTtcbmNvbnN0IHNlbGVjdGVkSXRlbXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0ZWRJdGVtSWRzLFxuICBhbGxJdGVtcyxcbiAgKGl0ZW1OYW1lcywgYWxsSXRlbXMpID0+IGl0ZW1OYW1lcy5tYXAoKG5hbWUpID0+IGFsbEl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gbmFtZSkpID8/IChbXSBhcyBJdGVtW10pXG4pO1xuY29uc3QgZGFzaGJvYXJkID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmRhc2hib2FyZCA/PyB7fSk7XG5jb25zdCBkYXNoYm9hcmRDZWxsUGFyYW1zID0gY3JlYXRlU2VsZWN0b3IoZGFzaGJvYXJkLCAoZGFzaGJvYXJkKSA9PiBkYXNoYm9hcmQucGFyYW1zID8/IDxEYXNoYm9hcmRDZWxsUGFyYW1zPnt9KTtcbmNvbnN0IGRhc2hib2FyZEVkaXRpb25Nb2RlID0gY3JlYXRlU2VsZWN0b3IoZGFzaGJvYXJkLCAoZGFzaGJvYXJkKSA9PiBkYXNoYm9hcmQuZWRpdGlvbk1vZGUgPz8gZmFsc2UpO1xuY29uc3QgbmFtZWRRdWVyaWVzVXNlcyA9IGNyZWF0ZVNlbGVjdG9yKGdsb2JhbE1hbmlmZXN0LCAobWFuaWZlc3QpID0+XG4gIG1hbmlmZXN0LndpbmRvd3NcbiAgICAubWFwKCh3aW5kb3csIGlkeCkgPT4gKHsgd2luZG93SW5kZXg6IGlkeCwgd2lkZ2V0czogd2luZG93LndpZGdldHMgfSkpXG4gICAgLm1hcCgoeyB3aW5kb3dJbmRleCwgd2lkZ2V0cyB9KSA9PlxuICAgICAgd2lkZ2V0cy5tYXAoKHdpZGdldCkgPT5cbiAgICAgICAgKEFycmF5LmlzQXJyYXkod2lkZ2V0LmRhdGFzb3VyY2UpID8gd2lkZ2V0LmRhdGFzb3VyY2UgOiBbd2lkZ2V0LmRhdGFzb3VyY2VdKVxuICAgICAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgLm1hcCgocnNOYW1lKSA9PiAoe1xuICAgICAgICAgICAgcnNOYW1lLFxuICAgICAgICAgICAgd2luZG93SW5kZXgsXG4gICAgICAgICAgICB0eXBlOiB3aWRnZXQudHlwZSxcbiAgICAgICAgICAgIGxheW91dDogd2lkZ2V0LmxheW91dFxuICAgICAgICAgIH0pKVxuICAgICAgKVxuICAgIClcbiAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgLnJlZHVjZShcbiAgICAgIChwLCBjKSA9PiAoeyAuLi5wLCBbYy5yc05hbWUgPz8gJyddOiBbLi4uKHBbYy5yc05hbWUgPz8gJyddIHx8IFtdKSwgeyAuLi5jIH1dIH0pLFxuICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiB7IHdpbmRvd0luZGV4OiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbGF5b3V0OiBXaWRnZXRMYXlvdXQ7IHJzTmFtZT86IHN0cmluZyB9W10gfVxuICAgIClcbik7XG5jb25zdCBwcmVzZW50YXRpb24gPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8ucHJlc2VudGF0aW9uKTtcbmNvbnN0IGlzQ3VycmVudFByZXNlbnRhdGlvbk1vZGlmaWVkID0gY3JlYXRlU2VsZWN0b3IoXG4gIHByZXNlbnRhdGlvbixcbiAgZ2xvYmFsTWFuaWZlc3QsXG4gIChzdGF0ZSwgZ2xvYmFsKSA9PiAhZXF1YWwoZ2xvYmFsLCBzdGF0ZS5pbml0aWFsKVxuKTtcbmNvbnN0IGlzQ3VycmVudFByZXNlbnRhdGlvbk93bmVyID0gY3JlYXRlU2VsZWN0b3IocHJlc2VudGF0aW9uLCAoc3RhdGUpID0+ICEhc3RhdGUuY3VycmVudCAmJiBzdGF0ZS5jdXJyZW50Lm93bmVyKTtcblxuY29uc3QgZmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyA/PyBbXSk7XG5jb25zdCBkYXRhc291cmNlRmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+XG4gIHN0YXRlPy5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVyc1xuICAgID8gc3RhdGU/Lm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzLnJlZHVjZShcbiAgICAgICAgKG9iajogeyBbZGF0YXNvdXJjZUlkOiBzdHJpbmddOiBGaWx0ZXJDb250ZXh0W10gfSwgZmlsdGVyOiBGaWx0ZXIpID0+IChcbiAgICAgICAgICBmaWx0ZXIuYXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAob2JqW2F0dHJpYnV0ZS5kYXRhc291cmNlXSB8fCAob2JqW2F0dHJpYnV0ZS5kYXRhc291cmNlXSA9IFtdKSkucHVzaCh7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmlkLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogZmlsdGVyLm9wZXJhdG9yID8/ICcnLFxuICAgICAgICAgICAgICB2YWx1ZTogZmlsdGVyLnZhbHVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgb2JqXG4gICAgICAgICksXG4gICAgICAgIHt9XG4gICAgICApXG4gICAgOiB7fVxuKTtcbmNvbnN0IHdtc0ZlYXR1cmVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/Lndtc0ZlYXR1cmVzKTtcbmNvbnN0IGRpc3BsYXlPcHRpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmRpc3BsYXkpO1xuY29uc3QgY2FwYWJpbGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmNhcGFiaWxpdGllcyk7XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRTZWxlY3RvcnMgPSB7XG4gIGZlYXR1cmUsXG4gIHJhbmssXG4gIGN1cnJlbnRNYW5pZmVzdElkLFxuICBnbG9iYWxNYW5pZmVzdCxcbiAgbWFuaWZlc3REYXRhc291cmNlcyxcbiAgcmVmcmVzaFJhdGVzLFxuICB3aW5kb3dNYW5pZmVzdCxcbiAgd2lkZ2V0TWFuaWZlc3QsXG4gIG1hbmlmZXN0c0xpc3QsXG4gIGdyaWRMYXlvdXQsXG4gIHRlbmFudHMsXG4gIHJlc3VsdFNldHMsXG4gIHJlc3VsdFNldHNQYXJhbXMsXG4gIG5hbWVkUXVlcmllc05hbWVzLFxuICBuYW1lZFF1ZXJpZXNVc2VzLFxuICBhdmFpbGFibGVOYW1lZFF1ZXJpZXMsXG4gIGRlZmF1bHREYXRhc291cmNlTmFtZXMsXG4gIHNlbGVjdGVkSXRlbUlkcyxcbiAgYWxsSXRlbXMsXG4gIGdldEl0ZW1zQnlJZHMsXG4gIHNlbGVjdGVkSXRlbXMsXG4gIG9iamVjdERldGFpbHMsXG4gIHRhcmdldFRlbmFudHNJbmRleGVzLFxuICBkYXNoYm9hcmQsXG4gIGRhc2hib2FyZENlbGxQYXJhbXMsXG4gIGRhc2hib2FyZEVkaXRpb25Nb2RlLFxuICBzdGF0aWNNYW5pZmVzdCxcbiAgbG9hZGluZyxcbiAgcXVpY2tPcmRlcixcbiAgcHJlc2VudGF0aW9uLFxuICBmaWx0ZXJzLFxuICBpc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCxcbiAgaXNDdXJyZW50UHJlc2VudGF0aW9uT3duZXIsXG4gIGRhdGFzb3VyY2VGaWx0ZXJzLFxuICB3bXNGZWF0dXJlcyxcbiAgZGlzcGxheU9wdGlvbnMsXG4gIGNhcGFiaWxpdGllc1xufTtcbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUN0RixPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUd4QyxPQUFPLEVBQ0wsbUJBQW1CLEVBS3BCLE1BQU0scUNBQXFDLENBQUM7QUFLN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU3QixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUN4RSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZGLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsU0FBUztBQUNULGFBQWE7QUFD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Q0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFDO0FBQ0YsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMzRixNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xILE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsT0FBTztJQUNQLElBQUk7SUFDSixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxhQUFhO0lBQ2IsVUFBVTtJQUNWLE9BQU87SUFDUCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixjQUFjO0lBQ2QsT0FBTztJQUNQLFVBQVU7SUFDVixZQUFZO0lBQ1osT0FBTztJQUNQLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxjQUFjO0lBQ2QsWUFBWTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgRmlsdGVyLCBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZE1hbmlmZXN0LFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgV2lkZ2V0TGF5b3V0LFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRPcmRlciB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQsIFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhc2hib2FyZENlbGxQYXJhbXMgfSBmcm9tICcuL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IERhc2hib2FyZFN0YXRlIH0gZnJvbSAnLi9kYXNoYm9hcmQucmVkdWNlcnMnO1xuaW1wb3J0IHsgTWFuaWZlc3RVdGlscyB9IGZyb20gJy4vbWFuaWZlc3QtdXRpbHMuY2xhc3MnO1xuaW1wb3J0IHsgUHJveHlVdGlscyB9IGZyb20gJy4vcHJveHkudXRpbHMnO1xuaW1wb3J0IHsgQkFTRV9ESVNQTEFZX09QVElPTlMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2Rpc3BsYXktb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5jb25zdCBORVdfV0lORE9XX1RBUkdFVCA9IC0xO1xuXG5jb25zdCBmZWF0dXJlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPERhc2hib2FyZFN0YXRlPignQHByeS9kYXNoYm9hcmQnKTtcbmNvbnN0IG1hbmlmZXN0cyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5tYW5pZmVzdHMpO1xuY29uc3QgcmFuayA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzPy50ZW5hbnRzLmluZGV4T2YobWFuaWZlc3RzLnNlbmRlcikpO1xuY29uc3QgY3VycmVudE1hbmlmZXN0SWQgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cy5jdXJyZW50SWQpO1xuY29uc3QgZ2xvYmFsTWFuaWZlc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgbWFuaWZlc3RzLFxuICAvLyBAdHMtaWdub3JlXG4gIChtYW5pZmVzdHMpID0+ICh7IHdpbmRvd3M6IFtdLCAuLi5tYW5pZmVzdHM/Lm1hbmlmZXN0IH0gPz8gKHsgd2luZG93czogW10gfSBhcyBHbG9iYWxNYW5pZmVzdCkpXG4pO1xuY29uc3QgbWFuaWZlc3REYXRhc291cmNlcyA9IGNyZWF0ZVNlbGVjdG9yKGdsb2JhbE1hbmlmZXN0LCAobWFuaWZlc3QpID0+XG4gIE1hbmlmZXN0VXRpbHMuZ2V0RGF0YXNvdXJjZXNVc2VkQnlNYW5pZmVzdChtYW5pZmVzdClcbik7XG5jb25zdCBzdGF0aWNNYW5pZmVzdCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBtYW5pZmVzdHMsXG4gIC8vIEB0cy1pZ25vcmVcbiAgKG1hbmlmZXN0cykgPT4gKHsgd2luZG93czogW10sIC4uLm1hbmlmZXN0cz8uc3RhdGljTWFuaWZlc3QgfSA/PyAoeyB3aW5kb3dzOiBbXSB9IGFzIEdsb2JhbE1hbmlmZXN0KSlcbik7XG5jb25zdCBsb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiAhIW1hbmlmZXN0cz8ubG9hZGluZyk7XG5jb25zdCByZWZyZXNoUmF0ZXMgPSBjcmVhdGVTZWxlY3RvcihnbG9iYWxNYW5pZmVzdCwgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzLnJlZnJlc2hSYXRlcyA/PyB7fSk7XG5jb25zdCB3aW5kb3dNYW5pZmVzdCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnbG9iYWxNYW5pZmVzdCxcbiAgcmFuayxcbiAgKG1hbmlmZXN0LCByYW5rKSA9PiBtYW5pZmVzdC53aW5kb3dzW3JhbmtdID8/IDxEYXNoYm9hcmRNYW5pZmVzdD57IHdpZGdldHM6IFtdIH1cbik7XG5jb25zdCBncmlkTGF5b3V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHdpbmRvd01hbmlmZXN0LFxuICAobWFuaWZlc3QpID0+IChtYW5pZmVzdC5ncmlkID8/IHt9KS5sYXlvdXQgPz8gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUxcbik7XG5jb25zdCBtZW1vaXplV2lkZ2V0TWFuaWZlc3QgPSB7fSBhcyBhbnk7XG5jb25zdCB3aWRnZXRNYW5pZmVzdCA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gIGlmICghbWVtb2l6ZVdpZGdldE1hbmlmZXN0W2luZGV4XSkge1xuICAgIG1lbW9pemVXaWRnZXRNYW5pZmVzdFtpbmRleF0gPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHdpbmRvd01hbmlmZXN0LFxuICAgICAgKHdpbmRvd01hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCkgPT5cbiAgICAgICAgd2luZG93TWFuaWZlc3Qud2lkZ2V0c1tpbmRleF0gPz9cbiAgICAgICAgKHtcbiAgICAgICAgICB0eXBlOiAncGxhY2Vob2xkZXInLFxuICAgICAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCB3aWR0aDogMSwgaGVpZ2h0OiAxIH1cbiAgICAgICAgfSBhcyBXaWRnZXRNYW5pZmVzdClcbiAgICApO1xuICB9XG4gIHJldHVybiBtZW1vaXplV2lkZ2V0TWFuaWZlc3RbaW5kZXhdIGFzIE1lbW9pemVkU2VsZWN0b3I8RGFzaGJvYXJkTWFuaWZlc3QsIFdpZGdldE1hbmlmZXN0Pjtcbn07XG5jb25zdCBtYW5pZmVzdHNMaXN0ID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiBtYW5pZmVzdHMubGlzdCk7XG5jb25zdCB0ZW5hbnRzID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiBtYW5pZmVzdHMudGVuYW50cyA/PyA8c3RyaW5nW10+W10pO1xuY29uc3QgdGFyZ2V0VGVuYW50c0luZGV4ZXMgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIHJhbmssIChtYW5pZmVzdHMsIHJhbmspID0+IFtcbiAgTkVXX1dJTkRPV19UQVJHRVQsXG4gIC4uLihtYW5pZmVzdHMudGVuYW50cyA/PyAoW10gYXMgc3RyaW5nW10pKS5tYXAoKHRlbiwgaWR4KSA9PiBpZHgpLmZpbHRlcigoaWR4KSA9PiBpZHggIT09IHJhbmspXG5dKTtcbmNvbnN0IHJlc3VsdHMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8ucmVzdWx0cyk7XG5cbmNvbnN0IHJlc3VsdFNldHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgcmVzdWx0cyxcbiAgKHJlc3VsdHMpID0+IChQcm94eVV0aWxzLlJlc3VsdFNldHMocmVzdWx0cy5yZXN1bHRTZXRzKSBhcyBSZXN1bHRTZXRzKSA/PyAoe30gYXMgUmVzdWx0U2V0cylcbik7XG5jb25zdCByZXN1bHRTZXRzUGFyYW1zID0gY3JlYXRlU2VsZWN0b3IoXG4gIHJlc3VsdHMsXG4gIChyZXN1bHRzKSA9PiByZXN1bHRzLnJlc3VsdFNldHNQYXJhbXMgPz8gKHt9IGFzIHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSlcbik7XG5jb25zdCBuYW1lZFF1ZXJpZXNOYW1lcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdFNldHMsIChzdGF0ZTogUmVzdWx0U2V0cykgPT4gT2JqZWN0LmtleXMoc3RhdGUpID8/IDxzdHJpbmdbXT5bXSk7XG5jb25zdCBhdmFpbGFibGVOYW1lZFF1ZXJpZXMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4ge1xuICByZXR1cm4gWy4uLm5ldyBTZXQoWy4uLnJlc3VsdHMuYXZhaWxhYmxlRGF0YXNvdXJjZU5hbWVzLCAuLi5PYmplY3Qua2V5cyhyZXN1bHRzLnJlc3VsdFNldHMpXSldID8/IDxzdHJpbmdbXT5bXTtcbn0pO1xuY29uc3QgZGVmYXVsdERhdGFzb3VyY2VOYW1lcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLmRlZmF1bHREYXRhc291cmNlID8/ICdjdXJyZW50Jyk7XG5jb25zdCBzZWxlY3RlZEl0ZW1JZHMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4gcmVzdWx0cy5zZWxlY3RlZEl0ZW1zID8/IChbXSBhcyBzdHJpbmdbXSkpO1xuY29uc3Qgb2JqZWN0RGV0YWlscyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLm9iamVjdERldGFpbHMgPz8gKHt9IGFzIHsgW2lkOiBzdHJpbmddOiBJdGVtIH0pKTtcbmNvbnN0IHF1aWNrT3JkZXIgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4gcmVzdWx0cy5xdWlja09yZGVyID8/ICh7fSBhcyB7IFtpZDogc3RyaW5nXTogUmVzdWx0T3JkZXIgfSkpO1xuY29uc3QgYWxsSXRlbXMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT5cbiAgT2JqZWN0LmtleXMocmVzdWx0cy5yZXN1bHRTZXRzKVxuICAgIC5tYXAoKHJzS2V5KSA9PlxuICAgICAgT2JqZWN0LmtleXMocmVzdWx0cy5yZXN1bHRTZXRzW3JzS2V5XS5pdGVtcylcbiAgICAgICAgLm1hcCgoY2xhc3NLZXkpID0+IChyZXN1bHRzLnJlc3VsdFNldHNbcnNLZXldIGFzIFJlc3VsdFNldCkuaXRlbXNbY2xhc3NLZXldKVxuICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgIClcbiAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuKTtcbmNvbnN0IGdldEl0ZW1zQnlJZHMgPSAoaWRzOiBzdHJpbmdbXSkgPT5cbiAgY3JlYXRlU2VsZWN0b3IoYWxsSXRlbXMsIChpdGVtcykgPT4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpZHMuaW5jbHVkZXMoaXRlbS5pZCkpKTtcbmNvbnN0IHNlbGVjdGVkSXRlbXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0ZWRJdGVtSWRzLFxuICBhbGxJdGVtcyxcbiAgKGl0ZW1OYW1lcywgYWxsSXRlbXMpID0+IGl0ZW1OYW1lcy5tYXAoKG5hbWUpID0+IGFsbEl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gbmFtZSkpID8/IChbXSBhcyBJdGVtW10pXG4pO1xuY29uc3QgZGFzaGJvYXJkID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmRhc2hib2FyZCA/PyB7fSk7XG5jb25zdCBkYXNoYm9hcmRDZWxsUGFyYW1zID0gY3JlYXRlU2VsZWN0b3IoZGFzaGJvYXJkLCAoZGFzaGJvYXJkKSA9PiBkYXNoYm9hcmQucGFyYW1zID8/IDxEYXNoYm9hcmRDZWxsUGFyYW1zPnt9KTtcbmNvbnN0IGRhc2hib2FyZEVkaXRpb25Nb2RlID0gY3JlYXRlU2VsZWN0b3IoZGFzaGJvYXJkLCAoZGFzaGJvYXJkKSA9PiBkYXNoYm9hcmQuZWRpdGlvbk1vZGUgPz8gZmFsc2UpO1xuY29uc3QgbmFtZWRRdWVyaWVzVXNlcyA9IGNyZWF0ZVNlbGVjdG9yKGdsb2JhbE1hbmlmZXN0LCAobWFuaWZlc3QpID0+XG4gIG1hbmlmZXN0LndpbmRvd3NcbiAgICAubWFwKCh3aW5kb3csIGlkeCkgPT4gKHsgd2luZG93SW5kZXg6IGlkeCwgd2lkZ2V0czogd2luZG93LndpZGdldHMgfSkpXG4gICAgLm1hcCgoeyB3aW5kb3dJbmRleCwgd2lkZ2V0cyB9KSA9PlxuICAgICAgd2lkZ2V0cy5tYXAoKHdpZGdldCkgPT5cbiAgICAgICAgKEFycmF5LmlzQXJyYXkod2lkZ2V0LmRhdGFzb3VyY2UpID8gd2lkZ2V0LmRhdGFzb3VyY2UgOiBbd2lkZ2V0LmRhdGFzb3VyY2VdKVxuICAgICAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgLm1hcCgocnNOYW1lKSA9PiAoe1xuICAgICAgICAgICAgcnNOYW1lLFxuICAgICAgICAgICAgd2luZG93SW5kZXgsXG4gICAgICAgICAgICB0eXBlOiB3aWRnZXQudHlwZSxcbiAgICAgICAgICAgIGxheW91dDogd2lkZ2V0LmxheW91dFxuICAgICAgICAgIH0pKVxuICAgICAgKVxuICAgIClcbiAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgLnJlZHVjZShcbiAgICAgIChwLCBjKSA9PiAoeyAuLi5wLCBbYy5yc05hbWUgPz8gJyddOiBbLi4uKHBbYy5yc05hbWUgPz8gJyddIHx8IFtdKSwgeyAuLi5jIH1dIH0pLFxuICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiB7IHdpbmRvd0luZGV4OiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbGF5b3V0OiBXaWRnZXRMYXlvdXQ7IHJzTmFtZT86IHN0cmluZyB9W10gfVxuICAgIClcbik7XG5jb25zdCBwcmVzZW50YXRpb24gPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8ucHJlc2VudGF0aW9uKTtcbmNvbnN0IGlzQ3VycmVudFByZXNlbnRhdGlvbk1vZGlmaWVkID0gY3JlYXRlU2VsZWN0b3IoXG4gIHByZXNlbnRhdGlvbixcbiAgZ2xvYmFsTWFuaWZlc3QsXG4gIChzdGF0ZSwgZ2xvYmFsKSA9PiAhZXF1YWwoZ2xvYmFsLCBzdGF0ZS5pbml0aWFsKVxuKTtcbmNvbnN0IGlzQ3VycmVudFByZXNlbnRhdGlvbk93bmVyID0gY3JlYXRlU2VsZWN0b3IocHJlc2VudGF0aW9uLCAoc3RhdGUpID0+ICEhc3RhdGUuY3VycmVudCAmJiBzdGF0ZS5jdXJyZW50Lm93bmVyKTtcblxuY29uc3QgZmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyA/PyBbXSk7XG5jb25zdCBkYXRhc291cmNlRmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+XG4gIHN0YXRlPy5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVyc1xuICAgID8gc3RhdGU/Lm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzLnJlZHVjZShcbiAgICAgICAgKG9iajogeyBbZGF0YXNvdXJjZUlkOiBzdHJpbmddOiBGaWx0ZXJDb250ZXh0W10gfSwgZmlsdGVyOiBGaWx0ZXIpID0+IChcbiAgICAgICAgICBmaWx0ZXIuYXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAob2JqW2F0dHJpYnV0ZS5kYXRhc291cmNlXSB8fCAob2JqW2F0dHJpYnV0ZS5kYXRhc291cmNlXSA9IFtdKSkucHVzaCh7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmlkLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogZmlsdGVyLm9wZXJhdG9yID8/ICcnLFxuICAgICAgICAgICAgICB2YWx1ZTogZmlsdGVyLnZhbHVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgb2JqXG4gICAgICAgICksXG4gICAgICAgIHt9XG4gICAgICApXG4gICAgOiB7fVxuKTtcbmNvbnN0IHdtc0ZlYXR1cmVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/Lndtc0ZlYXR1cmVzKTtcbmNvbnN0IGRpc3BsYXlPcHRpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmRpc3BsYXkgPz8gQkFTRV9ESVNQTEFZX09QVElPTlMpO1xuY29uc3QgY2FwYWJpbGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmNhcGFiaWxpdGllcyk7XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRTZWxlY3RvcnMgPSB7XG4gIGZlYXR1cmUsXG4gIHJhbmssXG4gIGN1cnJlbnRNYW5pZmVzdElkLFxuICBnbG9iYWxNYW5pZmVzdCxcbiAgbWFuaWZlc3REYXRhc291cmNlcyxcbiAgcmVmcmVzaFJhdGVzLFxuICB3aW5kb3dNYW5pZmVzdCxcbiAgd2lkZ2V0TWFuaWZlc3QsXG4gIG1hbmlmZXN0c0xpc3QsXG4gIGdyaWRMYXlvdXQsXG4gIHRlbmFudHMsXG4gIHJlc3VsdFNldHMsXG4gIHJlc3VsdFNldHNQYXJhbXMsXG4gIG5hbWVkUXVlcmllc05hbWVzLFxuICBuYW1lZFF1ZXJpZXNVc2VzLFxuICBhdmFpbGFibGVOYW1lZFF1ZXJpZXMsXG4gIGRlZmF1bHREYXRhc291cmNlTmFtZXMsXG4gIHNlbGVjdGVkSXRlbUlkcyxcbiAgYWxsSXRlbXMsXG4gIGdldEl0ZW1zQnlJZHMsXG4gIHNlbGVjdGVkSXRlbXMsXG4gIG9iamVjdERldGFpbHMsXG4gIHRhcmdldFRlbmFudHNJbmRleGVzLFxuICBkYXNoYm9hcmQsXG4gIGRhc2hib2FyZENlbGxQYXJhbXMsXG4gIGRhc2hib2FyZEVkaXRpb25Nb2RlLFxuICBzdGF0aWNNYW5pZmVzdCxcbiAgbG9hZGluZyxcbiAgcXVpY2tPcmRlcixcbiAgcHJlc2VudGF0aW9uLFxuICBmaWx0ZXJzLFxuICBpc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCxcbiAgaXNDdXJyZW50UHJlc2VudGF0aW9uT3duZXIsXG4gIGRhdGFzb3VyY2VGaWx0ZXJzLFxuICB3bXNGZWF0dXJlcyxcbiAgZGlzcGxheU9wdGlvbnMsXG4gIGNhcGFiaWxpdGllc1xufTtcbiJdfQ==
|
|
@@ -58,7 +58,7 @@ export class ManifestService {
|
|
|
58
58
|
visibility,
|
|
59
59
|
cover,
|
|
60
60
|
metadata,
|
|
61
|
-
datasource: ManifestUtils.getDatasourcesUsedByManifest(manifest)
|
|
61
|
+
datasource: ManifestUtils.getDatasourcesUsedByManifest(manifest).map((ds) => ds.datasetId)
|
|
62
62
|
})));
|
|
63
63
|
}
|
|
64
64
|
delete(id) {
|
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
100
100
|
providedIn: 'root'
|
|
101
101
|
}]
|
|
102
102
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }, { type: i3.PrySnackbarService }, { type: i4.PryI18nService }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvc3RvcmUvbWFuaWZlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUszRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCLEVBQ2pCLFFBQTRCLEVBQzVCLGdCQUFnQztRQUhoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDbkQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBd0IsU0FBUyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFDdEcsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7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QUNGLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLGNBQXNCLEVBQUUsVUFBa0I7UUFDdkQsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FDSCxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUNwQixTQUFTLENBQUMsR0FBRyxHQUFHLDJCQUEyQixjQUFjLGdCQUFnQixVQUFVLEVBQUUsQ0FBQyxDQUN2RixDQUNGLENBQ0YsQ0FBQztJQUNOLENBQUM7K0dBN0hVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJ5VmlzaWJpbGl0eSB9IGZyb20gJy4uLy4uL2NvcmUvY29tcG9uZW50cy9zaGFyZS9zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBQcnlTbmFja2JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsTWFuaWZlc3QsIE1hbmlmZXN0RGVzY3JpcHRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IE1hbmlmZXN0VXRpbHMgfSBmcm9tICcuL21hbmlmZXN0LXV0aWxzLmNsYXNzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4vZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hbmlmZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgc25hY2tCYXI6IFByeVNuYWNrYmFyU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge31cblxuICBsaXN0KCk6IE9ic2VydmFibGU8TWFuaWZlc3REZXNjcmlwdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PE1hbmlmZXN0RGVzY3JpcHRpb25bXT4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvZGFzaGJvYXJkc2ApKSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIC8vIEEgY2xpZW50LXNpZGUgb3IgbmV0d29yayBlcnJvciBvY2N1cnJlZFxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0EgZnJvbnRlbmQgZXJyb3Igb2NjdXJyZWQ6JywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHtcbiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5tYW5pZmVzdC5nZXQuZXJyb3JGcm9udCcsIHsgbXNnOiBlcnJvci5lcnJvci5tZXNzYWdlIH0pXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVGhlIGJhY2tlbmQgcmV0dXJuZWQgYW4gdW5zdWNjZXNzZnVsIHJlc3BvbnNlIGNvZGUuXG4gICAgICAgICAgaWYgKGVycm9yLmNvZGUgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQmFja2VuZCByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSwgYm9keSB3YXM6ICR7SlNPTi5zdHJpbmdpZnkoZXJyb3IuZXJyb3IpfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3IuY29kZSA+PSA0MDApIHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5Lm1hbmlmZXN0LmdldC5lcnJvckJhY2snLCB7XG4gICAgICAgICAgICAgICAgY29kZTogZXJyb3Iuc3RhdHVzXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHbG9iYWxNYW5pZmVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PEdsb2JhbE1hbmlmZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2lkLyR7aWR9L21hbmlmZXN0YCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBzYXZlKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QsXG4gICAgdmlzaWJpbGl0eTogUHJ5VmlzaWJpbGl0eSxcbiAgICBpZDogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxuICAgIGltYWdlPzogc3RyaW5nLFxuICAgIGNvdmVyPzogYm9vbGVhbixcbiAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXVxuICApOiBPYnNlcnZhYmxlPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8eyBpZDogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCB9PihcbiAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzYCksXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBtYW5pZmVzdCxcbiAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgdmlzaWJpbGl0eSxcbiAgICAgICAgICAgIGNvdmVyLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICBkYXRhc291cmNlOiBNYW5pZmVzdFV0aWxzLmdldERhdGFzb3VyY2VzVXNlZEJ5TWFuaWZlc3QobWFuaWZlc3QpXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvZGFzaGJvYXJkcy9pZC8ke2lkfWApKSkpO1xuICB9XG5cbiAgZGVmYXVsdChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMubWFuaWZlc3RzTGlzdCkpLFxuICAgICAgbWVyZ2VNYXAoKFt1cmwsIG1hbmlmZXN0c10pID0+IHtcbiAgICAgICAgY29uc3QgYWN0dWFsID0gbWFuaWZlc3RzLmZpbmQoKG1hbmlmZXN0OiB7IGlkOiBzdHJpbmcgfSkgPT4gbWFuaWZlc3QuaWQgPT09IGlkKTtcbiAgICAgICAgaWYgKCEhYWN0dWFsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLnB1dDxBcnJheUJ1ZmZlcj4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvZGFzaGJvYXJkcy9pZC8ke2lkfS9kZWZhdWx0YCksIHt9KVxuICAgICAgICAgICAgLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAuZGVsZXRlPEFycmF5QnVmZmVyPihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2RlZmF1bHRgKSwge30pXG4gICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkTWV0YWRhdGEocHJlc2VudGF0aW9uSWQ6IHN0cmluZywgbWV0YWRhdGFJZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oXG4gICAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2lkLyR7cHJlc2VudGF0aW9uSWR9L21ldGFkYXRhL2lkLyR7bWV0YWRhdGFJZH1gKSxcbiAgICAgICAgICAgIHsgdmFsdWUgfVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZU1ldGFkYXRhKHByZXNlbnRhdGlvbklkOiBzdHJpbmcsIG1ldGFkYXRhSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KFxuICAgICAgICAgICAgZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvZGFzaGJvYXJkcy9pZC8ke3ByZXNlbnRhdGlvbklkfS9tZXRhZGF0YS9pZC8ke21ldGFkYXRhSWR9YClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvc3RvcmUvbWFuaWZlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUszRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCLEVBQ2pCLFFBQTRCLEVBQzVCLGdCQUFnQztRQUhoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDbkQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBd0IsU0FBUyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFDdEcsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7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LGNBQWMsZ0JBQWdCLFVBQVUsRUFBRSxDQUFDLEVBQ3RGLEVBQUUsS0FBSyxFQUFFLENBQ1YsQ0FDRixDQUNGLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLGNBQXNCLEVBQUUsVUFBa0I7UUFDdkQsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FDSCxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUNwQixTQUFTLENBQUMsR0FBRyxHQUFHLDJCQUEyQixjQUFjLGdCQUFnQixVQUFVLEVBQUUsQ0FBQyxDQUN2RixDQUNGLENBQ0YsQ0FBQztJQUNOLENBQUM7K0dBN0hVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJ5VmlzaWJpbGl0eSB9IGZyb20gJy4uLy4uL2NvcmUvY29tcG9uZW50cy9zaGFyZS9zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBQcnlTbmFja2JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsTWFuaWZlc3QsIE1hbmlmZXN0RGVzY3JpcHRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IE1hbmlmZXN0VXRpbHMgfSBmcm9tICcuL21hbmlmZXN0LXV0aWxzLmNsYXNzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4vZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hbmlmZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgc25hY2tCYXI6IFByeVNuYWNrYmFyU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge31cblxuICBsaXN0KCk6IE9ic2VydmFibGU8TWFuaWZlc3REZXNjcmlwdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PE1hbmlmZXN0RGVzY3JpcHRpb25bXT4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvZGFzaGJvYXJkc2ApKSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIC8vIEEgY2xpZW50LXNpZGUgb3IgbmV0d29yayBlcnJvciBvY2N1cnJlZFxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0EgZnJvbnRlbmQgZXJyb3Igb2NjdXJyZWQ6JywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHtcbiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5tYW5pZmVzdC5nZXQuZXJyb3JGcm9udCcsIHsgbXNnOiBlcnJvci5lcnJvci5tZXNzYWdlIH0pXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVGhlIGJhY2tlbmQgcmV0dXJuZWQgYW4gdW5zdWNjZXNzZnVsIHJlc3BvbnNlIGNvZGUuXG4gICAgICAgICAgaWYgKGVycm9yLmNvZGUgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQmFja2VuZCByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSwgYm9keSB3YXM6ICR7SlNPTi5zdHJpbmdpZnkoZXJyb3IuZXJyb3IpfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3IuY29kZSA+PSA0MDApIHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5Lm1hbmlmZXN0LmdldC5lcnJvckJhY2snLCB7XG4gICAgICAgICAgICAgICAgY29kZTogZXJyb3Iuc3RhdHVzXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHbG9iYWxNYW5pZmVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PEdsb2JhbE1hbmlmZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2lkLyR7aWR9L21hbmlmZXN0YCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBzYXZlKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QsXG4gICAgdmlzaWJpbGl0eTogUHJ5VmlzaWJpbGl0eSxcbiAgICBpZDogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxuICAgIGltYWdlPzogc3RyaW5nLFxuICAgIGNvdmVyPzogYm9vbGVhbixcbiAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXVxuICApOiBPYnNlcnZhYmxlPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8eyBpZDogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCB9PihcbiAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzYCksXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBtYW5pZmVzdCxcbiAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgdmlzaWJpbGl0eSxcbiAgICAgICAgICAgIGNvdmVyLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICBkYXRhc291cmNlOiBNYW5pZmVzdFV0aWxzLmdldERhdGFzb3VyY2VzVXNlZEJ5TWFuaWZlc3QobWFuaWZlc3QpLm1hcCgoZHMpID0+IGRzLmRhdGFzZXRJZClcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2lkLyR7aWR9YCkpKSk7XG4gIH1cblxuICBkZWZhdWx0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5tYW5pZmVzdHNMaXN0KSksXG4gICAgICBtZXJnZU1hcCgoW3VybCwgbWFuaWZlc3RzXSkgPT4ge1xuICAgICAgICBjb25zdCBhY3R1YWwgPSBtYW5pZmVzdHMuZmluZCgobWFuaWZlc3Q6IHsgaWQ6IHN0cmluZyB9KSA9PiBtYW5pZmVzdC5pZCA9PT0gaWQpO1xuICAgICAgICBpZiAoISFhY3R1YWwpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucHV0PEFycmF5QnVmZmVyPihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2lkLyR7aWR9L2RlZmF1bHRgKSwge30pXG4gICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5kZWxldGU8QXJyYXlCdWZmZXI+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL2Rhc2hib2FyZHMvZGVmYXVsdGApLCB7fSlcbiAgICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhZGRNZXRhZGF0YShwcmVzZW50YXRpb25JZDogc3RyaW5nLCBtZXRhZGF0YUlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihcbiAgICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL2Rhc2hib2FyZHMvaWQvJHtwcmVzZW50YXRpb25JZH0vbWV0YWRhdGEvaWQvJHttZXRhZGF0YUlkfWApLFxuICAgICAgICAgICAgeyB2YWx1ZSB9XG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlTWV0YWRhdGEocHJlc2VudGF0aW9uSWQ6IHN0cmluZywgbWV0YWRhdGFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oXG4gICAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9kYXNoYm9hcmRzL2lkLyR7cHJlc2VudGF0aW9uSWR9L21ldGFkYXRhL2lkLyR7bWV0YWRhdGFJZH1gKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxufVxuIl19
|
package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, Optional, Output } from '@angular/core'
|
|
|
2
2
|
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
3
|
import { DashboardActions, DashboardGridLayout, DashboardSelectors, DEFAULT_RESTITUTION_ICON_URL, LibraryTypes, SubscriptionnerDirective, ViewMode } from '@provoly/dashboard';
|
|
4
4
|
import { BehaviorSubject, combineLatest, take } from 'rxjs';
|
|
5
|
-
import { MetadataActions } from '@provoly/dashboard/components/metadata-editor';
|
|
5
|
+
import { MetadataActions, MetadataSelectors } from '@provoly/dashboard/components/metadata-editor';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@ngrx/store";
|
|
@@ -28,6 +28,9 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
28
28
|
this.goBack = new EventEmitter();
|
|
29
29
|
this.type = LibraryTypes.ILLUSTRATION;
|
|
30
30
|
this.chosenLayout = DashboardGridLayout.FULL;
|
|
31
|
+
this.possibleThemes = [];
|
|
32
|
+
this.metadataThemeId = '';
|
|
33
|
+
this.mode = 'meta';
|
|
31
34
|
this.store.dispatch(MetadataActions.loadMetadata());
|
|
32
35
|
this.staticManifest$ = this.store.select(DashboardSelectors.staticManifest);
|
|
33
36
|
combineLatest([this.staticManifest$, this.store.select(DashboardSelectors.gridLayout)]).subscribe(([staticManifest, gridLayout]) => {
|
|
@@ -36,14 +39,28 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
36
39
|
? staticManifest.windows[0]?.grid?.layout
|
|
37
40
|
: gridLayout;
|
|
38
41
|
});
|
|
42
|
+
this.subscriptions.add(this.store.select(MetadataSelectors.metadata).subscribe((metadata) => {
|
|
43
|
+
this.metadataDefs = metadata;
|
|
44
|
+
const metadataTheme = metadata?.find((meta) => meta.name === '_theme');
|
|
45
|
+
if (metadataTheme) {
|
|
46
|
+
this.metadataThemeId = metadataTheme?.id ?? '';
|
|
47
|
+
this.possibleThemes = metadataTheme?.allowedValues ?? [];
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
39
50
|
}
|
|
40
51
|
ngOnInit() {
|
|
41
52
|
this.form = new FormGroup({
|
|
42
53
|
name: new FormControl(null, [Validators.required, Validators.maxLength(50)]),
|
|
43
54
|
description: new FormControl(null, [Validators.maxLength(200)]),
|
|
44
|
-
cover: new FormControl(false)
|
|
55
|
+
cover: new FormControl(false),
|
|
56
|
+
theme: new FormControl('')
|
|
45
57
|
});
|
|
46
58
|
this.image = this.selectedPresentation$.value?.image ?? DEFAULT_RESTITUTION_ICON_URL;
|
|
59
|
+
this.subscriptions.add(this.selectedPresentation$.subscribe((presentation) => {
|
|
60
|
+
const theme = presentation?.metadata?.find((metadata) => metadata.metadataDef.name === '_theme')?.value;
|
|
61
|
+
if (!!theme)
|
|
62
|
+
this.form.patchValue({ theme });
|
|
63
|
+
}));
|
|
47
64
|
}
|
|
48
65
|
ngAfterViewInit() {
|
|
49
66
|
setTimeout(() => {
|
|
@@ -68,7 +85,8 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
68
85
|
name: this.form.value.name ?? '',
|
|
69
86
|
description: this.form.value.description ?? '',
|
|
70
87
|
cover: this.form.value.cover ?? false,
|
|
71
|
-
image: this.image ?? DEFAULT_RESTITUTION_ICON_URL
|
|
88
|
+
image: this.image ?? DEFAULT_RESTITUTION_ICON_URL,
|
|
89
|
+
metadata: this.metadata()
|
|
72
90
|
};
|
|
73
91
|
this.subscriptions.add(this.staticManifest$.pipe(take(1)).subscribe((staticManifest) => {
|
|
74
92
|
this.store.dispatch(DashboardActions.saveManifest({
|
|
@@ -91,7 +109,8 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
91
109
|
name: this.form.value.name ?? '',
|
|
92
110
|
description: this.form.value.description ?? '',
|
|
93
111
|
image: this.image ?? DEFAULT_RESTITUTION_ICON_URL,
|
|
94
|
-
cover: this.form.value.cover ?? false
|
|
112
|
+
cover: this.form.value.cover ?? false,
|
|
113
|
+
metadata: this.metadata()
|
|
95
114
|
};
|
|
96
115
|
if (!this.edition) {
|
|
97
116
|
this.store.dispatch(DashboardActions.updateManifest({
|
|
@@ -106,7 +125,6 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
106
125
|
presentation,
|
|
107
126
|
viewMode: this.edition ? ViewMode.CREATION : ViewMode.EDITION
|
|
108
127
|
}));
|
|
109
|
-
this.router?.navigateByUrl(this.editionStartUrl);
|
|
110
128
|
}
|
|
111
129
|
else {
|
|
112
130
|
this.store.dispatch(DashboardActions.loadPresentation({
|
|
@@ -114,6 +132,7 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
114
132
|
viewMode: this.edition ? ViewMode.CREATION : ViewMode.EDITION
|
|
115
133
|
}));
|
|
116
134
|
}
|
|
135
|
+
this.router?.navigateByUrl(this.editionStartUrl);
|
|
117
136
|
}
|
|
118
137
|
addMetadata(metadata) {
|
|
119
138
|
this.store.dispatch(DashboardActions.addManifestMetadata({
|
|
@@ -131,12 +150,22 @@ export class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
131
150
|
close() {
|
|
132
151
|
this.goBack.emit();
|
|
133
152
|
}
|
|
153
|
+
metadata() {
|
|
154
|
+
return this.mode === 'theme'
|
|
155
|
+
? [
|
|
156
|
+
{
|
|
157
|
+
metadataDef: this.metadataDefs.find((metadata) => metadata.id === this.metadataThemeId),
|
|
158
|
+
value: this.form.value.theme ?? ''
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
: this.selectedPresentation$.value?.metadata ?? [];
|
|
162
|
+
}
|
|
134
163
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryAddEditPresentationComponent, deps: [{ token: i1.Store }, { token: i2.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: { edition: "edition", editionStartUrl: "editionStartUrl", selectedPresentation: "selectedPresentation" }, outputs: { goBack: "goBack" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"close()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" type=\"button\" (click)=\"save()\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content--presentation\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h1>\n <div class=\"o-presentation-form-wrapper\">\n <form [formGroup]=\"form\" class=\"o-presentation-form\">\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_name\">{{ '@pry.presentation.form.name' | i18n }}</label>\n <input\n type=\"text\"\n id=\"presentation_name\"\n formControlName=\"name\"\n placeholder=\"{{ '@pry.presentation.form.name' | i18n }}\"\n class=\"a-form-field\"\n maxlength=\"50\"\n required\n />\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.touched && form.get('name')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.required' | i18n }}\n </label>\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '50' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_description\">{{\n '@pry.presentation.form.description' | i18n\n }}</label>\n <textarea\n formControlName=\"description\"\n id=\"presentation_description\"\n name=\"description\"\n cols=\"30\"\n rows=\"5\"\n maxlength=\"200\"\n placeholder=\"{{ '@pry.presentation.form.description' | i18n }}\"\n class=\"a-form-field\"\n ></textarea>\n <label\n for=\"presentation_description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '200' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_image\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image\n id=\"presentation_image\"\n (changed)=\"image = $event\"\n [iconUrl]=\"image\"\n [mode]=\"type\"\n ></pry-select-image>\n <pry-checkbox formControlName=\"cover\" name=\"cover\" ngDefaultControl>\n {{ '@pry.presentation.form.cover' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n <div class=\"m-form-label-field -width-full m-form-label-field--inline\">\n <label class=\"a-label\">{{ '@pry.presentation.form.grid' | i18n }}</label>\n <span class=\"a-label\">{{ '@pry.toolbox.layout.' + this.chosenLayout | i18n }}</span>\n <pry-select-grid-layout *ngIf=\"!edition\"></pry-select-grid-layout>\n </div>\n </form>\n <div class=\"o-presentation__metadata-editor\" *ngIf=\"selectedPresentation$ | async as selectedPresentation\">\n
|
|
164
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: { edition: "edition", editionStartUrl: "editionStartUrl", selectedPresentation: "selectedPresentation", mode: "mode" }, outputs: { goBack: "goBack" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"close()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" type=\"button\" (click)=\"save()\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content--presentation\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h1>\n <div class=\"o-presentation-form-wrapper\">\n <form [formGroup]=\"form\" class=\"o-presentation-form\">\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_name\">{{ '@pry.presentation.form.name' | i18n }}</label>\n <input\n type=\"text\"\n id=\"presentation_name\"\n formControlName=\"name\"\n placeholder=\"{{ '@pry.presentation.form.name' | i18n }}\"\n class=\"a-form-field\"\n maxlength=\"50\"\n required\n />\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.touched && form.get('name')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.required' | i18n }}\n </label>\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '50' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_description\">{{\n '@pry.presentation.form.description' | i18n\n }}</label>\n <textarea\n formControlName=\"description\"\n id=\"presentation_description\"\n name=\"description\"\n cols=\"30\"\n rows=\"5\"\n maxlength=\"200\"\n placeholder=\"{{ '@pry.presentation.form.description' | i18n }}\"\n class=\"a-form-field\"\n ></textarea>\n <label\n for=\"presentation_description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '200' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\" *ngIf=\"mode === 'theme'\">\n <label class=\"a-label\" for=\"presentation_theme\">{{ '@pry.presentation.form.theme' | i18n }}</label>\n <pry-select\n id=\"presentation_theme\"\n class=\"a-pry-select\"\n [items]=\"possibleThemes\"\n [itemsAsOption]=\"true\"\n [bindData]=\"true\"\n formControlName=\"theme\"\n [clearable]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_image\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image\n id=\"presentation_image\"\n (changed)=\"image = $event\"\n [iconUrl]=\"image\"\n [mode]=\"type\"\n ></pry-select-image>\n <pry-checkbox formControlName=\"cover\" name=\"cover\" ngDefaultControl>\n {{ '@pry.presentation.form.cover' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n <div class=\"m-form-label-field -width-full m-form-label-field--inline\">\n <label class=\"a-label\">{{ '@pry.presentation.form.grid' | i18n }}</label>\n <span class=\"a-label\">{{ '@pry.toolbox.layout.' + this.chosenLayout | i18n }}</span>\n <pry-select-grid-layout *ngIf=\"!edition\"></pry-select-grid-layout>\n </div>\n </form>\n <ng-container *ngIf=\"mode === 'meta'\">\n <div class=\"o-presentation__metadata-editor\" *ngIf=\"selectedPresentation$ | async as selectedPresentation\">\n <pry-metadata-editor\n [targetId]=\"selectedPresentation.id\"\n [isModification]=\"true\"\n [metadata]=\"selectedPresentation.metadata\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </div>\n </ng-container>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"configureDashboard(selectedPresentation$.value!)\"\n [disabled]=\"form.invalid\"\n >\n {{ '@pry.presentation.configuration' | i18n }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3.PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i5.SelectGridLayoutComponent, selector: "pry-select-grid-layout" }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["isModification", "targetId", "type", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
|
|
136
165
|
}
|
|
137
166
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryAddEditPresentationComponent, decorators: [{
|
|
138
167
|
type: Component,
|
|
139
|
-
args: [{ selector: 'pry-add-edit-presentation', template: "<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"close()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" type=\"button\" (click)=\"save()\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content--presentation\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h1>\n <div class=\"o-presentation-form-wrapper\">\n <form [formGroup]=\"form\" class=\"o-presentation-form\">\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_name\">{{ '@pry.presentation.form.name' | i18n }}</label>\n <input\n type=\"text\"\n id=\"presentation_name\"\n formControlName=\"name\"\n placeholder=\"{{ '@pry.presentation.form.name' | i18n }}\"\n class=\"a-form-field\"\n maxlength=\"50\"\n required\n />\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.touched && form.get('name')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.required' | i18n }}\n </label>\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '50' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_description\">{{\n '@pry.presentation.form.description' | i18n\n }}</label>\n <textarea\n formControlName=\"description\"\n id=\"presentation_description\"\n name=\"description\"\n cols=\"30\"\n rows=\"5\"\n maxlength=\"200\"\n placeholder=\"{{ '@pry.presentation.form.description' | i18n }}\"\n class=\"a-form-field\"\n ></textarea>\n <label\n for=\"presentation_description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '200' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_image\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image\n id=\"presentation_image\"\n (changed)=\"image = $event\"\n [iconUrl]=\"image\"\n [mode]=\"type\"\n ></pry-select-image>\n <pry-checkbox formControlName=\"cover\" name=\"cover\" ngDefaultControl>\n {{ '@pry.presentation.form.cover' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n <div class=\"m-form-label-field -width-full m-form-label-field--inline\">\n <label class=\"a-label\">{{ '@pry.presentation.form.grid' | i18n }}</label>\n <span class=\"a-label\">{{ '@pry.toolbox.layout.' + this.chosenLayout | i18n }}</span>\n <pry-select-grid-layout *ngIf=\"!edition\"></pry-select-grid-layout>\n </div>\n </form>\n <div class=\"o-presentation__metadata-editor\" *ngIf=\"selectedPresentation$ | async as selectedPresentation\">\n
|
|
168
|
+
args: [{ selector: 'pry-add-edit-presentation', template: "<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"close()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" type=\"button\" (click)=\"save()\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content--presentation\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h1>\n <div class=\"o-presentation-form-wrapper\">\n <form [formGroup]=\"form\" class=\"o-presentation-form\">\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_name\">{{ '@pry.presentation.form.name' | i18n }}</label>\n <input\n type=\"text\"\n id=\"presentation_name\"\n formControlName=\"name\"\n placeholder=\"{{ '@pry.presentation.form.name' | i18n }}\"\n class=\"a-form-field\"\n maxlength=\"50\"\n required\n />\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.touched && form.get('name')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.required' | i18n }}\n </label>\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '50' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_description\">{{\n '@pry.presentation.form.description' | i18n\n }}</label>\n <textarea\n formControlName=\"description\"\n id=\"presentation_description\"\n name=\"description\"\n cols=\"30\"\n rows=\"5\"\n maxlength=\"200\"\n placeholder=\"{{ '@pry.presentation.form.description' | i18n }}\"\n class=\"a-form-field\"\n ></textarea>\n <label\n for=\"presentation_description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '200' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\" *ngIf=\"mode === 'theme'\">\n <label class=\"a-label\" for=\"presentation_theme\">{{ '@pry.presentation.form.theme' | i18n }}</label>\n <pry-select\n id=\"presentation_theme\"\n class=\"a-pry-select\"\n [items]=\"possibleThemes\"\n [itemsAsOption]=\"true\"\n [bindData]=\"true\"\n formControlName=\"theme\"\n [clearable]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_image\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image\n id=\"presentation_image\"\n (changed)=\"image = $event\"\n [iconUrl]=\"image\"\n [mode]=\"type\"\n ></pry-select-image>\n <pry-checkbox formControlName=\"cover\" name=\"cover\" ngDefaultControl>\n {{ '@pry.presentation.form.cover' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n <div class=\"m-form-label-field -width-full m-form-label-field--inline\">\n <label class=\"a-label\">{{ '@pry.presentation.form.grid' | i18n }}</label>\n <span class=\"a-label\">{{ '@pry.toolbox.layout.' + this.chosenLayout | i18n }}</span>\n <pry-select-grid-layout *ngIf=\"!edition\"></pry-select-grid-layout>\n </div>\n </form>\n <ng-container *ngIf=\"mode === 'meta'\">\n <div class=\"o-presentation__metadata-editor\" *ngIf=\"selectedPresentation$ | async as selectedPresentation\">\n <pry-metadata-editor\n [targetId]=\"selectedPresentation.id\"\n [isModification]=\"true\"\n [metadata]=\"selectedPresentation.metadata\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </div>\n </ng-container>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"configureDashboard(selectedPresentation$.value!)\"\n [disabled]=\"form.invalid\"\n >\n {{ '@pry.presentation.configuration' | i18n }}\n </button>\n </div>\n</div>\n" }]
|
|
140
169
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router, decorators: [{
|
|
141
170
|
type: Optional
|
|
142
171
|
}] }]; }, propDecorators: { edition: [{
|
|
@@ -147,5 +176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
147
176
|
type: Output
|
|
148
177
|
}], selectedPresentation: [{
|
|
149
178
|
type: Input
|
|
179
|
+
}], mode: [{
|
|
180
|
+
type: Input
|
|
150
181
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVkaXQtcHJlc2VudGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3ByZXNlbnRhdGlvbi9jb21wb25lbnRzL2FkZC1lZGl0LXByZXNlbnRhdGlvbi9hZGQtZWRpdC1wcmVzZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcHJlc2VudGF0aW9uL2NvbXBvbmVudHMvYWRkLWVkaXQtcHJlc2VudGF0aW9uL2FkZC1lZGl0LXByZXNlbnRhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUU1QixZQUFZLEVBRVosd0JBQXdCLEVBQ3hCLFFBQVEsRUFDVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTXBDLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx3QkFBd0I7SUFXM0UsSUFBYSxvQkFBb0IsQ0FBQyxZQUF3QztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFD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LENBQUM7K0dBcEpVLCtCQUErQjttR0FBL0IsK0JBQStCLHlPQ3ZCNUMsMnVJQXFHQTs7NEZEOUVhLCtCQUErQjtrQkFKM0MsU0FBUzsrQkFDRSwyQkFBMkI7OzBCQWtCQSxRQUFROzRDQVpwQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFHSSxNQUFNO3NCQUFmLE1BQU07Z0JBSU0sb0JBQW9CO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRHcmlkTGF5b3V0LFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERFRkFVTFRfUkVTVElUVVRJT05fSUNPTl9VUkwsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBMaWJyYXJ5VHlwZXMsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVmlld01vZGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWV0YWRhdGFBY3Rpb25zLCBNZXRhRXZlbnRUeXBlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRkLWVkaXQtcHJlc2VudGF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1lZGl0LXByZXNlbnRhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5QWRkRWRpdFByZXNlbnRhdGlvbkNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHN0YXRpY01hbmlmZXN0JDogT2JzZXJ2YWJsZTxHbG9iYWxNYW5pZmVzdD47XG4gIHNlbGVjdGVkUHJlc2VudGF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFuaWZlc3REZXNjcmlwdGlvbiB8IG51bGw+KG51bGwpO1xuICBASW5wdXQoKSBlZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVkaXRpb25TdGFydFVybDogc3RyaW5nID0gJy8nO1xuICBmb3JtITogRm9ybUdyb3VwO1xuICBpbWFnZTogc3RyaW5nID0gREVGQVVMVF9SRVNUSVRVVElPTl9JQ09OX1VSTDtcbiAgQE91dHB1dCgpIGdvQmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgdHlwZTogTGlicmFyeVR5cGVzID0gTGlicmFyeVR5cGVzLklMTFVTVFJBVElPTjtcbiAgY2hvc2VuTGF5b3V0OiBEYXNoYm9hcmRHcmlkTGF5b3V0ID0gRGFzaGJvYXJkR3JpZExheW91dC5GVUxMO1xuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZFByZXNlbnRhdGlvbihwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCBudWxsKSB7XG4gICAgdGhpcy5zZWxlY3RlZFByZXNlbnRhdGlvbiQubmV4dChwcmVzZW50YXRpb24pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHN0b3JlOiBTdG9yZSwgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1ldGFkYXRhQWN0aW9ucy5sb2FkTWV0YWRhdGEoKSk7XG4gICAgdGhpcy5zdGF0aWNNYW5pZmVzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuc3RhdGljTWFuaWZlc3QpO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RhdGljTWFuaWZlc3QkLCB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZ3JpZExheW91dCldKS5zdWJzY3JpYmUoXG4gICAgICAoW3N0YXRpY01hbmlmZXN0LCBncmlkTGF5b3V0XSkgPT4ge1xuICAgICAgICB0aGlzLmNob3NlbkxheW91dCA9XG4gICAgICAgICAgdGhpcy5lZGl0aW9uICYmIHN0YXRpY01hbmlmZXN0LndpbmRvd3NbMF0/LmdyaWQ/LmxheW91dCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHN0YXRpY01hbmlmZXN0LndpbmRvd3NbMF0/LmdyaWQ/LmxheW91dFxuICAgICAgICAgICAgOiBncmlkTGF5b3V0O1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApXSksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyMDApXSksXG4gICAgICBjb3ZlcjogbmV3IEZvcm1Db250cm9sKGZhbHNlKVxuICAgIH0pO1xuICAgIHRoaXMuaW1hZ2UgPSB0aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZT8uaW1hZ2UgPz8gREVGQVVMVF9SRVNUSVRVVElPTl9JQ09OX1VSTDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZSkgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5zZWxlY3RlZFByZXNlbnRhdGlvbiQudmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZWRpdGlvbikge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVN0YXRpY01hbmlmZXN0KHsgc3RhdGljTWFuaWZlc3Q6IHsgd2luZG93czogW10gfSB9KSk7XG4gICAgfVxuICAgIGNvbnN0IHByZXNlbnRhdGlvbiA9IHRoaXMuZGlzcGF0Y2hTYXZlKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhc2hib2FyZEFjdGlvbnMuc2VsZWN0UHJlc2VudGF0aW9uKHtcbiAgICAgICAgcHJlc2VudGF0aW9uLFxuICAgICAgICB2aWV3TW9kZTogVmlld01vZGUuRURJVElPTlxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGlzcGF0Y2hTYXZlKCk6IE1hbmlmZXN0RGVzY3JpcHRpb24ge1xuICAgIGNvbnN0IHByZXNlbnRhdGlvbiA9IHtcbiAgICAgIC4uLnRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlISxcbiAgICAgIGlkOiB0aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZT8uaWQgfHwgdXVpZHY0KCksXG4gICAgICBuYW1lOiB0aGlzLmZvcm0udmFsdWUubmFtZSA/PyAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICBjb3ZlcjogdGhpcy5mb3JtLnZhbHVlLmNvdmVyID8/IGZhbHNlLFxuICAgICAgaW1hZ2U6IHRoaXMuaW1hZ2UgPz8gREVGQVVMVF9SRVNUSVRVVElPTl9JQ09OX1VSTFxuICAgIH07XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zdGF0aWNNYW5pZmVzdCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHN0YXRpY01hbmlmZXN0KSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zYXZlTWFuaWZlc3Qoe1xuICAgICAgICAgICAgLi4ucHJlc2VudGF0aW9uLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHByZXNlbnRhdGlvbi5tZXRhZGF0YT8ubWFwKChtZXRhZGF0YSkgPT4gKHtcbiAgICAgICAgICAgICAgbWV0YWRhdGFEZWZJZDogbWV0YWRhdGEubWV0YWRhdGFEZWYuaWQsXG4gICAgICAgICAgICAgIHZhbHVlOiBtZXRhZGF0YS52YWx1ZVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgbWFuaWZlc3Q6IHN0YXRpY01hbmlmZXN0XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICByZXR1cm4gcHJlc2VudGF0aW9uO1xuICB9XG5cbiAgY29uZmlndXJlRGFzaGJvYXJkKHNlbGVjdGVkUHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uKSB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaFNhdmUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVzZW50YXRpb24gPSB7XG4gICAgICAuLi50aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZSEsXG4gICAgICBuYW1lOiB0aGlzLmZvcm0udmFsdWUubmFtZSA/PyAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICBpbWFnZTogdGhpcy5pbWFnZSA/PyBERUZBVUxUX1JFU1RJVFVUSU9OX0lDT05fVVJMLFxuICAgICAgY292ZXI6IHRoaXMuZm9ybS52YWx1ZS5jb3ZlciA/PyBmYWxzZVxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuZWRpdGlvbikge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdCh7XG4gICAgICAgICAgbWFuaWZlc3Q6IHsgd2luZG93czogW3sgd2lkZ2V0czogW10sIGdyaWQ6IHsgbGF5b3V0OiB0aGlzLmNob3NlbkxheW91dCB9IH1dIH0sXG4gICAgICAgICAgc2VsZWN0ZWRJZHM6IFtdLFxuICAgICAgICAgIG1hbmlmZXN0SWQ6IHNlbGVjdGVkUHJlc2VudGF0aW9uLmlkXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zZXRJbml0aWFsUHJlc2VudGF0aW9uKHtcbiAgICAgICAgICBpbml0aWFsOiB7IHdpbmRvd3M6IFt7IHdpZGdldHM6IFtdLCBncmlkOiB7IGxheW91dDogdGhpcy5jaG9zZW5MYXlvdXQgYXMgRGFzaGJvYXJkR3JpZExheW91dCB9IH1dIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbih7XG4gICAgICAgICAgcHJlc2VudGF0aW9uLFxuICAgICAgICAgIHZpZXdNb2RlOiB0aGlzLmVkaXRpb24gPyBWaWV3TW9kZS5DUkVBVElPTiA6IFZpZXdNb2RlLkVESVRJT05cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnJvdXRlcj8ubmF2aWdhdGVCeVVybCh0aGlzLmVkaXRpb25TdGFydFVybCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMubG9hZFByZXNlbnRhdGlvbih7XG4gICAgICAgICAgcHJlc2VudGF0aW9uLFxuICAgICAgICAgIHZpZXdNb2RlOiB0aGlzLmVkaXRpb24gPyBWaWV3TW9kZS5DUkVBVElPTiA6IFZpZXdNb2RlLkVESVRJT05cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYWRkTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFFdmVudFR5cGUpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGFzaGJvYXJkQWN0aW9ucy5hZGRNYW5pZmVzdE1ldGFkYXRhKHtcbiAgICAgICAgcHJlc2VudGF0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlPy5pZCEsXG4gICAgICAgIG1ldGFkYXRhSWQ6IG1ldGFkYXRhLm1ldGFkYXRhSWQsXG4gICAgICAgIHZhbHVlOiBtZXRhZGF0YS52YWx1ZSA/PyAnJ1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFFdmVudFR5cGUpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGFzaGJvYXJkQWN0aW9ucy5kZWxldGVNYW5pZmVzdE1ldGFkYXRhKHtcbiAgICAgICAgcHJlc2VudGF0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlPy5pZCEsXG4gICAgICAgIG1ldGFkYXRhSWQ6IG1ldGFkYXRhLm1ldGFkYXRhSWRcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZ29CYWNrLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0XCI+XG4gIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fdG9vbGJveFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIj5cbiAgICAgIHt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2hlY2snIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X19jb250ZW50LS1wcmVzZW50YXRpb25cIj5cbiAgICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmFkZCcgKyAnLnBhZ2VUaXRsZScgfCBpMThuIH19PC9oMT5cbiAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb24tZm9ybS13cmFwcGVyXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cIm8tcHJlc2VudGF0aW9uLWZvcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtZnVsbFwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJwcmVzZW50YXRpb25fbmFtZVwiPnt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLm5hbWUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBpZD1cInByZXNlbnRhdGlvbl9uYW1lXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnQHByeS5wcmVzZW50YXRpb24uZm9ybS5uYW1lJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNTBcIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwicHJlc2VudGF0aW9uX25hbWVcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtLmdldCgnbmFtZScpPy50b3VjaGVkICYmIGZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkucHJlc2VudGF0aW9uLnJlcXVpcmVkJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwicHJlc2VudGF0aW9uX25hbWVcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5wcmVzZW50YXRpb24ubWF4TGVuZ3RoJyB8IGkxOG4gOiB7IGxlbjogJzUwJyB9IH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLWZ1bGxcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwicHJlc2VudGF0aW9uX2Rlc2NyaXB0aW9uXCI+e3tcbiAgICAgICAgICAgICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmRlc2NyaXB0aW9uJyB8IGkxOG5cbiAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBpZD1cInByZXNlbnRhdGlvbl9kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgY29scz1cIjMwXCJcbiAgICAgICAgICAgIHJvd3M9XCI1XCJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjIwMFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwicHJlc2VudGF0aW9uX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5nZXQoJ2Rlc2NyaXB0aW9uJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiXG4gICAgICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdAcHJ5LnByZXNlbnRhdGlvbi5tYXhMZW5ndGgnIHwgaTE4biA6IHsgbGVuOiAnMjAwJyB9IH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLWZ1bGxcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwicHJlc2VudGF0aW9uX2ltYWdlXCI+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmZvcm0uaW1hZ2UnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsZS1pbnB1dFwiPlxuICAgICAgICAgICAgPHByeS1zZWxlY3QtaW1hZ2VcbiAgICAgICAgICAgICAgaWQ9XCJwcmVzZW50YXRpb25faW1hZ2VcIlxuICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJpbWFnZSA9ICRldmVudFwiXG4gICAgICAgICAgICAgIFtpY29uVXJsXT1cImltYWdlXCJcbiAgICAgICAgICAgICAgW21vZGVdPVwidHlwZVwiXG4gICAgICAgICAgICA+PC9wcnktc2VsZWN0LWltYWdlPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb3ZlclwiIG5hbWU9XCJjb3ZlclwiIG5nRGVmYXVsdENvbnRyb2w+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmNvdmVyJyB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtZnVsbCBtLWZvcm0tbGFiZWwtZmllbGQtLWlubGluZVwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5wcmVzZW50YXRpb24uZm9ybS5ncmlkJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnRvb2xib3gubGF5b3V0LicgKyB0aGlzLmNob3NlbkxheW91dCB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgPHByeS1zZWxlY3QtZ3JpZC1sYXlvdXQgKm5nSWY9XCIhZWRpdGlvblwiPjwvcHJ5LXNlbGVjdC1ncmlkLWxheW91dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb25fX21ldGFkYXRhLWVkaXRvclwiICpuZ0lmPVwic2VsZWN0ZWRQcmVzZW50YXRpb24kIHwgYXN5bmMgYXMgc2VsZWN0ZWRQcmVzZW50YXRpb25cIj5cbiAgICAgICAgPHByeS1tZXRhZGF0YS1lZGl0b3JcbiAgICAgICAgICBbdGFyZ2V0SWRdPVwic2VsZWN0ZWRQcmVzZW50YXRpb24uaWRcIlxuICAgICAgICAgIFtpc01vZGlmaWNhdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICBbbWV0YWRhdGFdPVwic2VsZWN0ZWRQcmVzZW50YXRpb24ubWV0YWRhdGFcIlxuICAgICAgICAgIChyZW1vdmVNZXRhKT1cInJlbW92ZU1ldGFkYXRhKCRldmVudClcIlxuICAgICAgICAgIChhZGRNZXRhKT1cImFkZE1ldGFkYXRhKCRldmVudClcIlxuICAgICAgICAgIFt0eXBlXT1cIidtZXRhJ1wiXG4gICAgICAgID48L3ByeS1tZXRhZGF0YS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgIChjbGljayk9XCJjb25maWd1cmVEYXNoYm9hcmQoc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlISlcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgPlxuICAgICAge3sgJ0BwcnkucHJlc2VudGF0aW9uLmNvbmZpZ3VyYXRpb24nIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVkaXQtcHJlc2VudGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3ByZXNlbnRhdGlvbi9jb21wb25lbnRzL2FkZC1lZGl0LXByZXNlbnRhdGlvbi9hZGQtZWRpdC1wcmVzZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcHJlc2VudGF0aW9uL2NvbXBvbmVudHMvYWRkLWVkaXQtcHJlc2VudGF0aW9uL2FkZC1lZGl0LXByZXNlbnRhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUc1QixZQUFZLEVBRVosd0JBQXdCLEVBQ3hCLFFBQVEsRUFDVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFpQixNQUFNLCtDQUErQyxDQUFDO0FBQ2xILE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTXBDLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx3QkFBd0I7SUFjM0UsSUFBYSxvQkFBb0IsQ0FBQyxZQUF3QztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFJRCxZQUFzQixLQUFZLEVBQXdCLE1BQWM7UUFDdEUsS0FBSyxFQUFFLENBQUM7UUFEWSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQXdCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFsQnhFLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUE2QixJQUFJLENBQUMsQ0FBQztRQUNyRSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLG9CQUFlLEdBQVcsR0FBRyxDQUFDO1FBRXZDLFVBQUssR0FBVyw0QkFBNEIsQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1QyxTQUFJLEdBQWlCLFlBQVksQ0FBQyxZQUFZLENBQUM7UUFDL0MsaUJBQVksR0FBd0IsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1FBQzdELG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBRTlCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBTXBCLFNBQUksR0FBcUIsTUFBTSxDQUFDO1FBSXZDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUMvRixDQUFDLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLE9BQU8sSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssU0FBUztvQkFDbkUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU07b0JBQ3pDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDbkIsQ0FBQyxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7WUFDN0IsTUFBTSxhQUFhLEdBQUcsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztZQUN2RSxJQUFJLGFBQWEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQzthQUMxRDtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDeEIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVFLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM3QixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO1NBQzNCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksNEJBQTRCLENBQUM7UUFDckYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNwRCxNQUFNLEtBQUssR0FBRyxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDO1lBQ3hHLElBQUksQ0FBQyxDQUFDLEtBQUs7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLO2dCQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDakc7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDO1lBQ2xDLFlBQVk7WUFDWixRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU87U0FDM0IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sWUFBWSxHQUFHO1lBQ25CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQU07WUFDcEMsRUFBRSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRTtZQUNwRCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSw0QkFBNEI7WUFDakQsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDMUIsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO2dCQUM1QixHQUFHLFlBQVk7Z0JBQ2YsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNsRCxhQUFhLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUN0QyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7aUJBQ3RCLENBQUMsQ0FBQztnQkFDSCxRQUFRLEVBQUUsY0FBYzthQUN6QixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsb0JBQXlDO1FBQzFELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO1FBRUQsTUFBTSxZQUFZLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBTTtZQUNwQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLDRCQUE0QjtZQUNqRCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUs7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDMUIsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7Z0JBQzlCLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDN0UsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsVUFBVSxFQUFFLG9CQUFvQixDQUFDLEVBQUU7YUFDcEMsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQW1DLEVBQUUsRUFBRSxDQUFDLEVBQUU7YUFDcEcsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2xDLFlBQVk7Z0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQzlELENBQUMsQ0FDSCxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDaEMsWUFBWTtnQkFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDOUQsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQXVCO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztZQUNuQyxjQUFjLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFHO1lBQ3JELFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMvQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssSUFBSSxFQUFFO1NBQzVCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUF1QjtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsRUFBRztZQUNyRCxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7U0FDaEMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUMxQixDQUFDLENBQUM7Z0JBQ0U7b0JBQ0UsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUU7b0JBQ3pGLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTtpQkFDbkM7YUFDRjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDdkQsQ0FBQzsrR0F2TFUsK0JBQStCO21HQUEvQiwrQkFBK0IsdVBDeEI1QyxnMUpBbUhBOzs0RkQzRmEsK0JBQStCO2tCQUozQyxTQUFTOytCQUNFLDJCQUEyQjs7MEJBdUJBLFFBQVE7NENBakJwQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFHSSxNQUFNO3NCQUFmLE1BQU07Z0JBT00sb0JBQW9CO3NCQUFoQyxLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBERUZBVUxUX1JFU1RJVFVUSU9OX0lDT05fVVJMLFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgSU1ldGFkYXRhLFxuICBMaWJyYXJ5VHlwZXMsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVmlld01vZGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWV0YWRhdGFBY3Rpb25zLCBNZXRhZGF0YVNlbGVjdG9ycywgTWV0YUV2ZW50VHlwZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkZC1lZGl0LXByZXNlbnRhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZWRpdC1wcmVzZW50YXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUFkZEVkaXRQcmVzZW50YXRpb25Db21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWNNYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBzZWxlY3RlZFByZXNlbnRhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hbmlmZXN0RGVzY3JpcHRpb24gfCBudWxsPihudWxsKTtcbiAgQElucHV0KCkgZWRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlZGl0aW9uU3RhcnRVcmw6IHN0cmluZyA9ICcvJztcbiAgZm9ybSE6IEZvcm1Hcm91cDtcbiAgaW1hZ2U6IHN0cmluZyA9IERFRkFVTFRfUkVTVElUVVRJT05fSUNPTl9VUkw7XG4gIEBPdXRwdXQoKSBnb0JhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHR5cGU6IExpYnJhcnlUeXBlcyA9IExpYnJhcnlUeXBlcy5JTExVU1RSQVRJT047XG4gIGNob3NlbkxheW91dDogRGFzaGJvYXJkR3JpZExheW91dCA9IERhc2hib2FyZEdyaWRMYXlvdXQuRlVMTDtcbiAgcG9zc2libGVUaGVtZXM6IHN0cmluZ1tdID0gW107XG4gIG1ldGFkYXRhRGVmczogSU1ldGFkYXRhW10gfCB1bmRlZmluZWQ7XG4gIG1ldGFkYXRhVGhlbWVJZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkUHJlc2VudGF0aW9uKHByZXNlbnRhdGlvbjogTWFuaWZlc3REZXNjcmlwdGlvbiB8IG51bGwpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC5uZXh0KHByZXNlbnRhdGlvbik7XG4gIH1cblxuICBASW5wdXQoKSBtb2RlOiAndGhlbWUnIHwgJ21ldGEnID0gJ21ldGEnO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yZTogU3RvcmUsIEBPcHRpb25hbCgpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuICAgIHRoaXMuc3RhdGljTWFuaWZlc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnN0YXRpY01hbmlmZXN0KTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRpY01hbmlmZXN0JCwgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdyaWRMYXlvdXQpXSkuc3Vic2NyaWJlKFxuICAgICAgKFtzdGF0aWNNYW5pZmVzdCwgZ3JpZExheW91dF0pID0+IHtcbiAgICAgICAgdGhpcy5jaG9zZW5MYXlvdXQgPVxuICAgICAgICAgIHRoaXMuZWRpdGlvbiAmJiBzdGF0aWNNYW5pZmVzdC53aW5kb3dzWzBdPy5ncmlkPy5sYXlvdXQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBzdGF0aWNNYW5pZmVzdC53aW5kb3dzWzBdPy5ncmlkPy5sYXlvdXRcbiAgICAgICAgICAgIDogZ3JpZExheW91dDtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5tZXRhZGF0YSkuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLm1ldGFkYXRhRGVmcyA9IG1ldGFkYXRhO1xuICAgICAgICBjb25zdCBtZXRhZGF0YVRoZW1lID0gbWV0YWRhdGE/LmZpbmQoKG1ldGEpID0+IG1ldGEubmFtZSA9PT0gJ190aGVtZScpO1xuICAgICAgICBpZiAobWV0YWRhdGFUaGVtZSkge1xuICAgICAgICAgIHRoaXMubWV0YWRhdGFUaGVtZUlkID0gbWV0YWRhdGFUaGVtZT8uaWQgPz8gJyc7XG4gICAgICAgICAgdGhpcy5wb3NzaWJsZVRoZW1lcyA9IG1ldGFkYXRhVGhlbWU/LmFsbG93ZWRWYWx1ZXMgPz8gW107XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCldKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwMCldKSxcbiAgICAgIGNvdmVyOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgICAgdGhlbWU6IG5ldyBGb3JtQ29udHJvbCgnJylcbiAgICB9KTtcbiAgICB0aGlzLmltYWdlID0gdGhpcy5zZWxlY3RlZFByZXNlbnRhdGlvbiQudmFsdWU/LmltYWdlID8/IERFRkFVTFRfUkVTVElUVVRJT05fSUNPTl9VUkw7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnN1YnNjcmliZSgocHJlc2VudGF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHRoZW1lID0gcHJlc2VudGF0aW9uPy5tZXRhZGF0YT8uZmluZCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm1ldGFkYXRhRGVmLm5hbWUgPT09ICdfdGhlbWUnKT8udmFsdWU7XG4gICAgICAgIGlmICghIXRoZW1lKSB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHRoZW1lIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlKSB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5lZGl0aW9uKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlU3RhdGljTWFuaWZlc3QoeyBzdGF0aWNNYW5pZmVzdDogeyB3aW5kb3dzOiBbXSB9IH0pKTtcbiAgICB9XG4gICAgY29uc3QgcHJlc2VudGF0aW9uID0gdGhpcy5kaXNwYXRjaFNhdmUoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zZWxlY3RQcmVzZW50YXRpb24oe1xuICAgICAgICBwcmVzZW50YXRpb24sXG4gICAgICAgIHZpZXdNb2RlOiBWaWV3TW9kZS5FRElUSU9OXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBkaXNwYXRjaFNhdmUoKTogTWFuaWZlc3REZXNjcmlwdGlvbiB7XG4gICAgY29uc3QgcHJlc2VudGF0aW9uID0ge1xuICAgICAgLi4udGhpcy5zZWxlY3RlZFByZXNlbnRhdGlvbiQudmFsdWUhLFxuICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlPy5pZCB8fCB1dWlkdjQoKSxcbiAgICAgIG5hbWU6IHRoaXMuZm9ybS52YWx1ZS5uYW1lID8/ICcnLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZm9ybS52YWx1ZS5kZXNjcmlwdGlvbiA/PyAnJyxcbiAgICAgIGNvdmVyOiB0aGlzLmZvcm0udmFsdWUuY292ZXIgPz8gZmFsc2UsXG4gICAgICBpbWFnZTogdGhpcy5pbWFnZSA/PyBERUZBVUxUX1JFU1RJVFVUSU9OX0lDT05fVVJMLFxuICAgICAgbWV0YWRhdGE6IHRoaXMubWV0YWRhdGEoKVxuICAgIH07XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zdGF0aWNNYW5pZmVzdCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHN0YXRpY01hbmlmZXN0KSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zYXZlTWFuaWZlc3Qoe1xuICAgICAgICAgICAgLi4ucHJlc2VudGF0aW9uLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHByZXNlbnRhdGlvbi5tZXRhZGF0YT8ubWFwKChtZXRhZGF0YSkgPT4gKHtcbiAgICAgICAgICAgICAgbWV0YWRhdGFEZWZJZDogbWV0YWRhdGEubWV0YWRhdGFEZWYuaWQsXG4gICAgICAgICAgICAgIHZhbHVlOiBtZXRhZGF0YS52YWx1ZVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgbWFuaWZlc3Q6IHN0YXRpY01hbmlmZXN0XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICByZXR1cm4gcHJlc2VudGF0aW9uO1xuICB9XG5cbiAgY29uZmlndXJlRGFzaGJvYXJkKHNlbGVjdGVkUHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uKSB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaFNhdmUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVzZW50YXRpb24gPSB7XG4gICAgICAuLi50aGlzLnNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZSEsXG4gICAgICBuYW1lOiB0aGlzLmZvcm0udmFsdWUubmFtZSA/PyAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICBpbWFnZTogdGhpcy5pbWFnZSA/PyBERUZBVUxUX1JFU1RJVFVUSU9OX0lDT05fVVJMLFxuICAgICAgY292ZXI6IHRoaXMuZm9ybS52YWx1ZS5jb3ZlciA/PyBmYWxzZSxcbiAgICAgIG1ldGFkYXRhOiB0aGlzLm1ldGFkYXRhKClcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmVkaXRpb24pIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3Qoe1xuICAgICAgICAgIG1hbmlmZXN0OiB7IHdpbmRvd3M6IFt7IHdpZGdldHM6IFtdLCBncmlkOiB7IGxheW91dDogdGhpcy5jaG9zZW5MYXlvdXQgfSB9XSB9LFxuICAgICAgICAgIHNlbGVjdGVkSWRzOiBbXSxcbiAgICAgICAgICBtYW5pZmVzdElkOiBzZWxlY3RlZFByZXNlbnRhdGlvbi5pZFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIERhc2hib2FyZEFjdGlvbnMuc2V0SW5pdGlhbFByZXNlbnRhdGlvbih7XG4gICAgICAgICAgaW5pdGlhbDogeyB3aW5kb3dzOiBbeyB3aWRnZXRzOiBbXSwgZ3JpZDogeyBsYXlvdXQ6IHRoaXMuY2hvc2VuTGF5b3V0IGFzIERhc2hib2FyZEdyaWRMYXlvdXQgfSB9XSB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgRGFzaGJvYXJkQWN0aW9ucy5zZWxlY3RQcmVzZW50YXRpb24oe1xuICAgICAgICAgIHByZXNlbnRhdGlvbixcbiAgICAgICAgICB2aWV3TW9kZTogdGhpcy5lZGl0aW9uID8gVmlld01vZGUuQ1JFQVRJT04gOiBWaWV3TW9kZS5FRElUSU9OXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLmxvYWRQcmVzZW50YXRpb24oe1xuICAgICAgICAgIHByZXNlbnRhdGlvbixcbiAgICAgICAgICB2aWV3TW9kZTogdGhpcy5lZGl0aW9uID8gVmlld01vZGUuQ1JFQVRJT04gOiBWaWV3TW9kZS5FRElUSU9OXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlcj8ubmF2aWdhdGVCeVVybCh0aGlzLmVkaXRpb25TdGFydFVybCk7XG4gIH1cblxuICBhZGRNZXRhZGF0YShtZXRhZGF0YTogTWV0YUV2ZW50VHlwZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXNoYm9hcmRBY3Rpb25zLmFkZE1hbmlmZXN0TWV0YWRhdGEoe1xuICAgICAgICBwcmVzZW50YXRpb25JZDogdGhpcy5zZWxlY3RlZFByZXNlbnRhdGlvbiQudmFsdWU/LmlkISxcbiAgICAgICAgbWV0YWRhdGFJZDogbWV0YWRhdGEubWV0YWRhdGFJZCxcbiAgICAgICAgdmFsdWU6IG1ldGFkYXRhLnZhbHVlID8/ICcnXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZW1vdmVNZXRhZGF0YShtZXRhZGF0YTogTWV0YUV2ZW50VHlwZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXNoYm9hcmRBY3Rpb25zLmRlbGV0ZU1hbmlmZXN0TWV0YWRhdGEoe1xuICAgICAgICBwcmVzZW50YXRpb25JZDogdGhpcy5zZWxlY3RlZFByZXNlbnRhdGlvbiQudmFsdWU/LmlkISxcbiAgICAgICAgbWV0YWRhdGFJZDogbWV0YWRhdGEubWV0YWRhdGFJZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5nb0JhY2suZW1pdCgpO1xuICB9XG5cbiAgbWV0YWRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ3RoZW1lJ1xuICAgICAgPyBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWV0YWRhdGFEZWY6IHRoaXMubWV0YWRhdGFEZWZzIS5maW5kKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEuaWQgPT09IHRoaXMubWV0YWRhdGFUaGVtZUlkKSEsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5mb3JtLnZhbHVlLnRoZW1lID8/ICcnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICA6IHRoaXMuc2VsZWN0ZWRQcmVzZW50YXRpb24kLnZhbHVlPy5tZXRhZGF0YSA/PyBbXTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0XCI+XG4gIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fdG9vbGJveFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIj5cbiAgICAgIHt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2hlY2snIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X19jb250ZW50LS1wcmVzZW50YXRpb25cIj5cbiAgICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmFkZCcgKyAnLnBhZ2VUaXRsZScgfCBpMThuIH19PC9oMT5cbiAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb24tZm9ybS13cmFwcGVyXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cIm8tcHJlc2VudGF0aW9uLWZvcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtZnVsbFwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJwcmVzZW50YXRpb25fbmFtZVwiPnt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLm5hbWUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBpZD1cInByZXNlbnRhdGlvbl9uYW1lXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnQHByeS5wcmVzZW50YXRpb24uZm9ybS5uYW1lJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNTBcIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwicHJlc2VudGF0aW9uX25hbWVcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtLmdldCgnbmFtZScpPy50b3VjaGVkICYmIGZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkucHJlc2VudGF0aW9uLnJlcXVpcmVkJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwicHJlc2VudGF0aW9uX25hbWVcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5wcmVzZW50YXRpb24ubWF4TGVuZ3RoJyB8IGkxOG4gOiB7IGxlbjogJzUwJyB9IH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLWZ1bGxcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwicHJlc2VudGF0aW9uX2Rlc2NyaXB0aW9uXCI+e3tcbiAgICAgICAgICAgICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmRlc2NyaXB0aW9uJyB8IGkxOG5cbiAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBpZD1cInByZXNlbnRhdGlvbl9kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgY29scz1cIjMwXCJcbiAgICAgICAgICAgIHJvd3M9XCI1XCJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjIwMFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwicHJlc2VudGF0aW9uX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5nZXQoJ2Rlc2NyaXB0aW9uJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiXG4gICAgICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdAcHJ5LnByZXNlbnRhdGlvbi5tYXhMZW5ndGgnIHwgaTE4biA6IHsgbGVuOiAnMjAwJyB9IH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLWZ1bGxcIiAqbmdJZj1cIm1vZGUgPT09ICd0aGVtZSdcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwicHJlc2VudGF0aW9uX3RoZW1lXCI+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmZvcm0udGhlbWUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgIGlkPVwicHJlc2VudGF0aW9uX3RoZW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICAgICAgICAgIFtpdGVtc109XCJwb3NzaWJsZVRoZW1lc1wiXG4gICAgICAgICAgICBbaXRlbXNBc09wdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtiaW5kRGF0YV09XCJ0cnVlXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRoZW1lXCJcbiAgICAgICAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLWZ1bGxcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwicHJlc2VudGF0aW9uX2ltYWdlXCI+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmZvcm0uaW1hZ2UnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsZS1pbnB1dFwiPlxuICAgICAgICAgICAgPHByeS1zZWxlY3QtaW1hZ2VcbiAgICAgICAgICAgICAgaWQ9XCJwcmVzZW50YXRpb25faW1hZ2VcIlxuICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJpbWFnZSA9ICRldmVudFwiXG4gICAgICAgICAgICAgIFtpY29uVXJsXT1cImltYWdlXCJcbiAgICAgICAgICAgICAgW21vZGVdPVwidHlwZVwiXG4gICAgICAgICAgICA+PC9wcnktc2VsZWN0LWltYWdlPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb3ZlclwiIG5hbWU9XCJjb3ZlclwiIG5nRGVmYXVsdENvbnRyb2w+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmNvdmVyJyB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtZnVsbCBtLWZvcm0tbGFiZWwtZmllbGQtLWlubGluZVwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5wcmVzZW50YXRpb24uZm9ybS5ncmlkJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnRvb2xib3gubGF5b3V0LicgKyB0aGlzLmNob3NlbkxheW91dCB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgPHByeS1zZWxlY3QtZ3JpZC1sYXlvdXQgKm5nSWY9XCIhZWRpdGlvblwiPjwvcHJ5LXNlbGVjdC1ncmlkLWxheW91dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ21ldGEnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9fbWV0YWRhdGEtZWRpdG9yXCIgKm5nSWY9XCJzZWxlY3RlZFByZXNlbnRhdGlvbiQgfCBhc3luYyBhcyBzZWxlY3RlZFByZXNlbnRhdGlvblwiPlxuICAgICAgICAgIDxwcnktbWV0YWRhdGEtZWRpdG9yXG4gICAgICAgICAgICBbdGFyZ2V0SWRdPVwic2VsZWN0ZWRQcmVzZW50YXRpb24uaWRcIlxuICAgICAgICAgICAgW2lzTW9kaWZpY2F0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgW21ldGFkYXRhXT1cInNlbGVjdGVkUHJlc2VudGF0aW9uLm1ldGFkYXRhXCJcbiAgICAgICAgICAgIChyZW1vdmVNZXRhKT1cInJlbW92ZU1ldGFkYXRhKCRldmVudClcIlxuICAgICAgICAgICAgKGFkZE1ldGEpPVwiYWRkTWV0YWRhdGEoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdHlwZV09XCInbWV0YSdcIlxuICAgICAgICAgID48L3ByeS1tZXRhZGF0YS1lZGl0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwiY29uZmlndXJlRGFzaGJvYXJkKHNlbGVjdGVkUHJlc2VudGF0aW9uJC52YWx1ZSEpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIlxuICAgID5cbiAgICAgIHt7ICdAcHJ5LnByZXNlbnRhdGlvbi5jb25maWd1cmF0aW9uJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|