@seniorsistemas/platform-components 7.0.1 → 7.1.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/esm2022/modules/advanced-filter/components/advanced-filter/advanced-filter.component.mjs +31 -8
- package/esm2022/modules/advanced-filter/components/form-filter/form-filter.component.mjs +7 -5
- package/esm2022/modules/advanced-filter/locale/fallback.mjs +5 -2
- package/esm2022/modules/advanced-filter/services/advanced-filter.service.mjs +49 -38
- package/esm2022/modules/spotlight/component/spotlight.component.mjs +27 -8
- package/esm2022/modules/spotlight/spotlight.module.mjs +7 -3
- package/fesm2022/seniorsistemas-platform-components.mjs +118 -56
- package/fesm2022/seniorsistemas-platform-components.mjs.map +1 -1
- package/modules/advanced-filter/components/advanced-filter/advanced-filter.component.d.ts +4 -1
- package/modules/advanced-filter/locale/fallback.d.ts +3 -0
- package/modules/advanced-filter/services/advanced-filter.service.d.ts +2 -0
- package/modules/spotlight/component/spotlight.component.d.ts +5 -1
- package/modules/spotlight/spotlight.module.d.ts +7 -6
- package/package.json +1 -1
package/esm2022/modules/advanced-filter/components/advanced-filter/advanced-filter.component.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, HostListener, Input, ViewChild, ViewEncapsulation, inject } from '@angular/core';
|
|
1
|
+
import { Component, ElementRef, HostListener, Input, ViewChild, ViewEncapsulation, inject } from '@angular/core';
|
|
2
2
|
import { NavigationEnd, Router } from '@angular/router';
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { FormFilterComponent } from '../form-filter/form-filter.component';
|
|
@@ -29,6 +29,7 @@ export class AdvancedFilterComponent {
|
|
|
29
29
|
error = false;
|
|
30
30
|
currentTicket = '';
|
|
31
31
|
modalComponent;
|
|
32
|
+
filterButtonRef;
|
|
32
33
|
mobileButtonActions = [
|
|
33
34
|
{ id: 'save', label: this.translate.instant('save'), command: () => this.modalComponent.saveFilters() },
|
|
34
35
|
{ id: 'clear', label: this.translate.instant('clear'), command: () => this.modalComponent.clearFilters() }
|
|
@@ -36,7 +37,7 @@ export class AdvancedFilterComponent {
|
|
|
36
37
|
ngOnInit() {
|
|
37
38
|
this.isMobile = innerWidth <= 640;
|
|
38
39
|
this.tabViewOrientation = this.isMobile ? 'top' : 'left';
|
|
39
|
-
const sub = this.router.events.subscribe(e => {
|
|
40
|
+
const sub = this.router.events.subscribe((e) => {
|
|
40
41
|
if (e instanceof NavigationEnd) {
|
|
41
42
|
this.modalComponent.getFilters();
|
|
42
43
|
}
|
|
@@ -44,7 +45,7 @@ export class AdvancedFilterComponent {
|
|
|
44
45
|
this.subscriptions.push(sub);
|
|
45
46
|
}
|
|
46
47
|
ngOnDestroy() {
|
|
47
|
-
this.subscriptions.forEach(v => v.unsubscribe());
|
|
48
|
+
this.subscriptions.forEach((v) => v.unsubscribe());
|
|
48
49
|
}
|
|
49
50
|
onResizeWindow(event) {
|
|
50
51
|
const { innerWidth } = event.target;
|
|
@@ -53,8 +54,12 @@ export class AdvancedFilterComponent {
|
|
|
53
54
|
}
|
|
54
55
|
get appliedFiltersTooltip() {
|
|
55
56
|
return this.totalFiltersActive > 1
|
|
56
|
-
? this.translate.instant(`${TRANSLATE_PREFIX}.applied_filters_message`, {
|
|
57
|
-
|
|
57
|
+
? this.translate.instant(`${TRANSLATE_PREFIX}.applied_filters_message`, {
|
|
58
|
+
totalActiveFilters: this.totalFiltersActive
|
|
59
|
+
})
|
|
60
|
+
: this.translate.instant(`${TRANSLATE_PREFIX}.applied_filter_message`, {
|
|
61
|
+
totalActiveFilters: this.totalFiltersActive
|
|
62
|
+
});
|
|
58
63
|
}
|
|
59
64
|
onError(event) {
|
|
60
65
|
this.error = event;
|
|
@@ -95,15 +100,30 @@ export class AdvancedFilterComponent {
|
|
|
95
100
|
toggleDialog() {
|
|
96
101
|
this.showDialog = !this.showDialog;
|
|
97
102
|
}
|
|
103
|
+
onDialogHide() {
|
|
104
|
+
this.showDialog = false;
|
|
105
|
+
this.close();
|
|
106
|
+
this.filterButtonRef?.nativeElement?.querySelector('button')?.focus();
|
|
107
|
+
}
|
|
108
|
+
focusFirstField() {
|
|
109
|
+
setTimeout(() => {
|
|
110
|
+
const dialog = document.querySelector('.filter-dialog');
|
|
111
|
+
if (!dialog) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const firstField = dialog.querySelector('input:not([type="hidden"]):not([disabled]), textarea:not([disabled]), select:not([disabled])');
|
|
115
|
+
firstField?.focus();
|
|
116
|
+
});
|
|
117
|
+
}
|
|
98
118
|
updateTotalFiltersActive(event) {
|
|
99
119
|
this.totalFiltersActive = event;
|
|
100
120
|
}
|
|
101
121
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AdvancedFilterComponent, selector: "s-advanced-filter", inputs: { labelButton: "labelButton", onlyContent: "onlyContent", hideButtons: "hideButtons", canOpenFilter: "canOpenFilter", showActiveFiltersCountBadge: "showActiveFiltersCountBadge", filterAndSave: "filterAndSave", contextId: "contextId" }, host: { listeners: { "window:resize": "onResizeWindow($event)" } }, viewQueries: [{ propertyName: "modalComponent", first: true, predicate: FormFilterComponent, descendants: true }], ngImport: i0, template: "<s-button\n *ngIf=\"!onlyContent\"\n [id]=\"'filterButton'\"\n [disabled]=\"!canOpenFilter\"\n (clicked)=\"canOpenFilter ? toggleDialog() : ''\"\n iconClass=\"fa fa-filter\"\n priority=\"default\"\n [label]=\"labelButton\"\n [auxiliary]=\"true\"\n [tooltip]=\"appliedFiltersTooltip\"\n>\n <span\n *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\"\n
|
|
122
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AdvancedFilterComponent, selector: "s-advanced-filter", inputs: { labelButton: "labelButton", onlyContent: "onlyContent", hideButtons: "hideButtons", canOpenFilter: "canOpenFilter", showActiveFiltersCountBadge: "showActiveFiltersCountBadge", filterAndSave: "filterAndSave", contextId: "contextId" }, host: { listeners: { "window:resize": "onResizeWindow($event)" } }, viewQueries: [{ propertyName: "modalComponent", first: true, predicate: FormFilterComponent, descendants: true }, { propertyName: "filterButtonRef", first: true, predicate: ["filterButtonRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<s-button\n #filterButtonRef\n *ngIf=\"!onlyContent\"\n [id]=\"'filterButton'\"\n [disabled]=\"!canOpenFilter\"\n (clicked)=\"canOpenFilter ? toggleDialog() : ''\"\n iconClass=\"fa fa-filter\"\n priority=\"default\"\n [label]=\"labelButton\"\n [auxiliary]=\"true\"\n [tooltip]=\"appliedFiltersTooltip\"\n>\n <span aria-live=\"polite\">\n <span\n *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\"\n class=\"sds-badge-number sds-color-primary custom-badge\"\n >{{ totalFiltersActive }}</span\n >\n <span class=\"sr-only\" *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\">\n {{ totalFiltersActive }} {{ 'platform.filter_service.active_filters' | translate }}\n </span>\n </span>\n</s-button>\n\n<section *ngIf=\"onlyContent\">\n <div class=\"only-content-wrapper\">\n <div class=\"header\">\n <h3 id=\"filter-heading\">{{ 'platform.filter_service.filters' | translate }}</h3>\n <button\n type=\"button\"\n (click)=\"close()\"\n class=\"close_btn\"\n [attr.aria-label]=\"'platform.filter_service.aria_close_filters' | translate\"\n >\n <span class=\"fa fa-times\" aria-hidden=\"true\"></span>\n </button>\n </div>\n <div class=\"app-form-filter\">\n <s-app-form-filter\n [showMessages]=\"false\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n (closeModalOutput)=\"close()\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n </div>\n <div class=\"filter-footer\" *ngIf=\"!error\">\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"close()\"\n ></s-button>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"onApplyFilters()\"\n ></s-button>\n </div>\n </div>\n</section>\n\n<p-dialog\n *ngIf=\"!onlyContent\"\n appendTo=\"body\"\n styleClass=\"filter-dialog\"\n [header]=\"'platform.filter_service.filters' | translate\"\n [closeAriaLabel]=\"'platform.filter_service.aria_close_dialog' | translate\"\n [draggable]=\"false\"\n [modal]=\"true\"\n [(visible)]=\"showDialog\"\n [blockScroll]=\"true\"\n [closable]=\"true\"\n [closeOnEscape]=\"true\"\n [focusOnShow]=\"false\"\n (onShow)=\"focusFirstField()\"\n (onHide)=\"onDialogHide()\"\n>\n\n <s-app-form-filter\n [showMessages]=\"true\"\n (errorOutput)=\"onError($event)\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n\n <ng-template pTemplate=\"footer\">\n <ng-container *ngIf=\"!error && !hideButtons\">\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"applyFilters()\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"toggleDialog(); close()\"\n ></s-button>\n </ng-container>\n </ng-template>\n</p-dialog>\n\n<p-toast key=\"filterServiceToastKey\" [baseZIndex]=\"5000\"></p-toast>\n", styles: [".custom-badge{position:absolute!important;right:-4px;top:-10px;height:20px;vertical-align:middle;display:table;min-width:22px}.filter-button{position:relative;border:solid 1px black;border-radius:1.5rem;background:transparent;padding:.5rem 1rem;cursor:pointer}.filter-dialog .ui-dialog-title{display:block!important;padding-right:0!important}.filter-footer{text-align:end;border-top:1px solid #e5eaea;padding:13px}.filter-dialog>.ui-dialog-content{height:300px;padding:10px!important}.app-form-filter{height:335px;max-height:335px;overflow:auto}.only-content-wrapper{background-color:#fff}.close_btn{align-content:center;justify-self:right;margin-left:auto;background:none;border:none;padding:0;font:inherit;color:inherit}.close_btn:hover{cursor:pointer}.header{text-transform:uppercase;display:flex;width:100%;border-bottom:1px solid #e5eaea;padding:15px;margin-left:0}@media (min-width: 641px) and (max-width: 1024px){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:300px}}@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:90%}}@media (min-width: 320px) and (max-width: 640px){.filter-dialog{width:95%;left:0;top:0;opacity:1;margin:auto;height:93%}.filter-dialog>.ui-dialog-content{height:85%}}@media (min-width: 320px) and (max-width: 640px) and (max-width: 360px){.filter-dialog button{padding:0!important}.filter-dialog>.ui-dialog-content{height:81%}}\n"], dependencies: [{ kind: "component", type: i1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i6.FormFilterComponent, selector: "s-app-form-filter", inputs: ["showMessages", "contextId"], outputs: ["totalFiltersActiveOutput", "errorOutput", "showDialogOutput", "closeModalOutput"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
103
123
|
}
|
|
104
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterComponent, decorators: [{
|
|
105
125
|
type: Component,
|
|
106
|
-
args: [{ selector: 's-advanced-filter', encapsulation: ViewEncapsulation.None, template: "<s-button\n *ngIf=\"!onlyContent\"\n [id]=\"'filterButton'\"\n [disabled]=\"!canOpenFilter\"\n (clicked)=\"canOpenFilter ? toggleDialog() : ''\"\n iconClass=\"fa fa-filter\"\n priority=\"default\"\n [label]=\"labelButton\"\n [auxiliary]=\"true\"\n [tooltip]=\"appliedFiltersTooltip\"\n>\n <span\n *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\"\n
|
|
126
|
+
args: [{ selector: 's-advanced-filter', encapsulation: ViewEncapsulation.None, template: "<s-button\n #filterButtonRef\n *ngIf=\"!onlyContent\"\n [id]=\"'filterButton'\"\n [disabled]=\"!canOpenFilter\"\n (clicked)=\"canOpenFilter ? toggleDialog() : ''\"\n iconClass=\"fa fa-filter\"\n priority=\"default\"\n [label]=\"labelButton\"\n [auxiliary]=\"true\"\n [tooltip]=\"appliedFiltersTooltip\"\n>\n <span aria-live=\"polite\">\n <span\n *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\"\n class=\"sds-badge-number sds-color-primary custom-badge\"\n >{{ totalFiltersActive }}</span\n >\n <span class=\"sr-only\" *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\">\n {{ totalFiltersActive }} {{ 'platform.filter_service.active_filters' | translate }}\n </span>\n </span>\n</s-button>\n\n<section *ngIf=\"onlyContent\">\n <div class=\"only-content-wrapper\">\n <div class=\"header\">\n <h3 id=\"filter-heading\">{{ 'platform.filter_service.filters' | translate }}</h3>\n <button\n type=\"button\"\n (click)=\"close()\"\n class=\"close_btn\"\n [attr.aria-label]=\"'platform.filter_service.aria_close_filters' | translate\"\n >\n <span class=\"fa fa-times\" aria-hidden=\"true\"></span>\n </button>\n </div>\n <div class=\"app-form-filter\">\n <s-app-form-filter\n [showMessages]=\"false\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n (closeModalOutput)=\"close()\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n </div>\n <div class=\"filter-footer\" *ngIf=\"!error\">\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"close()\"\n ></s-button>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"onApplyFilters()\"\n ></s-button>\n </div>\n </div>\n</section>\n\n<p-dialog\n *ngIf=\"!onlyContent\"\n appendTo=\"body\"\n styleClass=\"filter-dialog\"\n [header]=\"'platform.filter_service.filters' | translate\"\n [closeAriaLabel]=\"'platform.filter_service.aria_close_dialog' | translate\"\n [draggable]=\"false\"\n [modal]=\"true\"\n [(visible)]=\"showDialog\"\n [blockScroll]=\"true\"\n [closable]=\"true\"\n [closeOnEscape]=\"true\"\n [focusOnShow]=\"false\"\n (onShow)=\"focusFirstField()\"\n (onHide)=\"onDialogHide()\"\n>\n\n <s-app-form-filter\n [showMessages]=\"true\"\n (errorOutput)=\"onError($event)\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n\n <ng-template pTemplate=\"footer\">\n <ng-container *ngIf=\"!error && !hideButtons\">\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"applyFilters()\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"toggleDialog(); close()\"\n ></s-button>\n </ng-container>\n </ng-template>\n</p-dialog>\n\n<p-toast key=\"filterServiceToastKey\" [baseZIndex]=\"5000\"></p-toast>\n", styles: [".custom-badge{position:absolute!important;right:-4px;top:-10px;height:20px;vertical-align:middle;display:table;min-width:22px}.filter-button{position:relative;border:solid 1px black;border-radius:1.5rem;background:transparent;padding:.5rem 1rem;cursor:pointer}.filter-dialog .ui-dialog-title{display:block!important;padding-right:0!important}.filter-footer{text-align:end;border-top:1px solid #e5eaea;padding:13px}.filter-dialog>.ui-dialog-content{height:300px;padding:10px!important}.app-form-filter{height:335px;max-height:335px;overflow:auto}.only-content-wrapper{background-color:#fff}.close_btn{align-content:center;justify-self:right;margin-left:auto;background:none;border:none;padding:0;font:inherit;color:inherit}.close_btn:hover{cursor:pointer}.header{text-transform:uppercase;display:flex;width:100%;border-bottom:1px solid #e5eaea;padding:15px;margin-left:0}@media (min-width: 641px) and (max-width: 1024px){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:300px}}@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:90%}}@media (min-width: 320px) and (max-width: 640px){.filter-dialog{width:95%;left:0;top:0;opacity:1;margin:auto;height:93%}.filter-dialog>.ui-dialog-content{height:85%}}@media (min-width: 320px) and (max-width: 640px) and (max-width: 360px){.filter-dialog button{padding:0!important}.filter-dialog>.ui-dialog-content{height:81%}}\n"] }]
|
|
107
127
|
}], propDecorators: { labelButton: [{
|
|
108
128
|
type: Input
|
|
109
129
|
}], onlyContent: [{
|
|
@@ -121,8 +141,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
121
141
|
}], modalComponent: [{
|
|
122
142
|
type: ViewChild,
|
|
123
143
|
args: [FormFilterComponent]
|
|
144
|
+
}], filterButtonRef: [{
|
|
145
|
+
type: ViewChild,
|
|
146
|
+
args: ['filterButtonRef', { read: ElementRef }]
|
|
124
147
|
}], onResizeWindow: [{
|
|
125
148
|
type: HostListener,
|
|
126
149
|
args: ['window:resize', ['$event']]
|
|
127
150
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7QUFFM0UsTUFBTSxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQztBQVFuRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWhDLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFDeEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDckIsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO0lBQ25DLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUV2QixhQUFh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VztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQVlOLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBMEI5QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1maWx0ZXIvZm9ybS1maWx0ZXIuY29tcG9uZW50JztcblxuY29uc3QgVFJBTlNMQVRFX1BSRUZJWCA9ICdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtYWR2YW5jZWQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkdmFuY2VkLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgQElucHV0KCkgbGFiZWxCdXR0b24gPSAnRmlsdGVycyc7XG4gIEBJbnB1dCgpIG9ubHlDb250ZW50ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVCdXR0b25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbk9wZW5GaWx0ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QWN0aXZlRmlsdGVyc0NvdW50QmFkZ2UgPSB0cnVlO1xuICBASW5wdXQoKSBmaWx0ZXJBbmRTYXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbnRleHRJZCA9ICcnXG5cbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBpc01vYmlsZSA9IGZhbHNlO1xuICB0YWJWaWV3T3JpZW50YXRpb24gPSAnbGVmdCc7XG4gIHRvdGFsRmlsdGVyc0FjdGl2ZSA9IDA7XG4gIHNob3dEaWFsb2cgPSBmYWxzZTtcbiAgZXJyb3IgPSBmYWxzZTtcbiAgY3VycmVudFRpY2tldCA9ICcnO1xuXG4gIEBWaWV3Q2hpbGQoRm9ybUZpbHRlckNvbXBvbmVudClcbiAgbW9kYWxDb21wb25lbnQ6IEZvcm1GaWx0ZXJDb21wb25lbnQ7XG5cbiAgbW9iaWxlQnV0dG9uQWN0aW9ucyA9IFtcbiAgICB7IGlkOiAnc2F2ZScsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdzYXZlJyksIGNvbW1hbmQ6ICgpID0+IHRoaXMubW9kYWxDb21wb25lbnQuc2F2ZUZpbHRlcnMoKSB9LFxuICAgIHsgaWQ6ICdjbGVhcicsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdjbGVhcicpLCBjb21tYW5kOiAoKSA9PiB0aGlzLm1vZGFsQ29tcG9uZW50LmNsZWFyRmlsdGVycygpIH1cbiAgXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gaW5uZXJXaWR0aCA8PSA2NDA7XG4gICAgdGhpcy50YWJWaWV3T3JpZW50YXRpb24gPSB0aGlzLmlzTW9iaWxlID8gJ3RvcCcgOiAnbGVmdCc7XG5cbiAgICBjb25zdCBzdWIgPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMubW9kYWxDb21wb25lbnQuZ2V0RmlsdGVycygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHYgPT4gdi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZVdpbmRvdyhldmVudDogYW55KSB7XG4gICAgY29uc3QgeyBpbm5lcldpZHRoIH0gPSBldmVudC50YXJnZXQ7XG4gICAgdGhpcy5pc01vYmlsZSA9IGlubmVyV2lkdGggPD0gNjQwO1xuICAgIHRoaXMudGFiVmlld09yaWVudGF0aW9uID0gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ2xlZnQnO1xuICB9XG5cbiAgZ2V0IGFwcGxpZWRGaWx0ZXJzVG9vbHRpcCgpIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbEZpbHRlcnNBY3RpdmUgPiAxXG4gICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7VFJBTlNMQVRFX1BSRUZJWH0uYXBwbGllZF9maWx0ZXJzX21lc3NhZ2VgLCB7IHRvdGFsQWN0aXZlRmlsdGVyczogdGhpcy50b3RhbEZpbHRlcnNBY3RpdmUgfSlcbiAgICAgIDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtUUkFOU0xBVEVfUFJFRklYfS5hcHBsaWVkX2ZpbHRlcl9tZXNzYWdlYCwgeyB0b3RhbEFjdGl2ZUZpbHRlcnM6IHRoaXMudG90YWxGaWx0ZXJzQWN0aXZlIH0pO1xuICB9XG5cbiAgb25FcnJvcihldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuZXJyb3IgPSBldmVudDtcbiAgfVxuXG4gIHNhdmVGaWx0ZXJzKGZvcmNlU2F2ZSA9IGZhbHNlKSB7XG4gICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycyhmb3JjZVNhdmUpO1xuICB9XG5cbiAgc2F2ZUZpbHRlcnNXaXRoQ2FsbGJhY2tGdW5jdGlvbihjYWxsYmFja0Z1bmN0aW9uOiBhbnkpIHtcbiAgICB0aGlzLm1vZGFsQ29tcG9uZW50LnNhdmVGaWx0ZXJzV2l0aENhbGxiYWNrRnVuY3Rpb24oY2FsbGJhY2tGdW5jdGlvbik7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5tb2RhbENvbXBvbmVudC5jbGVhckZpbHRlcnMoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMubW9kYWxDb21wb25lbnQuZ2V0RmlsdGVycygpO1xuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXG4gICAgICB7XG4gICAgICAgIG1lc3NhZ2U6ICdkYXNoYm9hcmQ6Y2xvc2UtbW9kYWwnLFxuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kYWxOYW1lOiAnYWR2YW5jZWQtZmlsdGVyLTEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAnKidcbiAgICApO1xuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIGlmICh0aGlzLm1vZGFsQ29tcG9uZW50Lmhhc0NoYW5nZXMoKSkge1xuICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmlsdGVyQW5kU2F2ZSkge1xuICAgICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb21wb25lbnQuYXBwbHlGaWx0ZXJzKHRydWUpO1xuICB9XG5cbiAgb25BcHBseUZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyQW5kU2F2ZSkge1xuICAgICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb21wb25lbnQub25BcHBseUZpbHRlcnMoKTtcbiAgfVxuXG4gIHRvZ2dsZURpYWxvZygpIHtcbiAgICB0aGlzLnNob3dEaWFsb2cgPSAhdGhpcy5zaG93RGlhbG9nO1xuICB9XG5cbiAgdXBkYXRlVG90YWxGaWx0ZXJzQWN0aXZlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc0FjdGl2ZSA9IGV2ZW50O1xuICB9XG59XG4iLCI8cy1idXR0b25cbiAgKm5nSWY9XCIhb25seUNvbnRlbnRcIlxuICBbaWRdPVwiJ2ZpbHRlckJ1dHRvbidcIlxuICBbZGlzYWJsZWRdPVwiIWNhbk9wZW5GaWx0ZXJcIlxuICAoY2xpY2tlZCk9XCJjYW5PcGVuRmlsdGVyID8gdG9nZ2xlRGlhbG9nKCkgOiAnJ1wiXG4gIGljb25DbGFzcz1cImZhIGZhLWZpbHRlclwiXG4gIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gIFtsYWJlbF09XCJsYWJlbEJ1dHRvblwiXG4gIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gIFt0b29sdGlwXT1cImFwcGxpZWRGaWx0ZXJzVG9vbHRpcFwiXG4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJ0b3RhbEZpbHRlcnNBY3RpdmUgJiYgc2hvd0FjdGl2ZUZpbHRlcnNDb3VudEJhZGdlXCJcbiAgICBjbGFzcz1cInNkcy1iYWRnZS1udW1iZXIgc2RzLWNvbG9yLXByaW1hcnkgY3VzdG9tLWJhZGdlXCJcbiAgICA+e3sgdG90YWxGaWx0ZXJzQWN0aXZlIH19PC9zcGFuXG4gID5cbjwvcy1idXR0b24+XG5cbjxzZWN0aW9uICpuZ0lmPVwib25seUNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cIm9ubHktY29udGVudC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgPGgzPnt7ICdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5maWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICA8c3BhbiAoY2xpY2spPVwiY2xvc2UoKVwiIGNsYXNzPVwiY2xvc2VfYnRuIHBpIHBpLXRpbWVzXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhcHAtZm9ybS1maWx0ZXJcIj5cbiAgICAgIDxzLWFwcC1mb3JtLWZpbHRlclxuICAgICAgICBbc2hvd01lc3NhZ2VzXT1cImZhbHNlXCJcbiAgICAgICAgKHRvdGFsRmlsdGVyc0FjdGl2ZU91dHB1dCk9XCJ1cGRhdGVUb3RhbEZpbHRlcnNBY3RpdmUoJGV2ZW50KVwiXG4gICAgICAgIChjbG9zZU1vZGFsT3V0cHV0KT1cImNsb3NlKClcIlxuICAgICAgICBbY29udGV4dElkXT1cImNvbnRleHRJZFwiXG4gICAgICA+PC9zLWFwcC1mb3JtLWZpbHRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWZvb3RlclwiICpuZ0lmPVwiIWVycm9yXCI+XG4gICAgICA8cy1idXR0b25cbiAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5jYW5jZWwnKVwiXG4gICAgICAgIChjbGlja2VkKT1cImNsb3NlKClcIlxuICAgICAgPjwvcy1idXR0b24+XG4gICAgICA8cy1idXR0b25cbiAgICAgICAgKm5nSWY9XCJpc01vYmlsZVwiXG4gICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuYWN0aW9ucycpXCJcbiAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgW21lbnVPcHRpb25zXT1cIm1vYmlsZUJ1dHRvbkFjdGlvbnNcIlxuICAgICAgPjwvcy1idXR0b24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTW9iaWxlXCI+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIHByaW9yaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNsZWFyJylcIlxuICAgICAgICAgIChjbGlja2VkKT1cImNsZWFyRmlsdGVycygpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIHByaW9yaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLnNhdmUnKVwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwic2F2ZUZpbHRlcnMoKVwiXG4gICAgICAgID48L3MtYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8cy1idXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIHByaW9yaXR5PVwicHJpbWFyeVwiXG4gICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuZmlsdGVyJylcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkFwcGx5RmlsdGVycygpXCJcbiAgICAgID48L3MtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPHAtZGlhbG9nXG4gICpuZ0lmPVwiIW9ubHlDb250ZW50XCJcbiAgYXBwZW5kVG89XCJib2R5XCJcbiAgc3R5bGVDbGFzcz1cImZpbHRlci1kaWFsb2dcIlxuICBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcbiAgW21vZGFsXT1cInRydWVcIlxuICBbKHZpc2libGUpXT1cInNob3dEaWFsb2dcIlxuICBbYmxvY2tTY3JvbGxdPVwidHJ1ZVwiXG4gIFtjbG9zYWJsZV09XCJmYWxzZVwiXG4+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPHNwYW4+e3sgJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmZpbHRlcnMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURpYWxvZygpOyBjbG9zZSgpXCJcbiAgICAgICAgKGtleXByZXNzKT1cInRvZ2dsZURpYWxvZygpOyBjbG9zZSgpXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZV9idG4gcGkgcGktdGltZXMgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8cy1hcHAtZm9ybS1maWx0ZXJcbiAgICBbc2hvd01lc3NhZ2VzXT1cInRydWVcIlxuICAgIChlcnJvck91dHB1dCk9XCJvbkVycm9yKCRldmVudClcIlxuICAgICh0b3RhbEZpbHRlcnNBY3RpdmVPdXRwdXQpPVwidXBkYXRlVG90YWxGaWx0ZXJzQWN0aXZlKCRldmVudClcIlxuICAgIFtjb250ZXh0SWRdPVwiY29udGV4dElkXCJcbiAgPjwvcy1hcHAtZm9ybS1maWx0ZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVycm9yICYmICFoaWRlQnV0dG9uc1wiPlxuICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICBwcmlvcml0eT1cInByaW1hcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuZmlsdGVyJylcIlxuICAgICAgICAgIChjbGlja2VkKT1cImFwcGx5RmlsdGVycygpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVcIj5cbiAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgIHByaW9yaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2Uuc2F2ZScpXCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cInNhdmVGaWx0ZXJzKClcIlxuICAgICAgICAgID48L3MtYnV0dG9uPlxuICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5jbGVhcicpXCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cImNsZWFyRmlsdGVycygpXCJcbiAgICAgICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiaXNNb2JpbGVcIlxuICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5hY3Rpb25zJylcIlxuICAgICAgICAgIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gICAgICAgICAgW21lbnVPcHRpb25zXT1cIm1vYmlsZUJ1dHRvbkFjdGlvbnNcIlxuICAgICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNhbmNlbCcpXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJ0b2dnbGVEaWFsb2coKTsgY2xvc2UoKVwiXG4gICAgICAgID48L3MtYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1kaWFsb2c+XG5cblxuPHAtdG9hc3Qga2V5PVwiZmlsdGVyU2VydmljZVRvYXN0S2V5XCIgW2Jhc2VaSW5kZXhdPVwiNTAwMFwiPjwvcC10b2FzdD5cbiJdfQ==
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBRTNFLE1BQU0sZ0JBQWdCLEdBQUcseUJBQXlCLENBQUM7QUFRbkQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVoQyxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLDJCQUEyQixHQUFHLElBQUksQ0FBQztJQUNuQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFNBQVMsR0FBRyxFQUFFLENBQUM7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QUVELGVBQWU7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQ3JDLDhGQUE4RixDQUMvRixDQUFDO1lBQ0YsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWE7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO3dHQTVJVSx1QkFBdUI7NEZBQXZCLHVCQUF1QixpYUFxQnZCLG1CQUFtQixnSUFHUSxVQUFVLDZCQ2hEbEQsd2pKQTZJQTs7NEZEckhhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSTs4QkFNNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQVlOLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBSTlCLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBMEJsRCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmlsdGVyL2Zvcm0tZmlsdGVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IFRSQU5TTEFURV9QUkVGSVggPSAncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLWFkdmFuY2VkLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZhbmNlZC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIEBJbnB1dCgpIGxhYmVsQnV0dG9uID0gJ0ZpbHRlcnMnO1xuICBASW5wdXQoKSBvbmx5Q29udGVudCA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlQnV0dG9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBjYW5PcGVuRmlsdGVyID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0FjdGl2ZUZpbHRlcnNDb3VudEJhZGdlID0gdHJ1ZTtcbiAgQElucHV0KCkgZmlsdGVyQW5kU2F2ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBjb250ZXh0SWQgPSAnJztcblxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIHRhYlZpZXdPcmllbnRhdGlvbiA9ICdsZWZ0JztcbiAgdG90YWxGaWx0ZXJzQWN0aXZlID0gMDtcbiAgc2hvd0RpYWxvZyA9IGZhbHNlO1xuICBlcnJvciA9IGZhbHNlO1xuICBjdXJyZW50VGlja2V0ID0gJyc7XG5cbiAgQFZpZXdDaGlsZChGb3JtRmlsdGVyQ29tcG9uZW50KVxuICBtb2RhbENvbXBvbmVudDogRm9ybUZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdmaWx0ZXJCdXR0b25SZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgZmlsdGVyQnV0dG9uUmVmOiBFbGVtZW50UmVmO1xuXG4gIG1vYmlsZUJ1dHRvbkFjdGlvbnMgPSBbXG4gICAgeyBpZDogJ3NhdmUnLCBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnc2F2ZScpLCBjb21tYW5kOiAoKSA9PiB0aGlzLm1vZGFsQ29tcG9uZW50LnNhdmVGaWx0ZXJzKCkgfSxcbiAgICB7IGlkOiAnY2xlYXInLCBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnY2xlYXInKSwgY29tbWFuZDogKCkgPT4gdGhpcy5tb2RhbENvbXBvbmVudC5jbGVhckZpbHRlcnMoKSB9XG4gIF07XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc01vYmlsZSA9IGlubmVyV2lkdGggPD0gNjQwO1xuICAgIHRoaXMudGFiVmlld09yaWVudGF0aW9uID0gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ2xlZnQnO1xuXG4gICAgY29uc3Qgc3ViID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMubW9kYWxDb21wb25lbnQuZ2V0RmlsdGVycygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKCh2KSA9PiB2LnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIG9uUmVzaXplV2luZG93KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB7IGlubmVyV2lkdGggfSA9IGV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmlzTW9iaWxlID0gaW5uZXJXaWR0aCA8PSA2NDA7XG4gICAgdGhpcy50YWJWaWV3T3JpZW50YXRpb24gPSB0aGlzLmlzTW9iaWxlID8gJ3RvcCcgOiAnbGVmdCc7XG4gIH1cblxuICBnZXQgYXBwbGllZEZpbHRlcnNUb29sdGlwKCkge1xuICAgIHJldHVybiB0aGlzLnRvdGFsRmlsdGVyc0FjdGl2ZSA+IDFcbiAgICAgID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtUUkFOU0xBVEVfUFJFRklYfS5hcHBsaWVkX2ZpbHRlcnNfbWVzc2FnZWAsIHtcbiAgICAgICAgICB0b3RhbEFjdGl2ZUZpbHRlcnM6IHRoaXMudG90YWxGaWx0ZXJzQWN0aXZlXG4gICAgICAgIH0pXG4gICAgICA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7VFJBTlNMQVRFX1BSRUZJWH0uYXBwbGllZF9maWx0ZXJfbWVzc2FnZWAsIHtcbiAgICAgICAgICB0b3RhbEFjdGl2ZUZpbHRlcnM6IHRoaXMudG90YWxGaWx0ZXJzQWN0aXZlXG4gICAgICAgIH0pO1xuICB9XG5cbiAgb25FcnJvcihldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuZXJyb3IgPSBldmVudDtcbiAgfVxuXG4gIHNhdmVGaWx0ZXJzKGZvcmNlU2F2ZSA9IGZhbHNlKSB7XG4gICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycyhmb3JjZVNhdmUpO1xuICB9XG5cbiAgc2F2ZUZpbHRlcnNXaXRoQ2FsbGJhY2tGdW5jdGlvbihjYWxsYmFja0Z1bmN0aW9uOiBhbnkpIHtcbiAgICB0aGlzLm1vZGFsQ29tcG9uZW50LnNhdmVGaWx0ZXJzV2l0aENhbGxiYWNrRnVuY3Rpb24oY2FsbGJhY2tGdW5jdGlvbik7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5tb2RhbENvbXBvbmVudC5jbGVhckZpbHRlcnMoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMubW9kYWxDb21wb25lbnQuZ2V0RmlsdGVycygpO1xuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXG4gICAgICB7XG4gICAgICAgIG1lc3NhZ2U6ICdkYXNoYm9hcmQ6Y2xvc2UtbW9kYWwnLFxuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kYWxOYW1lOiAnYWR2YW5jZWQtZmlsdGVyLTEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAnKidcbiAgICApO1xuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIGlmICh0aGlzLm1vZGFsQ29tcG9uZW50Lmhhc0NoYW5nZXMoKSkge1xuICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmlsdGVyQW5kU2F2ZSkge1xuICAgICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb21wb25lbnQuYXBwbHlGaWx0ZXJzKHRydWUpO1xuICB9XG5cbiAgb25BcHBseUZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyQW5kU2F2ZSkge1xuICAgICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb21wb25lbnQub25BcHBseUZpbHRlcnMoKTtcbiAgfVxuXG4gIHRvZ2dsZURpYWxvZygpIHtcbiAgICB0aGlzLnNob3dEaWFsb2cgPSAhdGhpcy5zaG93RGlhbG9nO1xuICB9XG5cbiAgb25EaWFsb2dIaWRlKCkge1xuICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLmZpbHRlckJ1dHRvblJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcignYnV0dG9uJyk/LmZvY3VzKCk7XG4gIH1cblxuICBmb2N1c0ZpcnN0RmllbGQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBkaWFsb2cgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZmlsdGVyLWRpYWxvZycpO1xuICAgICAgaWYgKCFkaWFsb2cpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZmlyc3RGaWVsZCA9IGRpYWxvZy5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcbiAgICAgICAgJ2lucHV0Om5vdChbdHlwZT1cImhpZGRlblwiXSk6bm90KFtkaXNhYmxlZF0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknXG4gICAgICApO1xuICAgICAgZmlyc3RGaWVsZD8uZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVRvdGFsRmlsdGVyc0FjdGl2ZShldmVudDogbnVtYmVyKSB7XG4gICAgdGhpcy50b3RhbEZpbHRlcnNBY3RpdmUgPSBldmVudDtcbiAgfVxufVxuIiwiPHMtYnV0dG9uXG4gICNmaWx0ZXJCdXR0b25SZWZcbiAgKm5nSWY9XCIhb25seUNvbnRlbnRcIlxuICBbaWRdPVwiJ2ZpbHRlckJ1dHRvbidcIlxuICBbZGlzYWJsZWRdPVwiIWNhbk9wZW5GaWx0ZXJcIlxuICAoY2xpY2tlZCk9XCJjYW5PcGVuRmlsdGVyID8gdG9nZ2xlRGlhbG9nKCkgOiAnJ1wiXG4gIGljb25DbGFzcz1cImZhIGZhLWZpbHRlclwiXG4gIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gIFtsYWJlbF09XCJsYWJlbEJ1dHRvblwiXG4gIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gIFt0b29sdGlwXT1cImFwcGxpZWRGaWx0ZXJzVG9vbHRpcFwiXG4+XG4gIDxzcGFuIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cInRvdGFsRmlsdGVyc0FjdGl2ZSAmJiBzaG93QWN0aXZlRmlsdGVyc0NvdW50QmFkZ2VcIlxuICAgICAgY2xhc3M9XCJzZHMtYmFkZ2UtbnVtYmVyIHNkcy1jb2xvci1wcmltYXJ5IGN1c3RvbS1iYWRnZVwiXG4gICAgICA+e3sgdG90YWxGaWx0ZXJzQWN0aXZlIH19PC9zcGFuXG4gICAgPlxuICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwidG90YWxGaWx0ZXJzQWN0aXZlICYmIHNob3dBY3RpdmVGaWx0ZXJzQ291bnRCYWRnZVwiPlxuICAgICAge3sgdG90YWxGaWx0ZXJzQWN0aXZlIH19IHt7ICdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5hY3RpdmVfZmlsdGVycycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvcy1idXR0b24+XG5cbjxzZWN0aW9uICpuZ0lmPVwib25seUNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cIm9ubHktY29udGVudC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgPGgzIGlkPVwiZmlsdGVyLWhlYWRpbmdcIj57eyAncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuZmlsdGVycycgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICBjbGFzcz1cImNsb3NlX2J0blwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmFyaWFfY2xvc2VfZmlsdGVycycgfCB0cmFuc2xhdGVcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFwcC1mb3JtLWZpbHRlclwiPlxuICAgICAgPHMtYXBwLWZvcm0tZmlsdGVyXG4gICAgICAgIFtzaG93TWVzc2FnZXNdPVwiZmFsc2VcIlxuICAgICAgICAodG90YWxGaWx0ZXJzQWN0aXZlT3V0cHV0KT1cInVwZGF0ZVRvdGFsRmlsdGVyc0FjdGl2ZSgkZXZlbnQpXCJcbiAgICAgICAgKGNsb3NlTW9kYWxPdXRwdXQpPVwiY2xvc2UoKVwiXG4gICAgICAgIFtjb250ZXh0SWRdPVwiY29udGV4dElkXCJcbiAgICAgID48L3MtYXBwLWZvcm0tZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItZm9vdGVyXCIgKm5nSWY9XCIhZXJyb3JcIj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNhbmNlbCcpXCJcbiAgICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoKVwiXG4gICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImlzTW9iaWxlXCJcbiAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5hY3Rpb25zJylcIlxuICAgICAgICBbYXV4aWxpYXJ5XT1cInRydWVcIlxuICAgICAgICBbbWVudU9wdGlvbnNdPVwibW9iaWxlQnV0dG9uQWN0aW9uc1wiXG4gICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVcIj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuY2xlYXInKVwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiY2xlYXJGaWx0ZXJzKClcIlxuICAgICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2Uuc2F2ZScpXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJzYXZlRmlsdGVycygpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgcHJpb3JpdHk9XCJwcmltYXJ5XCJcbiAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5maWx0ZXInKVwiXG4gICAgICAgIChjbGlja2VkKT1cIm9uQXBwbHlGaWx0ZXJzKClcIlxuICAgICAgPjwvcy1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuXG48cC1kaWFsb2dcbiAgKm5nSWY9XCIhb25seUNvbnRlbnRcIlxuICBhcHBlbmRUbz1cImJvZHlcIlxuICBzdHlsZUNsYXNzPVwiZmlsdGVyLWRpYWxvZ1wiXG4gIFtoZWFkZXJdPVwiJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmZpbHRlcnMnIHwgdHJhbnNsYXRlXCJcbiAgW2Nsb3NlQXJpYUxhYmVsXT1cIidwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5hcmlhX2Nsb3NlX2RpYWxvZycgfCB0cmFuc2xhdGVcIlxuICBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcbiAgW21vZGFsXT1cInRydWVcIlxuICBbKHZpc2libGUpXT1cInNob3dEaWFsb2dcIlxuICBbYmxvY2tTY3JvbGxdPVwidHJ1ZVwiXG4gIFtjbG9zYWJsZV09XCJ0cnVlXCJcbiAgW2Nsb3NlT25Fc2NhcGVdPVwidHJ1ZVwiXG4gIFtmb2N1c09uU2hvd109XCJmYWxzZVwiXG4gIChvblNob3cpPVwiZm9jdXNGaXJzdEZpZWxkKClcIlxuICAob25IaWRlKT1cIm9uRGlhbG9nSGlkZSgpXCJcbj5cblxuICA8cy1hcHAtZm9ybS1maWx0ZXJcbiAgICBbc2hvd01lc3NhZ2VzXT1cInRydWVcIlxuICAgIChlcnJvck91dHB1dCk9XCJvbkVycm9yKCRldmVudClcIlxuICAgICh0b3RhbEZpbHRlcnNBY3RpdmVPdXRwdXQpPVwidXBkYXRlVG90YWxGaWx0ZXJzQWN0aXZlKCRldmVudClcIlxuICAgIFtjb250ZXh0SWRdPVwiY29udGV4dElkXCJcbiAgPjwvcy1hcHAtZm9ybS1maWx0ZXI+XG5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXJyb3IgJiYgIWhpZGVCdXR0b25zXCI+XG4gICAgICA8cy1idXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIHByaW9yaXR5PVwicHJpbWFyeVwiXG4gICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuZmlsdGVyJylcIlxuICAgICAgICAoY2xpY2tlZCk9XCJhcHBseUZpbHRlcnMoKVwiXG4gICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVcIj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2Uuc2F2ZScpXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJzYXZlRmlsdGVycygpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIHByaW9yaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNsZWFyJylcIlxuICAgICAgICAgIChjbGlja2VkKT1cImNsZWFyRmlsdGVycygpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImlzTW9iaWxlXCJcbiAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5hY3Rpb25zJylcIlxuICAgICAgICBbYXV4aWxpYXJ5XT1cInRydWVcIlxuICAgICAgICBbbWVudU9wdGlvbnNdPVwibW9iaWxlQnV0dG9uQWN0aW9uc1wiXG4gICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNhbmNlbCcpXCJcbiAgICAgICAgKGNsaWNrZWQpPVwidG9nZ2xlRGlhbG9nKCk7IGNsb3NlKClcIlxuICAgICAgPjwvcy1idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L3AtZGlhbG9nPlxuXG48cC10b2FzdCBrZXk9XCJmaWx0ZXJTZXJ2aWNlVG9hc3RLZXlcIiBbYmFzZVpJbmRleF09XCI1MDAwXCI+PC9wLXRvYXN0PlxuIl19
|