@provoly/dashboard 1.3.8 → 1.3.9
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/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +5 -2
- package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +47 -18
- package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +6 -2
- package/admin/components/admin-fields/admin-fields.component.d.ts +4 -1
- package/admin/components/admin-fields/store/admin-fields.model.d.ts +1 -1
- package/admin/components/admin-fields/store/fields.actions.d.ts +19 -12
- package/admin/components/admin-fields/store/fields.effects.d.ts +16 -3
- package/admin/i18n/en.translations.d.ts +33 -14
- package/admin/i18n/fr.translations.d.ts +33 -14
- package/components/checkbox/checkbox.component.d.ts +4 -2
- package/components/data-format/data-format.pipe.d.ts +11 -1
- package/components/paginator/index.d.ts +5 -0
- package/components/paginator/paginator.component.d.ts +19 -0
- package/components/paginator/paginator.module.d.ts +10 -0
- package/components/paginator/public-api.d.ts +3 -0
- package/components/paginator/style/_o-pry-paginator.scss +11 -0
- package/components/paginator/style/css.component.d.ts +5 -0
- package/dataset/components/dataset-detail/dataset-detail.component.d.ts +5 -8
- package/dataset/dataset.module.d.ts +1 -1
- package/dataset/i18n/en.translations.d.ts +0 -12
- package/dataset/i18n/fr.translations.d.ts +0 -12
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +4 -6
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +10 -12
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +6 -5
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +2 -2
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +142 -63
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +7 -8
- package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +15 -11
- package/esm2022/admin/components/admin-fields/store/admin-fields.model.mjs +1 -1
- package/esm2022/admin/components/admin-fields/store/fields.actions.mjs +6 -5
- package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +12 -6
- package/esm2022/admin/i18n/en.translations.mjs +34 -15
- package/esm2022/admin/i18n/fr.translations.mjs +34 -15
- package/esm2022/components/checkbox/checkbox.component.mjs +15 -7
- package/esm2022/components/data-format/data-format.pipe.mjs +88 -7
- package/esm2022/components/paginator/paginator.component.mjs +51 -0
- package/esm2022/components/paginator/paginator.module.mjs +20 -0
- package/esm2022/components/paginator/provoly-dashboard-components-paginator.mjs +5 -0
- package/esm2022/components/paginator/public-api.mjs +4 -0
- package/esm2022/components/paginator/style/css.component.mjs +11 -0
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +16 -26
- package/esm2022/dataset/dataset.module.mjs +2 -5
- package/esm2022/dataset/i18n/en.translations.mjs +1 -13
- package/esm2022/dataset/i18n/fr.translations.mjs +2 -14
- package/esm2022/import/components/form/import-form.component.mjs +174 -0
- package/esm2022/import/components/list/import-list.component.mjs +73 -0
- package/esm2022/import/components/version-modal/version-modal.component.mjs +26 -0
- package/esm2022/import/i18n/en.translations.mjs +16 -2
- package/esm2022/import/i18n/fr.translations.mjs +16 -2
- package/esm2022/import/import-routing.module.mjs +3 -3
- package/esm2022/import/import.module.mjs +25 -10
- package/esm2022/import/public-api.mjs +4 -2
- package/esm2022/import/style/css.component.mjs +2 -2
- package/esm2022/lib/core/components/select/select.component.mjs +3 -3
- package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +8 -8
- package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +48 -0
- package/esm2022/lib/core/components/{modal-status/modal-status.module.mjs → status-modal/status-modal.module.mjs} +9 -9
- package/esm2022/lib/core/core.module.mjs +5 -5
- package/esm2022/lib/core/i18n/en.translations.mjs +35 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +37 -2
- package/esm2022/lib/core/model/admin-api.model.mjs +5 -69
- package/esm2022/lib/core/model/widget-analytic-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/public-api.mjs +3 -3
- package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
- package/esm2022/lib/core/store/class/class.selectors.mjs +2 -2
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +3 -3
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +7 -4
- package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +5 -3
- package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +3 -11
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +23 -5
- package/esm2022/lib/core/store/field/field.interface.mjs +1 -3
- package/esm2022/lib/core/store/field/field.service.mjs +7 -2
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +3 -11
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +2 -2
- package/esm2022/lib/dashboard/item-utils.mjs +5 -5
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -4
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +1 -19
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +1 -26
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
- package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +3 -2
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +4 -4
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +4 -5
- package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +2 -2
- package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +5 -6
- package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -3
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +17 -19
- package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -4
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +54 -37
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +4 -16
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +9 -9
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +5 -5
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +30 -32
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +2 -5
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +6 -10
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +18 -14
- package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +9 -5
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +2 -2
- package/esm2022/widgets/widget-table/public-api.mjs +1 -2
- package/esm2022/widgets/widget-table/widget-table.module.mjs +12 -7
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -15
- package/esm2022/widgets/widget-tile/widget-tile.module.mjs +8 -4
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs +249 -126
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-checkbox.mjs +14 -6
- package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-data-format.mjs +88 -7
- package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-paginator.mjs +82 -0
- package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-dataset.mjs +21 -58
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +249 -116
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +15 -16
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +20 -21
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +53 -36
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +3 -15
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +9 -9
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +4 -4
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +36 -45
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +32 -38
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +16 -17
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +278 -330
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/{import.component.d.ts → form/import-form.component.d.ts} +8 -4
- package/import/components/list/import-list.component.d.ts +34 -0
- package/import/components/version-modal/version-modal.component.d.ts +13 -0
- package/import/i18n/en.translations.d.ts +14 -0
- package/import/i18n/fr.translations.d.ts +14 -0
- package/import/import.module.d.ts +13 -10
- package/import/public-api.d.ts +3 -1
- package/import/style/_o-import.scss +50 -6
- package/lib/core/components/share/legacy-share/share.component.d.ts +1 -1
- package/lib/core/components/{modal-status/modal-status.component.d.ts → status-modal/status-modal.component.d.ts} +10 -6
- package/lib/core/components/{modal-status/modal-status.module.d.ts → status-modal/status-modal.module.d.ts} +5 -5
- package/lib/core/core.module.d.ts +2 -2
- package/lib/core/i18n/en.translations.d.ts +33 -0
- package/lib/core/i18n/fr.translations.d.ts +35 -0
- package/lib/core/model/admin-api.model.d.ts +6 -8
- package/lib/core/model/widget-analytic-manifest.interface.d.ts +0 -3
- package/lib/core/model/widget-table-manifest.interface.d.ts +2 -0
- package/lib/core/public-api.d.ts +2 -2
- package/lib/core/store/class/class.interface.d.ts +2 -1
- package/lib/core/store/class/class.selectors.d.ts +10 -10
- package/lib/core/store/data-source/data-source.actions.d.ts +21 -1
- package/lib/core/store/data-source/data-source.effects.d.ts +11 -1
- package/lib/core/store/data-source/data-source.model.d.ts +3 -2
- package/lib/core/store/data-source/data-source.reducer.d.ts +1 -0
- package/lib/core/store/data-source/data-source.selectors.d.ts +3 -3
- package/lib/core/store/data-source/data-source.service.d.ts +11 -2
- package/lib/core/store/field/field.interface.d.ts +8 -4
- package/lib/core/store/field/field.service.d.ts +1 -0
- package/lib/dashboard/components/context-menu/object-edition/object-edition.component.d.ts +1 -1
- package/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.d.ts +3 -7
- package/lib/dashboard/item-utils.d.ts +1 -1
- package/lib/dashboard/store/dashboard.actions.d.ts +0 -11
- package/lib/dashboard/store/dashboard.effects.d.ts +0 -3
- package/lib/dashboard/tooltip/tooltip-factory.service.d.ts +2 -1
- package/package.json +25 -19
- package/styles/base/_utils.scss +9 -1
- package/styles/components/_a-btn.scss +7 -0
- package/styles/components/_a-table.scss +2 -16
- package/styles/layout/_o-workspace.scss +1 -0
- package/tooltips/attribute/attribute-tooltip.component.d.ts +6 -6
- package/tooltips/attribute/attribute-tooltip.module.d.ts +2 -1
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +16 -3
- package/widgets/widget-analytic/component/widget-analytic.component.d.ts +2 -3
- package/widgets/widget-detail/component/widget-detail.component.d.ts +1 -4
- package/widgets/widget-table/component/widget-table.component.d.ts +1 -0
- package/widgets/widget-table/expand-value/expand-value.component.d.ts +4 -2
- package/widgets/widget-table/public-api.d.ts +0 -1
- package/widgets/widget-table/widget-table.module.d.ts +9 -8
- package/widgets/widget-tile/component/widget-tile.component.d.ts +1 -0
- package/widgets/widget-tile/widget-tile.module.d.ts +2 -1
- package/esm2022/import/components/import.component.mjs +0 -167
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +0 -45
- package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +0 -24
- package/widgets/widget-table/expand-value/format-number.pipe.d.ts +0 -10
|
@@ -7,13 +7,14 @@ import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
|
|
|
7
7
|
import { WidgetTableComponent } from './component/widget-table.component';
|
|
8
8
|
import { DetachRowDirective } from './expand-value/detach-row.directive';
|
|
9
9
|
import { ExpandValueComponent } from './expand-value/expand-value.component';
|
|
10
|
-
import { FormatNumberPipe } from './expand-value/format-number.pipe';
|
|
11
10
|
import { GetValuePipe } from './get-value/get-value.pipe';
|
|
12
11
|
import { enTranslations } from './i18n/en.translations';
|
|
13
12
|
import { frTranslations } from './i18n/fr.translations';
|
|
14
13
|
import { ResizableComponent } from './resizable/resizable.component';
|
|
15
14
|
import { ResizableDirective } from './resizable/resizable.directive';
|
|
16
15
|
import { PryWidgetTableCssComponent } from './style/css.component';
|
|
16
|
+
import { PryDataFormatModule } from '@provoly/dashboard/components/data-format';
|
|
17
|
+
import { PryPaginatorModule } from '@provoly/dashboard/components/paginator';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
import * as i1 from "@provoly/dashboard";
|
|
19
20
|
export class WidgetTableModule extends BaseWidgetModule {
|
|
@@ -33,7 +34,6 @@ export class WidgetTableModule extends BaseWidgetModule {
|
|
|
33
34
|
ResizableDirective,
|
|
34
35
|
PryWidgetTableCssComponent,
|
|
35
36
|
ExpandValueComponent,
|
|
36
|
-
FormatNumberPipe,
|
|
37
37
|
DetachRowDirective], imports: [CommonModule,
|
|
38
38
|
FormsModule,
|
|
39
39
|
OverlayModule,
|
|
@@ -43,7 +43,9 @@ export class WidgetTableModule extends BaseWidgetModule {
|
|
|
43
43
|
PryIconModule,
|
|
44
44
|
PryCheckboxModule,
|
|
45
45
|
PryToggleModule,
|
|
46
|
-
PryI18nModule
|
|
46
|
+
PryI18nModule,
|
|
47
|
+
PryDataFormatModule,
|
|
48
|
+
PryPaginatorModule], exports: [WidgetTableComponent] }); }
|
|
47
49
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTableModule, imports: [CommonModule,
|
|
48
50
|
FormsModule,
|
|
49
51
|
OverlayModule,
|
|
@@ -53,7 +55,9 @@ export class WidgetTableModule extends BaseWidgetModule {
|
|
|
53
55
|
PryIconModule,
|
|
54
56
|
PryCheckboxModule,
|
|
55
57
|
PryToggleModule,
|
|
56
|
-
PryI18nModule
|
|
58
|
+
PryI18nModule,
|
|
59
|
+
PryDataFormatModule,
|
|
60
|
+
PryPaginatorModule] }); }
|
|
57
61
|
}
|
|
58
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTableModule, decorators: [{
|
|
59
63
|
type: NgModule,
|
|
@@ -65,7 +69,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
65
69
|
ResizableDirective,
|
|
66
70
|
PryWidgetTableCssComponent,
|
|
67
71
|
ExpandValueComponent,
|
|
68
|
-
FormatNumberPipe,
|
|
69
72
|
DetachRowDirective
|
|
70
73
|
],
|
|
71
74
|
imports: [
|
|
@@ -78,9 +81,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
78
81
|
PryIconModule,
|
|
79
82
|
PryCheckboxModule,
|
|
80
83
|
PryToggleModule,
|
|
81
|
-
PryI18nModule
|
|
84
|
+
PryI18nModule,
|
|
85
|
+
PryDataFormatModule,
|
|
86
|
+
PryPaginatorModule
|
|
82
87
|
],
|
|
83
88
|
exports: [WidgetTableComponent]
|
|
84
89
|
}]
|
|
85
90
|
}], ctorParameters: () => [{ type: i1.PryI18nService }] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LXRhYmxlL3dpZGdldC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUE0QjdFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFDckQsWUFBb0IsbUJBQW1DO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRFUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQjtRQUVyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFUSxZQUFZO1FBQ25CLE9BQU8sb0JBQWlELENBQUM7SUFDM0QsQ0FBQzs4R0FUVSxpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkF4QjFCLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsb0JBQW9CO1lBQ3BCLGtCQUFrQixhQUdsQixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGtCQUFrQixhQUVWLG9CQUFvQjsrR0FFbkIsaUJBQWlCLFlBZjFCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsa0JBQWtCOzsyRkFJVCxpQkFBaUI7a0JBMUI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEJhc2VXaWRnZXRDb21wb25lbnQsXG4gIEJhc2VXaWRnZXRNb2R1bGUsXG4gIFByeUNvcmVNb2R1bGUsXG4gIFByeURhc2hib2FyZE1vZHVsZSxcbiAgUHJ5STE4bk1vZHVsZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeUljb25Nb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5VG9nZ2xlTW9kdWxlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IFdpZGdldFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvd2lkZ2V0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhY2hSb3dEaXJlY3RpdmUgfSBmcm9tICcuL2V4cGFuZC12YWx1ZS9kZXRhY2gtcm93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFeHBhbmRWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vZXhwYW5kLXZhbHVlL2V4cGFuZC12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2V0VmFsdWVQaXBlIH0gZnJvbSAnLi9nZXQtdmFsdWUvZ2V0LXZhbHVlLnBpcGUnO1xuaW1wb3J0IHsgZW5UcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZW4udHJhbnNsYXRpb25zJztcbmltcG9ydCB7IGZyVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2ZyLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBSZXNpemFibGVDb21wb25lbnQgfSBmcm9tICcuL3Jlc2l6YWJsZS9yZXNpemFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc2l6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVzaXphYmxlL3Jlc2l6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJ5V2lkZ2V0VGFibGVDc3NDb21wb25lbnQgfSBmcm9tICcuL3N0eWxlL2Nzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RGF0YUZvcm1hdE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2RhdGEtZm9ybWF0JztcbmltcG9ydCB7IFByeVBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3BhZ2luYXRvcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFdpZGdldFRhYmxlQ29tcG9uZW50LFxuICAgIEdldFZhbHVlUGlwZSxcbiAgICBSZXNpemFibGVDb21wb25lbnQsXG4gICAgUmVzaXphYmxlRGlyZWN0aXZlLFxuICAgIFByeVdpZGdldFRhYmxlQ3NzQ29tcG9uZW50LFxuICAgIEV4cGFuZFZhbHVlQ29tcG9uZW50LFxuICAgIERldGFjaFJvd0RpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgUHJ5Q2hlY2tib3hNb2R1bGUsXG4gICAgUHJ5VG9nZ2xlTW9kdWxlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gICAgUHJ5RGF0YUZvcm1hdE1vZHVsZSxcbiAgICBQcnlQYWdpbmF0b3JNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1dpZGdldFRhYmxlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRUYWJsZU1vZHVsZSBleHRlbmRzIEJhc2VXaWRnZXRNb2R1bGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByeVRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnd2lkZ2V0LXRhYmxlJywgZnJUcmFuc2xhdGlvbnMpO1xuICAgIHRoaXMucHJ5VHJhbnNsYXRlU2VydmljZS5hZGRMYW5nT2JqZWN0KCdlbicsICd3aWRnZXQtdGFibGUnLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIFdpZGdldFRhYmxlQ29tcG9uZW50IGFzIFR5cGU8QmFzZVdpZGdldENvbXBvbmVudD47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,6 +10,7 @@ import * as i4 from "@provoly/dashboard";
|
|
|
10
10
|
import * as i5 from "@provoly/dashboard/components/checkbox";
|
|
11
11
|
import * as i6 from "@provoly/dashboard/widgets/widget-map";
|
|
12
12
|
import * as i7 from "../style/css.component";
|
|
13
|
+
import * as i8 from "@provoly/dashboard/components/data-format";
|
|
13
14
|
export class WidgetTileComponent extends DataWidgetComponent {
|
|
14
15
|
constructor(store, el) {
|
|
15
16
|
super(store, el);
|
|
@@ -45,7 +46,8 @@ export class WidgetTileComponent extends DataWidgetComponent {
|
|
|
45
46
|
...clazz.attributes
|
|
46
47
|
.map((attr) => ({
|
|
47
48
|
label: attr.name,
|
|
48
|
-
prop: attr.technicalName
|
|
49
|
+
prop: attr.technicalName,
|
|
50
|
+
field: attr.field
|
|
49
51
|
}))
|
|
50
52
|
.filter((_, i) => i < maxTilesAttributes)
|
|
51
53
|
]
|
|
@@ -59,7 +61,8 @@ export class WidgetTileComponent extends DataWidgetComponent {
|
|
|
59
61
|
.filter((attr) => tileDefs[clazz.id].includes(attr.name))
|
|
60
62
|
.map((attr) => ({
|
|
61
63
|
label: attr.name,
|
|
62
|
-
prop: attr.technicalName
|
|
64
|
+
prop: attr.technicalName,
|
|
65
|
+
field: attr.field
|
|
63
66
|
}))
|
|
64
67
|
]
|
|
65
68
|
}))
|
|
@@ -110,25 +113,17 @@ export class WidgetTileComponent extends DataWidgetComponent {
|
|
|
110
113
|
}
|
|
111
114
|
isRaw(property, classId) {
|
|
112
115
|
const clazz = this.classes.find((clazz) => clazz.id === classId);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (!!prop) {
|
|
116
|
-
const field = this.fields.find((field) => field.id === prop.field);
|
|
117
|
-
if (!!field) {
|
|
118
|
-
return field.type === FieldType.RAW;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return false;
|
|
116
|
+
const prop = clazz?.attributes.find((attr) => attr.name === property);
|
|
117
|
+
return prop?.field.type === FieldType.RAW ?? false;
|
|
123
118
|
}
|
|
124
119
|
hasMetadata(value) {
|
|
125
120
|
return Object.keys(value?.metadata ?? {}).length > 0;
|
|
126
121
|
}
|
|
127
122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTileComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetTileComponent, selector: "pry-widget-tile", usesInheritance: true, ngImport: i0, template: "<pry-widget-tile-css></pry-widget-tile-css>\n<div class=\"o-widget o-widget--tile\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"tile_classes\">{{ '@pry.widget.tile.classes' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeClasses($event)\"\n [items]=\"classes$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"optionsCopy.classes\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"tile_classes\"\n ></pry-select>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"o-widget--tile-wrapper\" [style.top]=\"(displayHeader$ | async) ? WIDGET_HEADER_HEIGHT + 'px' : 0\">\n <div class=\"no-result\" *ngIf=\"(items$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.tile.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.tile.empty' | i18n }}</span>\n </div>\n <ul class=\"o-widget--tile__list\">\n <li\n class=\"o-widget--tile__list__item\"\n *ngFor=\"let item of items$ | async; let index = index\"\n (contextmenu)=\"contextMenu($event, item)\"\n >\n <div class=\"o-widget--tile__list__item__header\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n <h3 class=\"o-widget--tile__list__item__header__title\">\n {{\n item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async).includes(item.id)\"\n (click)=\"select($event, item)\"\n ></pry-checkbox>\n </div>\n <div class=\"o-properties\">\n <ul class=\"o-properties__list\">\n <ng-container *ngFor=\"let property of (propertiesToDisplay$ | async)![item.oClass]\">\n <li\n *ngFor=\"let value of getValue(item, property.prop); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.label }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.label, item.oClass)\">\n {{ value?.value }}\n </p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.label, item.oClass)\">\n <pry-vizualize-raw [item]=\"item\" [propertyName]=\"property.label\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div (click)=\"toggleMap(index)\" class=\"o-widget--tile__list__item__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n aria-controls=\"tile-map-xxx\"\n aria-expanded=\"false\"\n >\n {{ '@pry.widget.tile.map' | i18n }}\n </button>\n </div>\n <div class=\"o-widget--tile__list__item__map\" *ngIf=\"maps[index]\" id=\"tile-map-xxx\">\n <pry-widget-map [staticManifest]=\"mapManifest\" [staticResultSet]=\"resultSetWithItem(item)\"></pry-widget-map>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i4.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i4.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i4.VizualizeRawComponent, selector: "pry-vizualize-raw", inputs: ["item", "propertyName", "alt"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i6.WidgetMapComponent, selector: "pry-widget-map" }, { kind: "component", type: i7.PryWidgetTileCssComponent, selector: "pry-widget-tile-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetTileComponent, selector: "pry-widget-tile", usesInheritance: true, ngImport: i0, template: "<pry-widget-tile-css></pry-widget-tile-css>\n<div class=\"o-widget o-widget--tile\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"tile_classes\">{{ '@pry.widget.tile.classes' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeClasses($event)\"\n [items]=\"classes$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"optionsCopy.classes\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"tile_classes\"\n ></pry-select>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"o-widget--tile-wrapper\" [style.top]=\"(displayHeader$ | async) ? WIDGET_HEADER_HEIGHT + 'px' : 0\">\n <div class=\"no-result\" *ngIf=\"(items$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.tile.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.tile.empty' | i18n }}</span>\n </div>\n <ul class=\"o-widget--tile__list\">\n <li\n class=\"o-widget--tile__list__item\"\n *ngFor=\"let item of items$ | async; let index = index\"\n (contextmenu)=\"contextMenu($event, item)\"\n >\n <div class=\"o-widget--tile__list__item__header\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n <h3 class=\"o-widget--tile__list__item__header__title\">\n {{\n item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async).includes(item.id)\"\n (click)=\"select($event, item)\"\n ></pry-checkbox>\n </div>\n <div class=\"o-properties\">\n <ul class=\"o-properties__list\">\n <ng-container *ngFor=\"let property of (propertiesToDisplay$ | async)![item.oClass]\">\n <li\n *ngFor=\"let value of getValue(item, property.prop); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.label }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.label, item.oClass)\">\n {{ value?.value | dataFormat: property.field }}\n </p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.label, item.oClass)\">\n <pry-vizualize-raw [item]=\"item\" [propertyName]=\"property.label\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div (click)=\"toggleMap(index)\" class=\"o-widget--tile__list__item__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n aria-controls=\"tile-map-xxx\"\n aria-expanded=\"false\"\n >\n {{ '@pry.widget.tile.map' | i18n }}\n </button>\n </div>\n <div class=\"o-widget--tile__list__item__map\" *ngIf=\"maps[index]\" id=\"tile-map-xxx\">\n <pry-widget-map [staticManifest]=\"mapManifest\" [staticResultSet]=\"resultSetWithItem(item)\"></pry-widget-map>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i4.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i4.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i4.VizualizeRawComponent, selector: "pry-vizualize-raw", inputs: ["item", "propertyName", "alt"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "component", type: i6.WidgetMapComponent, selector: "pry-widget-map" }, { kind: "component", type: i7.PryWidgetTileCssComponent, selector: "pry-widget-tile-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i8.DataFormatPipe, name: "dataFormat" }] }); }
|
|
129
124
|
}
|
|
130
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTileComponent, decorators: [{
|
|
131
126
|
type: Component,
|
|
132
|
-
args: [{ selector: 'pry-widget-tile', template: "<pry-widget-tile-css></pry-widget-tile-css>\n<div class=\"o-widget o-widget--tile\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"tile_classes\">{{ '@pry.widget.tile.classes' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeClasses($event)\"\n [items]=\"classes$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"optionsCopy.classes\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"tile_classes\"\n ></pry-select>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"o-widget--tile-wrapper\" [style.top]=\"(displayHeader$ | async) ? WIDGET_HEADER_HEIGHT + 'px' : 0\">\n <div class=\"no-result\" *ngIf=\"(items$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.tile.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.tile.empty' | i18n }}</span>\n </div>\n <ul class=\"o-widget--tile__list\">\n <li\n class=\"o-widget--tile__list__item\"\n *ngFor=\"let item of items$ | async; let index = index\"\n (contextmenu)=\"contextMenu($event, item)\"\n >\n <div class=\"o-widget--tile__list__item__header\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n <h3 class=\"o-widget--tile__list__item__header__title\">\n {{\n item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async).includes(item.id)\"\n (click)=\"select($event, item)\"\n ></pry-checkbox>\n </div>\n <div class=\"o-properties\">\n <ul class=\"o-properties__list\">\n <ng-container *ngFor=\"let property of (propertiesToDisplay$ | async)![item.oClass]\">\n <li\n *ngFor=\"let value of getValue(item, property.prop); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.label }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.label, item.oClass)\">\n {{ value?.value }}\n </p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.label, item.oClass)\">\n <pry-vizualize-raw [item]=\"item\" [propertyName]=\"property.label\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div (click)=\"toggleMap(index)\" class=\"o-widget--tile__list__item__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n aria-controls=\"tile-map-xxx\"\n aria-expanded=\"false\"\n >\n {{ '@pry.widget.tile.map' | i18n }}\n </button>\n </div>\n <div class=\"o-widget--tile__list__item__map\" *ngIf=\"maps[index]\" id=\"tile-map-xxx\">\n <pry-widget-map [staticManifest]=\"mapManifest\" [staticResultSet]=\"resultSetWithItem(item)\"></pry-widget-map>\n </div>\n </li>\n </ul>\n </div>\n</div>\n" }]
|
|
127
|
+
args: [{ selector: 'pry-widget-tile', template: "<pry-widget-tile-css></pry-widget-tile-css>\n<div class=\"o-widget o-widget--tile\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"tile_classes\">{{ '@pry.widget.tile.classes' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeClasses($event)\"\n [items]=\"classes$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"optionsCopy.classes\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"tile_classes\"\n ></pry-select>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"o-widget--tile-wrapper\" [style.top]=\"(displayHeader$ | async) ? WIDGET_HEADER_HEIGHT + 'px' : 0\">\n <div class=\"no-result\" *ngIf=\"(items$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.tile.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.tile.empty' | i18n }}</span>\n </div>\n <ul class=\"o-widget--tile__list\">\n <li\n class=\"o-widget--tile__list__item\"\n *ngFor=\"let item of items$ | async; let index = index\"\n (contextmenu)=\"contextMenu($event, item)\"\n >\n <div class=\"o-widget--tile__list__item__header\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n <h3 class=\"o-widget--tile__list__item__header__title\">\n {{\n item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async).includes(item.id)\"\n (click)=\"select($event, item)\"\n ></pry-checkbox>\n </div>\n <div class=\"o-properties\">\n <ul class=\"o-properties__list\">\n <ng-container *ngFor=\"let property of (propertiesToDisplay$ | async)![item.oClass]\">\n <li\n *ngFor=\"let value of getValue(item, property.prop); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.label }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.label, item.oClass)\">\n {{ value?.value | dataFormat: property.field }}\n </p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.label, item.oClass)\">\n <pry-vizualize-raw [item]=\"item\" [propertyName]=\"property.label\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div (click)=\"toggleMap(index)\" class=\"o-widget--tile__list__item__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n aria-controls=\"tile-map-xxx\"\n aria-expanded=\"false\"\n >\n {{ '@pry.widget.tile.map' | i18n }}\n </button>\n </div>\n <div class=\"o-widget--tile__list__item__map\" *ngIf=\"maps[index]\" id=\"tile-map-xxx\">\n <pry-widget-map [staticManifest]=\"mapManifest\" [staticResultSet]=\"resultSetWithItem(item)\"></pry-widget-map>\n </div>\n </li>\n </ul>\n </div>\n</div>\n" }]
|
|
133
128
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ElementRef }] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdGlsZS9jb21wb25lbnQvd2lkZ2V0LXRpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdGlsZS9jb21wb25lbnQvd2lkZ2V0LXRpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBR0wsY0FBYyxFQUNkLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFFbkIsY0FBYyxFQUNkLFNBQVMsRUFFVCxTQUFTLEVBR1Qsb0JBQW9CLEVBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFNN0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQWtCMUQsWUFBWSxLQUFpQixFQUFFLEVBQWM7UUFDM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQWZuQixTQUFJLEdBQWMsRUFBRSxDQUFDO1FBQ3JCLGdCQUFXLEdBQUc7WUFDWixJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUMzQyxPQUFPLEVB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SyxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNaLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsR0FBRyxDQUFDO2dCQUN0QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0M7UUFDNUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQTVJVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4RUMzQmhDLCs3SUFnSEE7OzJGRHJGYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZVNpbXBsZVZhbHVlLFxuICBDbGFzcyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ1NlbGVjdG9ycyxcbiAgQ29udGV4dE1lbnVBY3Rpb25zLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFXaWRnZXRDb21wb25lbnQsXG4gIEZpZWxkLFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgRmllbGRUeXBlLFxuICBJdGVtLFxuICBJdGVtVXRpbHMsXG4gIFJlc3VsdFNldCxcbiAgVGlsZVdpZGdldE9wdGlvbnMsXG4gIFdJREdFVF9IRUFERVJfSEVJR0hUXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC10aWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC10aWxlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRUaWxlQ29tcG9uZW50IGV4dGVuZHMgRGF0YVdpZGdldENvbXBvbmVudCB7XG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPFRpbGVXaWRnZXRPcHRpb25zPjtcbiAgaXRlbXMkOiBPYnNlcnZhYmxlPEl0ZW1bXT47XG4gIHNlbGVjdGVkSWRzJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBtYXBzOiBib29sZWFuW10gPSBbXTtcbiAgbWFwTWFuaWZlc3QgPSB7XG4gICAgdHlwZTogJ21hcCcsXG4gICAgaGVhZGVyOiBmYWxzZSxcbiAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgd2lkdGg6IDEsIGhlaWdodDogMSB9LFxuICAgIG9wdGlvbnM6IHsgbGF5ZXJzOiBbeyB0eXBlOiAnbWFya2VyJyB9XSwgZml0OiB0cnVlIH1cbiAgfTtcbiAgY2xhc3NlcyQ6IE9ic2VydmFibGU8Q2xhc3NbXT47XG4gIG9wdGlvbnNDb3B5OiBUaWxlV2lkZ2V0T3B0aW9ucyA9IHt9O1xuICBXSURHRVRfSEVBREVSX0hFSUdIVCA9IFdJREdFVF9IRUFERVJfSEVJR0hUO1xuICBwcm9wZXJ0aWVzVG9EaXNwbGF5JDogT2JzZXJ2YWJsZTx7IFtwOiBzdHJpbmddOiB7IGxhYmVsOiBzdHJpbmc7IHByb3A6IHN0cmluZyB9W10gfSB8IHVuZGVmaW5lZD47XG4gIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBjbGFzc2VzOiBDbGFzc1tdID0gW107XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlPGFueT4sIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoc3RvcmUsIGVsKTtcbiAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5tYW5pZmVzdCQucGlwZShtYXAoKG1hbmlmZXN0KSA9PiBtYW5pZmVzdC5vcHRpb25zIGFzIFRpbGVXaWRnZXRPcHRpb25zKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMub3B0aW9ucyQucGlwZShmaWx0ZXIoKG9wdCkgPT4gISFvcHQpKS5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weSA9IHsgLi4uKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob3B0aW9ucykpIGFzIFRpbGVXaWRnZXRPcHRpb25zKSB9O1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuaXRlbXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnJlc3VsdFNldCQucGlwZShtYXAoKHJzKSA9PiBPYmplY3QudmFsdWVzKHJzLml0ZW1zKS5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pKSksXG4gICAgICB0aGlzLm9wdGlvbnMkXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2l0ZW1zLCBvcHRpb25zXSkgPT5cbiAgICAgICAgaXRlbXMuZmlsdGVyKFxuICAgICAgICAgIChpdGVtKSA9PiAhb3B0aW9ucy5jbGFzc2VzIHx8IG9wdGlvbnMuY2xhc3Nlcy5sZW5ndGggPT09IDAgfHwgb3B0aW9ucy5jbGFzc2VzLmluY2x1ZGVzKGl0ZW0ub0NsYXNzKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSWRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKTtcbiAgICB0aGlzLnByb3BlcnRpZXNUb0Rpc3BsYXkkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNsYXNzZXMkLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnRpbGVBdHRyaWJ1dGVzRGVmaW5pdGlvbnMpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLm1heEF0dHJpYnV0ZXNJblRpbGVzKVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtjbGFzc2VzLCB0aWxlRGVmcywgbWF4VGlsZXNBdHRyaWJ1dGVzXSkgPT4gKHtcbiAgICAgICAgLi4uY2xhc3Nlc1xuICAgICAgICAgIC5tYXAoKGNsYXp6KSA9PiAoe1xuICAgICAgICAgICAgW2NsYXp6LmlkXTogW1xuICAgICAgICAgICAgICAuLi5jbGF6ei5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBhdHRyLm5hbWUsXG4gICAgICAgICAgICAgICAgICBwcm9wOiBhdHRyLnRlY2huaWNhbE5hbWVcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChfLCBpKSA9PiBpIDwgbWF4VGlsZXNBdHRyaWJ1dGVzKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+ICh7IC4uLnAsIC4uLmMgfSksIHt9KSxcbiAgICAgICAgLi4uY2xhc3Nlc1xuICAgICAgICAgIC5maWx0ZXIoKGNsYXp6KSA9PiAhIXRpbGVEZWZzW2NsYXp6LmlkXSlcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gKHtcbiAgICAgICAgICAgIFtjbGF6ei5pZF06IFtcbiAgICAgICAgICAgICAgLi4uY2xhenouYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IHRpbGVEZWZzW2NsYXp6LmlkXS5pbmNsdWRlcyhhdHRyLm5hbWUpKVxuICAgICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogYXR0ci5uYW1lLFxuICAgICAgICAgICAgICAgICAgcHJvcDogYXR0ci50ZWNobmljYWxOYW1lXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSkpXG4gICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgLi4uYyB9KSwge30pXG4gICAgICB9KSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKS5zdWJzY3JpYmUoKGZpZWxkcykgPT4gKHRoaXMuZmllbGRzID0gZmllbGRzKSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5jbGFzc2VzJC5zdWJzY3JpYmUoKGNsYXNzZXMpID0+ICh0aGlzLmNsYXNzZXMgPSBjbGFzc2VzKSkpO1xuICB9XG5cbiAgY29udGV4dE1lbnUoJGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBJdGVtKSB7XG4gICAgaWYgKHRoaXMubWFuaWZlc3QuY29udGV4dE1lbnUgIT09IGZhbHNlKSB7XG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIENvbnRleHRNZW51QWN0aW9ucy5vcGVuKHtcbiAgICAgICAgICBpdGVtSWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgY2xpZW50WDogJGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgY2xpZW50WTogJGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgZnJvbTogJ3RpbGUnLFxuICAgICAgICAgIGFsbG93T2JqZWN0Q3JlYXRpb246IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCgkZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IEl0ZW0pIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdCh7IGlkOiBpdGVtLmlkLCBjdW11bGF0aXZlOiAhJGV2ZW50LnNoaWZ0S2V5IH0pKTtcbiAgfVxuXG4gIHRvZ2dsZU1hcChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tYXBzW2luZGV4XSA9ICF0aGlzLm1hcHNbaW5kZXhdO1xuICB9XG5cbiAgcmVzdWx0U2V0V2l0aEl0ZW0oaXRlbTogSXRlbSk6IFJlc3VsdFNldCB7XG4gICAgcmV0dXJuIHsgaXRlbXM6IHsgW2l0ZW0ub0NsYXNzXTogW2l0ZW1dIH0sIHJlbGF0aW9uczogW10gfTtcbiAgfVxuXG4gIGVtaXRNYW5pZmVzdCgpIHtcbiAgICB0aGlzLm1hbmlmZXN0TW9kaWZpZWQuZW1pdCh7XG4gICAgICB3aWRnZXRJbmRleDogdGhpcy53aWRnZXRJbmRleCxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnRoaXMubWFuaWZlc3QsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9uc0NvcHlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNoYW5nZUNsYXNzZXMoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnNDb3B5LmNsYXNzZXMgPSAkZXZlbnQ7XG4gIH1cblxuICBnZXRWYWx1ZShpdGVtOiBJdGVtLCBwcm9wZXJ0eTogc3RyaW5nKTogQXR0cmlidXRlU2ltcGxlVmFsdWVbXSB7XG4gICAgY29uc3QgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgcHJvcGVydHkpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIGlzUmF3KHByb3BlcnR5OiBzdHJpbmcsIGNsYXNzSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNsYXp6ID0gdGhpcy5jbGFzc2VzLmZpbmQoKGNsYXp6KSA9PiBjbGF6ei5pZCA9PT0gY2xhc3NJZCk7XG4gICAgaWYgKCEhY2xhenopIHtcbiAgICAgIGNvbnN0IHByb3AgPSBjbGF6ei5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIubmFtZSA9PT0gcHJvcGVydHkpO1xuICAgICAgaWYgKCEhcHJvcCkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5pZCA9PT0gcHJvcC5maWVsZCk7XG4gICAgICAgIGlmICghIWZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5SQVc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaGFzTWV0YWRhdGEodmFsdWU6IEF0dHJpYnV0ZVNpbXBsZVZhbHVlIHwgSXRlbSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZT8ubWV0YWRhdGEgPz8ge30pLmxlbmd0aCA+IDA7XG4gIH1cbn1cbiIsIjxwcnktd2lkZ2V0LXRpbGUtY3NzPjwvcHJ5LXdpZGdldC10aWxlLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXdpZGdldCBvLXdpZGdldC0tdGlsZVwiPlxuICA8cHJ5LXdpZGdldC1oZWFkZXJcbiAgICBbZGF0YXNvdXJjZUlkc109XCIoZGF0YXNvdXJjZUlkcyQgfCBhc3luYykgPz8gW11cIlxuICAgICpuZ0lmPVwiZGlzcGxheUhlYWRlciQgfCBhc3luY1wiXG4gICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICBbbWFuaWZlc3RdPVwibWFuaWZlc3RcIlxuICAgIChtYW5pZmVzdE1vZGlmaWVkKT1cIm1hbmlmZXN0TW9kaWZpZWQuZW1pdCgkZXZlbnQpXCJcbiAgICBbaGVhZGVyT3B0aW9uc109XCIoZGlzcGxheUhlYWRlciQgfCBhc3luYykgPz8ge31cIlxuICAgICNoZWFkZXJcbiAgPlxuICAgIDxwcnktc2V0dGluZ3NcbiAgICAgIChzYXZlVHJpZ2dlcmVkKT1cImVtaXRNYW5pZmVzdCgpXCJcbiAgICAgIChjaGFuZ2VUaXRsZSk9XCJjaGFuZ2VXaWRnZXRUaXRsZSgkZXZlbnQpXCJcbiAgICAgIFtoZWFkZXJQcmVzZW50XT1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgIFtvcGVuJF09XCJvcGVuJFwiXG4gICAgICBjbGFzcz1cIm8tc2V0dGluZ3NcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInRpbGVfY2xhc3Nlc1wiPnt7ICdAcHJ5LndpZGdldC50aWxlLmNsYXNzZXMnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ2xhc3NlcygkZXZlbnQpXCJcbiAgICAgICAgICBbaXRlbXNdPVwiY2xhc3NlcyQgfCBhc3luY1wiXG4gICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImZhbHNlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weS5jbGFzc2VzXCJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICAgICAgaWQ9XCJ0aWxlX2NsYXNzZXNcIlxuICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9wcnktc2V0dGluZ3M+XG4gIDwvcHJ5LXdpZGdldC1oZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJvLXdpZGdldC0tdGlsZS13cmFwcGVyXCIgW3N0eWxlLnRvcF09XCIoZGlzcGxheUhlYWRlciQgfCBhc3luYykgPyBXSURHRVRfSEVBREVSX0hFSUdIVCArICdweCcgOiAwXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5vLXJlc3VsdFwiICpuZ0lmPVwiKGl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCI+XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzPVwibm8tcmVzdWx0X19zZWFyY2hcIlxuICAgICAgICBzcmM9XCIuLi8uLi8uLi9hc3NldHMvc3Zncy9wcnlfcmVjaGVyY2hlX3Bhc19kZV9yZXN1bHRhdC5zdmdcIlxuICAgICAgICBhbHQ9XCJ7eyAnQHByeS53aWRnZXQudGlsZS5lbXB0eScgfCBpMThuIH19XCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm5vLXJlc3VsdF9fdGV4dFwiPnt7ICdAcHJ5LndpZGdldC50aWxlLmVtcHR5JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHVsIGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RcIj5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cIm8td2lkZ2V0LS10aWxlX19saXN0X19pdGVtXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMkIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgKGNvbnRleHRtZW51KT1cImNvbnRleHRNZW51KCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RfX2l0ZW1fX2hlYWRlclwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtoZWlnaHRdPVwiMjVcIlxuICAgICAgICAgICAgW3dpZHRoXT1cIjI1XCJcbiAgICAgICAgICAgIFtzcmNdPVwiaXRlbSB8IHRyYW5zbGF0ZUl0ZW1Ub1N5bWJvbCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFthbHRdPVwiaXRlbS5vQ2xhc3MgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnY2xhc3MnLCBvdXRwdXQ6ICduYW1lJyB9IHwgYXN5bmNcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RfX2l0ZW1fX2hlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIGl0ZW0ub0NsYXNzXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVJZFxuICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NsYXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ6ICduYW1lJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIihzZWxlY3RlZElkcyQgfCBhc3luYykuaW5jbHVkZXMoaXRlbS5pZClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICA+PC9wcnktY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcm9wZXJ0aWVzXCI+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiAocHJvcGVydGllc1RvRGlzcGxheSQgfCBhc3luYykhW2l0ZW0ub0NsYXNzXVwiPlxuICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZ2V0VmFsdWUoaXRlbSwgcHJvcGVydHkucHJvcCk7IGxldCBpID0gaW5kZXg7IGxldCBjID0gY291bnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtX19sYWJlbFwiICpuZ0lmPVwiaSA9PT0gMFwiPnt7IHByb3BlcnR5LmxhYmVsIH19OjwvcD5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm8tcHJvcGVydGllc19fbGlzdF9faXRlbV9fdmFsdWVcIiAqbmdJZj1cIiFpc1Jhdyhwcm9wZXJ0eS5sYWJlbCwgaXRlbS5vQ2xhc3MpXCI+XG4gICAgICAgICAgICAgICAgICB7eyB2YWx1ZT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJvLXByb3BlcnRpZXNfX2xpc3RfX2l0ZW1fX3Jhd1wiICpuZ0lmPVwiaXNSYXcocHJvcGVydHkubGFiZWwsIGl0ZW0ub0NsYXNzKVwiPlxuICAgICAgICAgICAgICAgICAgPHByeS12aXp1YWxpemUtcmF3IFtpdGVtXT1cIml0ZW1cIiBbcHJvcGVydHlOYW1lXT1cInByb3BlcnR5LmxhYmVsXCI+PC9wcnktdml6dWFsaXplLXJhdz5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc01ldGFkYXRhKHZhbHVlKVwiPlxuICAgICAgICAgICAgICAgICAgPHByeS1tZXRhZGF0YSBbaXRlbV09XCJ2YWx1ZVwiPjwvcHJ5LW1ldGFkYXRhPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZU1hcChpbmRleClcIiBjbGFzcz1cIm8td2lkZ2V0LS10aWxlX19saXN0X19pdGVtX19mb290ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCAtbGluay1saWtlXCJcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJ0aWxlLW1hcC14eHhcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS53aWRnZXQudGlsZS5tYXAnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8td2lkZ2V0LS10aWxlX19saXN0X19pdGVtX19tYXBcIiAqbmdJZj1cIm1hcHNbaW5kZXhdXCIgaWQ9XCJ0aWxlLW1hcC14eHhcIj5cbiAgICAgICAgICA8cHJ5LXdpZGdldC1tYXAgW3N0YXRpY01hbmlmZXN0XT1cIm1hcE1hbmlmZXN0XCIgW3N0YXRpY1Jlc3VsdFNldF09XCJyZXN1bHRTZXRXaXRoSXRlbShpdGVtKVwiPjwvcHJ5LXdpZGdldC1tYXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdGlsZS9jb21wb25lbnQvd2lkZ2V0LXRpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdGlsZS9jb21wb25lbnQvd2lkZ2V0LXRpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBR0wsY0FBYyxFQUNkLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFFbkIsY0FBYyxFQUNkLFNBQVMsRUFFVCxTQUFTLEVBR1Qsb0JBQW9CLEVBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBTTdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFrQjFELFlBQVksS0FBaUIsRUFBRSxFQUFjO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFmbkIsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUNyQixnQkFBVyxHQUFHO1lBQ1osSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxF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LENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztRQUNqRSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0M7UUFDNUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXRJVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4RUMzQmhDLDQ5SUFnSEE7OzJGRHJGYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZVNpbXBsZVZhbHVlLFxuICBDbGFzcyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ1NlbGVjdG9ycyxcbiAgQ29udGV4dE1lbnVBY3Rpb25zLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFXaWRnZXRDb21wb25lbnQsXG4gIEZpZWxkLFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgRmllbGRUeXBlLFxuICBJdGVtLFxuICBJdGVtVXRpbHMsXG4gIFJlc3VsdFNldCxcbiAgVGlsZVdpZGdldE9wdGlvbnMsXG4gIFdJREdFVF9IRUFERVJfSEVJR0hUXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC10aWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC10aWxlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRUaWxlQ29tcG9uZW50IGV4dGVuZHMgRGF0YVdpZGdldENvbXBvbmVudCB7XG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPFRpbGVXaWRnZXRPcHRpb25zPjtcbiAgaXRlbXMkOiBPYnNlcnZhYmxlPEl0ZW1bXT47XG4gIHNlbGVjdGVkSWRzJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBtYXBzOiBib29sZWFuW10gPSBbXTtcbiAgbWFwTWFuaWZlc3QgPSB7XG4gICAgdHlwZTogJ21hcCcsXG4gICAgaGVhZGVyOiBmYWxzZSxcbiAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgd2lkdGg6IDEsIGhlaWdodDogMSB9LFxuICAgIG9wdGlvbnM6IHsgbGF5ZXJzOiBbeyB0eXBlOiAnbWFya2VyJyB9XSwgZml0OiB0cnVlIH1cbiAgfTtcbiAgY2xhc3NlcyQ6IE9ic2VydmFibGU8Q2xhc3NbXT47XG4gIG9wdGlvbnNDb3B5OiBUaWxlV2lkZ2V0T3B0aW9ucyA9IHt9O1xuICBXSURHRVRfSEVBREVSX0hFSUdIVCA9IFdJREdFVF9IRUFERVJfSEVJR0hUO1xuICBwcm9wZXJ0aWVzVG9EaXNwbGF5JDogT2JzZXJ2YWJsZTx7IFtwOiBzdHJpbmddOiB7IGxhYmVsOiBzdHJpbmc7IHByb3A6IHN0cmluZzsgZmllbGQ6IEZpZWxkIH1bXSB9IHwgdW5kZWZpbmVkPjtcbiAgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIGNsYXNzZXM6IENsYXNzW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzdG9yZTogU3RvcmU8YW55PiwgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihzdG9yZSwgZWwpO1xuICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLm1hbmlmZXN0JC5waXBlKG1hcCgobWFuaWZlc3QpID0+IG1hbmlmZXN0Lm9wdGlvbnMgYXMgVGlsZVdpZGdldE9wdGlvbnMpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5vcHRpb25zJC5waXBlKGZpbHRlcigob3B0KSA9PiAhIW9wdCkpLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbnNDb3B5ID0geyAuLi4oSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvcHRpb25zKSkgYXMgVGlsZVdpZGdldE9wdGlvbnMpIH07XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5pdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucmVzdWx0U2V0JC5waXBlKG1hcCgocnMpID0+IE9iamVjdC52YWx1ZXMocnMuaXRlbXMpLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSkpKSxcbiAgICAgIHRoaXMub3B0aW9ucyRcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbaXRlbXMsIG9wdGlvbnNdKSA9PlxuICAgICAgICBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0pID0+ICFvcHRpb25zLmNsYXNzZXMgfHwgb3B0aW9ucy5jbGFzc2VzLmxlbmd0aCA9PT0gMCB8fCBvcHRpb25zLmNsYXNzZXMuaW5jbHVkZXMoaXRlbS5vQ2xhc3MpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRJZHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnNlbGVjdGVkSXRlbUlkcyk7XG4gICAgdGhpcy5jbGFzc2VzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpO1xuICAgIHRoaXMucHJvcGVydGllc1RvRGlzcGxheSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2xhc3NlcyQsXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMudGlsZUF0dHJpYnV0ZXNEZWZpbml0aW9ucyksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMubWF4QXR0cmlidXRlc0luVGlsZXMpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2NsYXNzZXMsIHRpbGVEZWZzLCBtYXhUaWxlc0F0dHJpYnV0ZXNdKSA9PiAoe1xuICAgICAgICAuLi5jbGFzc2VzXG4gICAgICAgICAgLm1hcCgoY2xhenopID0+ICh7XG4gICAgICAgICAgICBbY2xhenouaWRdOiBbXG4gICAgICAgICAgICAgIC4uLmNsYXp6LmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6IGF0dHIubmFtZSxcbiAgICAgICAgICAgICAgICAgIHByb3A6IGF0dHIudGVjaG5pY2FsTmFtZSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiBhdHRyLmZpZWxkXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoXywgaSkgPT4gaSA8IG1heFRpbGVzQXR0cmlidXRlcylcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9KSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCAuLi5jIH0pLCB7fSksXG4gICAgICAgIC4uLmNsYXNzZXNcbiAgICAgICAgICAuZmlsdGVyKChjbGF6eikgPT4gISF0aWxlRGVmc1tjbGF6ei5pZF0pXG4gICAgICAgICAgLm1hcCgoY2xhenopID0+ICh7XG4gICAgICAgICAgICBbY2xhenouaWRdOiBbXG4gICAgICAgICAgICAgIC4uLmNsYXp6LmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiB0aWxlRGVmc1tjbGF6ei5pZF0uaW5jbHVkZXMoYXR0ci5uYW1lKSlcbiAgICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6IGF0dHIubmFtZSxcbiAgICAgICAgICAgICAgICAgIHByb3A6IGF0dHIudGVjaG5pY2FsTmFtZSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiBhdHRyLmZpZWxkXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSkpXG4gICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgLi4uYyB9KSwge30pXG4gICAgICB9KSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKS5zdWJzY3JpYmUoKGZpZWxkcykgPT4gKHRoaXMuZmllbGRzID0gZmllbGRzKSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5jbGFzc2VzJC5zdWJzY3JpYmUoKGNsYXNzZXMpID0+ICh0aGlzLmNsYXNzZXMgPSBjbGFzc2VzKSkpO1xuICB9XG5cbiAgY29udGV4dE1lbnUoJGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBJdGVtKSB7XG4gICAgaWYgKHRoaXMubWFuaWZlc3QuY29udGV4dE1lbnUgIT09IGZhbHNlKSB7XG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIENvbnRleHRNZW51QWN0aW9ucy5vcGVuKHtcbiAgICAgICAgICBpdGVtSWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgY2xpZW50WDogJGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgY2xpZW50WTogJGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgZnJvbTogJ3RpbGUnLFxuICAgICAgICAgIGFsbG93T2JqZWN0Q3JlYXRpb246IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCgkZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IEl0ZW0pIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdCh7IGlkOiBpdGVtLmlkLCBjdW11bGF0aXZlOiAhJGV2ZW50LnNoaWZ0S2V5IH0pKTtcbiAgfVxuXG4gIHRvZ2dsZU1hcChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tYXBzW2luZGV4XSA9ICF0aGlzLm1hcHNbaW5kZXhdO1xuICB9XG5cbiAgcmVzdWx0U2V0V2l0aEl0ZW0oaXRlbTogSXRlbSk6IFJlc3VsdFNldCB7XG4gICAgcmV0dXJuIHsgaXRlbXM6IHsgW2l0ZW0ub0NsYXNzXTogW2l0ZW1dIH0sIHJlbGF0aW9uczogW10gfTtcbiAgfVxuXG4gIGVtaXRNYW5pZmVzdCgpIHtcbiAgICB0aGlzLm1hbmlmZXN0TW9kaWZpZWQuZW1pdCh7XG4gICAgICB3aWRnZXRJbmRleDogdGhpcy53aWRnZXRJbmRleCxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnRoaXMubWFuaWZlc3QsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9uc0NvcHlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNoYW5nZUNsYXNzZXMoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnNDb3B5LmNsYXNzZXMgPSAkZXZlbnQ7XG4gIH1cblxuICBnZXRWYWx1ZShpdGVtOiBJdGVtLCBwcm9wZXJ0eTogc3RyaW5nKTogQXR0cmlidXRlU2ltcGxlVmFsdWVbXSB7XG4gICAgY29uc3QgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgcHJvcGVydHkpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIGlzUmF3KHByb3BlcnR5OiBzdHJpbmcsIGNsYXNzSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNsYXp6ID0gdGhpcy5jbGFzc2VzLmZpbmQoKGNsYXp6KSA9PiBjbGF6ei5pZCA9PT0gY2xhc3NJZCk7XG4gICAgY29uc3QgcHJvcCA9IGNsYXp6Py5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIubmFtZSA9PT0gcHJvcGVydHkpO1xuICAgIHJldHVybiBwcm9wPy5maWVsZC50eXBlID09PSBGaWVsZFR5cGUuUkFXID8/IGZhbHNlO1xuICB9XG5cbiAgaGFzTWV0YWRhdGEodmFsdWU6IEF0dHJpYnV0ZVNpbXBsZVZhbHVlIHwgSXRlbSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZT8ubWV0YWRhdGEgPz8ge30pLmxlbmd0aCA+IDA7XG4gIH1cbn1cbiIsIjxwcnktd2lkZ2V0LXRpbGUtY3NzPjwvcHJ5LXdpZGdldC10aWxlLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXdpZGdldCBvLXdpZGdldC0tdGlsZVwiPlxuICA8cHJ5LXdpZGdldC1oZWFkZXJcbiAgICBbZGF0YXNvdXJjZUlkc109XCIoZGF0YXNvdXJjZUlkcyQgfCBhc3luYykgPz8gW11cIlxuICAgICpuZ0lmPVwiZGlzcGxheUhlYWRlciQgfCBhc3luY1wiXG4gICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICBbbWFuaWZlc3RdPVwibWFuaWZlc3RcIlxuICAgIChtYW5pZmVzdE1vZGlmaWVkKT1cIm1hbmlmZXN0TW9kaWZpZWQuZW1pdCgkZXZlbnQpXCJcbiAgICBbaGVhZGVyT3B0aW9uc109XCIoZGlzcGxheUhlYWRlciQgfCBhc3luYykgPz8ge31cIlxuICAgICNoZWFkZXJcbiAgPlxuICAgIDxwcnktc2V0dGluZ3NcbiAgICAgIChzYXZlVHJpZ2dlcmVkKT1cImVtaXRNYW5pZmVzdCgpXCJcbiAgICAgIChjaGFuZ2VUaXRsZSk9XCJjaGFuZ2VXaWRnZXRUaXRsZSgkZXZlbnQpXCJcbiAgICAgIFtoZWFkZXJQcmVzZW50XT1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgIFtvcGVuJF09XCJvcGVuJFwiXG4gICAgICBjbGFzcz1cIm8tc2V0dGluZ3NcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInRpbGVfY2xhc3Nlc1wiPnt7ICdAcHJ5LndpZGdldC50aWxlLmNsYXNzZXMnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ2xhc3NlcygkZXZlbnQpXCJcbiAgICAgICAgICBbaXRlbXNdPVwiY2xhc3NlcyQgfCBhc3luY1wiXG4gICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImZhbHNlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weS5jbGFzc2VzXCJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICAgICAgaWQ9XCJ0aWxlX2NsYXNzZXNcIlxuICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9wcnktc2V0dGluZ3M+XG4gIDwvcHJ5LXdpZGdldC1oZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJvLXdpZGdldC0tdGlsZS13cmFwcGVyXCIgW3N0eWxlLnRvcF09XCIoZGlzcGxheUhlYWRlciQgfCBhc3luYykgPyBXSURHRVRfSEVBREVSX0hFSUdIVCArICdweCcgOiAwXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5vLXJlc3VsdFwiICpuZ0lmPVwiKGl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCI+XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzPVwibm8tcmVzdWx0X19zZWFyY2hcIlxuICAgICAgICBzcmM9XCIuLi8uLi8uLi9hc3NldHMvc3Zncy9wcnlfcmVjaGVyY2hlX3Bhc19kZV9yZXN1bHRhdC5zdmdcIlxuICAgICAgICBhbHQ9XCJ7eyAnQHByeS53aWRnZXQudGlsZS5lbXB0eScgfCBpMThuIH19XCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm5vLXJlc3VsdF9fdGV4dFwiPnt7ICdAcHJ5LndpZGdldC50aWxlLmVtcHR5JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHVsIGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RcIj5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cIm8td2lkZ2V0LS10aWxlX19saXN0X19pdGVtXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMkIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgKGNvbnRleHRtZW51KT1cImNvbnRleHRNZW51KCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RfX2l0ZW1fX2hlYWRlclwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtoZWlnaHRdPVwiMjVcIlxuICAgICAgICAgICAgW3dpZHRoXT1cIjI1XCJcbiAgICAgICAgICAgIFtzcmNdPVwiaXRlbSB8IHRyYW5zbGF0ZUl0ZW1Ub1N5bWJvbCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFthbHRdPVwiaXRlbS5vQ2xhc3MgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnY2xhc3MnLCBvdXRwdXQ6ICduYW1lJyB9IHwgYXN5bmNcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RfX2l0ZW1fX2hlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIGl0ZW0ub0NsYXNzXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVJZFxuICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NsYXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ6ICduYW1lJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIihzZWxlY3RlZElkcyQgfCBhc3luYykuaW5jbHVkZXMoaXRlbS5pZClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICA+PC9wcnktY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcm9wZXJ0aWVzXCI+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiAocHJvcGVydGllc1RvRGlzcGxheSQgfCBhc3luYykhW2l0ZW0ub0NsYXNzXVwiPlxuICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZ2V0VmFsdWUoaXRlbSwgcHJvcGVydHkucHJvcCk7IGxldCBpID0gaW5kZXg7IGxldCBjID0gY291bnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtX19sYWJlbFwiICpuZ0lmPVwiaSA9PT0gMFwiPnt7IHByb3BlcnR5LmxhYmVsIH19OjwvcD5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm8tcHJvcGVydGllc19fbGlzdF9faXRlbV9fdmFsdWVcIiAqbmdJZj1cIiFpc1Jhdyhwcm9wZXJ0eS5sYWJlbCwgaXRlbS5vQ2xhc3MpXCI+XG4gICAgICAgICAgICAgICAgICB7eyB2YWx1ZT8udmFsdWUgfCBkYXRhRm9ybWF0OiBwcm9wZXJ0eS5maWVsZCB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm8tcHJvcGVydGllc19fbGlzdF9faXRlbV9fcmF3XCIgKm5nSWY9XCJpc1Jhdyhwcm9wZXJ0eS5sYWJlbCwgaXRlbS5vQ2xhc3MpXCI+XG4gICAgICAgICAgICAgICAgICA8cHJ5LXZpenVhbGl6ZS1yYXcgW2l0ZW1dPVwiaXRlbVwiIFtwcm9wZXJ0eU5hbWVdPVwicHJvcGVydHkubGFiZWxcIj48L3ByeS12aXp1YWxpemUtcmF3PlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzTWV0YWRhdGEodmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgICA8cHJ5LW1ldGFkYXRhIFtpdGVtXT1cInZhbHVlXCI+PC9wcnktbWV0YWRhdGE+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAoY2xpY2spPVwidG9nZ2xlTWFwKGluZGV4KVwiIGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RfX2l0ZW1fX2Zvb3RlclwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IC1saW5rLWxpa2VcIlxuICAgICAgICAgICAgYXJpYS1jb250cm9scz1cInRpbGUtbWFwLXh4eFwiXG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdAcHJ5LndpZGdldC50aWxlLm1hcCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby13aWRnZXQtLXRpbGVfX2xpc3RfX2l0ZW1fX21hcFwiICpuZ0lmPVwibWFwc1tpbmRleF1cIiBpZD1cInRpbGUtbWFwLXh4eFwiPlxuICAgICAgICAgIDxwcnktd2lkZ2V0LW1hcCBbc3RhdGljTWFuaWZlc3RdPVwibWFwTWFuaWZlc3RcIiBbc3RhdGljUmVzdWx0U2V0XT1cInJlc3VsdFNldFdpdGhJdGVtKGl0ZW0pXCI+PC9wcnktd2lkZ2V0LW1hcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -10,6 +10,7 @@ import { WidgetTileComponent } from './component/widget-tile.component';
|
|
|
10
10
|
import { enTranslations } from './i18n/en.translations';
|
|
11
11
|
import { frTranslations } from './i18n/fr.translations';
|
|
12
12
|
import { PryWidgetTileCssComponent } from './style/css.component';
|
|
13
|
+
import { PryDataFormatModule } from '@provoly/dashboard/components/data-format';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
import * as i1 from "@provoly/dashboard";
|
|
15
16
|
export class WidgetTileModule extends BaseWidgetModule {
|
|
@@ -34,7 +35,8 @@ export class WidgetTileModule extends BaseWidgetModule {
|
|
|
34
35
|
PryToggleModule,
|
|
35
36
|
WidgetDetailModule,
|
|
36
37
|
WidgetMapModule,
|
|
37
|
-
PryI18nModule
|
|
38
|
+
PryI18nModule,
|
|
39
|
+
PryDataFormatModule], exports: [WidgetTileComponent] }); }
|
|
38
40
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTileModule, imports: [CommonModule,
|
|
39
41
|
FormsModule,
|
|
40
42
|
OverlayModule,
|
|
@@ -46,7 +48,8 @@ export class WidgetTileModule extends BaseWidgetModule {
|
|
|
46
48
|
PryToggleModule,
|
|
47
49
|
WidgetDetailModule,
|
|
48
50
|
WidgetMapModule,
|
|
49
|
-
PryI18nModule
|
|
51
|
+
PryI18nModule,
|
|
52
|
+
PryDataFormatModule] }); }
|
|
50
53
|
}
|
|
51
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTileModule, decorators: [{
|
|
52
55
|
type: NgModule,
|
|
@@ -64,9 +67,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
64
67
|
PryToggleModule,
|
|
65
68
|
WidgetDetailModule,
|
|
66
69
|
WidgetMapModule,
|
|
67
|
-
PryI18nModule
|
|
70
|
+
PryI18nModule,
|
|
71
|
+
PryDataFormatModule
|
|
68
72
|
],
|
|
69
73
|
exports: [WidgetTileComponent]
|
|
70
74
|
}]
|
|
71
75
|
}], ctorParameters: () => [{ type: i1.PryI18nService }] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRpbGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdGlsZS93aWRnZXQtdGlsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFxQmhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFDcEQsWUFBb0IsbUJBQW1DO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRFUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQjtRQUVyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFUSxZQUFZO1FBQ25CLE9BQU8sbUJBQWdELENBQUM7SUFDMUQsQ0FBQzs4R0FUVSxnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFsQlosbUJBQW1CLEVBQUUseUJBQXlCLGFBRTNELFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLG1CQUFtQixhQUVYLG1CQUFtQjsrR0FFbEIsZ0JBQWdCLFlBaEJ6QixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7OzJGQUlWLGdCQUFnQjtrQkFuQjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLENBQUM7b0JBQzlELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldE1vZHVsZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5U2VsZWN0TW9kdWxlLFxuICBQcnlUb2dnbGVNb2R1bGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IFByeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgV2lkZ2V0RGV0YWlsTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LWRldGFpbCc7XG5pbXBvcnQgeyBXaWRnZXRNYXBNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwJztcbmltcG9ydCB7IFdpZGdldFRpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aWRnZXQtdGlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZW5UcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZW4udHJhbnNsYXRpb25zJztcbmltcG9ydCB7IGZyVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2ZyLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBQcnlXaWRnZXRUaWxlQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcbmltcG9ydCB7IFByeURhdGFGb3JtYXRNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9kYXRhLWZvcm1hdCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1dpZGdldFRpbGVDb21wb25lbnQsIFByeVdpZGdldFRpbGVDc3NDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgUHJ5Q2hlY2tib3hNb2R1bGUsXG4gICAgUHJ5VG9nZ2xlTW9kdWxlLFxuICAgIFdpZGdldERldGFpbE1vZHVsZSxcbiAgICBXaWRnZXRNYXBNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBQcnlEYXRhRm9ybWF0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtXaWRnZXRUaWxlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRUaWxlTW9kdWxlIGV4dGVuZHMgQmFzZVdpZGdldE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJ5VHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJ5VHJhbnNsYXRlU2VydmljZS5hZGRMYW5nT2JqZWN0KCdmcicsICd3aWRnZXQtdGlsZScsIGZyVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnd2lkZ2V0LXRpbGUnLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIFdpZGdldFRpbGVDb21wb25lbnQgYXMgVHlwZTxCYXNlV2lkZ2V0Q29tcG9uZW50PjtcbiAgfVxufVxuIl19
|
|
@@ -71,7 +71,7 @@ export class WidgetVegaComponent extends DataWidgetComponent {
|
|
|
71
71
|
if (this.vega) {
|
|
72
72
|
this.view?.finalize();
|
|
73
73
|
// @ts-ignore
|
|
74
|
-
if (this.document.
|
|
74
|
+
if (this.document.logVegaSpec !== undefined) {
|
|
75
75
|
console.log(JSON.stringify(spec, undefined, 4));
|
|
76
76
|
}
|
|
77
77
|
embed(this.vega.nativeElement, JSON.parse(JSON.stringify(spec)), {
|
|
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
139
139
|
type: ViewChild,
|
|
140
140
|
args: ['vega']
|
|
141
141
|
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXZlZ2EuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdmVnYS9jb21wb25lbnQvd2lkZ2V0LXZlZ2EuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdmVnYS9jb21wb25lbnQvd2lkZ2V0LXZlZ2EuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsU0FBUyxFQUFjLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUVMLG1CQUFtQixFQU9uQixvQkFBb0IsRUFDckIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sS0FBNEIsTUFBTSxZQUFZLENBQUM7Ozs7OztBQU10RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBVTFELFlBQ0UsS0FBaUIsRUFDVCxnQkFBZ0MsRUFDeEMsRUFBYyxFQUNZLFFBQWtCLEVBQ3BDLFlBQWdDO1FBRXhDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFMVCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBRWQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFYMUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0IsZ0JBQVcsR0FBc0IsRUFBRSxRQUFR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cm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSxcbiAgRGF0YVdpZGdldENvbXBvbmVudCxcbiAgSXRlbSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeVNuYWNrYmFyU2VydmljZSxcbiAgUmVzdWx0U2V0LFxuICBWYWx1ZVR5cGUsXG4gIFZlZ2FXaWRnZXRPcHRpb25zLFxuICBXSURHRVRfSEVBREVSX0hFSUdIVFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAndmVnYSc7XG5pbXBvcnQgZW1iZWQsIHsgVmlzdWFsaXphdGlvblNwZWMgfSBmcm9tICd2ZWdhLWVtYmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC12ZWdhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC12ZWdhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRWZWdhQ29tcG9uZW50IGV4dGVuZHMgRGF0YVdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCd2ZWdhJykgdmVnYSE6IEVsZW1lbnRSZWY7XG4gIHZpZXc/OiBWaWV3O1xuICB2ZWdhU3BlYyQ6IE9ic2VydmFibGU8VmlzdWFsaXphdGlvblNwZWM+O1xuICB0cmlnZ2VyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPGFueT47XG4gIG9wdGlvbnNDb3B5OiBWZWdhV2lkZ2V0T3B0aW9ucyA9IHsgYmFzZVNwZWM6IHt9LCBwbGFjZURhdGE6IFtdIH07XG4gIGZvcm1hdHRlZEJhc2VTcGVjOiBzdHJpbmcgPSAne30nO1xuICBpbml0aWFsRm9ybWF0dGVkQmFzZVNwZWM6IHN0cmluZyA9ICd7fSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBlbDogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHNuYWNrU2VydmljZTogUHJ5U25hY2tiYXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBlbCk7XG5cbiAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5tYW5pZmVzdCQucGlwZShtYXAoKG1hbmlmZXN0KSA9PiAobWFuaWZlc3Qub3B0aW9ucyA/PyB7fSkgYXMgYW55KSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMub3B0aW9ucyQuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uc0NvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0ZWRCYXNlU3BlYyA9IEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9uc0NvcHkuYmFzZVNwZWMsIHVuZGVmaW5lZCwgNCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbEZvcm1hdHRlZEJhc2VTcGVjID0gSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zQ29weS5iYXNlU3BlYywgdW5kZWZpbmVkLCA0KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudmVnYVNwZWMkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcHRpb25zJCwgdGhpcy5yZXN1bHRTZXQkLCB0aGlzLndpZGdldFNpemUkLCB0aGlzLmRpc3BsYXlIZWFkZXIkXSkucGlwZShcbiAgICAgIGZpbHRlcigoW29wdGlvbnMsIHJzLCBzaXplLCBoZWFkZXJdKSA9PiAhIXJzKSxcbiAgICAgIG1hcCgoW29wdGlvbnMsIHJzLCBzaXplLCBoZWFkZXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBXaWRnZXRWZWdhQ29tcG9uZW50LmdldFZhbHVlcyhycyk7XG5cbiAgICAgICAgY29uc3QgdmVnYVNwZWMgPSBXaWRnZXRWZWdhQ29tcG9uZW50LnBsYWNlRGF0YShvcHRpb25zLCBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuYmFzZVNwZWMpKSwgZGF0YSk7XG5cbiAgICAgICAgdmVnYVNwZWMud2lkdGggPSB2ZWdhU3BlYy53aWR0aCA/PyBzaXplLndpZHRoIC0gNTtcbiAgICAgICAgdmVnYVNwZWMuaGVpZ2h0ID0gdmVnYVNwZWMuaGVpZ2h0ID8/IHNpemUuaGVpZ2h0IC0gNSAtIChoZWFkZXIgPyBXSURHRVRfSEVBREVSX0hFSUdIVC52YWx1ZSA6IDApO1xuICAgICAgICB2ZWdhU3BlYy5hdXRvc2l6ZSA9IHZlZ2FTcGVjLmF1dG9zaXplID8/IHsgdHlwZTogJ2ZpdCcsIGNvbnRhaW5zOiAncGFkZGluZycgfTtcbiAgICAgICAgdmVnYVNwZWMucGFkZGluZyA9IHZlZ2FTcGVjLnBhZGRpbmcgPz8gMTU7XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAod2luZG93LndpZGdldFZlZ2FMb2dnaW5nID09PSB0cnVlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodmVnYVNwZWMsIHVuZGVmaW5lZCwgNCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZlZ2FTcGVjO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldFZhbHVlcyhkYXRhOiBSZXN1bHRTZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YS5pdGVtcylcbiAgICAgIC5tYXAoKGNsYXp6KSA9PiBkYXRhLml0ZW1zW2NsYXp6XS5tYXAoKGl0ZW0pID0+IFdpZGdldFZlZ2FDb21wb25lbnQudHJhbnNmb3JtUHJvdm9seU1vZGVsVG9DbGFzc2ljKGl0ZW0pKSlcbiAgICAgIC5mbGF0KCk7XG4gIH1cblxuICBzdGF0aWMgdHJhbnNmb3JtUHJvdm9seU1vZGVsVG9DbGFzc2ljKHZhbHVlczogSXRlbSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogVmFsdWVUeXBlIH07XG4gICAgT2JqZWN0LmtleXModmFsdWVzLmF0dHJpYnV0ZXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgcmVzdWx0W2tleV0gPSAodmFsdWVzLmF0dHJpYnV0ZXNba2V5XSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIHBsYWNlRGF0YShvcHRpb25zOiBWZWdhV2lkZ2V0T3B0aW9ucywgYmFzZVNwZWM6IGFueSwgZGF0YTogeyBba2V5OiBzdHJpbmddOiBWYWx1ZVR5cGUgfVtdKSB7XG4gICAgY29uc3QgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGJhc2VTcGVjKSk7XG4gICAgbGV0IHJlZiA9IGNsb25lO1xuICAgIChvcHRpb25zLnBsYWNlRGF0YSA/PyBbXSkuZm9yRWFjaCgocHJvcCwgaWR4LCBhcnIpID0+IHtcbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgaWYgKGlkeCA8IGFyci5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmVmID0gcmVmW3Byb3BdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZltwcm9wXSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmVnYVNwZWMkLCB0aGlzLnRyaWdnZXIkLCB0aGlzLndpZGdldFNpemUkXSkuc3Vic2NyaWJlKChbc3BlYywgXywgc2l6ZV0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMudmVnYSkge1xuICAgICAgICAgIHRoaXMudmlldz8uZmluYWxpemUoKTtcblxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudC5kZWJ1Z0ZOVFAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoc3BlYywgdW5kZWZpbmVkLCA0KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZW1iZWQodGhpcy52ZWdhLm5hdGl2ZUVsZW1lbnQsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3BlYykpLCB7XG4gICAgICAgICAgICBhY3Rpb25zOiBmYWxzZSxcbiAgICAgICAgICAgIHJlbmRlcmVyOiAnY2FudmFzJyxcbiAgICAgICAgICAgIGZvcm1hdExvY2FsZToge1xuICAgICAgICAgICAgICBkZWNpbWFsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5mb3JtYXQuZGVjaW1hbCcpLFxuICAgICAgICAgICAgICB0aG91c2FuZHM6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmZvcm1hdC50aG91c2FuZHMnKSxcbiAgICAgICAgICAgICAgZ3JvdXBpbmc6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmZvcm1hdC5ncm91cGluZycpLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuZm9ybWF0LmN1cnJlbmN5JyksXG4gICAgICAgICAgICAgIHBlcmNlbnQ6ICdcXHUyMDJmJSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+ICh0aGlzLnZpZXcgPSByZXN1bHQudmlldykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50cmlnZ2VyJC5uZXh0KCksIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnRyaWdnZXIkLm5leHQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSW1hZ2UoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVzb2x2ZSh0aGlzLnZlZ2EubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdjYW52YXMnKVswXS50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICB9KTtcbiAgfVxuXG4gIGVtaXRNYW5pZmVzdCgpIHtcbiAgICB0aGlzLm1hbmlmZXN0TW9kaWZpZWQuZW1pdCh7XG4gICAgICB3aWRnZXRJbmRleDogdGhpcy53aWRnZXRJbmRleCxcbiAgICAgIG1hbmlmZXN0OiB7IC4uLnRoaXMubWFuaWZlc3QsIG9wdGlvbnM6IHRoaXMub3B0aW9uc0NvcHkgfVxuICAgIH0pO1xuICB9XG5cbiAgY2hhbmdlUGxhY2VEYXRhKCRldmVudDogRXZlbnQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgZXhwciA9ICRldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMub3B0aW9uc0NvcHkucGxhY2VEYXRhID0gZXhwclxuICAgICAgLnNwbGl0KCcuJylcbiAgICAgIC5tYXAoKHZhbDogc3RyaW5nKSA9PiAocGFyc2VJbnQodmFsKSArICcnID09PSBgJHt2YWx9YCA/IHBhcnNlSW50KHZhbCkgOiB2YWwpKTtcbiAgfVxuXG4gIGNoYW5nZVNwZWMoJGV2ZW50OiBFdmVudCkge1xuICAgIHRyeSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aGlzLm9wdGlvbnNDb3B5LmJhc2VTcGVjID0gSlNPTi5wYXJzZSgkZXZlbnQuY3VycmVudFRhcmdldC52YWx1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuc25hY2tTZXJ2aWNlLm5vdE1pdGlnYXRlZE9wZW4oe1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQudmVnYS5ub3RQYXJzZWFibGVTcGVjJyksXG4gICAgICAgIGFjdGlvbjogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0Bwcnkud2lkZ2V0LnZlZ2Euc3BlY1JlaW5pdCcpXG4gICAgICB9KTtcbiAgICAgIG1lc3NhZ2U/LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uc0NvcHkuYmFzZVNwZWMgPSB0aGlzLmluaXRpYWxGb3JtYXR0ZWRCYXNlU3BlYztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPHByeS13aWRnZXQtdmVnYS1jc3M+PC9wcnktd2lkZ2V0LXZlZ2EtY3NzPlxuPGRpdiBjbGFzcz1cIm8td2lkZ2V0IG8td2lkZ2V0LS1jaGFydFwiPlxuICA8cHJ5LXdpZGdldC1oZWFkZXJcbiAgICAqbmdJZj1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgIFt3aWRnZXRJbmRleF09XCJ3aWRnZXRJbmRleFwiXG4gICAgW21hbmlmZXN0XT1cIm1hbmlmZXN0XCJcbiAgICAobWFuaWZlc3RNb2RpZmllZCk9XCJtYW5pZmVzdE1vZGlmaWVkLmVtaXQoJGV2ZW50KVwiXG4gICAgI2hlYWRlclxuICAgIFtoZWFkZXJPcHRpb25zXT1cIihkaXNwbGF5SGVhZGVyJCB8IGFzeW5jKSA/PyB7fVwiXG4gICAgW2RhdGFzb3VyY2VJZHNdPVwiKGRhdGFzb3VyY2VJZHMkIHwgYXN5bmMpID8/IFtdXCJcbiAgPlxuICAgIDxwcnktc2V0dGluZ3NcbiAgICAgIChzYXZlVHJpZ2dlcmVkKT1cImVtaXRNYW5pZmVzdCgpXCJcbiAgICAgIChjaGFuZ2VUaXRsZSk9XCJjaGFuZ2VXaWRnZXRUaXRsZSgkZXZlbnQpXCJcbiAgICAgIFtoZWFkZXJQcmVzZW50XT1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgIFtvcGVuJF09XCJvcGVuJFwiXG4gICAgICBjbGFzcz1cIm8tc2V0dGluZ3NcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXNldHRpbmdzX19maWVsZHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJwbGFjZURhdGFfc3JjXCI+e3sgJ0Bwcnkud2lkZ2V0LnZlZ2EucGxhY2VEYXRhJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgaWQ9XCJwbGFjZURhdGFfc3JjXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCIob3B0aW9uc0NvcHkucGxhY2VEYXRhID8/IFtdKS5qb2luKCcuJylcIlxuICAgICAgICAgICAgKGlucHV0KT1cImNoYW5nZVBsYWNlRGF0YSgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInNwZWNfc3JjXCI+e3sgJ0Bwcnkud2lkZ2V0LnZlZ2Euc3BlYycgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkIGEtdGV4dC1hcmVhXCJcbiAgICAgICAgICAgIGlkPVwic3BlY19zcmNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImZvcm1hdHRlZEJhc2VTcGVjXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJjaGFuZ2VTcGVjKCRldmVudClcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvcHJ5LXNldHRpbmdzPlxuICA8L3ByeS13aWRnZXQtaGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwiby13aWRnZXQtLWNoYXJ0LS1jaGFydFwiICN2ZWdhPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXZlZ2EuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdmVnYS9jb21wb25lbnQvd2lkZ2V0LXZlZ2EuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtdmVnYS9jb21wb25lbnQvd2lkZ2V0LXZlZ2EuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsU0FBUyxFQUFjLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUVMLG1CQUFtQixFQU9uQixvQkFBb0IsRUFDckIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sS0FBNEIsTUFBTSxZQUFZLENBQUM7Ozs7OztBQU10RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBVTFELFlBQ0UsS0FBaUIsRUFDVCxnQkFBZ0MsRUFDeEMsRUFBYyxFQUNZLFFBQWtCLEVBQ3BDLFlBQWdDO1FBRXhDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFMVCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBRWQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFYMUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0IsZ0JBQVcsR0FBc0IsRUFBRSxRQUFR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cm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSxcbiAgRGF0YVdpZGdldENvbXBvbmVudCxcbiAgSXRlbSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeVNuYWNrYmFyU2VydmljZSxcbiAgUmVzdWx0U2V0LFxuICBWYWx1ZVR5cGUsXG4gIFZlZ2FXaWRnZXRPcHRpb25zLFxuICBXSURHRVRfSEVBREVSX0hFSUdIVFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAndmVnYSc7XG5pbXBvcnQgZW1iZWQsIHsgVmlzdWFsaXphdGlvblNwZWMgfSBmcm9tICd2ZWdhLWVtYmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC12ZWdhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC12ZWdhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRWZWdhQ29tcG9uZW50IGV4dGVuZHMgRGF0YVdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCd2ZWdhJykgdmVnYSE6IEVsZW1lbnRSZWY7XG4gIHZpZXc/OiBWaWV3O1xuICB2ZWdhU3BlYyQ6IE9ic2VydmFibGU8VmlzdWFsaXphdGlvblNwZWM+O1xuICB0cmlnZ2VyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPGFueT47XG4gIG9wdGlvbnNDb3B5OiBWZWdhV2lkZ2V0T3B0aW9ucyA9IHsgYmFzZVNwZWM6IHt9LCBwbGFjZURhdGE6IFtdIH07XG4gIGZvcm1hdHRlZEJhc2VTcGVjOiBzdHJpbmcgPSAne30nO1xuICBpbml0aWFsRm9ybWF0dGVkQmFzZVNwZWM6IHN0cmluZyA9ICd7fSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBlbDogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHNuYWNrU2VydmljZTogUHJ5U25hY2tiYXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBlbCk7XG5cbiAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5tYW5pZmVzdCQucGlwZShtYXAoKG1hbmlmZXN0KSA9PiAobWFuaWZlc3Qub3B0aW9ucyA/PyB7fSkgYXMgYW55KSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMub3B0aW9ucyQuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uc0NvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0ZWRCYXNlU3BlYyA9IEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9uc0NvcHkuYmFzZVNwZWMsIHVuZGVmaW5lZCwgNCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbEZvcm1hdHRlZEJhc2VTcGVjID0gSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zQ29weS5iYXNlU3BlYywgdW5kZWZpbmVkLCA0KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudmVnYVNwZWMkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcHRpb25zJCwgdGhpcy5yZXN1bHRTZXQkLCB0aGlzLndpZGdldFNpemUkLCB0aGlzLmRpc3BsYXlIZWFkZXIkXSkucGlwZShcbiAgICAgIGZpbHRlcigoW29wdGlvbnMsIHJzLCBzaXplLCBoZWFkZXJdKSA9PiAhIXJzKSxcbiAgICAgIG1hcCgoW29wdGlvbnMsIHJzLCBzaXplLCBoZWFkZXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBXaWRnZXRWZWdhQ29tcG9uZW50LmdldFZhbHVlcyhycyk7XG5cbiAgICAgICAgY29uc3QgdmVnYVNwZWMgPSBXaWRnZXRWZWdhQ29tcG9uZW50LnBsYWNlRGF0YShvcHRpb25zLCBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuYmFzZVNwZWMpKSwgZGF0YSk7XG5cbiAgICAgICAgdmVnYVNwZWMud2lkdGggPSB2ZWdhU3BlYy53aWR0aCA/PyBzaXplLndpZHRoIC0gNTtcbiAgICAgICAgdmVnYVNwZWMuaGVpZ2h0ID0gdmVnYVNwZWMuaGVpZ2h0ID8/IHNpemUuaGVpZ2h0IC0gNSAtIChoZWFkZXIgPyBXSURHRVRfSEVBREVSX0hFSUdIVC52YWx1ZSA6IDApO1xuICAgICAgICB2ZWdhU3BlYy5hdXRvc2l6ZSA9IHZlZ2FTcGVjLmF1dG9zaXplID8/IHsgdHlwZTogJ2ZpdCcsIGNvbnRhaW5zOiAncGFkZGluZycgfTtcbiAgICAgICAgdmVnYVNwZWMucGFkZGluZyA9IHZlZ2FTcGVjLnBhZGRpbmcgPz8gMTU7XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAod2luZG93LndpZGdldFZlZ2FMb2dnaW5nID09PSB0cnVlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodmVnYVNwZWMsIHVuZGVmaW5lZCwgNCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZlZ2FTcGVjO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldFZhbHVlcyhkYXRhOiBSZXN1bHRTZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YS5pdGVtcylcbiAgICAgIC5tYXAoKGNsYXp6KSA9PiBkYXRhLml0ZW1zW2NsYXp6XS5tYXAoKGl0ZW0pID0+IFdpZGdldFZlZ2FDb21wb25lbnQudHJhbnNmb3JtUHJvdm9seU1vZGVsVG9DbGFzc2ljKGl0ZW0pKSlcbiAgICAgIC5mbGF0KCk7XG4gIH1cblxuICBzdGF0aWMgdHJhbnNmb3JtUHJvdm9seU1vZGVsVG9DbGFzc2ljKHZhbHVlczogSXRlbSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogVmFsdWVUeXBlIH07XG4gICAgT2JqZWN0LmtleXModmFsdWVzLmF0dHJpYnV0ZXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgcmVzdWx0W2tleV0gPSAodmFsdWVzLmF0dHJpYnV0ZXNba2V5XSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIHBsYWNlRGF0YShvcHRpb25zOiBWZWdhV2lkZ2V0T3B0aW9ucywgYmFzZVNwZWM6IGFueSwgZGF0YTogeyBba2V5OiBzdHJpbmddOiBWYWx1ZVR5cGUgfVtdKSB7XG4gICAgY29uc3QgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGJhc2VTcGVjKSk7XG4gICAgbGV0IHJlZiA9IGNsb25lO1xuICAgIChvcHRpb25zLnBsYWNlRGF0YSA/PyBbXSkuZm9yRWFjaCgocHJvcCwgaWR4LCBhcnIpID0+IHtcbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgaWYgKGlkeCA8IGFyci5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmVmID0gcmVmW3Byb3BdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZltwcm9wXSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmVnYVNwZWMkLCB0aGlzLnRyaWdnZXIkLCB0aGlzLndpZGdldFNpemUkXSkuc3Vic2NyaWJlKChbc3BlYywgXywgc2l6ZV0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMudmVnYSkge1xuICAgICAgICAgIHRoaXMudmlldz8uZmluYWxpemUoKTtcblxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudC5sb2dWZWdhU3BlYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShzcGVjLCB1bmRlZmluZWQsIDQpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlbWJlZCh0aGlzLnZlZ2EubmF0aXZlRWxlbWVudCwgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzcGVjKSksIHtcbiAgICAgICAgICAgIGFjdGlvbnM6IGZhbHNlLFxuICAgICAgICAgICAgcmVuZGVyZXI6ICdjYW52YXMnLFxuICAgICAgICAgICAgZm9ybWF0TG9jYWxlOiB7XG4gICAgICAgICAgICAgIGRlY2ltYWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmZvcm1hdC5kZWNpbWFsJyksXG4gICAgICAgICAgICAgIHRob3VzYW5kczogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuZm9ybWF0LnRob3VzYW5kcycpLFxuICAgICAgICAgICAgICBncm91cGluZzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuZm9ybWF0Lmdyb3VwaW5nJyksXG4gICAgICAgICAgICAgIGN1cnJlbmN5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5mb3JtYXQuY3VycmVuY3knKSxcbiAgICAgICAgICAgICAgcGVyY2VudDogJ1xcdTIwMmYlJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4gKHRoaXMudmlldyA9IHJlc3VsdC52aWV3KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRyaWdnZXIkLm5leHQoKSwgMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMudHJpZ2dlciQubmV4dCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9JbWFnZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZXNvbHZlKHRoaXMudmVnYS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2NhbnZhcycpWzBdLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJykpO1xuICAgIH0pO1xuICB9XG5cbiAgZW1pdE1hbmlmZXN0KCkge1xuICAgIHRoaXMubWFuaWZlc3RNb2RpZmllZC5lbWl0KHtcbiAgICAgIHdpZGdldEluZGV4OiB0aGlzLndpZGdldEluZGV4LFxuICAgICAgbWFuaWZlc3Q6IHsgLi4udGhpcy5tYW5pZmVzdCwgb3B0aW9uczogdGhpcy5vcHRpb25zQ29weSB9XG4gICAgfSk7XG4gIH1cblxuICBjaGFuZ2VQbGFjZURhdGEoJGV2ZW50OiBFdmVudCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBleHByID0gJGV2ZW50LmN1cnJlbnRUYXJnZXQudmFsdWU7XG4gICAgdGhpcy5vcHRpb25zQ29weS5wbGFjZURhdGEgPSBleHByXG4gICAgICAuc3BsaXQoJy4nKVxuICAgICAgLm1hcCgodmFsOiBzdHJpbmcpID0+IChwYXJzZUludCh2YWwpICsgJycgPT09IGAke3ZhbH1gID8gcGFyc2VJbnQodmFsKSA6IHZhbCkpO1xuICB9XG5cbiAgY2hhbmdlU3BlYygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHRoaXMub3B0aW9uc0NvcHkuYmFzZVNwZWMgPSBKU09OLnBhcnNlKCRldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5zbmFja1NlcnZpY2Uubm90TWl0aWdhdGVkT3Blbih7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LndpZGdldC52ZWdhLm5vdFBhcnNlYWJsZVNwZWMnKSxcbiAgICAgICAgYWN0aW9uOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQudmVnYS5zcGVjUmVpbml0JylcbiAgICAgIH0pO1xuICAgICAgbWVzc2FnZT8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weS5iYXNlU3BlYyA9IHRoaXMuaW5pdGlhbEZvcm1hdHRlZEJhc2VTcGVjO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8cHJ5LXdpZGdldC12ZWdhLWNzcz48L3ByeS13aWRnZXQtdmVnYS1jc3M+XG48ZGl2IGNsYXNzPVwiby13aWRnZXQgby13aWRnZXQtLWNoYXJ0XCI+XG4gIDxwcnktd2lkZ2V0LWhlYWRlclxuICAgICpuZ0lmPVwiZGlzcGxheUhlYWRlciQgfCBhc3luY1wiXG4gICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICBbbWFuaWZlc3RdPVwibWFuaWZlc3RcIlxuICAgIChtYW5pZmVzdE1vZGlmaWVkKT1cIm1hbmlmZXN0TW9kaWZpZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAjaGVhZGVyXG4gICAgW2hlYWRlck9wdGlvbnNdPVwiKGRpc3BsYXlIZWFkZXIkIHwgYXN5bmMpID8/IHt9XCJcbiAgICBbZGF0YXNvdXJjZUlkc109XCIoZGF0YXNvdXJjZUlkcyQgfCBhc3luYykgPz8gW11cIlxuICA+XG4gICAgPHByeS1zZXR0aW5nc1xuICAgICAgKHNhdmVUcmlnZ2VyZWQpPVwiZW1pdE1hbmlmZXN0KClcIlxuICAgICAgKGNoYW5nZVRpdGxlKT1cImNoYW5nZVdpZGdldFRpdGxlKCRldmVudClcIlxuICAgICAgW2hlYWRlclByZXNlbnRdPVwiZGlzcGxheUhlYWRlciQgfCBhc3luY1wiXG4gICAgICBbd2lkZ2V0SW5kZXhdPVwid2lkZ2V0SW5kZXhcIlxuICAgICAgW2hlYWRlcl09XCJoZWFkZXJcIlxuICAgICAgW29wZW4kXT1cIm9wZW4kXCJcbiAgICAgIGNsYXNzPVwiby1zZXR0aW5nc1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tc2V0dGluZ3NfX2ZpZWxkc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInBsYWNlRGF0YV9zcmNcIj57eyAnQHByeS53aWRnZXQudmVnYS5wbGFjZURhdGEnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICBpZD1cInBsYWNlRGF0YV9zcmNcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIihvcHRpb25zQ29weS5wbGFjZURhdGEgPz8gW10pLmpvaW4oJy4nKVwiXG4gICAgICAgICAgICAoaW5wdXQpPVwiY2hhbmdlUGxhY2VEYXRhKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwic3BlY19zcmNcIj57eyAnQHByeS53aWRnZXQudmVnYS5zcGVjJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGQgYS10ZXh0LWFyZWFcIlxuICAgICAgICAgICAgaWQ9XCJzcGVjX3NyY1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwiZm9ybWF0dGVkQmFzZVNwZWNcIlxuICAgICAgICAgICAgKGlucHV0KT1cImNoYW5nZVNwZWMoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9wcnktc2V0dGluZ3M+XG4gIDwvcHJ5LXdpZGdldC1oZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJvLXdpZGdldC0tY2hhcnQtLWNoYXJ0XCIgI3ZlZ2E+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|