desy-angular 5.1.2 → 5.3.0
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/bundles/desy-angular.umd.js +321 -689
- package/bundles/desy-angular.umd.js.map +1 -1
- package/bundles/desy-angular.umd.min.js +1 -15
- package/bundles/desy-angular.umd.min.js.map +1 -1
- package/desy-angular.d.ts +15 -15
- package/desy-angular.metadata.json +1 -1
- package/esm2015/desy-angular.js +16 -16
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +2 -2
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +2 -24
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +1 -1
- package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +2 -17
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +1 -4
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -11
- package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +1 -9
- package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +1 -9
- package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +1 -9
- package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +2 -15
- package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +1 -15
- package/esm2015/lib/desy-forms/components/input/input.component.js +26 -17
- package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +1 -9
- package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +1 -9
- package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +9 -20
- package/esm2015/lib/desy-forms/components/radios/radio-item/radio-item.component.js +1 -4
- package/esm2015/lib/desy-forms/components/radios/radios.component.js +1 -10
- package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +1 -17
- package/esm2015/lib/desy-forms/components/select/select.component.js +9 -19
- package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +3 -15
- package/esm2015/lib/desy-forms/components/tree/tree-item/tree-item.component.js +2 -2
- package/esm2015/lib/desy-forms/components/tree/tree.component.js +28 -16
- package/esm2015/lib/desy-forms/directives/condition.directive.js +2 -5
- package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +1 -7
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +2 -13
- package/esm2015/lib/desy-modals/services/dialog.service.js +8 -9
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.js +2 -8
- package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +4 -10
- package/esm2015/lib/desy-nav/components/footer/footer.component.js +2 -2
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +1 -4
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +1 -4
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +2 -5
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +2 -5
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +2 -5
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -15
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +2 -8
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +2 -14
- package/esm2015/lib/desy-nav/components/nav/nav.component.js +2 -18
- package/esm2015/lib/desy-nav/components/notification/notification.component.js +2 -10
- package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +2 -11
- package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +2 -11
- package/esm2015/lib/desy-tables/components/table/table.component.js +2 -14
- package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +2 -5
- package/esm2015/lib/desy-views/components/accordion/accordion.component.js +2 -13
- package/esm2015/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.js +31 -0
- package/esm2015/lib/desy-views/components/accordion-history/accordion-history-item-hide-button/accordion-history-item-hide-button.component.js +14 -0
- package/esm2015/lib/desy-views/components/accordion-history/accordion-history-item-show-button/accordion-history-item-show-button.component.js +14 -0
- package/esm2015/lib/desy-views/components/accordion-history/accordion-history.component.js +15 -0
- package/esm2015/lib/desy-views/components/alert/alert.component.js +1 -7
- package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +3 -10
- package/esm2015/lib/desy-views/components/description-list/description-list.component.js +2 -8
- package/esm2015/lib/desy-views/components/details/details.component.js +1 -12
- package/esm2015/lib/desy-views/components/item/item.component.js +3 -13
- package/esm2015/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.js +11 -0
- package/esm2015/lib/desy-views/components/media-object/media-object.component.js +17 -12
- package/esm2015/lib/desy-views/components/status/status.component.js +3 -11
- package/esm2015/lib/desy-views/components/status-item/status-item.component.js +2 -10
- package/esm2015/lib/desy-views/components/tabs/tabs.component.js +6 -18
- package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +2 -10
- package/esm2015/lib/desy-views/desy-views.module.js +17 -2
- package/esm2015/lib/desy-views/services/alert.service.js +8 -9
- package/esm2015/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.js +1 -1
- package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +1 -13
- package/esm2015/lib/shared/shared.module.js +1 -4
- package/esm2015/lib/shared/utils/search-utils.js +22 -1
- package/esm2015/public-api.js +5 -1
- package/fesm2015/desy-angular.js +235 -611
- package/fesm2015/desy-angular.js.map +1 -1
- package/lib/desy-forms/components/character-count/character-count.component.d.ts +0 -1
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +2 -3
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +2 -3
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +2 -3
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +2 -4
- package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +1 -4
- package/lib/desy-forms/components/input/input.component.d.ts +8 -4
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +2 -3
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +2 -3
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +4 -2
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +2 -5
- package/lib/desy-forms/components/select/select.component.d.ts +5 -5
- package/lib/desy-forms/components/textarea/textarea.component.d.ts +2 -3
- package/lib/desy-forms/components/tree/tree.component.d.ts +6 -1
- package/lib/desy-forms/directives/condition.directive.d.ts +2 -2
- package/lib/desy-modals/components/modal/modal.component.d.ts +2 -4
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +0 -1
- package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +0 -1
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +0 -1
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -1
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +0 -1
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +0 -1
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +2 -4
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +0 -1
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +0 -1
- package/lib/desy-nav/components/nav/nav.component.d.ts +2 -4
- package/lib/desy-nav/components/notification/notification.component.d.ts +2 -4
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +0 -1
- package/lib/desy-tables/components/table/table.component.d.ts +0 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +0 -1
- package/lib/desy-views/components/accordion/accordion.component.d.ts +2 -4
- package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +9 -0
- package/lib/desy-views/components/accordion-history/accordion-history-item-hide-button/accordion-history-item-hide-button.component.d.ts +4 -0
- package/lib/desy-views/components/accordion-history/accordion-history-item-show-button/accordion-history-item-show-button.component.d.ts +4 -0
- package/lib/desy-views/components/accordion-history/accordion-history.component.d.ts +6 -0
- package/lib/desy-views/components/collapsible/collapsible.component.d.ts +2 -3
- package/lib/desy-views/components/description-list/description-list.component.d.ts +0 -1
- package/lib/desy-views/components/details/details.component.d.ts +1 -5
- package/lib/desy-views/components/item/item.component.d.ts +2 -5
- package/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.d.ts +3 -0
- package/lib/desy-views/components/media-object/media-object.component.d.ts +7 -4
- package/lib/desy-views/components/status/status.component.d.ts +1 -3
- package/lib/desy-views/components/status-item/status-item.component.d.ts +2 -4
- package/lib/desy-views/components/tabs/tabs.component.d.ts +2 -4
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +2 -4
- package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +1 -3
- package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +3 -11
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/esm2015/lib/shared/directives/content-empty.directive.js +0 -86
- package/lib/shared/directives/content-empty.directive.d.ts +0 -26
|
@@ -30,6 +30,15 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
30
30
|
ngOnChanges(changes) {
|
|
31
31
|
this.configureAllItems();
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Se sobrescribe el valor para actualizar los items
|
|
35
|
+
* @Override
|
|
36
|
+
*/
|
|
37
|
+
writeValue(value) {
|
|
38
|
+
this.value = value;
|
|
39
|
+
this.configureAllItems(true);
|
|
40
|
+
this.onChange(this.value);
|
|
41
|
+
}
|
|
33
42
|
/*
|
|
34
43
|
* Eventos
|
|
35
44
|
*/
|
|
@@ -50,17 +59,14 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
50
59
|
else if (!this.decoupleChildFromParent) {
|
|
51
60
|
this.rootItems.forEach(item => item.setCheckedAutomaticallyDependingOnChildren());
|
|
52
61
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
62
|
-
this.onChange(this.value);
|
|
63
|
-
}
|
|
62
|
+
this.value = [];
|
|
63
|
+
const items = this.getAllItemsInOrder();
|
|
64
|
+
items.forEach(item => {
|
|
65
|
+
if (item.checked) {
|
|
66
|
+
this.value.push(item.value);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.onChange(this.value);
|
|
64
70
|
}
|
|
65
71
|
/**
|
|
66
72
|
* Gestiona cuando el foco abandona un ítem desde un evento de teclado controlado
|
|
@@ -128,7 +134,7 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
128
134
|
/**
|
|
129
135
|
* Configura los items del árbol
|
|
130
136
|
*/
|
|
131
|
-
configureAllItems() {
|
|
137
|
+
configureAllItems(isValueChange = false) {
|
|
132
138
|
if (!this._alreadyConfiguringItems) {
|
|
133
139
|
this._alreadyConfiguringItems = true;
|
|
134
140
|
// Lo realizamos desde un setTimeout para que todos los inputs, values y demás vivan en paz y armonía
|
|
@@ -143,8 +149,9 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
143
149
|
item.inheritedDescribedBy = this.getDescribedByForItems();
|
|
144
150
|
item.inheritedExpandedFirstLevel = this.expandedFirstLevel;
|
|
145
151
|
item.inheritedDecoupleChildFromParent = this.decoupleChildFromParent;
|
|
146
|
-
if (this.value && this.value.length > 0) {
|
|
147
|
-
|
|
152
|
+
if ((this.value && this.value.length > 0) || isValueChange) {
|
|
153
|
+
const valueList = this.value ? this.value : [];
|
|
154
|
+
item.setChecked(!!valueList.find(v => v === item.value), true);
|
|
148
155
|
}
|
|
149
156
|
item.detectChanges();
|
|
150
157
|
const checkedSubscription = item.checkedChangeForTree.subscribe(() => this.updateValueFromItems(item));
|
|
@@ -157,6 +164,9 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
157
164
|
if (!this.value) {
|
|
158
165
|
this.updateValueFromItems();
|
|
159
166
|
}
|
|
167
|
+
if (this.searchMatchValues) {
|
|
168
|
+
this.onSearchMatchValuesChange();
|
|
169
|
+
}
|
|
160
170
|
}
|
|
161
171
|
if (this.allItems && !this._allItemListSubscription) {
|
|
162
172
|
this._allItemListSubscription = this.allItems.changes.subscribe(() => this.configureAllItems());
|
|
@@ -307,7 +317,9 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
307
317
|
item.setSubLevel(0);
|
|
308
318
|
item.setDefaultId(`${this.idPrefix}-${index}`);
|
|
309
319
|
item.refreshAllParentsExpandedRecursive(true);
|
|
310
|
-
|
|
320
|
+
if (!this.decoupleChildFromParent) {
|
|
321
|
+
item.setCheckedAutomaticallyDependingOnChildren();
|
|
322
|
+
}
|
|
311
323
|
order = item.setOrderRecursively(order);
|
|
312
324
|
});
|
|
313
325
|
}
|
|
@@ -393,4 +405,4 @@ __decorate([
|
|
|
393
405
|
__decorate([
|
|
394
406
|
DesyContentChild({ onSetCallbackName: 'overrideSearchBarParams' })
|
|
395
407
|
], TreeComponent.prototype, "searchBarComponent", void 0);
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvdHJlZS90cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUFFLFlBQVksRUFDN0IsVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBQ3NCLFNBQVMsRUFDdEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFhdEUsTUFBTSxPQUFPLGFBQWMsU0FBUSxrQkFBeUI7SUFvQzFELFlBQW9CLGNBQWlDO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBM0I1Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUk1Qiw0QkFBdUIsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQWFqRixjQUFTLEdBQXdCLEVBQUUsQ0FBQztRQUdwQyxrQ0FBNkIsR0FBbUIsRUFBRSxDQUFD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bXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LCBRdWVyeUxpc3QsXHJcbiAgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7VHJlZUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RGVzeU9uSW5wdXRDaGFuZ2V9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LW9uLWlucHV0LWNoYW5nZS5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7Rm9ybUZpZWxkQ29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtGaWVsZHNldENvbXBvbmVudH0gZnJvbSBcIi4uL2ZpZWxkc2V0L2ZpZWxkc2V0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1F1aXRUcmVlSXRlbUZvY3VzT3B0aW9uc30gZnJvbSBcIi4vaW50ZXJmYWNlcy9xdWl0LXRyZWUtaXRlbS1mb2N1cy1vcHRpb25zXCI7XHJcbmltcG9ydCB7U2VhcmNoQmFyQ29tcG9uZW50fSBmcm9tIFwiLi4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXRyZWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyZWVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyZWVDb21wb25lbnQgZXh0ZW5kcyBGb3JtRmllbGRDb21wb25lbnQ8YW55W10+IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBmb3JtR3JvdXBDbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGU6ICdyYWRpbyd8J2NoZWNrYm94J3xudWxsfHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBkZXNjcmliZWRCeTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBleHBhbmRlZEZpcnN0TGV2ZWwgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRlY291cGxlQ2hpbGRGcm9tUGFyZW50ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVEZWZhdWx0U2VhcmNoID0gZmFsc2U7XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25TZWFyY2hNYXRjaFZhbHVlc0NoYW5nZScpXHJcbiAgQElucHV0KCkgc2VhcmNoTWF0Y2hWYWx1ZXM6IHN0cmluZ1tdO1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hNYXRjaFZhbHVlc0NoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnY29uZmlndXJlQWxsSXRlbXMnKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVHJlZUl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgYWxsSXRlbXM6IFF1ZXJ5TGlzdDxUcmVlSXRlbUNvbXBvbmVudD47XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKHsgb25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZUZpZWxkc2V0UGFyYW1zJ30pXHJcbiAgQENvbnRlbnRDaGlsZHJlbihGaWVsZHNldENvbXBvbmVudCkgZmllbGRzZXRDb21wb25lbnQ6IEZpZWxkc2V0Q29tcG9uZW50O1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCh7IG9uU2V0Q2FsbGJhY2tOYW1lOiAnb3ZlcnJpZGVTZWFyY2hCYXJQYXJhbXMnfSlcclxuICBAQ29udGVudENoaWxkcmVuKFNlYXJjaEJhckNvbXBvbmVudCkgc2VhcmNoQmFyQ29tcG9uZW50OiBTZWFyY2hCYXJDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lubmVySHRtbCcsIHsgc3RhdGljOiB0cnVlIH0pIGlubmVySHRtbDogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSByb290SXRlbXM6IFRyZWVJdGVtQ29tcG9uZW50W10gPSBbXTtcclxuICBwcml2YXRlIF9pdGVtTGlzdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX2FsbEl0ZW1MaXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBfaXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIF9pdGVtTGlzdFF1aXRGb2N1c1N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zKHRoaXMuX2l0ZW1MaXN0Q2hlY2tlZFN1YnNjcmlwdGlvbnMpO1xyXG4gICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RRdWl0Rm9jdXNTdWJzY3JpcHRpb25zKTtcclxuICAgIHRoaXMuX2l0ZW1MaXN0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fYWxsSXRlbUxpc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyZUFsbEl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEV2ZW50b3NcclxuICAgKi9cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0dWFsaXphIGVsIHZhbG9yIGRlbCBjb21wb25lbnRlIGFsIGNoZWNrcXVlYXJzZSB1biDDrXRlbVxyXG4gICAqIEBwYXJhbSBvcmlnaW5JdGVtIMOtdGVtIG1vZGlmaWNhZG9cclxuICAgKi9cclxuICB1cGRhdGVWYWx1ZUZyb21JdGVtcyhvcmlnaW5JdGVtPzogVHJlZUl0ZW1Db21wb25lbnQpOiB2b2lkIHtcclxuXHJcbiAgICAvLyBTaSBlcyByYWRpbywgc2UgZGVzYWN0aXZhbiBlbCByZXN0byBkZSBpdGVtcyBjdWFuZG8gc2UgYWN0aXZhIG90cm8gaXRlbVxyXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gJ2NoZWNrYm94Jykge1xyXG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0QWxsSXRlbXNJbk9yZGVyKCk7XHJcbiAgICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0gIT09IG9yaWdpbkl0ZW0gJiYgaXRlbS5jaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnNldENoZWNrZWQoZmFsc2UsIHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmRlY291cGxlQ2hpbGRGcm9tUGFyZW50KSB7XHJcbiAgICAgIHRoaXMucm9vdEl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNldENoZWNrZWRBdXRvbWF0aWNhbGx5RGVwZW5kaW5nT25DaGlsZHJlbigpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaSBlcyBjaGVja2JveCBzZSBtb2RpZmljYSBlbCB2YWxvciB5IHNlIGVtaXRlXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnY2hlY2tib3gnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBbXTtcclxuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xyXG4gICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmNoZWNrZWQpIHtcclxuICAgICAgICAgIHRoaXMudmFsdWUucHVzaChpdGVtLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VzdGlvbmEgY3VhbmRvIGVsIGZvY28gYWJhbmRvbmEgdW4gw610ZW0gZGVzZGUgdW4gZXZlbnRvIGRlIHRlY2xhZG8gY29udHJvbGFkb1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgaGFuZGxlSXRlbVF1aXRGb2N1cyhvcHRpb25zOiBRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnMpOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMubmV4dEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xyXG4gICAgICBjb25zdCBmb2N1c2FibGVJdGVtcyA9IGl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmlzSGlkZGVuKCkgJiYgIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbS5hbGxQYXJlbnRzRXhwYW5kZWQpO1xyXG4gICAgICBzd2l0Y2ggKG9wdGlvbnMubmV4dEVsZW1lbnQpIHtcclxuICAgICAgICBjYXNlIFwiZmlyc3RcIjpcclxuICAgICAgICAgIGZvY3VzYWJsZUl0ZW1zWzBdLmZvY3VzKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibGFzdFwiOlxyXG4gICAgICAgICAgZm9jdXNhYmxlSXRlbXNbZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJwYXJlbnRcIjpcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdWJMZXZlbCA9IG9wdGlvbnMuY3VycmVudEl0ZW0uc3ViTGV2ZWw7XHJcbiAgICAgICAgICBpZiAoY3VycmVudFN1YkxldmVsID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXRlbUluZGV4ID0gZm9jdXNhYmxlSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gb3B0aW9ucy5jdXJyZW50SXRlbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGZvY3VzYWJsZUl0ZW1zLnNsaWNlKDAsIGN1cnJlbnRJdGVtSW5kZXgpLnJldmVyc2UoKS5maW5kKGl0ZW0gPT4gaXRlbS5zdWJMZXZlbCA8IGN1cnJlbnRTdWJMZXZlbCk7XHJcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgICAgICBwYXJlbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImZpcnN0Q2hpbGRcIjpcclxuICAgICAgICBjYXNlIFwibmV4dFwiOlxyXG4gICAgICAgICAgaWYgKG9wdGlvbnMuY3VycmVudEl0ZW0pIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJdGVtSW5kZXggPSBmb2N1c2FibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBvcHRpb25zLmN1cnJlbnRJdGVtKTtcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRJdGVtSW5kZXggPCBmb2N1c2FibGVJdGVtcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgZm9jdXNhYmxlSXRlbXNbY3VycmVudEl0ZW1JbmRleCArIDFdLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJwcmV2aW91c1wiOlxyXG4gICAgICAgICAgaWYgKG9wdGlvbnMuY3VycmVudEl0ZW0pIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IGZvY3VzYWJsZUl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IG9wdGlvbnMuY3VycmVudEl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudEl0ZW1JbmRleCA+IDApIHtcclxuICAgICAgICAgICAgICBmb2N1c2FibGVJdGVtc1tjdXJyZW50SXRlbUluZGV4IC0gMV0uZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlYWxpemEgbGEgYsO6c3F1ZWRhIGludGVybmEgZGUgbG9zIGl0ZW1zIGVuIGVsIGNvbXBvbmVudGVcclxuICAgKiBAcGFyYW0gdmFsdWUgdGV4dG8gZGUgYsO6c3F1ZWRhXHJcbiAgICovXHJcbiAgb25TZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVEZWZhdWx0U2VhcmNoKSB7XHJcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hNYXRjaFZhbHVlcyA9IHRoaXMuYWxsSXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5tYXRjaGVzVGV4dCh2YWx1ZSkpLm1hcChpdGVtID0+IGl0ZW0udmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXNDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaE1hdGNoVmFsdWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogRXZlbnRvcyBhbCBjYW1iaWFyIHByb3BpZWRhZGVzXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYSBsb3MgaXRlbXMgZGVsIMOhcmJvbFxyXG4gICAqL1xyXG4gIGNvbmZpZ3VyZUFsbEl0ZW1zKCk6IHZvaWQge1xyXG5cclxuICAgIGlmICghdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMpIHtcclxuICAgICAgdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMgPSB0cnVlO1xyXG5cclxuICAgICAgLy8gTG8gcmVhbGl6YW1vcyBkZXNkZSB1biBzZXRUaW1lb3V0IHBhcmEgcXVlIHRvZG9zIGxvcyBpbnB1dHMsIHZhbHVlcyB5IGRlbcOhcyB2aXZhbiBlbiBwYXogeSBhcm1vbsOtYVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5hbGxJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9ucyk7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9ucyh0aGlzLl9pdGVtTGlzdFF1aXRGb2N1c1N1YnNjcmlwdGlvbnMpO1xyXG4gICAgICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtLnBhcmVudE5hbWUgPSB0aGlzLm5hbWU7XHJcbiAgICAgICAgICAgIGl0ZW0udHlwZSA9IHRoaXMudHlwZTtcclxuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWREZXNjcmliZWRCeSA9IHRoaXMuZ2V0RGVzY3JpYmVkQnlGb3JJdGVtcygpO1xyXG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZEV4cGFuZGVkRmlyc3RMZXZlbCA9IHRoaXMuZXhwYW5kZWRGaXJzdExldmVsO1xyXG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZERlY291cGxlQ2hpbGRGcm9tUGFyZW50ID0gdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudDtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgaXRlbS5zZXRDaGVja2VkKCEhdGhpcy52YWx1ZS5maW5kKHYgPT4gdiA9PT0gaXRlbS52YWx1ZSksIHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGl0ZW0uZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgY2hlY2tlZFN1YnNjcmlwdGlvbiA9IGl0ZW0uY2hlY2tlZENoYW5nZUZvclRyZWUuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVmFsdWVGcm9tSXRlbXMoaXRlbSkpO1xyXG4gICAgICAgICAgICB0aGlzLl9pdGVtTGlzdENoZWNrZWRTdWJzY3JpcHRpb25zLnB1c2goY2hlY2tlZFN1YnNjcmlwdGlvbik7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBxdWl0Rm9jdXNTdWJzY3JpcHRpb24gPSBpdGVtLnF1aXRGb2N1cy5zdWJzY3JpYmUob3B0aW9ucyA9PiB0aGlzLmhhbmRsZUl0ZW1RdWl0Rm9jdXMob3B0aW9ucykpO1xyXG4gICAgICAgICAgICB0aGlzLl9pdGVtTGlzdFF1aXRGb2N1c1N1YnNjcmlwdGlvbnMucHVzaChxdWl0Rm9jdXNTdWJzY3JpcHRpb24pO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5zZXRFcnJvckluSXRlbXModGhpcy5oYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5idWlsZFRyZWUoKTtcclxuICAgICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlRnJvbUl0ZW1zKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hbGxJdGVtcyAmJiAhdGhpcy5fYWxsSXRlbUxpc3RTdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgIHRoaXMuX2FsbEl0ZW1MaXN0U3Vic2NyaXB0aW9uID0gdGhpcy5hbGxJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbmZpZ3VyZUFsbEl0ZW1zKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb2RpZmljYSBsb3MgaXRlbXMgdmlzaWJsZXMgc2Vnw7puIGVsIGZpbHRybyBkZSBiw7pzcXVlZGFcclxuICAgKi9cclxuICBvblNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsSXRlbXMpIHtcclxuICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGl0ZW0uaW5oZXJpdGVkTWF0Y2hlc1NlYXJjaCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgIT09IG51bGwgJiYgdGhpcy5zZWFyY2hNYXRjaFZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMuZmluZEluZGV4KHZhbHVlID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlKSA8IDApIHtcclxuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWRNYXRjaGVzU2VhcmNoID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBHZXR0ZXJzIGFuZCBzZXR0ZXJzXHJcbiAgICovXHJcblxyXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLm5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXREZXNjcmliZWRCeSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGRlc2NyaWJlZEJ5ID0gJyc7XHJcbiAgICBpZiAodGhpcy5kZXNjcmliZWRCeSkge1xyXG4gICAgICBkZXNjcmliZWRCeSA9IHRoaXMuZGVzY3JpYmVkQnk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaGFzSGludENvbXBvbmVudCgpICYmIHRoaXMuaGludENvbXBvbmVudC5pZCkge1xyXG4gICAgICBkZXNjcmliZWRCeSA9IGRlc2NyaWJlZEJ5ICsgJyAnICsgdGhpcy5oaW50Q29tcG9uZW50LmlkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpICYmIHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50LmlkKSB7XHJcbiAgICAgIGRlc2NyaWJlZEJ5ID0gZGVzY3JpYmVkQnkgKyAnICcgKyB0aGlzLmVycm9yTWVzc2FnZUNvbXBvbmVudC5pZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVzY3JpYmVkQnk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXZ1ZWx2ZSBlbCB2YWxvciBkZSBkZXNjcmliZWRCeSBxdWUgc2UgdHJhbnNtaXRpcsOhIGEgbG9zIGl0ZW1zXHJcbiAgICovXHJcbiAgZ2V0RGVzY3JpYmVkQnlGb3JJdGVtcygpOiBzdHJpbmcge1xyXG4gICAgbGV0IGRlc2NyaWJlZEJ5O1xyXG4gICAgaWYgKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSkge1xyXG4gICAgICBkZXNjcmliZWRCeSA9IHRoaXMuZmllbGRzZXRDb21wb25lbnQuZGVzY3JpYmVkQnk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZXNjcmliZWRCeSA9IHRoaXMuZ2V0RGVzY3JpYmVkQnkoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVzY3JpYmVkQnk7XHJcbiAgfVxyXG5cclxuICBoYXNGaWVsZHNldENvbXBvbmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuZmllbGRzZXRDb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdmVycmlkZXMgc3VwZXIuZ2V0SGludElkKCk7XHJcbiAgICovXHJcbiAgZ2V0SGludElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggKyAnLWhpbnQnIDogdGhpcy5oaW50Q29tcG9uZW50Py5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE92ZXJyaWRlcyBzdXBlci5nZXRIaW50SWQoKTtcclxuICAgKi9cclxuICBnZXRFcnJvcklkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggKyAnLWVycm9yJyA6IHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50Py5pZDtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogRnVuY2lvbmVzIHBhcmEgcmVlbXBsYXphciBlbCBjb250ZW5pZG8gZGVsIGZpZWxkc2V0LCBsYWJlbCwgaGludCBvIGVycm9ybWVzc2FnZVxyXG4gICAqL1xyXG5cclxuICBvdmVycmlkZUZpZWxkc2V0UGFyYW1zKGZpZWxkc2V0OiBGaWVsZHNldENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgZmllbGRzZXQuY2FsbGVyID0gdGhpcy5pbm5lckh0bWw7XHJcbiAgICBmaWVsZHNldC5lcnJvcklkID0gdGhpcy5nZXRFcnJvcklkKCk7XHJcbiAgICBmaWVsZHNldC5kZXNjcmliZWRCeSA9IHRoaXMuZ2V0RGVzY3JpYmVkQnkoKTtcclxuICAgIGZpZWxkc2V0LmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlU2VhcmNoQmFyUGFyYW1zKHNlYXJjaGJhcjogU2VhcmNoQmFyQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBkZWZhdWx0T25DaGFuZ2UgPSBzZWFyY2hiYXIub25DaGFuZ2U7XHJcbiAgICBjb25zdCBuZXdPbkNoYW5nZSA9IHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5vblNlYXJjaCh2YWx1ZSk7XHJcbiAgICAgIGRlZmF1bHRPbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBzZWFyY2hiYXIucmVnaXN0ZXJPbkNoYW5nZShuZXdPbkNoYW5nZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZSBsbGFtYSBkZXNkZSBGb3JtRmllbGRcclxuICAgKi9cclxuICBvdmVycmlkZUhpbnRQYXJhbXMoaGludCk6IHZvaWQge1xyXG4gICAgaGludC5pZCA9IHRoaXMuZ2V0SGludElkKCk7XHJcbiAgICBoaW50LmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIGxsYW1hIGRlc2RlIEZvcm1GaWVsZFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlRXJyb3JNZXNzYWdlUGFyYW1zKGVycm9yTWVzc2FnZSk6IHZvaWQge1xyXG4gICAgZXJyb3JNZXNzYWdlLmlkID0gdGhpcy5nZXRFcnJvcklkKCk7XHJcbiAgICB0aGlzLnNldEVycm9ySW5JdGVtcyh0aGlzLmhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpKTtcclxuICAgIGVycm9yTWVzc2FnZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZSBsbGFtYSBkZXNkZSBGb3JtRmllbGRcclxuICAgKi9cclxuICBvbkRlbGV0ZUVycm9yTWVzc2FnZShlcnJvck1lc3NhZ2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0RXJyb3JJbkl0ZW1zKHRoaXMuaGFzRXJyb3JNZXNzYWdlQ29tcG9uZW50KCkpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBNw6l0b2RvcyBwcml2YWRvc1xyXG4gICAqL1xyXG5cclxuICAvKipcclxuICAgKiBDb25maWd1cmEgbGEgZXN0cnVjdHVyYSBkZWwgw6FyYm9sXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkVHJlZSgpOiB2b2lkIHtcclxuXHJcbiAgICAvLyBTZSBjcmVhIHVuIG1hcGEgcGFyYSB0ZW5lciBhY2Nlc2libGVzIGxvcyBpdGVtcyBwb3Iga2V5IHkgc2UgYm9ycmFuIGxvcyBsaXN0YWRvcyBleGlzdGVudGVzXHJcbiAgICBjb25zdCBpdGVtTWFwID0ge31cclxuICAgIHRoaXMucm9vdEl0ZW1zID0gW107XHJcbiAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGtleSA9IGl0ZW0uZ2V0S2V5KCk7XHJcbiAgICAgIGl0ZW1NYXBba2V5XSA9IGl0ZW07XHJcbiAgICAgIGlmIChpdGVtLnN1Yikge1xyXG4gICAgICAgIGl0ZW0uc3ViLml0ZW1MaXN0ID0gW107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFNlIGHDsWFkZW4gbG9zIGl0ZW1zIGEgbG9zIGxpc3RhZG9zIGNvcnJlc3BvbmRpZW50ZXNcclxuICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50S2V5ID0gaXRlbS5nZXRQYXJlbnRLZXkoKTtcclxuICAgICAgaWYgKHBhcmVudEtleSA9PT0gJ3Jvb3QnKSB7XHJcbiAgICAgICAgdGhpcy5yb290SXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJlbnRLZXkpIHtcclxuICAgICAgICBjb25zdCBzdWIgPSBpdGVtTWFwW3BhcmVudEtleV0uc3ViO1xyXG4gICAgICAgIGlmIChzdWIpIHtcclxuICAgICAgICAgIHN1Yi5pdGVtTGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU2UgY29uZmlndXJhbiBsb3MgaXRlbXMgZGVzZGUgcm9vdFxyXG4gICAgbGV0IG9yZGVyID0gMDtcclxuICAgIHRoaXMucm9vdEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGl0ZW0uc2V0U3ViTGV2ZWwoMCk7XHJcbiAgICAgIGl0ZW0uc2V0RGVmYXVsdElkKGAke3RoaXMuaWRQcmVmaXh9LSR7aW5kZXh9YCk7XHJcbiAgICAgIGl0ZW0ucmVmcmVzaEFsbFBhcmVudHNFeHBhbmRlZFJlY3Vyc2l2ZSh0cnVlKTtcclxuICAgICAgaXRlbS5zZXRDaGVja2VkQXV0b21hdGljYWxseURlcGVuZGluZ09uQ2hpbGRyZW4oKTtcclxuICAgICAgb3JkZXIgPSBpdGVtLnNldE9yZGVyUmVjdXJzaXZlbHkob3JkZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaSB0aWVuZSB1biBtZW5zYWplIGRlIGVycm9yLCBzZSBpbmRpY2EgYSBsb3MgaXRlbXNcclxuICAgKiBAcGFyYW0gaGFzRXJyb3JcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0RXJyb3JJbkl0ZW1zKGhhc0Vycm9yOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbGxJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgaXRlbS5pbmhlcml0ZWRIYXNFcnJvciA9IGhhc0Vycm9yO1xyXG4gICAgICAgIGl0ZW0uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbXBpYSB1biBsaXN0YWRvIGRlIHN1YnNjcmlwY2lvbmVzXHJcbiAgICogQHBhcmFtIHN1YnNjcmlwdGlvbkxpc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJTdWJzY3JpcHRpb25zKHN1YnNjcmlwdGlvbkxpc3Q6IFN1YnNjcmlwdGlvbltdKTogdm9pZCB7XHJcbiAgICBpZiAoc3Vic2NyaXB0aW9uTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgIHN1YnNjcmlwdGlvbkxpc3Quc3BsaWNlKDAsIHN1YnNjcmlwdGlvbkxpc3QubGVuZ3RoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV2dWVsdmUgbG9zIGl0ZW1zIGRlbCDDoXJib2wgb3JkZW5hZG9zXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldEFsbEl0ZW1zSW5PcmRlcigpOiBUcmVlSXRlbUNvbXBvbmVudFtdIHtcclxuICAgIGxldCBsaXN0ID0gW107XHJcbiAgICBpZiAodGhpcy5hbGxJdGVtcykge1xyXG4gICAgICBsaXN0ID0gdGhpcy5hbGxJdGVtcy50b0FycmF5KCkuc29ydCgoYSwgYikgPT4gYS5vcmRlckluVHJlZSA+IGIub3JkZXJJblRyZWUgPyAxIDogLTEpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGlzdFxyXG4gIH1cclxufVxyXG4iXX0=
|
|
408
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvdHJlZS90cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUFFLFlBQVksRUFDN0IsVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBQ3NCLFNBQVMsRUFDdEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFhdEUsTUFBTSxPQUFPLGFBQWMsU0FBUSxrQkFBeUI7SUFvQzFELFlBQW9CLGNBQWlDO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBM0I1Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUk1Qiw0QkFBdUIsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQWFqRixjQUFTLEdBQXdCLEVBQUUsQ0FBQztRQUdwQyxrQ0FBNkIsR0FBbUIsRUFBRSxDQUFD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QUFXLEVBQUUsSUFBSSxFQUFFO2dDQUd4RCxlQUFlLFNBQUMsaUJBQWlCO2lDQUdqQyxlQUFlLFNBQUMsa0JBQWtCO3dCQUVsQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7QUFaL0I7SUFEUixpQkFBaUIsQ0FBQywyQkFBMkIsQ0FBQzt3REFDVjtBQUlzQjtJQUQxRCxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQzsrQ0FDMkQ7QUFHOUQ7SUFEbkMsZ0JBQWdCLENBQUMsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBQyxDQUFDO3dEQUNRO0FBR3BDO0lBRHBDLGdCQUFnQixDQUFDLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUMsQ0FBQzt5REFDVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtUcmVlSXRlbUNvbXBvbmVudH0gZnJvbSBcIi4vdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEZXN5T25JbnB1dENoYW5nZX0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktb24taW5wdXQtY2hhbmdlLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtGb3JtRmllbGRDb21wb25lbnR9IGZyb20gXCIuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0ZpZWxkc2V0Q29tcG9uZW50fSBmcm9tIFwiLi4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UXVpdFRyZWVJdGVtRm9jdXNPcHRpb25zfSBmcm9tIFwiLi9pbnRlcmZhY2VzL3F1aXQtdHJlZS1pdGVtLWZvY3VzLW9wdGlvbnNcIjtcclxuaW1wb3J0IHtTZWFyY2hCYXJDb21wb25lbnR9IGZyb20gXCIuLi9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktdHJlZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJlZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBleHRlbmRzIEZvcm1GaWVsZENvbXBvbmVudDxhbnlbXT4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cENsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZTogJ3JhZGlvJ3wnY2hlY2tib3gnfG51bGx8dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRlc2NyaWJlZEJ5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGV4cGFuZGVkRmlyc3RMZXZlbCA9IHRydWU7XHJcbiAgQElucHV0KCkgZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZURlZmF1bHRTZWFyY2ggPSBmYWxzZTtcclxuXHJcbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvblNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlJylcclxuICBASW5wdXQoKSBzZWFyY2hNYXRjaFZhbHVlczogc3RyaW5nW107XHJcbiAgQE91dHB1dCgpIHNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuXHJcbiAgQERlc3lPbklucHV0Q2hhbmdlKCdjb25maWd1cmVBbGxJdGVtcycpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihUcmVlSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBhbGxJdGVtczogUXVlcnlMaXN0PFRyZWVJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlRmllbGRzZXRQYXJhbXMnfSlcclxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKHsgb25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZVNlYXJjaEJhclBhcmFtcyd9KVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oU2VhcmNoQmFyQ29tcG9uZW50KSBzZWFyY2hCYXJDb21wb25lbnQ6IFNlYXJjaEJhckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5uZXJIdG1sJywgeyBzdGF0aWM6IHRydWUgfSkgaW5uZXJIdG1sOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIHJvb3RJdGVtczogVHJlZUl0ZW1Db21wb25lbnRbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2l0ZW1MaXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBfYWxsSXRlbUxpc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIF9pdGVtTGlzdENoZWNrZWRTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2l0ZW1MaXN0UXVpdEZvY3VzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIF9hbHJlYWR5Q29uZmlndXJpbmdJdGVtcyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9ucyk7XHJcbiAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9ucyh0aGlzLl9pdGVtTGlzdFF1aXRGb2N1c1N1YnNjcmlwdGlvbnMpO1xyXG4gICAgdGhpcy5faXRlbUxpc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9hbGxJdGVtTGlzdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlndXJlQWxsSXRlbXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHZhbG9yIHBhcmEgYWN0dWFsaXphciBsb3MgaXRlbXNcclxuICAgKiBAT3ZlcnJpZGVcclxuICAgKi9cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuY29uZmlndXJlQWxsSXRlbXModHJ1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBFdmVudG9zXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdHVhbGl6YSBlbCB2YWxvciBkZWwgY29tcG9uZW50ZSBhbCBjaGVja3F1ZWFyc2UgdW4gw610ZW1cclxuICAgKiBAcGFyYW0gb3JpZ2luSXRlbSDDrXRlbSBtb2RpZmljYWRvXHJcbiAgICovXHJcbiAgdXBkYXRlVmFsdWVGcm9tSXRlbXMob3JpZ2luSXRlbT86IFRyZWVJdGVtQ29tcG9uZW50KTogdm9pZCB7XHJcblxyXG4gICAgLy8gU2kgZXMgcmFkaW8sIHNlIGRlc2FjdGl2YW4gZWwgcmVzdG8gZGUgaXRlbXMgY3VhbmRvIHNlIGFjdGl2YSBvdHJvIGl0ZW1cclxuICAgIGlmICh0aGlzLnR5cGUgIT09ICdjaGVja2JveCcpIHtcclxuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xyXG4gICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtICE9PSBvcmlnaW5JdGVtICYmIGl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgICAgaXRlbS5zZXRDaGVja2VkKGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudCkge1xyXG4gICAgICB0aGlzLnJvb3RJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZXRDaGVja2VkQXV0b21hdGljYWxseURlcGVuZGluZ09uQ2hpbGRyZW4oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IFtdO1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xyXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgIHRoaXMudmFsdWUucHVzaChpdGVtLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VzdGlvbmEgY3VhbmRvIGVsIGZvY28gYWJhbmRvbmEgdW4gw610ZW0gZGVzZGUgdW4gZXZlbnRvIGRlIHRlY2xhZG8gY29udHJvbGFkb1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgaGFuZGxlSXRlbVF1aXRGb2N1cyhvcHRpb25zOiBRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnMpOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMubmV4dEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xyXG4gICAgICBjb25zdCBmb2N1c2FibGVJdGVtcyA9IGl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmlzSGlkZGVuKCkgJiYgIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbS5hbGxQYXJlbnRzRXhwYW5kZWQpO1xyXG4gICAgICBzd2l0Y2ggKG9wdGlvbnMubmV4dEVsZW1lbnQpIHtcclxuICAgICAgICBjYXNlIFwiZmlyc3RcIjpcclxuICAgICAgICAgIGZvY3VzYWJsZUl0ZW1zWzBdLmZvY3VzKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibGFzdFwiOlxyXG4gICAgICAgICAgZm9jdXNhYmxlSXRlbXNbZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJwYXJlbnRcIjpcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdWJMZXZlbCA9IG9wdGlvbnMuY3VycmVudEl0ZW0uc3ViTGV2ZWw7XHJcbiAgICAgICAgICBpZiAoY3VycmVudFN1YkxldmVsID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXRlbUluZGV4ID0gZm9jdXNhYmxlSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gb3B0aW9ucy5jdXJyZW50SXRlbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGZvY3VzYWJsZUl0ZW1zLnNsaWNlKDAsIGN1cnJlbnRJdGVtSW5kZXgpLnJldmVyc2UoKS5maW5kKGl0ZW0gPT4gaXRlbS5zdWJMZXZlbCA8IGN1cnJlbnRTdWJMZXZlbCk7XHJcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgICAgICBwYXJlbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImZpcnN0Q2hpbGRcIjpcclxuICAgICAgICBjYXNlIFwibmV4dFwiOlxyXG4gICAgICAgICAgaWYgKG9wdGlvbnMuY3VycmVudEl0ZW0pIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJdGVtSW5kZXggPSBmb2N1c2FibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBvcHRpb25zLmN1cnJlbnRJdGVtKTtcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRJdGVtSW5kZXggPCBmb2N1c2FibGVJdGVtcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgZm9jdXNhYmxlSXRlbXNbY3VycmVudEl0ZW1JbmRleCArIDFdLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJwcmV2aW91c1wiOlxyXG4gICAgICAgICAgaWYgKG9wdGlvbnMuY3VycmVudEl0ZW0pIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IGZvY3VzYWJsZUl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IG9wdGlvbnMuY3VycmVudEl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudEl0ZW1JbmRleCA+IDApIHtcclxuICAgICAgICAgICAgICBmb2N1c2FibGVJdGVtc1tjdXJyZW50SXRlbUluZGV4IC0gMV0uZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlYWxpemEgbGEgYsO6c3F1ZWRhIGludGVybmEgZGUgbG9zIGl0ZW1zIGVuIGVsIGNvbXBvbmVudGVcclxuICAgKiBAcGFyYW0gdmFsdWUgdGV4dG8gZGUgYsO6c3F1ZWRhXHJcbiAgICovXHJcbiAgb25TZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVEZWZhdWx0U2VhcmNoKSB7XHJcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hNYXRjaFZhbHVlcyA9IHRoaXMuYWxsSXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5tYXRjaGVzVGV4dCh2YWx1ZSkpLm1hcChpdGVtID0+IGl0ZW0udmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXNDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaE1hdGNoVmFsdWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogRXZlbnRvcyBhbCBjYW1iaWFyIHByb3BpZWRhZGVzXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYSBsb3MgaXRlbXMgZGVsIMOhcmJvbFxyXG4gICAqL1xyXG4gIGNvbmZpZ3VyZUFsbEl0ZW1zKGlzVmFsdWVDaGFuZ2UgPSBmYWxzZSk6IHZvaWQge1xyXG5cclxuICAgIGlmICghdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMpIHtcclxuICAgICAgdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMgPSB0cnVlO1xyXG5cclxuICAgICAgLy8gTG8gcmVhbGl6YW1vcyBkZXNkZSB1biBzZXRUaW1lb3V0IHBhcmEgcXVlIHRvZG9zIGxvcyBpbnB1dHMsIHZhbHVlcyB5IGRlbcOhcyB2aXZhbiBlbiBwYXogeSBhcm1vbsOtYVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5hbGxJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9ucyk7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9ucyh0aGlzLl9pdGVtTGlzdFF1aXRGb2N1c1N1YnNjcmlwdGlvbnMpO1xyXG4gICAgICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtLnBhcmVudE5hbWUgPSB0aGlzLm5hbWU7XHJcbiAgICAgICAgICAgIGl0ZW0udHlwZSA9IHRoaXMudHlwZTtcclxuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWREZXNjcmliZWRCeSA9IHRoaXMuZ2V0RGVzY3JpYmVkQnlGb3JJdGVtcygpO1xyXG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZEV4cGFuZGVkRmlyc3RMZXZlbCA9IHRoaXMuZXhwYW5kZWRGaXJzdExldmVsO1xyXG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZERlY291cGxlQ2hpbGRGcm9tUGFyZW50ID0gdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudDtcclxuICAgICAgICAgICAgaWYgKCh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkgfHwgaXNWYWx1ZUNoYW5nZSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlTGlzdCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XHJcbiAgICAgICAgICAgICAgaXRlbS5zZXRDaGVja2VkKCEhdmFsdWVMaXN0LmZpbmQodiA9PiB2ID09PSBpdGVtLnZhbHVlKSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaXRlbS5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjaGVja2VkU3Vic2NyaXB0aW9uID0gaXRlbS5jaGVja2VkQ2hhbmdlRm9yVHJlZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVWYWx1ZUZyb21JdGVtcyhpdGVtKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1MaXN0Q2hlY2tlZFN1YnNjcmlwdGlvbnMucHVzaChjaGVja2VkU3Vic2NyaXB0aW9uKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHF1aXRGb2N1c1N1YnNjcmlwdGlvbiA9IGl0ZW0ucXVpdEZvY3VzLnN1YnNjcmliZShvcHRpb25zID0+IHRoaXMuaGFuZGxlSXRlbVF1aXRGb2N1cyhvcHRpb25zKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1MaXN0UXVpdEZvY3VzU3Vic2NyaXB0aW9ucy5wdXNoKHF1aXRGb2N1c1N1YnNjcmlwdGlvbik7XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICB0aGlzLnNldEVycm9ySW5JdGVtcyh0aGlzLmhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmJ1aWxkVHJlZSgpO1xyXG4gICAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWVGcm9tSXRlbXMoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2hNYXRjaFZhbHVlcykge1xyXG4gICAgICAgICAgICB0aGlzLm9uU2VhcmNoTWF0Y2hWYWx1ZXNDaGFuZ2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFsbEl0ZW1zICYmICF0aGlzLl9hbGxJdGVtTGlzdFN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5fYWxsSXRlbUxpc3RTdWJzY3JpcHRpb24gPSB0aGlzLmFsbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29uZmlndXJlQWxsSXRlbXMoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLl9hbHJlYWR5Q29uZmlndXJpbmdJdGVtcyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vZGlmaWNhIGxvcyBpdGVtcyB2aXNpYmxlcyBzZWfDum4gZWwgZmlsdHJvIGRlIGLDunNxdWVkYVxyXG4gICAqL1xyXG4gIG9uU2VhcmNoTWF0Y2hWYWx1ZXNDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbGxJdGVtcykge1xyXG4gICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgaXRlbS5pbmhlcml0ZWRNYXRjaGVzU2VhcmNoID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWFyY2hNYXRjaFZhbHVlcyAhPT0gbnVsbCAmJiB0aGlzLnNlYXJjaE1hdGNoVmFsdWVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2hNYXRjaFZhbHVlcy5maW5kSW5kZXgodmFsdWUgPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpIDwgMCkge1xyXG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZE1hdGNoZXNTZWFyY2ggPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEdldHRlcnMgYW5kIHNldHRlcnNcclxuICAgKi9cclxuXHJcbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6IHRoaXMubmFtZTtcclxuICB9XHJcblxyXG4gIGdldERlc2NyaWJlZEJ5KCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZGVzY3JpYmVkQnkgPSAnJztcclxuICAgIGlmICh0aGlzLmRlc2NyaWJlZEJ5KSB7XHJcbiAgICAgIGRlc2NyaWJlZEJ5ID0gdGhpcy5kZXNjcmliZWRCeTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5oYXNIaW50Q29tcG9uZW50KCkgJiYgdGhpcy5oaW50Q29tcG9uZW50LmlkKSB7XHJcbiAgICAgIGRlc2NyaWJlZEJ5ID0gZGVzY3JpYmVkQnkgKyAnICcgKyB0aGlzLmhpbnRDb21wb25lbnQuaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaGFzRXJyb3JNZXNzYWdlQ29tcG9uZW50KCkgJiYgdGhpcy5lcnJvck1lc3NhZ2VDb21wb25lbnQuaWQpIHtcclxuICAgICAgZGVzY3JpYmVkQnkgPSBkZXNjcmliZWRCeSArICcgJyArIHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50LmlkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXNjcmliZWRCeTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldnVlbHZlIGVsIHZhbG9yIGRlIGRlc2NyaWJlZEJ5IHF1ZSBzZSB0cmFuc21pdGlyw6EgYSBsb3MgaXRlbXNcclxuICAgKi9cclxuICBnZXREZXNjcmliZWRCeUZvckl0ZW1zKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZGVzY3JpYmVkQnk7XHJcbiAgICBpZiAodGhpcy5oYXNGaWVsZHNldENvbXBvbmVudCgpKSB7XHJcbiAgICAgIGRlc2NyaWJlZEJ5ID0gdGhpcy5maWVsZHNldENvbXBvbmVudC5kZXNjcmliZWRCeTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRlc2NyaWJlZEJ5ID0gdGhpcy5nZXREZXNjcmliZWRCeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXNjcmliZWRCeTtcclxuICB9XHJcblxyXG4gIGhhc0ZpZWxkc2V0Q29tcG9uZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5maWVsZHNldENvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE92ZXJyaWRlcyBzdXBlci5nZXRIaW50SWQoKTtcclxuICAgKi9cclxuICBnZXRIaW50SWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCArICctaGludCcgOiB0aGlzLmhpbnRDb21wb25lbnQ/LmlkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3ZlcnJpZGVzIHN1cGVyLmdldEhpbnRJZCgpO1xyXG4gICAqL1xyXG4gIGdldEVycm9ySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCArICctZXJyb3InIDogdGhpcy5lcnJvck1lc3NhZ2VDb21wb25lbnQ/LmlkO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWVtcGxhemFyIGVsIGNvbnRlbmlkbyBkZWwgZmllbGRzZXQsIGxhYmVsLCBoaW50IG8gZXJyb3JtZXNzYWdlXHJcbiAgICovXHJcblxyXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBmaWVsZHNldC5jYWxsZXIgPSB0aGlzLmlubmVySHRtbDtcclxuICAgIGZpZWxkc2V0LmVycm9ySWQgPSB0aGlzLmdldEVycm9ySWQoKTtcclxuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gdGhpcy5nZXREZXNjcmliZWRCeSgpO1xyXG4gICAgZmllbGRzZXQuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGVTZWFyY2hCYXJQYXJhbXMoc2VhcmNoYmFyOiBTZWFyY2hCYXJDb21wb25lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlZmF1bHRPbkNoYW5nZSA9IHNlYXJjaGJhci5vbkNoYW5nZTtcclxuICAgIGNvbnN0IG5ld09uQ2hhbmdlID0gdmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLm9uU2VhcmNoKHZhbHVlKTtcclxuICAgICAgZGVmYXVsdE9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHNlYXJjaGJhci5yZWdpc3Rlck9uQ2hhbmdlKG5ld09uQ2hhbmdlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIGxsYW1hIGRlc2RlIEZvcm1GaWVsZFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlSGludFBhcmFtcyhoaW50KTogdm9pZCB7XHJcbiAgICBoaW50LmlkID0gdGhpcy5nZXRIaW50SWQoKTtcclxuICAgIGhpbnQuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2UgbGxhbWEgZGVzZGUgRm9ybUZpZWxkXHJcbiAgICovXHJcbiAgb3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXMoZXJyb3JNZXNzYWdlKTogdm9pZCB7XHJcbiAgICBlcnJvck1lc3NhZ2UuaWQgPSB0aGlzLmdldEVycm9ySWQoKTtcclxuICAgIHRoaXMuc2V0RXJyb3JJbkl0ZW1zKHRoaXMuaGFzRXJyb3JNZXNzYWdlQ29tcG9uZW50KCkpO1xyXG4gICAgZXJyb3JNZXNzYWdlLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIGxsYW1hIGRlc2RlIEZvcm1GaWVsZFxyXG4gICAqL1xyXG4gIG9uRGVsZXRlRXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRFcnJvckluSXRlbXModGhpcy5oYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKSk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIE3DqXRvZG9zIHByaXZhZG9zXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYSBsYSBlc3RydWN0dXJhIGRlbCDDoXJib2xcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYnVpbGRUcmVlKCk6IHZvaWQge1xyXG5cclxuICAgIC8vIFNlIGNyZWEgdW4gbWFwYSBwYXJhIHRlbmVyIGFjY2VzaWJsZXMgbG9zIGl0ZW1zIHBvciBrZXkgeSBzZSBib3JyYW4gbG9zIGxpc3RhZG9zIGV4aXN0ZW50ZXNcclxuICAgIGNvbnN0IGl0ZW1NYXAgPSB7fVxyXG4gICAgdGhpcy5yb290SXRlbXMgPSBbXTtcclxuICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3Qga2V5ID0gaXRlbS5nZXRLZXkoKTtcclxuICAgICAgaXRlbU1hcFtrZXldID0gaXRlbTtcclxuICAgICAgaWYgKGl0ZW0uc3ViKSB7XHJcbiAgICAgICAgaXRlbS5zdWIuaXRlbUxpc3QgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU2UgYcOxYWRlbiBsb3MgaXRlbXMgYSBsb3MgbGlzdGFkb3MgY29ycmVzcG9uZGllbnRlc1xyXG4gICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBwYXJlbnRLZXkgPSBpdGVtLmdldFBhcmVudEtleSgpO1xyXG4gICAgICBpZiAocGFyZW50S2V5ID09PSAncm9vdCcpIHtcclxuICAgICAgICB0aGlzLnJvb3RJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcmVudEtleSkge1xyXG4gICAgICAgIGNvbnN0IHN1YiA9IGl0ZW1NYXBbcGFyZW50S2V5XS5zdWI7XHJcbiAgICAgICAgaWYgKHN1Yikge1xyXG4gICAgICAgICAgc3ViLml0ZW1MaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBTZSBjb25maWd1cmFuIGxvcyBpdGVtcyBkZXNkZSByb290XHJcbiAgICBsZXQgb3JkZXIgPSAwO1xyXG4gICAgdGhpcy5yb290SXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaXRlbS5zZXRTdWJMZXZlbCgwKTtcclxuICAgICAgaXRlbS5zZXREZWZhdWx0SWQoYCR7dGhpcy5pZFByZWZpeH0tJHtpbmRleH1gKTtcclxuICAgICAgaXRlbS5yZWZyZXNoQWxsUGFyZW50c0V4cGFuZGVkUmVjdXJzaXZlKHRydWUpO1xyXG4gICAgICBpZiAoIXRoaXMuZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQpIHtcclxuICAgICAgICBpdGVtLnNldENoZWNrZWRBdXRvbWF0aWNhbGx5RGVwZW5kaW5nT25DaGlsZHJlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIG9yZGVyID0gaXRlbS5zZXRPcmRlclJlY3Vyc2l2ZWx5KG9yZGVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2kgdGllbmUgdW4gbWVuc2FqZSBkZSBlcnJvciwgc2UgaW5kaWNhIGEgbG9zIGl0ZW1zXHJcbiAgICogQHBhcmFtIGhhc0Vycm9yXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNldEVycm9ySW5JdGVtcyhoYXNFcnJvcjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsSXRlbXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGl0ZW0uaW5oZXJpdGVkSGFzRXJyb3IgPSBoYXNFcnJvcjtcclxuICAgICAgICBpdGVtLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaW1waWEgdW4gbGlzdGFkbyBkZSBzdWJzY3JpcGNpb25lc1xyXG4gICAqIEBwYXJhbSBzdWJzY3JpcHRpb25MaXN0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFyU3Vic2NyaXB0aW9ucyhzdWJzY3JpcHRpb25MaXN0OiBTdWJzY3JpcHRpb25bXSk6IHZvaWQge1xyXG4gICAgaWYgKHN1YnNjcmlwdGlvbkxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICBzdWJzY3JpcHRpb25MaXN0LmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICBzdWJzY3JpcHRpb25MaXN0LnNwbGljZSgwLCBzdWJzY3JpcHRpb25MaXN0Lmxlbmd0aClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldnVlbHZlIGxvcyBpdGVtcyBkZWwgw6FyYm9sIG9yZGVuYWRvc1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRBbGxJdGVtc0luT3JkZXIoKTogVHJlZUl0ZW1Db21wb25lbnRbXSB7XHJcbiAgICBsZXQgbGlzdCA9IFtdO1xyXG4gICAgaWYgKHRoaXMuYWxsSXRlbXMpIHtcclxuICAgICAgbGlzdCA9IHRoaXMuYWxsSXRlbXMudG9BcnJheSgpLnNvcnQoKGEsIGIpID0+IGEub3JkZXJJblRyZWUgPiBiLm9yZGVySW5UcmVlID8gMSA6IC0xKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGxpc3RcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -3,7 +3,7 @@ export class ConditionDirective {
|
|
|
3
3
|
constructor(templateRef) {
|
|
4
4
|
this.templateRef = templateRef;
|
|
5
5
|
}
|
|
6
|
-
ngOnChanges(
|
|
6
|
+
ngOnChanges() {
|
|
7
7
|
if (this.item) {
|
|
8
8
|
this.item.conditionalHtml = this.templateRef;
|
|
9
9
|
}
|
|
@@ -14,9 +14,6 @@ export class ConditionDirective {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
else {
|
|
18
|
-
throw Error('item or value + items are required');
|
|
19
|
-
}
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
19
|
ConditionDirective.decorators = [
|
|
@@ -32,4 +29,4 @@ ConditionDirective.propDecorators = {
|
|
|
32
29
|
value: [{ type: Input }],
|
|
33
30
|
items: [{ type: Input }]
|
|
34
31
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvZGlyZWN0aXZlcy9jb25kaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU16RSxNQUFNLE9BQU8sa0JBQWtCO0lBWTdCLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7SUFFcEQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDOUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3pDO2FBQ0Y7U0FDRjtJQUNILENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjthQUM1Qjs7O1lBTHFDLFdBQVc7OzttQkFhOUMsS0FBSztvQkFFTCxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEl0ZW1DaGVja2JveERhdGEsIEl0ZW1SYWRpb1dpdGhUZW1wbGF0ZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Rlc3lDb25kaXRpb25dJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZGl0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZGl0aW9uLCBkaWZlcmVudGVzIGZvcm1hcyBkZSBpbXBsZW1lbnRhciwgZW51bWVyYWRhcyBwb3IgcHJpb3JpZGFkXHJcbiAgICogMSkgaW5jbHVpciBvYmpldG8gSXRlbUNoZWNrYm94RGF0YSBvIEl0ZW1SYWRpb1dpdGhUZW1wbGF0ZURhdGEgKGludGVyZmFjZXMgZXhwdWVzdGEpXHJcbiAgICogMikgaW5jbHVpciB2YWx1ZSB5IGVsIGxpc3RhZG8gZGUgSXRlbUNoZWNrYm94RGF0YVtdIG8gSXRlbVJhZGlvV2l0aFRlbXBsYXRlRGF0YVtdXHJcbiAgICovXHJcbiAgQElucHV0KCkgaXRlbTogSXRlbUNoZWNrYm94RGF0YXxJdGVtUmFkaW9XaXRoVGVtcGxhdGVEYXRhO1xyXG5cclxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBJdGVtQ2hlY2tib3hEYXRhW118SXRlbVJhZGlvV2l0aFRlbXBsYXRlRGF0YVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXRlbSkge1xyXG4gICAgICB0aGlzLml0ZW0uY29uZGl0aW9uYWxIdG1sID0gdGhpcy50ZW1wbGF0ZVJlZjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLml0ZW1zKSB7XHJcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT09IHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgIGl0ZW0uY29uZGl0aW9uYWxIdG1sID0gdGhpcy50ZW1wbGF0ZVJlZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -19,12 +19,6 @@ export class DialogComponent extends AccessibilityComponent {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
ngAfterViewInit() {
|
|
22
|
-
if (!this.id) {
|
|
23
|
-
throw Error('id is required');
|
|
24
|
-
}
|
|
25
|
-
if (!this.caller && !this.callerType) {
|
|
26
|
-
throw Error('caller is required');
|
|
27
|
-
}
|
|
28
22
|
if (this.callerType) {
|
|
29
23
|
const factory = this.factoryResolver.resolveComponentFactory(this.callerType);
|
|
30
24
|
const component = this.container.createComponent(factory);
|
|
@@ -124,4 +118,4 @@ DialogComponent.propDecorators = {
|
|
|
124
118
|
dismissOnBackdrop: [{ type: Input }],
|
|
125
119
|
onKeyUp: [{ type: HostListener, args: ['document:keyup', ['$event'],] }]
|
|
126
120
|
};
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbW9kYWxzL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBR1osS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFHaEIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBQWtDLHdCQUF3QixFQUN2RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLDRCQUE0QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBT3pCLE1BQU0sT0FBTyxlQUFnQixTQUFRLHNCQUFzQjtJQXlCekQsWUFBb0IsS0FBd0IsRUFDeEIsZ0JBQThDLEVBQzlDLGVBQXlDO1FBQzNELEtBQUssRUFBRSxDQUFDO1FBSFUsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFsQm5ELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVdyRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4Qix3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElB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QUFNO2lCQUVOLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLOzJCQUNMLEtBQUs7Z0NBQ0wsS0FBSztzQkEwREwsWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIFR5cGUsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmFibGVGb2N1c1RyYXAsIENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IEZvY3VzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9jdXMtdXRpbHMnO1xyXG5cclxubGV0IG51bURpYWxvZ3NPcGVuZWQgPSAwO1xyXG50eXBlIERpYWxvZ0NyZWF0aW9uQ2FsbGJhY2sgPSAoKGRpYWxvZzogRGlhbG9nQ29tcG9uZW50LCBjYWxsZXI6IENvbXBvbmVudFJlZjxhbnk+KSA9PiB2b2lkKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgRElBTE9HX09QRU5fQ0xBU1MgPSAnaGFzLWRpYWxvZyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEtFWV9DT0RFX0VTQyA9ICdFc2NhcGUnO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICBAVmlld0NoaWxkKCdmb2N1c1RyYXBXcmFwcGVyJykgZm9jdXNUcmFwV3JhcHBlcjogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGlkOiBhbnk7XHJcbiAgQElucHV0KCkgY2FsbGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBmb2N1c09uQ2xvc2U6IHN0cmluZ3xIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKSBkaXNtaXNzT25CYWNrZHJvcDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIGNhbGxlclR5cGU6IFR5cGU8YW55PjtcclxuICBwdWJsaWMgb25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrOiBEaWFsb2dDcmVhdGlvbkNhbGxiYWNrO1xyXG5cclxuICBsYXN0QWN0aXZlU3RhdGUgPSBmYWxzZTtcclxuICBmb2N1c1RyYXA6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcDtcclxuICBjbGlja091dHNpZGVFbmFibGVkID0gZmFsc2U7XHJcbiAgY2hpbGRFbGVtOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIGZvY3VzVHJhcEZhY3Rvcnk6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBmYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9jdXNUcmFwV3JhcHBlcikge1xyXG4gICAgICB0aGlzLmhhbmRsZUFjdGl2ZVN0YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWQpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2lkIGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmNhbGxlciAmJiAhdGhpcy5jYWxsZXJUeXBlKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdjYWxsZXIgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jYWxsZXJUeXBlKSB7XHJcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNhbGxlclR5cGUpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAgIGlmICh0aGlzLm9uQ2FsbGVyQ3JlYXRpb25DYWxsYmFjaykge1xyXG4gICAgICAgIHRoaXMub25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrKHRoaXMsIGNvbXBvbmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5mb2N1c1RyYXBXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4gJiYgdGhpcy5mb2N1c1RyYXBXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuY2hpbGRFbGVtID0gdGhpcy5mb2N1c1RyYXBXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oYW5kbGVBY3RpdmVTdGF0ZSgpO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmhhbmRsZUFjdGl2ZVN0YXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gRGlhbG9nQ29tcG9uZW50LktFWV9DT0RFX0VTQykge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5kaXNtaXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3RpdmVTdGF0ZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb2N1c1RyYXApIHtcclxuICAgICAgdGhpcy5mb2N1c1RyYXAgPSB0aGlzLmZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKHRoaXMuZm9jdXNUcmFwV3JhcHBlci5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hY3RpdmUgIT09IHRoaXMubGFzdEFjdGl2ZVN0YXRlKSB7XHJcbiAgICAgIHRoaXMubGFzdEFjdGl2ZVN0YXRlID0gdGhpcy5hY3RpdmU7XHJcblxyXG4gICAgICAvLyBIYWJpbGl0YXIvZGVzaGFiaWxpdGFyIHNjcm9sbFxyXG4gICAgICBpZiAodGhpcy5hY3RpdmUgJiYgbnVtRGlhbG9nc09wZW5lZCA9PT0gMCkge1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChEaWFsb2dDb21wb25lbnQuRElBTE9HX09QRU5fQ0xBU1MpO1xyXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmFjdGl2ZSAmJiBudW1EaWFsb2dzT3BlbmVkID09PSAxKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKERpYWxvZ0NvbXBvbmVudC5ESUFMT0dfT1BFTl9DTEFTUyk7XHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5hY3RpdmUpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnQoKSk7XHJcbiAgICAgICAgbnVtRGlhbG9nc09wZW5lZCsrO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBmb2N1c0VsZW06IEhUTUxFbGVtZW50O1xyXG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmRlc3Ryb3koKTtcclxuICAgICAgICBpZiAodGhpcy5mb2N1c09uQ2xvc2UpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb2N1c09uQ2xvc2UgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGZvY3VzRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZm9jdXNPbkNsb3NlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvY3VzRWxlbSA9IHRoaXMuZm9jdXNPbkNsb3NlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmb2N1c0VsZW0gPSBGb2N1c1V0aWxzLmdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZm9jdXNFbGVtKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGZvY3VzRWxlbS5mb2N1cygpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbnVtRGlhbG9nc09wZW5lZC0tO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCA9IHRoaXMuYWN0aXZlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc21pc3NPbkJhY2tkcm9wKSB7XHJcbiAgICAgIHRoaXMuZGlzbWlzcygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbW9kYWxzL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBR1osS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFHaEIsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBQWtDLHdCQUF3QixFQUN2RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLDRCQUE0QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBT3pCLE1BQU0sT0FBTyxlQUFnQixTQUFRLHNCQUFzQjtJQXlCekQsWUFBb0IsS0FBd0IsRUFDeEIsZ0JBQThDLEVBQzlDLGVBQXlDO1FBQzNELEtBQUssRUFBRSxDQUFDO1FBSFUsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFsQm5ELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVdyRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4Qix3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxlQUFlO1FBRWIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFELElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0csSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR00sT0FBTztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFJRCxPQUFPLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLGVBQWUsQ0FBQyxZQUFZLEVBQUU7WUFDOUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BGO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBRW5DLGdDQUFnQztZQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksZ0JBQWdCLEtBQUssQ0FBQyxFQUFFO2dCQUN6QyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDaEU7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksZ0JBQWdCLEtBQUssQ0FBQyxFQUFFO2dCQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ2xFLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7WUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksU0FBc0IsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNyQixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUU7d0JBQ3pDLFNBQVMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztxQkFDeEQ7eUJBQU07d0JBQ0wsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7cUJBQy9CO2lCQUNGO3FCQUFNO29CQUNMLFNBQVMsR0FBRyxVQUFVLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztpQkFDbkQ7Z0JBQ0QsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUNyQztnQkFDRCxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3BCO1lBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7O0FBdkhlLGlDQUFpQixHQUFHLFlBQVksQ0FBQztBQUNqQyw0QkFBWSxHQUFHLFFBQVEsQ0FBQzs7WUFQekMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixvdUNBQXNDO2FBQ3ZDOzs7WUFkQyxpQkFBaUI7WUFLYSw0QkFBNEI7WUFIWix3QkFBd0I7Ozt3QkFrQnJFLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUM7K0JBQy9DLFNBQVMsU0FBQyxrQkFBa0I7cUJBRTVCLEtBQUs7MkJBQ0wsTUFBTTtpQkFFTixLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLEtBQUs7c0JBbURMLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBUeXBlLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhYmxlRm9jdXNUcmFwLCBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBGb2N1c1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2ZvY3VzLXV0aWxzJztcclxuXHJcbmxldCBudW1EaWFsb2dzT3BlbmVkID0gMDtcclxudHlwZSBEaWFsb2dDcmVhdGlvbkNhbGxiYWNrID0gKChkaWFsb2c6IERpYWxvZ0NvbXBvbmVudCwgY2FsbGVyOiBDb21wb25lbnRSZWY8YW55PikgPT4gdm9pZCk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IERJQUxPR19PUEVOX0NMQVNTID0gJ2hhcy1kaWFsb2cnO1xyXG4gIHN0YXRpYyByZWFkb25seSBLRVlfQ09ERV9FU0MgPSAnRXNjYXBlJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZm9jdXNUcmFwV3JhcHBlcicpIGZvY3VzVHJhcFdyYXBwZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgYWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBASW5wdXQoKSBpZDogYW55O1xyXG4gIEBJbnB1dCgpIGNhbGxlcjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9jdXNPbkNsb3NlOiBzdHJpbmd8SFRNTEVsZW1lbnQ7XHJcbiAgQElucHV0KCkgZGlzbWlzc09uQmFja2Ryb3A6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBjYWxsZXJUeXBlOiBUeXBlPGFueT47XHJcbiAgcHVibGljIG9uQ2FsbGVyQ3JlYXRpb25DYWxsYmFjazogRGlhbG9nQ3JlYXRpb25DYWxsYmFjaztcclxuXHJcbiAgbGFzdEFjdGl2ZVN0YXRlID0gZmFsc2U7XHJcbiAgZm9jdXNUcmFwOiBDb25maWd1cmFibGVGb2N1c1RyYXA7XHJcbiAgY2xpY2tPdXRzaWRlRW5hYmxlZCA9IGZhbHNlO1xyXG4gIGNoaWxkRWxlbTogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBmb2N1c1RyYXBGYWN0b3J5OiBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvY3VzVHJhcFdyYXBwZXIpIHtcclxuICAgICAgdGhpcy5oYW5kbGVBY3RpdmVTdGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgXHJcbiAgICBpZiAodGhpcy5jYWxsZXJUeXBlKSB7XHJcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNhbGxlclR5cGUpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAgIGlmICh0aGlzLm9uQ2FsbGVyQ3JlYXRpb25DYWxsYmFjaykge1xyXG4gICAgICAgIHRoaXMub25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrKHRoaXMsIGNvbXBvbmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5mb2N1c1RyYXBXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4gJiYgdGhpcy5mb2N1c1RyYXBXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuY2hpbGRFbGVtID0gdGhpcy5mb2N1c1RyYXBXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oYW5kbGVBY3RpdmVTdGF0ZSgpO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmhhbmRsZUFjdGl2ZVN0YXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gRGlhbG9nQ29tcG9uZW50LktFWV9DT0RFX0VTQykge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5kaXNtaXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3RpdmVTdGF0ZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb2N1c1RyYXApIHtcclxuICAgICAgdGhpcy5mb2N1c1RyYXAgPSB0aGlzLmZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKHRoaXMuZm9jdXNUcmFwV3JhcHBlci5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hY3RpdmUgIT09IHRoaXMubGFzdEFjdGl2ZVN0YXRlKSB7XHJcbiAgICAgIHRoaXMubGFzdEFjdGl2ZVN0YXRlID0gdGhpcy5hY3RpdmU7XHJcblxyXG4gICAgICAvLyBIYWJpbGl0YXIvZGVzaGFiaWxpdGFyIHNjcm9sbFxyXG4gICAgICBpZiAodGhpcy5hY3RpdmUgJiYgbnVtRGlhbG9nc09wZW5lZCA9PT0gMCkge1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChEaWFsb2dDb21wb25lbnQuRElBTE9HX09QRU5fQ0xBU1MpO1xyXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmFjdGl2ZSAmJiBudW1EaWFsb2dzT3BlbmVkID09PSAxKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKERpYWxvZ0NvbXBvbmVudC5ESUFMT0dfT1BFTl9DTEFTUyk7XHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5hY3RpdmUpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnQoKSk7XHJcbiAgICAgICAgbnVtRGlhbG9nc09wZW5lZCsrO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBmb2N1c0VsZW06IEhUTUxFbGVtZW50O1xyXG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmRlc3Ryb3koKTtcclxuICAgICAgICBpZiAodGhpcy5mb2N1c09uQ2xvc2UpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb2N1c09uQ2xvc2UgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGZvY3VzRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZm9jdXNPbkNsb3NlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvY3VzRWxlbSA9IHRoaXMuZm9jdXNPbkNsb3NlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmb2N1c0VsZW0gPSBGb2N1c1V0aWxzLmdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZm9jdXNFbGVtKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGZvY3VzRWxlbS5mb2N1cygpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbnVtRGlhbG9nc09wZW5lZC0tO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCA9IHRoaXMuYWN0aXZlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc21pc3NPbkJhY2tkcm9wKSB7XHJcbiAgICAgIHRoaXMuZGlzbWlzcygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -31,14 +31,6 @@ export class ModalComponent extends AccessibilityComponent {
|
|
|
31
31
|
}
|
|
32
32
|
return type;
|
|
33
33
|
}
|
|
34
|
-
ngOnChanges(changes) {
|
|
35
|
-
if (!this.id) {
|
|
36
|
-
throw new Error(`id are required`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
handleRequiredEmpty(element) {
|
|
40
|
-
throw new Error(`${element} is required`);
|
|
41
|
-
}
|
|
42
34
|
checkDescriptionContent(element) {
|
|
43
35
|
const childs = element.nativeElement.childNodes;
|
|
44
36
|
let hasHtml = false;
|
|
@@ -57,9 +49,6 @@ export class ModalComponent extends AccessibilityComponent {
|
|
|
57
49
|
this.descriptionIsEmpty = !hasContent;
|
|
58
50
|
this.descriptionIsHtml = hasHtml;
|
|
59
51
|
this.changeDetectorRef.detectChanges();
|
|
60
|
-
if (!hasContent && !descriptionWasEmpty) {
|
|
61
|
-
this.handleRequiredEmpty('description');
|
|
62
|
-
}
|
|
63
52
|
}
|
|
64
53
|
clickButtonEmit(item, event) {
|
|
65
54
|
this.clickButton.emit(event);
|
|
@@ -103,7 +92,7 @@ export class ModalComponent extends AccessibilityComponent {
|
|
|
103
92
|
ModalComponent.decorators = [
|
|
104
93
|
{ type: Component, args: [{
|
|
105
94
|
selector: 'desy-modal',
|
|
106
|
-
template: "<div [class]=\"[ 'relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.aria-disabled]=\"ariaDisabled\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-current]=\"ariaCurrent\"\r\n [attr.aria-live]=\"ariaLive\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.tabindex]=\"tabindex\">\r\n <div *ngIf=\"iconComponent || icon\" class=\"flex justify-center p-base\"\r\n (desyContentEmpty)=\"handleIconContentEmpty(true)\"\r\n (desyContentNotEmpty)=\"handleIconContentEmpty(false)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\r\n <ng-container *ngIf=\"!hasIconContent\">\r\n <ng-container [ngSwitch]=\"getType()\">\r\n <svg *ngSwitchCase=\"'discard'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M4.375 70a65.625 65.625 0 10131.25 0 65.625 65.625 0 10-131.25 0zM23.596 116.404l92.808-92.808\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'delete'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M100.625 122.5h-61.25a8.75 8.75 0 01-8.75-8.75V35h78.75v78.75a8.75 8.75 0 01-8.75 8.75zM56.875 96.25v-35M83.125 96.25v-35M13.125 35h113.75M83.125 17.5h-26.25a8.75 8.75 0 00-8.75 8.75V35h43.75v-8.75a8.75 8.75 0 00-8.75-8.75z\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'edit'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M73.89 82.46l-21.652 3.098 3.091-21.66 55.685-55.685a13.125 13.125 0 0118.562 18.562z\" stroke-width=\"8.749995\"/><path d=\"M111.545 83.125v43.75a8.75 8.75 0 01-8.75 8.75h-87.5a8.75 8.75 0 01-8.75-8.75v-87.5a8.75 8.75 0 018.75-8.75h43.75\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'changes'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M107.112 40.833a48.125 48.125 0 00-85.237 30.608v13.142M35 104.463a48.125 48.125 0 0083.125-33.022v-8.75\" stroke-width=\"8.749995\"/><path d=\"M4.375 67.066l17.5 17.5 17.5-17.5M135.625 80.19l-17.5-17.5-17.5 17.5\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'publish'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M16.094 91.17a9.707 9.707 0 01-5.145-17.938L118.767 5.833a9.7 9.7 0 0114.676 10.034l-21 111.842a9.707 9.707 0 01-17.301 4.031L64.75 91.17z\" stroke-width=\"8.749995\"/><path d=\"M64.75 91.17H50.167v30.163a9.7 9.7 0 0015.166 8.015l18.539-12.635zM64.744 91.17l64.633-85.11\" stroke-width=\"8.749995\"/></g></svg>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h1 *ngSwitchCase=\"1\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h5>\r\n </ng-container>\r\n\r\n <div *ngIf=\"descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </div>\r\n <p *ngIf=\"!descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </p>\r\n\r\n <div *ngIf=\"contentComponent || caller\" class=\"p-base\">\r\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\r\n </div>\r\n\r\n <div class=\"flex flex-wrap gap-sm w-full\" [ngClass]=\"(itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) && (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\r\n <ng-template #buttons let-items=\"items\">\r\n <ng-container *ngIf=\"items\">\r\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\r\n <desy-button (clickEvent)=\"clickButtonEmit(items[0], $event)\" [classes]=\"items[0].classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\r\n </desy-button>\r\n </div>\r\n\r\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\r\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\r\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li>\r\n <desy-button (clickEvent)=\"clickButtonEmit(item, $event)\" [classes]=\"item.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\r\n </desy-button>\r\n </li> \r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isDismissible\">\r\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\r\n <button (click)=\"closeDialog()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar la ventana emergente\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n"
|
|
95
|
+
template: "<div [class]=\"[ 'relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.aria-disabled]=\"ariaDisabled\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-current]=\"ariaCurrent\"\r\n [attr.aria-live]=\"ariaLive\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.tabindex]=\"tabindex\">\r\n <div *ngIf=\"iconComponent || icon\" class=\"flex justify-center p-base\">\r\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\r\n <ng-container *ngIf=\"!hasIconContent\">\r\n <ng-container [ngSwitch]=\"getType()\">\r\n <svg *ngSwitchCase=\"'discard'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M4.375 70a65.625 65.625 0 10131.25 0 65.625 65.625 0 10-131.25 0zM23.596 116.404l92.808-92.808\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'delete'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M100.625 122.5h-61.25a8.75 8.75 0 01-8.75-8.75V35h78.75v78.75a8.75 8.75 0 01-8.75 8.75zM56.875 96.25v-35M83.125 96.25v-35M13.125 35h113.75M83.125 17.5h-26.25a8.75 8.75 0 00-8.75 8.75V35h43.75v-8.75a8.75 8.75 0 00-8.75-8.75z\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'edit'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M73.89 82.46l-21.652 3.098 3.091-21.66 55.685-55.685a13.125 13.125 0 0118.562 18.562z\" stroke-width=\"8.749995\"/><path d=\"M111.545 83.125v43.75a8.75 8.75 0 01-8.75 8.75h-87.5a8.75 8.75 0 01-8.75-8.75v-87.5a8.75 8.75 0 018.75-8.75h43.75\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'changes'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M107.112 40.833a48.125 48.125 0 00-85.237 30.608v13.142M35 104.463a48.125 48.125 0 0083.125-33.022v-8.75\" stroke-width=\"8.749995\"/><path d=\"M4.375 67.066l17.5 17.5 17.5-17.5M135.625 80.19l-17.5-17.5-17.5 17.5\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'publish'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M16.094 91.17a9.707 9.707 0 01-5.145-17.938L118.767 5.833a9.7 9.7 0 0114.676 10.034l-21 111.842a9.707 9.707 0 01-17.301 4.031L64.75 91.17z\" stroke-width=\"8.749995\"/><path d=\"M64.75 91.17H50.167v30.163a9.7 9.7 0 0015.166 8.015l18.539-12.635zM64.744 91.17l64.633-85.11\" stroke-width=\"8.749995\"/></g></svg>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h1 *ngSwitchCase=\"1\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h5>\r\n </ng-container>\r\n\r\n <div *ngIf=\"descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </div>\r\n <p *ngIf=\"!descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </p>\r\n\r\n <div *ngIf=\"contentComponent || caller\" class=\"p-base\">\r\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\r\n </div>\r\n\r\n <div class=\"flex flex-wrap gap-sm w-full\" [ngClass]=\"(itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) && (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\r\n <ng-template #buttons let-items=\"items\">\r\n <ng-container *ngIf=\"items\">\r\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\r\n <desy-button (clickEvent)=\"clickButtonEmit(items[0], $event)\" [classes]=\"items[0].classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\r\n </desy-button>\r\n </div>\r\n\r\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\r\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\r\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li>\r\n <desy-button (clickEvent)=\"clickButtonEmit(item, $event)\" [classes]=\"item.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\r\n </desy-button>\r\n </li> \r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isDismissible\">\r\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\r\n <button (click)=\"closeDialog()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar la ventana emergente\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n"
|
|
107
96
|
},] }
|
|
108
97
|
];
|
|
109
98
|
ModalComponent.ctorParameters = () => [
|
|
@@ -141,4 +130,4 @@ __decorate([
|
|
|
141
130
|
__decorate([
|
|
142
131
|
DesyContentChild()
|
|
143
132
|
], ModalComponent.prototype, "iconComponent", void 0);
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1tb2RhbHMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDdEYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDeEcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBTXpGLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lBb0N4RCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEI5QyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCOUQsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLHVCQUFrQixHQUFHLEtB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QUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUU7WUFDM0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDMUIsQ0FBQzs7O1lBdElGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsNmdVQUFxQzthQUN0Qzs7O1lBeEJDLGlCQUFpQjs7O29CQTJCaEIsS0FBSzswQkFDTCxLQUFLOzJCQUNMLEtBQUs7NkJBQ0wsS0FBSzttQkFDTCxLQUFLOzJCQUNMLEtBQUs7NEJBRUwsS0FBSztpQkFDTCxLQUFLO3NCQUNMLEtBQUs7cUJBQ0wsS0FBSzt5QkFFTCxNQUFNOzBCQUNOLE1BQU07NkJBR04sZUFBZSxTQUFDLGNBQWM7bUNBRzlCLGVBQWUsU0FBQyxvQkFBb0I7K0JBR3BDLGVBQWUsU0FBQyxnQkFBZ0I7c0NBRWhDLGVBQWUsU0FBQywyQkFBMkI7d0NBQzNDLGVBQWUsU0FBQyw2QkFBNkI7NEJBRzdDLGVBQWUsU0FBQyxhQUFhOztBQVpHO0lBRGhDLGdCQUFnQixFQUFFO3NEQUM2QztBQUd6QjtJQUR0QyxnQkFBZ0IsRUFBRTs0REFDK0Q7QUFHL0M7SUFEbEMsZ0JBQWdCLEVBQUU7d0RBQ21EO0FBTXRDO0lBRC9CLGdCQUFnQixFQUFFO3FEQUMwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgTW9kYWxCdXR0b25EYXRhLCBNb2RhbERhdGEsIE1vZGFsSWNvbkRhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtUaXRsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtEZXNjcmlwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvZGVzY3JpcHRpb24vZGVzY3JpcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnR9IGZyb20gJy4vbW9kYWwtYnV0dG9uLXByaW1hcnkvbW9kYWwtYnV0dG9uLXByaW1hcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC1idXR0b24tc2Vjb25kYXJ5L21vZGFsLWJ1dHRvbi1zZWNvbmRhcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgdGl0bGU6IE1vZGFsRGF0YTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbjogTW9kYWxEYXRhO1xyXG4gIEBJbnB1dCgpIGl0ZW1zUHJpbWFyeTogTW9kYWxCdXR0b25EYXRhW107XHJcbiAgQElucHV0KCkgaXRlbXNTZWNvbmRhcnk6IE1vZGFsQnV0dG9uRGF0YVtdO1xyXG4gIEBJbnB1dCgpIGljb246IE1vZGFsSWNvbkRhdGE7XHJcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpIGlzRGlzbWlzc2libGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsbGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAT3V0cHV0KCkgY2xvc2VNb2RhbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja0J1dHRvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKFRpdGxlQ29tcG9uZW50KSB0aXRsZUNvbXBvbmVudDogVGl0bGVDb21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKERlc2NyaXB0aW9uQ29tcG9uZW50KSBkZXNjcmlwdGlvbkNvbXBvbmVudDogRGVzY3JpcHRpb25Db21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpIGNvbnRlbnRDb21wb25lbnQ6IENvbnRlbnRDb21wb25lbnQ7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50KSBwcmltYXJ5QnV0dG9uQ29tcG9uZW50czogUXVlcnlMaXN0PE1vZGFsQnV0dG9uUHJpbWFyeUNvbXBvbmVudD47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudCkgc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50czogUXVlcnlMaXN0PE1vZGFsQnV0dG9uU2Vjb25kYXJ5Q29tcG9uZW50PjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oSWNvbkNvbXBvbmVudCkgaWNvbkNvbXBvbmVudDogSWNvbkNvbXBvbmVudDtcclxuXHJcbiAgaGFzSWNvbkNvbnRlbnQgPSB0cnVlO1xyXG4gIGRlc2NyaXB0aW9uSXNIdG1sID0gdHJ1ZTtcclxuICBkZXNjcmlwdGlvbklzRW1wdHkgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgdHlwZTogc3RyaW5nO1xyXG4gICAgaWYgKHRoaXMuaWNvbkNvbXBvbmVudCkge1xyXG4gICAgICB0eXBlID0gdGhpcy5pY29uQ29tcG9uZW50LnR5cGUgPyB0aGlzLmljb25Db21wb25lbnQudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogbnVsbDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5pY29uLnR5cGUpIHtcclxuICAgICAgdHlwZSA9IHRoaXMuaWNvbi50eXBlID8gdGhpcy5pY29uLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHR5cGU7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWQpe1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGlkIGFyZSByZXF1aXJlZGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVxdWlyZWRFbXB0eShlbGVtZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihgJHtlbGVtZW50fSBpcyByZXF1aXJlZGApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tEZXNjcmlwdGlvbkNvbnRlbnQoZWxlbWVudDogRWxlbWVudFJlZik6IHZvaWQge1xyXG4gICAgY29uc3QgY2hpbGRzOiBOb2RlTGlzdE9mPENoaWxkTm9kZT4gPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcclxuICAgIGxldCBoYXNIdG1sID0gZmFsc2U7XHJcbiAgICBsZXQgaGFzQ29udGVudCA9IGZhbHNlO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoICYmICFoYXNIdG1sOyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbSA9IGNoaWxkcy5pdGVtKGkpO1xyXG4gICAgICBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUgJiYgaXRlbS50ZXh0Q29udGVudC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaGFzQ29udGVudCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgfHwgaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5DREFUQV9TRUNUSU9OX05PREUpIHtcclxuICAgICAgICBoYXNIdG1sID0gdHJ1ZTtcclxuICAgICAgICBoYXNDb250ZW50ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlc2NyaXB0aW9uV2FzRW1wdHkgPSB0aGlzLmRlc2NyaXB0aW9uSXNFbXB0eTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb25Jc0VtcHR5ID0gIWhhc0NvbnRlbnQ7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uSXNIdG1sID0gaGFzSHRtbDtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIGlmICghaGFzQ29udGVudCAmJiAhZGVzY3JpcHRpb25XYXNFbXB0eSkge1xyXG4gICAgICB0aGlzLmhhbmRsZVJlcXVpcmVkRW1wdHkoJ2Rlc2NyaXB0aW9uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGlja0J1dHRvbkVtaXQoaXRlbTogTW9kYWxCdXR0b25EYXRhLCBldmVudCk6IHZvaWR7XHJcbiAgICB0aGlzLmNsaWNrQnV0dG9uLmVtaXQoZXZlbnQpO1xyXG5cclxuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50IHx8IGl0ZW0gaW5zdGFuY2VvZiBNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudCkge1xyXG4gICAgICBpdGVtLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJY29uQ29udGVudEVtcHR5KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaGFzSWNvbkNvbnRlbnQgPSAhaXNFbXB0eTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGVDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgY2xhc3NlcyA9ICdjLWgyIHB4LWJhc2UgdGV4dC1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnVuZGVybGluZSc7XHJcbiAgICBpZiAodGhpcy50aXRsZUNvbXBvbmVudCAmJiB0aGlzLnRpdGxlQ29tcG9uZW50LmNsYXNzZXMpIHtcclxuICAgICAgY2xhc3NlcyA9IHRoaXMudGl0bGVDb21wb25lbnQuY2xhc3NlcztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50aXRsZSAmJiB0aGlzLnRpdGxlLmNsYXNzZXMpIHtcclxuICAgICAgY2xhc3NlcyA9IHRoaXMudGl0bGUuY2xhc3NlcztcclxuICAgIH1cclxuICAgIHJldHVybiBjbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVzY3JpcHRpb25DbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgY2xhc3NlcyA9ICdjLXBhcmFncmFwaC1iYXNlIG15LWJhc2UgdGV4dC1jZW50ZXInO1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb25Db21wb25lbnQgJiYgdGhpcy5kZXNjcmlwdGlvbkNvbXBvbmVudC5jbGFzc2VzKSB7XHJcbiAgICAgIGNsYXNzZXMgPSB0aGlzLmRlc2NyaXB0aW9uQ29tcG9uZW50LmNsYXNzZXM7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVzY3JpcHRpb24gJiYgdGhpcy5kZXNjcmlwdGlvbi5jbGFzc2VzKSB7XHJcbiAgICAgIGNsYXNzZXMgPSB0aGlzLmRlc2NyaXB0aW9uLmNsYXNzZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcblxyXG4gIGdldFByaW1hcnlJdGVtcygpOiBNb2RhbEJ1dHRvbkRhdGFbXXxNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmltYXJ5QnV0dG9uQ29tcG9uZW50cyAmJiB0aGlzLnByaW1hcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLnByaW1hcnlCdXR0b25Db21wb25lbnRzLnRvQXJyYXkoKVxyXG4gICAgICA6IHRoaXMuaXRlbXNQcmltYXJ5O1xyXG4gIH1cclxuXHJcbiAgZ2V0U2Vjb25kYXJ5SXRlbXMoKTogTW9kYWxCdXR0b25EYXRhW118TW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50cyAmJiB0aGlzLnNlY29uZGFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMCA/IHRoaXMuc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50cy50b0FycmF5KClcclxuICAgICAgOiB0aGlzLml0ZW1zU2Vjb25kYXJ5O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1tb2RhbHMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDdEYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDeEcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBTXpGLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lBb0N4RCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEI5QyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCOUQsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLHVCQUFrQixHQUFHLEtB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QUFNOzZCQUdOLGVBQWUsU0FBQyxjQUFjO21DQUc5QixlQUFlLFNBQUMsb0JBQW9COytCQUdwQyxlQUFlLFNBQUMsZ0JBQWdCO3NDQUVoQyxlQUFlLFNBQUMsMkJBQTJCO3dDQUMzQyxlQUFlLFNBQUMsNkJBQTZCOzRCQUc3QyxlQUFlLFNBQUMsYUFBYTs7QUFaRztJQURoQyxnQkFBZ0IsRUFBRTtzREFDNkM7QUFHekI7SUFEdEMsZ0JBQWdCLEVBQUU7NERBQytEO0FBRy9DO0lBRGxDLGdCQUFnQixFQUFFO3dEQUNtRDtBQU10QztJQUQvQixnQkFBZ0IsRUFBRTtxREFDMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVGVtcGxhdGVSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IE1vZGFsQnV0dG9uRGF0YSwgTW9kYWxEYXRhLCBNb2RhbEljb25EYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7VGl0bGVDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGVzY3JpcHRpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SWNvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29udGVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50fSBmcm9tICcuL21vZGFsLWJ1dHRvbi1wcmltYXJ5L21vZGFsLWJ1dHRvbi1wcmltYXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxCdXR0b25TZWNvbmRhcnlDb21wb25lbnR9IGZyb20gJy4vbW9kYWwtYnV0dG9uLXNlY29uZGFyeS9tb2RhbC1idXR0b24tc2Vjb25kYXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlOiBNb2RhbERhdGE7XHJcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IE1vZGFsRGF0YTtcclxuICBASW5wdXQoKSBpdGVtc1ByaW1hcnk6IE1vZGFsQnV0dG9uRGF0YVtdO1xyXG4gIEBJbnB1dCgpIGl0ZW1zU2Vjb25kYXJ5OiBNb2RhbEJ1dHRvbkRhdGFbXTtcclxuICBASW5wdXQoKSBpY29uOiBNb2RhbEljb25EYXRhO1xyXG4gIEBJbnB1dCgpIGhlYWRpbmdMZXZlbDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBpc0Rpc21pc3NpYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNhbGxlcjogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tCdXR0b246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihUaXRsZUNvbXBvbmVudCkgdGl0bGVDb21wb25lbnQ6IFRpdGxlQ29tcG9uZW50O1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihEZXNjcmlwdGlvbkNvbXBvbmVudCkgZGVzY3JpcHRpb25Db21wb25lbnQ6IERlc2NyaXB0aW9uQ29tcG9uZW50O1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb250ZW50Q29tcG9uZW50OiBDb250ZW50Q29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKE1vZGFsQnV0dG9uUHJpbWFyeUNvbXBvbmVudCkgcHJpbWFyeUJ1dHRvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9kYWxCdXR0b25TZWNvbmRhcnlDb21wb25lbnQpIHNlY29uZGFyeUJ1dHRvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudD47XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKEljb25Db21wb25lbnQpIGljb25Db21wb25lbnQ6IEljb25Db21wb25lbnQ7XHJcblxyXG4gIGhhc0ljb25Db250ZW50ID0gdHJ1ZTtcclxuICBkZXNjcmlwdGlvbklzSHRtbCA9IHRydWU7XHJcbiAgZGVzY3JpcHRpb25Jc0VtcHR5ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTW9kYWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHR5cGU6IHN0cmluZztcclxuICAgIGlmICh0aGlzLmljb25Db21wb25lbnQpIHtcclxuICAgICAgdHlwZSA9IHRoaXMuaWNvbkNvbXBvbmVudC50eXBlID8gdGhpcy5pY29uQ29tcG9uZW50LnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSA6IG51bGw7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaWNvbi50eXBlKSB7XHJcbiAgICAgIHR5cGUgPSB0aGlzLmljb24udHlwZSA/IHRoaXMuaWNvbi50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0eXBlO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tEZXNjcmlwdGlvbkNvbnRlbnQoZWxlbWVudDogRWxlbWVudFJlZik6IHZvaWQge1xyXG4gICAgY29uc3QgY2hpbGRzOiBOb2RlTGlzdE9mPENoaWxkTm9kZT4gPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcclxuICAgIGxldCBoYXNIdG1sID0gZmFsc2U7XHJcbiAgICBsZXQgaGFzQ29udGVudCA9IGZhbHNlO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoICYmICFoYXNIdG1sOyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbSA9IGNoaWxkcy5pdGVtKGkpO1xyXG4gICAgICBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUgJiYgaXRlbS50ZXh0Q29udGVudC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaGFzQ29udGVudCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgfHwgaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5DREFUQV9TRUNUSU9OX05PREUpIHtcclxuICAgICAgICBoYXNIdG1sID0gdHJ1ZTtcclxuICAgICAgICBoYXNDb250ZW50ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlc2NyaXB0aW9uV2FzRW1wdHkgPSB0aGlzLmRlc2NyaXB0aW9uSXNFbXB0eTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb25Jc0VtcHR5ID0gIWhhc0NvbnRlbnQ7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uSXNIdG1sID0gaGFzSHRtbDtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICB9XHJcblxyXG4gIGNsaWNrQnV0dG9uRW1pdChpdGVtOiBNb2RhbEJ1dHRvbkRhdGEsIGV2ZW50KTogdm9pZHtcclxuICAgIHRoaXMuY2xpY2tCdXR0b24uZW1pdChldmVudCk7XHJcblxyXG4gICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQgfHwgaXRlbSBpbnN0YW5jZW9mIE1vZGFsQnV0dG9uU2Vjb25kYXJ5Q29tcG9uZW50KSB7XHJcbiAgICAgIGl0ZW0uY2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUljb25Db250ZW50RW1wdHkoaXNFbXB0eTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5oYXNJY29uQ29udGVudCA9ICFpc0VtcHR5O1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZUNsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIGxldCBjbGFzc2VzID0gJ2MtaDIgcHgtYmFzZSB0ZXh0LWNlbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6dW5kZXJsaW5lJztcclxuICAgIGlmICh0aGlzLnRpdGxlQ29tcG9uZW50ICYmIHRoaXMudGl0bGVDb21wb25lbnQuY2xhc3Nlcykge1xyXG4gICAgICBjbGFzc2VzID0gdGhpcy50aXRsZUNvbXBvbmVudC5jbGFzc2VzO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUuY2xhc3Nlcykge1xyXG4gICAgICBjbGFzc2VzID0gdGhpcy50aXRsZS5jbGFzc2VzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsYXNzZXM7XHJcbiAgfVxyXG5cclxuICBnZXREZXNjcmlwdGlvbkNsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIGxldCBjbGFzc2VzID0gJ2MtcGFyYWdyYXBoLWJhc2UgbXktYmFzZSB0ZXh0LWNlbnRlcic7XHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdGlvbkNvbXBvbmVudCAmJiB0aGlzLmRlc2NyaXB0aW9uQ29tcG9uZW50LmNsYXNzZXMpIHtcclxuICAgICAgY2xhc3NlcyA9IHRoaXMuZGVzY3JpcHRpb25Db21wb25lbnQuY2xhc3NlcztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kZXNjcmlwdGlvbiAmJiB0aGlzLmRlc2NyaXB0aW9uLmNsYXNzZXMpIHtcclxuICAgICAgY2xhc3NlcyA9IHRoaXMuZGVzY3JpcHRpb24uY2xhc3NlcztcclxuICAgIH1cclxuICAgIHJldHVybiBjbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJpbWFyeUl0ZW1zKCk6IE1vZGFsQnV0dG9uRGF0YVtdfE1vZGFsQnV0dG9uUHJpbWFyeUNvbXBvbmVudFtdIHtcclxuICAgIHJldHVybiB0aGlzLnByaW1hcnlCdXR0b25Db21wb25lbnRzICYmIHRoaXMucHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMCA/IHRoaXMucHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMudG9BcnJheSgpXHJcbiAgICAgIDogdGhpcy5pdGVtc1ByaW1hcnk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWNvbmRhcnlJdGVtcygpOiBNb2RhbEJ1dHRvbkRhdGFbXXxNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWNvbmRhcnlCdXR0b25Db21wb25lbnRzICYmIHRoaXMuc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50cy5sZW5ndGggPiAwID8gdGhpcy5zZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLnRvQXJyYXkoKVxyXG4gICAgICA6IHRoaXMuaXRlbXNTZWNvbmRhcnk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -42,14 +42,13 @@ export class DialogService {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
closeDialog(dialog) {
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
dialog.dismiss();
|
|
45
|
+
if (dialog) {
|
|
46
|
+
if (dialog instanceof ComponentRef) {
|
|
47
|
+
dialog.instance.dismiss();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
dialog.dismiss();
|
|
51
|
+
}
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
onCloseDialog(dialog) {
|
|
@@ -115,4 +114,4 @@ DialogService.ctorParameters = () => [
|
|
|
115
114
|
{ type: Injector },
|
|
116
115
|
{ type: ApplicationRef }
|
|
117
116
|
];
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW1vZGFscy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixXQUFXLEVBQ1gsSUFBSSxFQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW9CLGVBQXlDLEVBQ3pDLGVBQXlCLEVBQ3pCLE1BQXNCO1FBRnRCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtJQUFJLENBQUM7SUFFL0MsVUFBVSxDQUFDLE1BQStDLEVBQy9DLGFBQTRCO1FBQ3JDLE9BQU8sSUFBSSxPQUFPLENBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBRXZELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDOUI7WUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNsQixNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQzthQUNyQztZQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQXFCO2dCQUMvQixNQUFNO2FBQ1AsQ0FBQztZQUVGLElBQUksTUFBTSxZQUFZLElBQUksRUFBRTtnQkFDMUIsTUFBTSxDQUFDLFFBQVEsQ0FB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QVUsRUFBRSxNQUFNO2FBQ25COzs7WUFiQyx3QkFBd0I7WUFHeEIsUUFBUTtZQUpSLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFwcGxpY2F0aW9uUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsIEVtYmVkZGVkVmlld1JlZixcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFR5cGVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9ucywgTW9kYWxPcHRpb25zLCBPcGVuRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZGVmYXVsdEluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICAgICAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHsgfVxyXG5cclxuICBvcGVuRGlhbG9nKGNhbGxlcjogVHlwZTxhbnk+fE1vZGFsT3B0aW9uc3xUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgICAgICAgZGlhbG9nT3B0aW9uczogRGlhbG9nT3B0aW9ucyk6IFByb21pc2U8T3BlbkRpYWxvZ1Jlc3VsdD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPE9wZW5EaWFsb2dSZXN1bHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHJcbiAgICAgIGlmICghY2FsbGVyKSB7XHJcbiAgICAgICAgcmVqZWN0KCdjYWxsZXIgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFkaWFsb2dPcHRpb25zKSB7XHJcbiAgICAgICAgcmVqZWN0KCdkaWFsb2dPcHRpb25zIGlzIHJlcXVpcmVkJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuY3JlYXRlRGlhbG9nKGRpYWxvZ09wdGlvbnMpO1xyXG4gICAgICBjb25zdCByZXN1bHQ6IE9wZW5EaWFsb2dSZXN1bHQgPSB7XHJcbiAgICAgICAgZGlhbG9nXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpZiAoY2FsbGVyIGluc3RhbmNlb2YgVHlwZSkge1xyXG4gICAgICAgIGRpYWxvZy5pbnN0YW5jZS5jYWxsZXJUeXBlID0gY2FsbGVyO1xyXG4gICAgICAgIGRpYWxvZy5pbnN0YW5jZS5vbkNhbGxlckNyZWF0aW9uQ2FsbGJhY2sgPSAoZCwgYykgPT4ge1xyXG4gICAgICAgICAgcmVzdWx0LmNvbXBvbmVudCA9IGM7XHJcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmIChjYWxsZXIgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICAgIGRpYWxvZy5pbnN0YW5jZS5jYWxsZXIgPSBjYWxsZXI7XHJcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRpYWxvZy5pbnN0YW5jZS5jYWxsZXJUeXBlID0gTW9kYWxDb21wb25lbnQ7XHJcbiAgICAgICAgZGlhbG9nLmluc3RhbmNlLm9uQ2FsbGVyQ3JlYXRpb25DYWxsYmFjayA9IChkLCBjKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmluaXRNb2RhbChkLCBjLCBjYWxsZXIpO1xyXG4gICAgICAgICAgcmVzdWx0LmNvbXBvbmVudCA9IGM7XHJcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZyhkaWFsb2c6IENvbXBvbmVudFJlZjxEaWFsb2dDb21wb25lbnQ+fERpYWxvZ0NvbXBvbmVudCk6IHZvaWQge1xyXG5cclxuICAgIGlmICghZGlhbG9nKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdkaWFsb2cgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGlhbG9nIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGRpYWxvZy5pbnN0YW5jZS5kaXNtaXNzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaWFsb2cuZGlzbWlzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZURpYWxvZyhkaWFsb2c6IENvbXBvbmVudFJlZjxEaWFsb2dDb21wb25lbnQ+fERpYWxvZ0NvbXBvbmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlID0+IHtcclxuICAgICAgbGV0IGQ7XHJcbiAgICAgIGlmIChkaWFsb2cgaW5zdGFuY2VvZiBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICBkID0gZGlhbG9nLmluc3RhbmNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGQgPSBkaWFsb2c7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGQuYWN0aXZlQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRGlhbG9nKGRpYWxvZ09wdGlvbnM6IERpYWxvZ09wdGlvbnMpOiBDb21wb25lbnRSZWY8RGlhbG9nQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRGlhbG9nQ29tcG9uZW50KTtcclxuICAgIGxldCBkaWFsb2c7XHJcbiAgICBpZiAoZGlhbG9nT3B0aW9ucy5yb290Vmlld0NvbnRhaW5lcikge1xyXG4gICAgICBkaWFsb2cgPSBkaWFsb2dPcHRpb25zLnJvb3RWaWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudDxEaWFsb2dDb21wb25lbnQ+KGZhY3RvcnkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGlhbG9nID0gZmFjdG9yeS5jcmVhdGUodGhpcy5kZWZhdWx0SW5qZWN0b3IpO1xyXG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGRpYWxvZy5ob3N0Vmlldyk7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudEVsZW1lbnQgPSAoZGlhbG9nLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29tcG9uZW50RWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlhbG9nLmluc3RhbmNlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICBpZiAoZGlhbG9nT3B0aW9ucykge1xyXG4gICAgICBPYmplY3QuYXNzaWduKGRpYWxvZy5pbnN0YW5jZSwgZGlhbG9nT3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkNsb3NlRGlhbG9nKGRpYWxvZykudGhlbigoKSA9PiBkaWFsb2cuZGVzdHJveSgpKTtcclxuXHJcbiAgICByZXR1cm4gZGlhbG9nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0TW9kYWwoZGlhbG9nOiBEaWFsb2dDb21wb25lbnQsIG1vZGFsUmVmOiBDb21wb25lbnRSZWY8TW9kYWxDb21wb25lbnQ+LCBtb2RhbE9wdGlvbnM6IE1vZGFsT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2UudGl0bGUgPSBtb2RhbE9wdGlvbnMudGl0bGU7XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5kZXNjcmlwdGlvbiA9IG1vZGFsT3B0aW9ucy5kZXNjcmlwdGlvbjtcclxuICAgIG1vZGFsUmVmLmluc3RhbmNlLml0ZW1zUHJpbWFyeSA9IG1vZGFsT3B0aW9ucy5pdGVtc1ByaW1hcnk7XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5pdGVtc1NlY29uZGFyeSA9IG1vZGFsT3B0aW9ucy5pdGVtc1NlY29uZGFyeTtcclxuICAgIG1vZGFsUmVmLmluc3RhbmNlLmljb24gPSBtb2RhbE9wdGlvbnMuaWNvbjtcclxuXHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5pc0Rpc21pc3NpYmxlID0gbW9kYWxPcHRpb25zLmlzRGlzbWlzc2libGU7XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5pZCA9IG1vZGFsT3B0aW9ucy5pZDtcclxuICAgIG1vZGFsUmVmLmluc3RhbmNlLmNsYXNzZXMgPSBtb2RhbE9wdGlvbnMuY2xhc3NlcztcclxuICAgIG1vZGFsUmVmLmluc3RhbmNlLmNhbGxlciA9IG1vZGFsT3B0aW9ucy5jYWxsZXI7XHJcblxyXG4gICAgaWYgKG1vZGFsT3B0aW9ucy5pc0Rpc21pc3NpYmxlKSB7XHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG1vZGFsUmVmLmluc3RhbmNlLmNsb3NlTW9kYWwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKGRpYWxvZyk7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW1vZGFscy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixXQUFXLEVBQ1gsSUFBSSxFQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW9CLGVBQXlDLEVBQ3pDLGVBQXlCLEVBQ3pCLE1BQXNCO1FBRnRCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtJQUFJLENBQUM7SUFFL0MsVUFBVSxDQUFDLE1BQStDLEVBQy9DLGFBQTRCO1FBQ3JDLE9BQU8sSUFBSSxPQUFPLENBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBRXZELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDOUI7WUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNsQixNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQzthQUNyQztZQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQXFCO2dCQUMvQixNQUFNO2FBQ1AsQ0FBQztZQUVGLElBQUksTUFBTSxZQUFZLElBQUksRUFBRTtnQkFDMUIsTUFBTSxDQUFDLFFBQVEsQ0FB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QUFRO1lBSlIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dPcHRpb25zLCBNb2RhbE9wdGlvbnMsIE9wZW5EaWFsb2dSZXN1bHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkZWZhdWx0SW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZikgeyB9XHJcblxyXG4gIG9wZW5EaWFsb2coY2FsbGVyOiBUeXBlPGFueT58TW9kYWxPcHRpb25zfFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICAgICAgICAgICBkaWFsb2dPcHRpb25zOiBEaWFsb2dPcHRpb25zKTogUHJvbWlzZTxPcGVuRGlhbG9nUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8T3BlbkRpYWxvZ1Jlc3VsdD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cclxuICAgICAgaWYgKCFjYWxsZXIpIHtcclxuICAgICAgICByZWplY3QoJ2NhbGxlciBpcyByZXF1aXJlZCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIWRpYWxvZ09wdGlvbnMpIHtcclxuICAgICAgICByZWplY3QoJ2RpYWxvZ09wdGlvbnMgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZGlhbG9nID0gdGhpcy5jcmVhdGVEaWFsb2coZGlhbG9nT3B0aW9ucyk7XHJcbiAgICAgIGNvbnN0IHJlc3VsdDogT3BlbkRpYWxvZ1Jlc3VsdCA9IHtcclxuICAgICAgICBkaWFsb2dcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChjYWxsZXIgaW5zdGFuY2VvZiBUeXBlKSB7XHJcbiAgICAgICAgZGlhbG9nLmluc3RhbmNlLmNhbGxlclR5cGUgPSBjYWxsZXI7XHJcbiAgICAgICAgZGlhbG9nLmluc3RhbmNlLm9uQ2FsbGVyQ3JlYXRpb25DYWxsYmFjayA9IChkLCBjKSA9PiB7XHJcbiAgICAgICAgICByZXN1bHQuY29tcG9uZW50ID0gYztcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2UgaWYgKGNhbGxlciBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgICAgZGlhbG9nLmluc3RhbmNlLmNhbGxlciA9IGNhbGxlcjtcclxuICAgICAgICByZXNvbHZlKHJlc3VsdCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGlhbG9nLmluc3RhbmNlLmNhbGxlclR5cGUgPSBNb2RhbENvbXBvbmVudDtcclxuICAgICAgICBkaWFsb2cuaW5zdGFuY2Uub25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrID0gKGQsIGMpID0+IHtcclxuICAgICAgICAgIHRoaXMuaW5pdE1vZGFsKGQsIGMsIGNhbGxlcik7XHJcbiAgICAgICAgICByZXN1bHQuY29tcG9uZW50ID0gYztcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlRGlhbG9nKGRpYWxvZzogQ29tcG9uZW50UmVmPERpYWxvZ0NvbXBvbmVudD58RGlhbG9nQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZGlhbG9nKSB7XHJcbiAgICAgIGlmIChkaWFsb2cgaW5zdGFuY2VvZiBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICBkaWFsb2cuaW5zdGFuY2UuZGlzbWlzcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRpYWxvZy5kaXNtaXNzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xvc2VEaWFsb2coZGlhbG9nOiBDb21wb25lbnRSZWY8RGlhbG9nQ29tcG9uZW50PnxEaWFsb2dDb21wb25lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSA9PiB7XHJcbiAgICAgIGxldCBkO1xyXG4gICAgICBpZiAoZGlhbG9nIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgZCA9IGRpYWxvZy5pbnN0YW5jZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkID0gZGlhbG9nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBkLmFjdGl2ZUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZURpYWxvZyhkaWFsb2dPcHRpb25zOiBEaWFsb2dPcHRpb25zKTogQ29tcG9uZW50UmVmPERpYWxvZ0NvbXBvbmVudD4ge1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERpYWxvZ0NvbXBvbmVudCk7XHJcbiAgICBsZXQgZGlhbG9nO1xyXG4gICAgaWYgKGRpYWxvZ09wdGlvbnMucm9vdFZpZXdDb250YWluZXIpIHtcclxuICAgICAgZGlhbG9nID0gZGlhbG9nT3B0aW9ucy5yb290Vmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQ8RGlhbG9nQ29tcG9uZW50PihmYWN0b3J5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpYWxvZyA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuZGVmYXVsdEluamVjdG9yKTtcclxuICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhkaWFsb2cuaG9zdFZpZXcpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnRFbGVtZW50ID0gKGRpYWxvZy5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbXBvbmVudEVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpYWxvZy5pbnN0YW5jZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgaWYgKGRpYWxvZ09wdGlvbnMpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbihkaWFsb2cuaW5zdGFuY2UsIGRpYWxvZ09wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25DbG9zZURpYWxvZyhkaWFsb2cpLnRoZW4oKCkgPT4gZGlhbG9nLmRlc3Ryb3koKSk7XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdE1vZGFsKGRpYWxvZzogRGlhbG9nQ29tcG9uZW50LCBtb2RhbFJlZjogQ29tcG9uZW50UmVmPE1vZGFsQ29tcG9uZW50PiwgbW9kYWxPcHRpb25zOiBNb2RhbE9wdGlvbnMpOiB2b2lkIHtcclxuICAgIG1vZGFsUmVmLmluc3RhbmNlLnRpdGxlID0gbW9kYWxPcHRpb25zLnRpdGxlO1xyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2UuZGVzY3JpcHRpb24gPSBtb2RhbE9wdGlvbnMuZGVzY3JpcHRpb247XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5pdGVtc1ByaW1hcnkgPSBtb2RhbE9wdGlvbnMuaXRlbXNQcmltYXJ5O1xyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2UuaXRlbXNTZWNvbmRhcnkgPSBtb2RhbE9wdGlvbnMuaXRlbXNTZWNvbmRhcnk7XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5pY29uID0gbW9kYWxPcHRpb25zLmljb247XHJcblxyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2UuaXNEaXNtaXNzaWJsZSA9IG1vZGFsT3B0aW9ucy5pc0Rpc21pc3NpYmxlO1xyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2UuaWQgPSBtb2RhbE9wdGlvbnMuaWQ7XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5jbGFzc2VzID0gbW9kYWxPcHRpb25zLmNsYXNzZXM7XHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5jYWxsZXIgPSBtb2RhbE9wdGlvbnMuY2FsbGVyO1xyXG5cclxuICAgIGlmIChtb2RhbE9wdGlvbnMuaXNEaXNtaXNzaWJsZSkge1xyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBtb2RhbFJlZi5pbnN0YW5jZS5jbG9zZU1vZGFsLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZURpYWxvZyhkaWFsb2cpO1xyXG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|