@ieeesa-npm/presentation 0.33.18 → 0.33.20
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/lib/assets/constants.json +1 -1
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +19 -54
- package/esm2022/lib/components/credit-selection/credit-selection.component.mjs +100 -0
- package/esm2022/lib/components/date-picker/date-picker.component.mjs +17 -34
- package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +3 -3
- package/esm2022/lib/components/home-group-selection/home-group-selection.component.mjs +3 -3
- package/esm2022/lib/components/select/select.component.mjs +77 -46
- package/esm2022/lib/components/time-picker/time-picker.component.mjs +21 -36
- package/esm2022/lib/models/credit-selection.model.mjs +9 -0
- package/esm2022/lib/services/form-overlay-bounds.service.mjs +175 -0
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/ieeesa-npm-presentation.mjs +417 -185
- package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
- package/lib/components/autocomplete/autocomplete.component.d.ts +3 -3
- package/lib/components/credit-selection/credit-selection.component.d.ts +57 -0
- package/lib/components/date-picker/date-picker.component.d.ts +3 -1
- package/lib/components/select/select.component.d.ts +20 -1
- package/lib/components/time-picker/time-picker.component.d.ts +3 -1
- package/lib/models/credit-selection.model.d.ts +70 -0
- package/lib/services/form-overlay-bounds.service.d.ts +85 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/src/lib/assets/constants.json +1 -1
|
@@ -14,11 +14,12 @@ import { FormControlType } from '../../models/form-control-types.model';
|
|
|
14
14
|
import { FormSupportTextComponent } from '../form-support-text/form-support-text.component';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
import * as i1 from "../../services/form-utility.service";
|
|
17
|
-
import * as i2 from "
|
|
18
|
-
import * as i3 from "@angular/
|
|
19
|
-
import * as i4 from "@angular/
|
|
20
|
-
import * as i5 from "@angular/material/
|
|
21
|
-
import * as i6 from "@angular/material/
|
|
17
|
+
import * as i2 from "../../services/form-overlay-bounds.service";
|
|
18
|
+
import * as i3 from "@angular/common";
|
|
19
|
+
import * as i4 from "@angular/forms";
|
|
20
|
+
import * as i5 from "@angular/material/form-field";
|
|
21
|
+
import * as i6 from "@angular/material/select";
|
|
22
|
+
import * as i7 from "@angular/material/core";
|
|
22
23
|
/**
|
|
23
24
|
* Component implementation supports select type of form filed and select type is configurable to support single selection or multi-selection with multilevel or single level.
|
|
24
25
|
* @export
|
|
@@ -79,15 +80,20 @@ export class SelectComponent {
|
|
|
79
80
|
// eslint-disable-next-line no-unused-vars
|
|
80
81
|
formUtilityService,
|
|
81
82
|
// eslint-disable-next-line no-unused-vars
|
|
83
|
+
formOverlayBounds,
|
|
84
|
+
// eslint-disable-next-line no-unused-vars
|
|
82
85
|
elementRef // eslint-disable-next-line no-empty-function
|
|
83
86
|
) {
|
|
84
87
|
this.formUtilityService = formUtilityService;
|
|
88
|
+
this.formOverlayBounds = formOverlayBounds;
|
|
85
89
|
this.elementRef = elementRef;
|
|
86
90
|
this.arrowDirection = false;
|
|
87
91
|
this.searchType = SearchType.AUTO;
|
|
88
92
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
89
93
|
this.dropdownInfo = dropdownInfo;
|
|
90
94
|
this._isSortNeeded = true;
|
|
95
|
+
this.isTopSelectPanelPinned = false;
|
|
96
|
+
this.pinnedPanelMaxHeight = 0;
|
|
91
97
|
this.overlayWheelListener = (event) => {
|
|
92
98
|
const target = event.target;
|
|
93
99
|
if (target?.closest('.cdk-overlay-pane'))
|
|
@@ -99,6 +105,11 @@ export class SelectComponent {
|
|
|
99
105
|
formBody.scrollLeft += event.deltaX;
|
|
100
106
|
event.preventDefault();
|
|
101
107
|
};
|
|
108
|
+
// Keeps a pinned top panel glued to its field while the page/form scrolls.
|
|
109
|
+
this.repositionPinnedPanel = () => {
|
|
110
|
+
if (this.isTopSelectPanelPinned)
|
|
111
|
+
this.pinTopSelectPanel();
|
|
112
|
+
};
|
|
102
113
|
this.formControlName = 'select';
|
|
103
114
|
this.isMultiLevel = false;
|
|
104
115
|
this.isLabelAlignedLeft = false;
|
|
@@ -184,63 +195,83 @@ export class SelectComponent {
|
|
|
184
195
|
}
|
|
185
196
|
setOverlayClipBounds() {
|
|
186
197
|
const formBody = this.getFormOverlayScrollContainer();
|
|
187
|
-
|
|
188
|
-
.documentElement;
|
|
189
|
-
const viewportHeight = this.elementRef.nativeElement.ownerDocument.defaultView?.innerHeight ?? 0;
|
|
190
|
-
if (!formBody || !viewportHeight)
|
|
198
|
+
if (!formBody)
|
|
191
199
|
return;
|
|
192
|
-
const formBodyRect = formBody.getBoundingClientRect();
|
|
193
|
-
documentElement.style.setProperty('--ieeesa-form-overlay-clip-top', `${Math.max(0, Math.floor(formBodyRect.top))}px`);
|
|
194
|
-
documentElement.style.setProperty('--ieeesa-form-overlay-clip-bottom', `${Math.max(0, viewportHeight - Math.ceil(formBodyRect.bottom))}px`);
|
|
195
200
|
this.formOverlayScrollContainer = formBody;
|
|
196
|
-
this.elementRef.nativeElement.ownerDocument
|
|
197
|
-
|
|
201
|
+
const ownerDocument = this.elementRef.nativeElement.ownerDocument;
|
|
202
|
+
ownerDocument.addEventListener('wheel', this.overlayWheelListener, {
|
|
203
|
+
capture: true,
|
|
204
|
+
passive: false,
|
|
205
|
+
});
|
|
206
|
+
ownerDocument.defaultView?.addEventListener('scroll', this.repositionPinnedPanel, true);
|
|
207
|
+
ownerDocument.defaultView?.addEventListener('resize', this.repositionPinnedPanel);
|
|
198
208
|
}
|
|
199
209
|
getFormOverlayScrollContainer() {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
];
|
|
204
|
-
return (candidates.find((element) => {
|
|
205
|
-
if (!element)
|
|
206
|
-
return false;
|
|
207
|
-
const overflowY = getComputedStyle(element).overflowY;
|
|
208
|
-
return ((overflowY === 'auto' || overflowY === 'scroll') &&
|
|
209
|
-
element.scrollHeight > element.clientHeight);
|
|
210
|
-
}) ??
|
|
211
|
-
candidates.find((element) => !!element) ??
|
|
212
|
-
null);
|
|
210
|
+
// Containment is owned by FormOverlayBoundsService, which also keeps the clip
|
|
211
|
+
// band current while the page scrolls.
|
|
212
|
+
return this.formOverlayBounds.contain(this.elementRef.nativeElement);
|
|
213
213
|
}
|
|
214
214
|
clearOverlayClipBounds() {
|
|
215
|
-
this.elementRef.nativeElement.ownerDocument
|
|
215
|
+
const ownerDocument = this.elementRef.nativeElement.ownerDocument;
|
|
216
|
+
ownerDocument.removeEventListener('wheel', this.overlayWheelListener, true);
|
|
217
|
+
ownerDocument.defaultView?.removeEventListener('scroll', this.repositionPinnedPanel, true);
|
|
218
|
+
ownerDocument.defaultView?.removeEventListener('resize', this.repositionPinnedPanel);
|
|
219
|
+
this.isTopSelectPanelPinned = false;
|
|
220
|
+
this.pinnedPanelMaxHeight = 0;
|
|
216
221
|
this.formOverlayScrollContainer = undefined;
|
|
222
|
+
this.formOverlayBounds.release();
|
|
217
223
|
const documentElement = this.elementRef.nativeElement.ownerDocument
|
|
218
224
|
.documentElement;
|
|
219
|
-
documentElement.classList.remove('ieeesa-form-overlay-open');
|
|
220
|
-
documentElement.style.removeProperty('--ieeesa-form-overlay-clip-top');
|
|
221
|
-
documentElement.style.removeProperty('--ieeesa-form-overlay-clip-bottom');
|
|
222
225
|
documentElement.style.removeProperty('--ieeesa-form-select-panel-top');
|
|
223
226
|
documentElement.style.removeProperty('--ieeesa-form-select-panel-max-height');
|
|
224
227
|
documentElement.classList.remove('ieeesa-form-top-select-open');
|
|
225
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Material flips the panel above its field when it will not fit below. Inside a
|
|
231
|
+
* form that pushes the panel over the form's heading and pinned tab strip, so
|
|
232
|
+
* when the field is near the top of the usable band the panel is forced back
|
|
233
|
+
* below the field and capped to the space left inside the band.
|
|
234
|
+
* @memberof SelectComponent
|
|
235
|
+
*/
|
|
226
236
|
keepTopSelectPanelInsideFormBody() {
|
|
227
|
-
const
|
|
237
|
+
const band = this.formOverlayBounds.getBand();
|
|
238
|
+
const overlayPane = this.elementRef.nativeElement.ownerDocument
|
|
239
|
+
.querySelector('.ieeesa-select-overlay-pane');
|
|
240
|
+
if (!band || !overlayPane)
|
|
241
|
+
return;
|
|
242
|
+
const panelRect = overlayPane.getBoundingClientRect();
|
|
243
|
+
const opensUpward = overlayPane.classList.contains('mat-mdc-select-panel-above');
|
|
244
|
+
// Only the upward panel that crosses the top of the band visibly escapes the
|
|
245
|
+
// form, so pin that one below its field and keep it pinned while scrolling.
|
|
246
|
+
if (!opensUpward || panelRect.top >= band.top) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
this.isTopSelectPanelPinned = true;
|
|
250
|
+
this.pinTopSelectPanel();
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Positions the pinned panel just below its field, recomputed from the current
|
|
254
|
+
* trigger and band so it tracks the field as the page/form scrolls instead of
|
|
255
|
+
* staying at a stale fixed offset.
|
|
256
|
+
* @memberof SelectComponent
|
|
257
|
+
*/
|
|
258
|
+
pinTopSelectPanel() {
|
|
259
|
+
const band = this.formOverlayBounds.getBand();
|
|
228
260
|
const selectTrigger = this.elementRef.nativeElement.querySelector('.mat-mdc-select-trigger');
|
|
229
261
|
const overlayPane = this.elementRef.nativeElement.ownerDocument
|
|
230
262
|
.querySelector('.ieeesa-select-overlay-pane');
|
|
231
263
|
const selectPanel = overlayPane?.querySelector('.mat-mdc-select-panel');
|
|
232
|
-
if (!
|
|
264
|
+
if (!band || !selectTrigger || !overlayPane || !selectPanel)
|
|
233
265
|
return;
|
|
234
|
-
const formBodyRect = formBody.getBoundingClientRect();
|
|
235
266
|
const triggerRect = selectTrigger.getBoundingClientRect();
|
|
236
|
-
const triggerOffsetFromFormTop = triggerRect.top - formBodyRect.top;
|
|
237
|
-
const minimumSpaceBelow = 120;
|
|
238
|
-
if (!overlayPane.classList.contains('mat-mdc-select-panel-above') ||
|
|
239
|
-
triggerOffsetFromFormTop > minimumSpaceBelow) {
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
267
|
const top = triggerRect.bottom + 4;
|
|
243
|
-
|
|
268
|
+
// Size the panel once so it keeps a stable height while scrolling; only the
|
|
269
|
+
// top position tracks the trigger, otherwise the panel grows as the field
|
|
270
|
+
// moves up the band.
|
|
271
|
+
if (!this.pinnedPanelMaxHeight) {
|
|
272
|
+
this.pinnedPanelMaxHeight = Math.max(160, Math.floor(band.bottom - top - 8));
|
|
273
|
+
}
|
|
274
|
+
const maxHeight = this.pinnedPanelMaxHeight;
|
|
244
275
|
const documentElement = this.elementRef.nativeElement.ownerDocument
|
|
245
276
|
.documentElement;
|
|
246
277
|
overlayPane.style.top = `${Math.round(top)}px`;
|
|
@@ -323,7 +354,7 @@ export class SelectComponent {
|
|
|
323
354
|
});
|
|
324
355
|
return sort;
|
|
325
356
|
}
|
|
326
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, deps: [{ token: i1.FormUtilityService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
357
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, deps: [{ token: i1.FormUtilityService }, { token: i2.FormOverlayBoundsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
327
358
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectComponent, isStandalone: true, selector: "ieeesa-select", inputs: { isSortNeeded: "isSortNeeded", dropdownOptions: "dropdownOptions", selectedOptions: "selectedOptions", formControlName: "formControlName", isMultiLevel: "isMultiLevel", isLabelAlignedLeft: "isLabelAlignedLeft", selectLabel: "selectLabel", isMultiSelect: "isMultiSelect", isDisabled: "isDisabled", isSearch: "isSearch", placeholderText: "placeholderText" }, outputs: { optionSelected: "optionSelected", optionSearched: "optionSearched", dropdownOpenedChange: "dropdownOpenedChange" }, providers: [
|
|
328
359
|
{
|
|
329
360
|
provide: MAT_SELECT_CONFIG,
|
|
@@ -334,7 +365,7 @@ export class SelectComponent {
|
|
|
334
365
|
useFactory: (overlay) => () => overlay.scrollStrategies.reposition(),
|
|
335
366
|
deps: [Overlay],
|
|
336
367
|
},
|
|
337
|
-
], viewQueries: [{ propertyName: "formFields", predicate: SearchComponent, descendants: true }], ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-select-field\"\r\n *ngIf=\"group\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-select-field__label-left'\r\n : 'ieeesa-select-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-select-field__label\">{{\r\n selectLabel\r\n }}</mat-label>\r\n <mat-form-field\r\n [ngClass]=\"\r\n arrowDirection\r\n ? 'ieeesa-select-field__arrow-up'\r\n : 'ieeesa-select-field__arrow-down'\r\n \"\r\n >\r\n <mat-select\r\n disableOptionCentering\r\n *ngIf=\"isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [multiple]=\"isMultiSelect\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n [compareWith]=\"comparer\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n\r\n <mat-select\r\n disableOptionCentering\r\n [compareWith]=\"comparer\"\r\n *ngIf=\"!isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n [multiple]=\"isMultiSelect\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-select-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-select-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-select-field .mat-mdc-select-min-line{font-family:Calibri Regular;color:#1c1b1f;font-size:1rem}.ieeesa-select-field .mat-mdc-select-placeholder{color:#63666a}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-bottom:5px solid #49454f}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-top:5px solid #49454f}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__label-left{display:flex}.ieeesa-select-field__label-top{display:block}.ieeesa-select-field .mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-select-field .mat-mdc-text-field-wrapper{height:40px}.ieeesa-select-field .mat-mdc-text-field-wrapper .mat-mdc-select{position:relative;bottom:9px}.ieeesa-select-field:has(.mdc-text-field--focused):not(.mdc-text-field--disabled) .ieeesa-select-field__label{color:#00629b!important}.ieeesa-select-field .mat-mdc-text-field-wrapper{background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-select-field .mdc-text-field--focused{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:after{border-bottom-color:#00629b!important}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .ieeesa-select-field__label{color:#ba0c2f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.ieeesa-select-field .mdc-text-field--filled:not(.mdc-text-field--disabled),.ieeesa-select-field .mdc-text-field--focused,.ieeesa-select-field .mat-mdc-form-field-focus-overlay{background:#fff!important}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:before,.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:after{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mat-mdc-select-arrow-wrapper{display:none}.ieeesa-select-field .ieeesa-select-field:has(.mdc-text-field--disabled) .ieeesa-select-field__label__label{color:#49454f!important}.ieeesa-select-overlay-pane.cdk-overlay-pane{min-width:auto}.ieeesa-select-overlay-pane .mat-mdc-select-panel{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px 1px #00000026,0 1px 2px #0000004d;max-height:var(--ieeesa-form-select-panel-max-height, 168px)}.ieeesa-select-overlay-pane .mdc-list-item__primary-text{color:#1c1b1f!important;font-family:Calibri Regular!important;font-size:1rem!important}.ieeesa-select-overlay-pane .mdc-list-item--selected{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-mdc-option{padding:0 1.125em 0 .625em;min-height:1.75em}.ieeesa-select-overlay-pane .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:0;float:right}.ieeesa-select-overlay-pane .mat-mdc-option:hover{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after{display:none}.ieeesa-select-overlay-pane .ieeesa-search-field .mat-mdc-form-field-infix{width:100%}:has(.ieeesa-select-overlay-pane) .mat-mdc-select-placeholder{color:#878b8f}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){z-index:4}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above{top:var(--ieeesa-form-select-panel-top)!important;bottom:auto!important}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above .mat-mdc-select-panel{max-height:var(--ieeesa-form-select-panel-max-height)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SearchComponent, selector: "ieeesa-search", inputs: ["formControlName", "placeholderLabel", "searchTerm", "supportMessage", "searchType", "minCharacterToSearch"], outputs: ["searchValue"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
368
|
+
], viewQueries: [{ propertyName: "formFields", predicate: SearchComponent, descendants: true }], ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-select-field\"\r\n *ngIf=\"group\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-select-field__label-left'\r\n : 'ieeesa-select-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-select-field__label\">{{\r\n selectLabel\r\n }}</mat-label>\r\n <mat-form-field\r\n [ngClass]=\"\r\n arrowDirection\r\n ? 'ieeesa-select-field__arrow-up'\r\n : 'ieeesa-select-field__arrow-down'\r\n \"\r\n >\r\n <mat-select\r\n disableOptionCentering\r\n *ngIf=\"isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [multiple]=\"isMultiSelect\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n [compareWith]=\"comparer\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n\r\n <mat-select\r\n disableOptionCentering\r\n [compareWith]=\"comparer\"\r\n *ngIf=\"!isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n [multiple]=\"isMultiSelect\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-select-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-select-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-select-field .mat-mdc-select-min-line{font-family:Calibri Regular;color:#1c1b1f;font-size:1rem}.ieeesa-select-field .mat-mdc-select-placeholder{color:#63666a}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-bottom:5px solid #49454f}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-top:5px solid #49454f}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__label-left{display:flex}.ieeesa-select-field__label-top{display:block}.ieeesa-select-field .mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-select-field .mat-mdc-text-field-wrapper{height:40px}.ieeesa-select-field .mat-mdc-text-field-wrapper .mat-mdc-select{position:relative;bottom:9px}.ieeesa-select-field:has(.mdc-text-field--focused):not(.mdc-text-field--disabled) .ieeesa-select-field__label{color:#00629b!important}.ieeesa-select-field .mat-mdc-text-field-wrapper{background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-select-field .mdc-text-field--focused{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:after{border-bottom-color:#00629b!important}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .ieeesa-select-field__label{color:#ba0c2f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.ieeesa-select-field .mdc-text-field--filled:not(.mdc-text-field--disabled),.ieeesa-select-field .mdc-text-field--focused,.ieeesa-select-field .mat-mdc-form-field-focus-overlay{background:#fff!important}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:before,.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:after{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mat-mdc-select-arrow-wrapper{display:none}.ieeesa-select-field .ieeesa-select-field:has(.mdc-text-field--disabled) .ieeesa-select-field__label__label{color:#49454f!important}.ieeesa-select-overlay-pane.cdk-overlay-pane{min-width:auto}.ieeesa-select-overlay-pane .mat-mdc-select-panel{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px 1px #00000026,0 1px 2px #0000004d;max-height:var(--ieeesa-form-select-panel-max-height, 280px)}.ieeesa-select-overlay-pane .mdc-list-item__primary-text{color:#1c1b1f!important;font-family:Calibri Regular!important;font-size:1rem!important}.ieeesa-select-overlay-pane .mdc-list-item--selected{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-mdc-option{padding:0 1.125em 0 .625em;min-height:1.75em}.ieeesa-select-overlay-pane .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:0;float:right}.ieeesa-select-overlay-pane .mat-mdc-option:hover{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after{display:none}.ieeesa-select-overlay-pane .ieeesa-search-field .mat-mdc-form-field-infix{width:100%}:has(.ieeesa-select-overlay-pane) .mat-mdc-select-placeholder{color:#878b8f}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){z-index:4}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above{top:var(--ieeesa-form-select-panel-top)!important;bottom:auto!important}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above .mat-mdc-select-panel{max-height:var(--ieeesa-form-select-panel-max-height)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SearchComponent, selector: "ieeesa-search", inputs: ["formControlName", "placeholderLabel", "searchTerm", "supportMessage", "searchType", "minCharacterToSearch"], outputs: ["searchValue"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
338
369
|
}
|
|
339
370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, decorators: [{
|
|
340
371
|
type: Component,
|
|
@@ -358,8 +389,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
358
389
|
useFactory: (overlay) => () => overlay.scrollStrategies.reposition(),
|
|
359
390
|
deps: [Overlay],
|
|
360
391
|
},
|
|
361
|
-
], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-select-field\"\r\n *ngIf=\"group\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-select-field__label-left'\r\n : 'ieeesa-select-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-select-field__label\">{{\r\n selectLabel\r\n }}</mat-label>\r\n <mat-form-field\r\n [ngClass]=\"\r\n arrowDirection\r\n ? 'ieeesa-select-field__arrow-up'\r\n : 'ieeesa-select-field__arrow-down'\r\n \"\r\n >\r\n <mat-select\r\n disableOptionCentering\r\n *ngIf=\"isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [multiple]=\"isMultiSelect\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n [compareWith]=\"comparer\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n\r\n <mat-select\r\n disableOptionCentering\r\n [compareWith]=\"comparer\"\r\n *ngIf=\"!isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n [multiple]=\"isMultiSelect\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-select-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-select-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-select-field .mat-mdc-select-min-line{font-family:Calibri Regular;color:#1c1b1f;font-size:1rem}.ieeesa-select-field .mat-mdc-select-placeholder{color:#63666a}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-bottom:5px solid #49454f}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-top:5px solid #49454f}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__label-left{display:flex}.ieeesa-select-field__label-top{display:block}.ieeesa-select-field .mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-select-field .mat-mdc-text-field-wrapper{height:40px}.ieeesa-select-field .mat-mdc-text-field-wrapper .mat-mdc-select{position:relative;bottom:9px}.ieeesa-select-field:has(.mdc-text-field--focused):not(.mdc-text-field--disabled) .ieeesa-select-field__label{color:#00629b!important}.ieeesa-select-field .mat-mdc-text-field-wrapper{background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-select-field .mdc-text-field--focused{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:after{border-bottom-color:#00629b!important}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .ieeesa-select-field__label{color:#ba0c2f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.ieeesa-select-field .mdc-text-field--filled:not(.mdc-text-field--disabled),.ieeesa-select-field .mdc-text-field--focused,.ieeesa-select-field .mat-mdc-form-field-focus-overlay{background:#fff!important}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:before,.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:after{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mat-mdc-select-arrow-wrapper{display:none}.ieeesa-select-field .ieeesa-select-field:has(.mdc-text-field--disabled) .ieeesa-select-field__label__label{color:#49454f!important}.ieeesa-select-overlay-pane.cdk-overlay-pane{min-width:auto}.ieeesa-select-overlay-pane .mat-mdc-select-panel{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px 1px #00000026,0 1px 2px #0000004d;max-height:var(--ieeesa-form-select-panel-max-height, 168px)}.ieeesa-select-overlay-pane .mdc-list-item__primary-text{color:#1c1b1f!important;font-family:Calibri Regular!important;font-size:1rem!important}.ieeesa-select-overlay-pane .mdc-list-item--selected{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-mdc-option{padding:0 1.125em 0 .625em;min-height:1.75em}.ieeesa-select-overlay-pane .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:0;float:right}.ieeesa-select-overlay-pane .mat-mdc-option:hover{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after{display:none}.ieeesa-select-overlay-pane .ieeesa-search-field .mat-mdc-form-field-infix{width:100%}:has(.ieeesa-select-overlay-pane) .mat-mdc-select-placeholder{color:#878b8f}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){z-index:4}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above{top:var(--ieeesa-form-select-panel-top)!important;bottom:auto!important}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above .mat-mdc-select-panel{max-height:var(--ieeesa-form-select-panel-max-height)!important}\n"] }]
|
|
362
|
-
}], ctorParameters: function () { return [{ type: i1.FormUtilityService }, { type: i0.ElementRef }]; }, propDecorators: { formFields: [{
|
|
392
|
+
], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-select-field\"\r\n *ngIf=\"group\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-select-field__label-left'\r\n : 'ieeesa-select-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-select-field__label\">{{\r\n selectLabel\r\n }}</mat-label>\r\n <mat-form-field\r\n [ngClass]=\"\r\n arrowDirection\r\n ? 'ieeesa-select-field__arrow-up'\r\n : 'ieeesa-select-field__arrow-down'\r\n \"\r\n >\r\n <mat-select\r\n disableOptionCentering\r\n *ngIf=\"isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [multiple]=\"isMultiSelect\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n [compareWith]=\"comparer\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n\r\n <mat-select\r\n disableOptionCentering\r\n [compareWith]=\"comparer\"\r\n *ngIf=\"!isMultiSelect\"\r\n (click)=\"prepareSelectOverlayPosition()\"\r\n [multiple]=\"isMultiSelect\"\r\n (openedChange)=\"updateArrowDirection($event)\"\r\n (selectionChange)=\"onChange($event.value)\"\r\n [formControlName]=\"config.controlName\"\r\n [disabled]=\"isDisabled\"\r\n [aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"placeholderText\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isSearch && arrowDirection\"\r\n [searchType]=\"searchType\"\r\n (searchValue)=\"onOptionSearch($event)\"\r\n ></ieeesa-search>\r\n <ng-container\r\n *ngIf=\"!isMultiLevel\"\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: dropdownOptions }\"\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"isMultiLevel\">\r\n <mat-optgroup\r\n *ngFor=\"let option of dropdownOptions; trackBy: trackByFn\"\r\n [label]=\"option.name\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"dropdownOptionsTemplateRef\"\r\n [ngTemplateOutletContext]=\"{ data: option.option_groups }\"\r\n >\r\n </ng-container>\r\n </mat-optgroup>\r\n </ng-container>\r\n <ng-template #dropdownOptionsTemplateRef let-options=\"data\">\r\n <mat-option\r\n *ngFor=\"let option of options; trackBy: trackByFn\"\r\n [value]=\"option\"\r\n >\r\n {{ option.name }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-select-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-select-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-select-field .mat-mdc-select-min-line{font-family:Calibri Regular;color:#1c1b1f;font-size:1rem}.ieeesa-select-field .mat-mdc-select-placeholder{color:#63666a}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-bottom:5px solid #49454f}.ieeesa-select-field__arrow-up .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow{border-left:5px solid transparent;border-right:5px solid transparent;transform:rotate(0);-webkit-transform:rotate(0);border-top:5px solid #49454f}.ieeesa-select-field__arrow-down .mat-mdc-select-arrow svg{display:none}.ieeesa-select-field__label-left{display:flex}.ieeesa-select-field__label-top{display:block}.ieeesa-select-field .mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-select-field .mat-mdc-text-field-wrapper{height:40px}.ieeesa-select-field .mat-mdc-text-field-wrapper .mat-mdc-select{position:relative;bottom:9px}.ieeesa-select-field:has(.mdc-text-field--focused):not(.mdc-text-field--disabled) .ieeesa-select-field__label{color:#00629b!important}.ieeesa-select-field .mat-mdc-text-field-wrapper{background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-select-field .mdc-text-field--focused{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:after{border-bottom-color:#00629b!important}.ieeesa-select-field .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .ieeesa-select-field__label{color:#ba0c2f!important}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-select-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.ieeesa-select-field .mdc-text-field--filled:not(.mdc-text-field--disabled),.ieeesa-select-field .mdc-text-field--focused,.ieeesa-select-field .mat-mdc-form-field-focus-overlay{background:#fff!important}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:before,.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple:after{border:none}.ieeesa-select-field .mdc-text-field--filled.mdc-text-field--disabled .mat-mdc-select-arrow-wrapper{display:none}.ieeesa-select-field .ieeesa-select-field:has(.mdc-text-field--disabled) .ieeesa-select-field__label__label{color:#49454f!important}.ieeesa-select-overlay-pane.cdk-overlay-pane{min-width:auto}.ieeesa-select-overlay-pane .mat-mdc-select-panel{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px 1px #00000026,0 1px 2px #0000004d;max-height:var(--ieeesa-form-select-panel-max-height, 280px)}.ieeesa-select-overlay-pane .mdc-list-item__primary-text{color:#1c1b1f!important;font-family:Calibri Regular!important;font-size:1rem!important}.ieeesa-select-overlay-pane .mdc-list-item--selected{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-mdc-option{padding:0 1.125em 0 .625em;min-height:1.75em}.ieeesa-select-overlay-pane .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:0;float:right}.ieeesa-select-overlay-pane .mat-mdc-option:hover{background-color:#dae9f1!important}.ieeesa-select-overlay-pane .mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after{display:none}.ieeesa-select-overlay-pane .ieeesa-search-field .mat-mdc-form-field-infix{width:100%}:has(.ieeesa-select-overlay-pane) .mat-mdc-select-placeholder{color:#878b8f}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){z-index:4}html.ieeesa-form-overlay-open .cdk-overlay-container:has(.ieeesa-select-overlay-pane):not(:has(.mat-mdc-dialog-container)){clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above{top:var(--ieeesa-form-select-panel-top)!important;bottom:auto!important}html.ieeesa-form-top-select-open .cdk-overlay-pane.ieeesa-select-overlay-pane.mat-mdc-select-panel-above .mat-mdc-select-panel{max-height:var(--ieeesa-form-select-panel-max-height)!important}\n"] }]
|
|
393
|
+
}], ctorParameters: function () { return [{ type: i1.FormUtilityService }, { type: i2.FormOverlayBoundsService }, { type: i0.ElementRef }]; }, propDecorators: { formFields: [{
|
|
363
394
|
type: ViewChildren,
|
|
364
395
|
args: [SearchComponent]
|
|
365
396
|
}], isSortNeeded: [{
|
|
@@ -391,4 +422,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
391
422
|
}], dropdownOpenedChange: [{
|
|
392
423
|
type: Output
|
|
393
424
|
}] } });
|
|
394
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixZQUFZLEVBRVosaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLGVBQWUsR0FDaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEtBQUssWUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FB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QkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkluaXQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkcmVuLFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHtcclxuICBNQVRfU0VMRUNUX0NPTkZJRyxcclxuICBNQVRfU0VMRUNUX1NDUk9MTF9TVFJBVEVHWSxcclxuICBNYXRTZWxlY3RNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vbW9kZWxzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmllbGQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2VhcmNoVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWFyY2gubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgZHJvcGRvd25JbmZvIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXV0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wZW5lZFN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcGVuZWQtc3RhdGUubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBzZWxlY3QgdHlwZSBvZiBmb3JtIGZpbGVkIGFuZCBzZWxlY3QgdHlwZSBpcyBjb25maWd1cmFibGUgdG8gc3VwcG9ydCBzaW5nbGUgc2VsZWN0aW9uIG9yIG11bHRpLXNlbGVjdGlvbiB3aXRoIG11bHRpbGV2ZWwgb3Igc2luZ2xlIGxldmVsLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBTZWxlY3RDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkRlc3Ryb3l9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1zZWxlY3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1FcnJvckNvbXBvbmVudCxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcclxuICAgICAgdXNlVmFsdWU6IHsgb3ZlcmxheVBhbmVsQ2xhc3M6ICdpZWVlc2Etc2VsZWN0LW92ZXJsYXktcGFuZScgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9TRUxFQ1RfU0NST0xMX1NUUkFURUdZLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3ZlcmxheTogT3ZlcmxheSkgPT4gKCkgPT5cclxuICAgICAgICBvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxyXG4gICAgICBkZXBzOiBbT3ZlcmxheV0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkcmVuKFNlYXJjaENvbXBvbmVudClcclxuICBmb3JtRmllbGRzITogUXVlcnlMaXN0PFNlYXJjaENvbXBvbmVudD47XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgYXJyb3dEaXJlY3Rpb24gPSBmYWxzZTtcclxuICBzZWFyY2hUeXBlID0gU2VhcmNoVHlwZS5BVVRPO1xyXG4gIHNvcnRlZE9wdGlvbnMhOiBTZWxlY3RPcHRpb25bXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGRyb3Bkb3duSW5mbzogYW55ID0gZHJvcGRvd25JbmZvO1xyXG4gIHByaXZhdGUgX2Ryb3Bkb3duT3B0aW9ucyE6IFNlbGVjdE9wdGlvbltdO1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkT3B0aW9ucyE6IFNlbGVjdE9wdGlvbiB8IFNlbGVjdE9wdGlvbltdO1xyXG4gIHByaXZhdGUgX2lzU29ydE5lZWRlZCA9IHRydWU7XHJcbiAgcHJpdmF0ZSB1bnNvcnRlZERyb3Bkb3duT3B0aW9ucyE6IFNlbGVjdE9wdGlvbltdO1xyXG4gIHByaXZhdGUgZm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlXaGVlbExpc3RlbmVyID0gKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudCB8IG51bGw7XHJcbiAgICBpZiAodGFyZ2V0Py5jbG9zZXN0KCcuY2RrLW92ZXJsYXktcGFuZScpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZm9ybUJvZHkgPSB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyO1xyXG4gICAgaWYgKCFmb3JtQm9keSB8fCBmb3JtQm9keS5zY3JvbGxIZWlnaHQgPD0gZm9ybUJvZHkuY2xpZW50SGVpZ2h0KSByZXR1cm47XHJcblxyXG4gICAgZm9ybUJvZHkuc2Nyb2xsVG9wICs9IGV2ZW50LmRlbHRhWTtcclxuICAgIGZvcm1Cb2R5LnNjcm9sbExlZnQgKz0gZXZlbnQuZGVsdGFYO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIFRha2VzIGlzU29ydE5lZWRlZCBhcyBpbnB1dCB0byBjaGVjayBpZiB0aGUgcGFzc2VkIG9wdGlvbnMgYXJlIHNvcnRlZCBvciBub3QuXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzU29ydE5lZWRlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNTb3J0TmVlZGVkID0gdmFsdWU7XHJcbiAgICBpZiAoIXZhbHVlICYmIHRoaXMudW5zb3J0ZWREcm9wZG93bk9wdGlvbnMpXHJcbiAgICAgIHRoaXMuX2Ryb3Bkb3duT3B0aW9ucyA9IHRoaXMudW5zb3J0ZWREcm9wZG93bk9wdGlvbnM7XHJcbiAgfVxyXG4gIGdldCBpc1NvcnROZWVkZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNTb3J0TmVlZGVkO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBkcm9wZG93biBvcHRpb25zIGZvciBzZWxlY3Rpb24uXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRyb3Bkb3duT3B0aW9ucyh2YWx1ZTogU2VsZWN0T3B0aW9uW10pIHtcclxuICAgIGlmICh2YWx1ZSkgdGhpcy51bnNvcnRlZERyb3Bkb3duT3B0aW9ucyA9IFsuLi52YWx1ZV07XHJcbiAgICBpZiAodGhpcy5pc1NvcnROZWVkZWQgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5fZHJvcGRvd25PcHRpb25zID0gdGhpcy5hcnJheVNvcnRpbmcodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZHJvcGRvd25PcHRpb25zID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBkcm9wZG93bk9wdGlvbnMoKTogU2VsZWN0T3B0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duT3B0aW9ucztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgc2VsZWN0ZWQgb3B0aW9uXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogU2VsZWN0T3B0aW9uIHwgU2VsZWN0T3B0aW9uW10pIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3RlZE9wdGlvbnMgPSB0aGlzLmFycmF5U29ydGluZyh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zZWxlY3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lICYmIHRoaXMuZ3JvdXApIHtcclxuICAgICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5zZXRWYWx1ZSh0aGlzLl9zZWxlY3RlZE9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgc2VsZWN0ZWRPcHRpb25zKCk6IFNlbGVjdE9wdGlvbiB8IFNlbGVjdE9wdGlvbltdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE9wdGlvbnM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdzZWxlY3QnO1xyXG4gIEBJbnB1dCgpIGlzTXVsdGlMZXZlbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGFiZWxBbGlnbmVkTGVmdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdExhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgaXNNdWx0aVNlbGVjdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1NlYXJjaCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyVGV4dCA9IHRoaXMuZHJvcGRvd25JbmZvLmRyb3Bkb3duLnBsYWNlaG9sZGVyVGV4dDtcclxuICBAT3V0cHV0KCkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgb3B0aW9uU2VhcmNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wZW5lZFN0YXRlPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIGNvbXBvbmVudHMgaW5zdGFuY2UgcHJvcGVydGllcyBmcm9tIGNvbmZpZyBpZiBpdHMgZGVmaW5lZCBvdGhlcndpc2UgY3JlYXRlcyBmb3JtIGdyb3VwIGFuZCBjb25maWcuXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVBcnJvd0RpcmVjdGlvbihmYWxzZSk7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/PyB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xyXG4gICAgdGhpcy5jb25maWcgPVxyXG4gICAgICB0aGlzLmNvbmZpZyA/P1xyXG4gICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtRmllbGRDb25maWcoXHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLlNFTEVDVFxyXG4gICAgICApO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuaXNNdWx0aVNlbGVjdCA9IHRoaXMuY29uZmlnLmlzTXVsdGlTZWxlY3QgPz8gZmFsc2U7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25PcHRpb25zID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8uZHJvcGRvd25PcHRpb25zID8/IHRoaXMuZHJvcGRvd25PcHRpb25zO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zID8/IHRoaXMuY29uZmlnPy52YWx1ZTtcclxuICAgICAgdGhpcy5zZWxlY3RMYWJlbCA9IHRoaXMuY29uZmlnPy5sYWJlbCA/PyB0aGlzLnNlbGVjdExhYmVsO1xyXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyVGV4dCA9IHRoaXMuY29uZmlnPy5wbGFjZWhvbGRlciA/PyB0aGlzLnBsYWNlaG9sZGVyVGV4dDtcclxuICAgICAgdGhpcy5pc011bHRpU2VsZWN0ID0gdGhpcy5jb25maWc/LmlzTXVsdGlTZWxlY3QgPz8gdGhpcy5pc011bHRpU2VsZWN0O1xyXG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0aGlzLmNvbmZpZz8uZGlzYWJsZWQgPz8gdGhpcy5pc0Rpc2FibGVkO1xyXG4gICAgICB0aGlzLnNlYXJjaFR5cGUgPSB0aGlzLmNvbmZpZz8uc2VhcmNoVHlwZSA/PyB0aGlzLnNlYXJjaFR5cGU7XHJcbiAgICAgIHRoaXMuaXNTb3J0TmVlZGVkID0gdGhpcy5jb25maWc/LmlzU29ydE5lZWRlZCA/PyB0aGlzLmlzU29ydE5lZWRlZDtcclxuICAgICAgdGhpcy5pc1NlYXJjaCA9IHRoaXMuY29uZmlnPy5pc1NlYXJjaCA/PyB0aGlzLmlzU2VhcmNoO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBzZWxlY3RlZCBvcHRpb24gb24gY2hhbmdlcyB0aGUgc2VsZWN0ZWQgb3B0aW9uLlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9ufSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBvbkNoYW5nZShldmVudDogU2VsZWN0T3B0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgc2VsZWN0IGRyb3Bkb3duIGFycm93IGRpcmVjdGlvblxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3BlbmVkXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHVwZGF0ZUFycm93RGlyZWN0aW9uKG9wZW5lZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5hcnJvd0RpcmVjdGlvbiA9IG9wZW5lZDtcclxuICAgIGlmIChvcGVuZWQpIHtcclxuICAgICAgdGhpcy5wcmVwYXJlU2VsZWN0T3ZlcmxheVBvc2l0aW9uKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZHJvcGRvd25PcGVuZWRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUsXHJcbiAgICAgIG9wZW5lZDogb3BlbmVkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlU2VsZWN0T3ZlcmxheVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRPdmVybGF5Q2xpcEJvdW5kcygpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG92ZXJsYXlQYW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudFxyXG4gICAgICAgIC5xdWVyeVNlbGVjdG9yKCcuaWVlZXNhLXNlbGVjdC1vdmVybGF5LXBhbmUnKTtcclxuICAgICAgaWYgKCFvdmVybGF5UGFuZSkge1xyXG4gICAgICAgIHRoaXMuY2xlYXJPdmVybGF5Q2xpcEJvdW5kcygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5rZWVwVG9wU2VsZWN0UGFuZWxJbnNpZGVGb3JtQm9keSgpO1xyXG4gICAgfSwgMTUwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyBmb3JtIG92ZXJsYXkgYm91bmRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgd2hpbGUgb3Blbi5cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0T3ZlcmxheUNsaXBCb3VuZHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtQm9keSA9IHRoaXMuZ2V0Rm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIoKTtcclxuICAgIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnRcclxuICAgICAgLmRvY3VtZW50RWxlbWVudDtcclxuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID1cclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz8uaW5uZXJIZWlnaHQgPz8gMDtcclxuXHJcbiAgICBpZiAoIWZvcm1Cb2R5IHx8ICF2aWV3cG9ydEhlaWdodCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGZvcm1Cb2R5UmVjdCA9IGZvcm1Cb2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAnLS1pZWVlc2EtZm9ybS1vdmVybGF5LWNsaXAtdG9wJyxcclxuICAgICAgYCR7TWF0aC5tYXgoMCwgTWF0aC5mbG9vcihmb3JtQm9keVJlY3QudG9wKSl9cHhgXHJcbiAgICApO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAnLS1pZWVlc2EtZm9ybS1vdmVybGF5LWNsaXAtYm90dG9tJyxcclxuICAgICAgYCR7TWF0aC5tYXgoMCwgdmlld3BvcnRIZWlnaHQgLSBNYXRoLmNlaWwoZm9ybUJvZHlSZWN0LmJvdHRvbSkpfXB4YFxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIgPSBmb3JtQm9keTtcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3doZWVsJyxcclxuICAgICAgdGhpcy5vdmVybGF5V2hlZWxMaXN0ZW5lcixcclxuICAgICAgeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XHJcbiAgICApO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2llZWVzYS1mb3JtLW92ZXJsYXktb3BlbicpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb3JtT3ZlcmxheVNjcm9sbENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xyXG4gICAgY29uc3QgY2FuZGlkYXRlcyA9IFtcclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLmllZWVzYS1keW5hbWljLWZvcm1fX2JvZHknKSxcclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLmllZWVzYS1zdGVwcGVyX19jb250ZW50JyksXHJcbiAgICBdIGFzIChIVE1MRWxlbWVudCB8IG51bGwpW107XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgY2FuZGlkYXRlcy5maW5kKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKCFlbGVtZW50KSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIGNvbnN0IG92ZXJmbG93WSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkub3ZlcmZsb3dZO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAob3ZlcmZsb3dZID09PSAnYXV0bycgfHwgb3ZlcmZsb3dZID09PSAnc2Nyb2xsJykgJiZcclxuICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gZWxlbWVudC5jbGllbnRIZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICB9KSA/P1xyXG4gICAgICBjYW5kaWRhdGVzLmZpbmQoKGVsZW1lbnQpID0+ICEhZWxlbWVudCkgPz9cclxuICAgICAgbnVsbFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJPdmVybGF5Q2xpcEJvdW5kcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3doZWVsJyxcclxuICAgICAgdGhpcy5vdmVybGF5V2hlZWxMaXN0ZW5lcixcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIgPSB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50XHJcbiAgICAgIC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnaWVlZXNhLWZvcm0tb3ZlcmxheS1vcGVuJyk7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0taWVlZXNhLWZvcm0tb3ZlcmxheS1jbGlwLXRvcCcpO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWllZWVzYS1mb3JtLW92ZXJsYXktY2xpcC1ib3R0b20nKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1pZWVlc2EtZm9ybS1zZWxlY3QtcGFuZWwtdG9wJyk7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0taWVlZXNhLWZvcm0tc2VsZWN0LXBhbmVsLW1heC1oZWlnaHQnKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpZWVlc2EtZm9ybS10b3Atc2VsZWN0LW9wZW4nKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUga2VlcFRvcFNlbGVjdFBhbmVsSW5zaWRlRm9ybUJvZHkoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtQm9keSA9IHRoaXMuZm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXI7XHJcbiAgICBjb25zdCBzZWxlY3RUcmlnZ2VyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgJy5tYXQtbWRjLXNlbGVjdC10cmlnZ2VyJ1xyXG4gICAgKTtcclxuICAgIGNvbnN0IG92ZXJsYXlQYW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudFxyXG4gICAgICAucXVlcnlTZWxlY3RvcignLmllZWVzYS1zZWxlY3Qtb3ZlcmxheS1wYW5lJykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xyXG4gICAgY29uc3Qgc2VsZWN0UGFuZWwgPSBvdmVybGF5UGFuZT8ucXVlcnlTZWxlY3RvcihcclxuICAgICAgJy5tYXQtbWRjLXNlbGVjdC1wYW5lbCdcclxuICAgICkgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xyXG5cclxuICAgIGlmICghZm9ybUJvZHkgfHwgIXNlbGVjdFRyaWdnZXIgfHwgIW92ZXJsYXlQYW5lIHx8ICFzZWxlY3RQYW5lbCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGZvcm1Cb2R5UmVjdCA9IGZvcm1Cb2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdHJpZ2dlclJlY3QgPSBzZWxlY3RUcmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdHJpZ2dlck9mZnNldEZyb21Gb3JtVG9wID0gdHJpZ2dlclJlY3QudG9wIC0gZm9ybUJvZHlSZWN0LnRvcDtcclxuICAgIGNvbnN0IG1pbmltdW1TcGFjZUJlbG93ID0gMTIwO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgIW92ZXJsYXlQYW5lLmNsYXNzTGlzdC5jb250YWlucygnbWF0LW1kYy1zZWxlY3QtcGFuZWwtYWJvdmUnKSB8fFxyXG4gICAgICB0cmlnZ2VyT2Zmc2V0RnJvbUZvcm1Ub3AgPiBtaW5pbXVtU3BhY2VCZWxvd1xyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0b3AgPSB0cmlnZ2VyUmVjdC5ib3R0b20gKyA0O1xyXG4gICAgY29uc3QgbWF4SGVpZ2h0ID0gTWF0aC5tYXgoXHJcbiAgICAgIDk2LFxyXG4gICAgICBNYXRoLmZsb29yKGZvcm1Cb2R5UmVjdC5ib3R0b20gLSB0b3AgLSA4KVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnRcclxuICAgICAgLmRvY3VtZW50RWxlbWVudDtcclxuXHJcbiAgICBvdmVybGF5UGFuZS5zdHlsZS50b3AgPSBgJHtNYXRoLnJvdW5kKHRvcCl9cHhgO1xyXG4gICAgb3ZlcmxheVBhbmUuc3R5bGUuYm90dG9tID0gJ2F1dG8nO1xyXG4gICAgc2VsZWN0UGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gYCR7bWF4SGVpZ2h0fXB4YDtcclxuICAgIGRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgJy0taWVlZXNhLWZvcm0tc2VsZWN0LXBhbmVsLXRvcCcsXHJcbiAgICAgIGAke01hdGgucm91bmQodG9wKX1weGBcclxuICAgICk7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICctLWllZWVzYS1mb3JtLXNlbGVjdC1wYW5lbC1tYXgtaGVpZ2h0JyxcclxuICAgICAgYCR7bWF4SGVpZ2h0fXB4YFxyXG4gICAgKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpZWVlc2EtZm9ybS10b3Atc2VsZWN0LW9wZW4nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRha2VzIHRoZSBpbmRleCBhbmQgdGhlIGN1cnJlbnQgb3B0aW9uIGFzIGFyZ3VtZW50cyBhbmQgbmVlZHMgdG8gcmV0dXJuIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBvcHRpb24uXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb259IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyhudW1iZXIgfCBzdHJpbmcpfVxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb24pOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHNlYXJjaGVkIG9wdGlvbnMgb24gZmlsdGVyaW5nIG9wdGlvbnMgaW4gc2VsZWN0IGRyb3Bkb3duXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlYXJjaFRleHRcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25PcHRpb25TZWFyY2goc2VhcmNoVGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9wdGlvblNlYXJjaGVkLmVtaXQoc2VhcmNoVGV4dCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wYXJlcyB0aGUgdHdvIHBhc3NlZCBvcHRpb25zXHJcbiAgICogQHBhcmFtIHthbnl9IG9wdGlvbjFcclxuICAgKiBAcGFyYW0ge2FueX0gb3B0aW9uMlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29tcGFyZXIob3B0aW9uMTogYW55LCBvcHRpb24yOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBvcHRpb24xICYmIG9wdGlvbjIgPyBvcHRpb24xLmlkID09PSBvcHRpb24yLmlkIDogb3B0aW9uMSA9PT0gb3B0aW9uMjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnRzIHRoZSBvcHRpb25zXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU29ydE5lZWRlZCAmJiBBcnJheS5pc0FycmF5KHRoaXMuZHJvcGRvd25PcHRpb25zKSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duT3B0aW9ucyA9IHRoaXMuYXJyYXlTb3J0aW5nKHRoaXMuZHJvcGRvd25PcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnRzIHRoZSBvcHRpb25zIGJ5IHVzaW5nIGFycmF5U29ydGluZyBtZXRob2RcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgc29ydE9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc1NvcnROZWVkZWQgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRyb3Bkb3duT3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zb3J0ZWRPcHRpb25zID0gdGhpcy5hcnJheVNvcnRpbmcodGhpcy5kcm9wZG93bk9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRPcHRpb25zID0gdGhpcy5kcm9wZG93bk9wdGlvbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVdGlsaXR5IG1ldGhvZCB0byBzb3J0IGRyb3Bkb3duIG9wdGlvbnMgaW4gYXNjZW5kaW5nIG9yZGVyLlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IGxpc3RcclxuICAgKiBAcmV0dXJuIHtTZWxlY3RPcHRpb25bXX1cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgYXJyYXlTb3J0aW5nKGxpc3Q6IFNlbGVjdE9wdGlvbltdKTogU2VsZWN0T3B0aW9uW10ge1xyXG4gICAgY29uc3QgY2xvbmVkVmFsdWUgPSBbLi4ubGlzdF07XHJcbiAgICBjb25zdCBzb3J0ID0gY2xvbmVkVmFsdWUuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGIubmFtZS50b0xvd2VyQ2FzZSgpKSByZXR1cm4gMDtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYWxsJykgcmV0dXJuIC0xO1xyXG4gICAgICBpZiAoYi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbGwnKSByZXR1cm4gMTtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpIDwgYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAtMTtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpID4gYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAxO1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHNvcnQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICBjbGFzcz1cImllZWVzYS1zZWxlY3QtZmllbGRcIlxyXG4gICpuZ0lmPVwiZ3JvdXBcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgID8gJ2llZWVzYS1zZWxlY3QtZmllbGRfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1zZWxlY3QtZmllbGRfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS1zZWxlY3QtZmllbGRfX2xhYmVsXCI+e3tcclxuICAgIHNlbGVjdExhYmVsXHJcbiAgfX08L21hdC1sYWJlbD5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICBhcnJvd0RpcmVjdGlvblxyXG4gICAgICAgID8gJ2llZWVzYS1zZWxlY3QtZmllbGRfX2Fycm93LXVwJ1xyXG4gICAgICAgIDogJ2llZWVzYS1zZWxlY3QtZmllbGRfX2Fycm93LWRvd24nXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcclxuICAgICAgKm5nSWY9XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgKGNsaWNrKT1cInByZXBhcmVTZWxlY3RPdmVybGF5UG9zaXRpb24oKVwiXHJcbiAgICAgIChvcGVuZWRDaGFuZ2UpPVwidXBkYXRlQXJyb3dEaXJlY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW211bHRpcGxlXT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICAgIFthcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWwgPz8gJydcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJUZXh0XCJcclxuICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVyXCJcclxuICAgID5cclxuICAgICAgPGllZWVzYS1zZWFyY2hcclxuICAgICAgICAqbmdJZj1cImlzU2VhcmNoICYmIGFycm93RGlyZWN0aW9uXCJcclxuICAgICAgICBbc2VhcmNoVHlwZV09XCJzZWFyY2hUeXBlXCJcclxuICAgICAgICAoc2VhcmNoVmFsdWUpPVwib25PcHRpb25TZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgID48L2llZWVzYS1zZWFyY2g+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cIiFpc011bHRpTGV2ZWxcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkYXRhOiBkcm9wZG93bk9wdGlvbnMgfVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc011bHRpTGV2ZWxcIj5cclxuICAgICAgICA8bWF0LW9wdGdyb3VwXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRyb3Bkb3duT3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRhdGE6IG9wdGlvbi5vcHRpb25fZ3JvdXBzIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtb3B0Z3JvdXA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmIGxldC1vcHRpb25zPVwiZGF0YVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuXHJcbiAgICA8bWF0LXNlbGVjdFxyXG4gICAgICBkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXHJcbiAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlclwiXHJcbiAgICAgICpuZ0lmPVwiIWlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAoY2xpY2spPVwicHJlcGFyZVNlbGVjdE92ZXJsYXlQb3NpdGlvbigpXCJcclxuICAgICAgW211bHRpcGxlXT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAob3BlbmVkQ2hhbmdlKT1cInVwZGF0ZUFycm93RGlyZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgW2FyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbCA/PyAnJ1wiXHJcbiAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclRleHRcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLXNlYXJjaFxyXG4gICAgICAgICpuZ0lmPVwiaXNTZWFyY2ggJiYgYXJyb3dEaXJlY3Rpb25cIlxyXG4gICAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGVcIlxyXG4gICAgICAgIChzZWFyY2hWYWx1ZSk9XCJvbk9wdGlvblNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgPjwvaWVlZXNhLXNlYXJjaD5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0lmPVwiIWlzTXVsdGlMZXZlbFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRhdGE6IGRyb3Bkb3duT3B0aW9ucyB9XCJcclxuICAgICAgPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTXVsdGlMZXZlbFwiPlxyXG4gICAgICAgIDxtYXQtb3B0Z3JvdXBcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZHJvcGRvd25PcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5uYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGF0YTogb3B0aW9uLm9wdGlvbl9ncm91cHMgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1vcHRncm91cD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWYgbGV0LW9wdGlvbnM9XCJkYXRhXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixZQUFZLEVBRVosaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLGVBQWUsR0FDaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEtBQUssWUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUd4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7O0FBRzVGOzs7Ozs7O0dBT0c7QUErQkgsTUFBTSxPQUFPLGVBQWU7SUFnQzFCOzs7T0FHRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsdUJBQXVCO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDekQsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsSUFDSSxlQUFlLENBQUMsS0FBcUI7UUFDdkMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNEOzs7T0FHRztJQUNILElBQ0ksZUFBZSxDQUFDLEtBQW9DO1FBQ3RELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUMvQjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQWFEO0lBQ0UsMENBQTBDO0lBQ2xDLGtCQUFzQztJQUM5QywwQ0FBMEM7SUFDbEMsaUJBQTJDO0lBQ25ELDBDQUEwQztJQUNsQyxVQUFtQyxDQUFDLDZDQUE2Qzs7UUFKakYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUV0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBRTNDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBN0Y3QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUU3Qiw4REFBOEQ7UUFDOUQsaUJBQVksR0FBUSxZQUFZLENBQUM7UUFHekIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFHckIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUNoQix5QkFBb0IsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRTtZQUNsRSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBd0IsQ0FBQztZQUM5QyxJQUFJLE1BQU0sRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0JBQUUsT0FBTztZQUVqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUM7WUFDakQsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxZQUFZO2dCQUFFLE9BQU87WUFFeEUsUUFBUSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBQ0YsMkVBQTJFO1FBQzFELDBCQUFxQixHQUFHLEdBQVMsRUFBRTtZQUNsRCxJQUFJLElBQUksQ0FBQyxzQkFBc0I7Z0JBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDO1FBaURPLG9CQUFlLEdBQUcsUUFBUSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDNUQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUNsRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFTcEUsQ0FBQztJQUVKOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUs7WUFDUixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxNQUFNO1lBQ1QsSUFBSSxDQUFDLE1BQU07Z0JBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUN4QyxJQUFJLENBQUMsZUFBZSxFQUNwQixlQUFlLENBQUMsTUFBTSxDQUN2QixDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDeEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUMzRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ25FLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4RDtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxLQUFtQjtRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUNyQzthQUFNO1lBQ0wsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVc7WUFDckMsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhO2lCQUM1RCxhQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDOUIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7UUFDMUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV0QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUNsRSxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUNqRSxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsYUFBYSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FDekMsUUFBUSxFQUNSLElBQUksQ0FBQyxxQkFBcUIsRUFDMUIsSUFBSSxDQUNMLENBQUM7UUFDRixhQUFhLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUN6QyxRQUFRLEVBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVPLDZCQUE2QjtRQUNuQyw4RUFBOEU7UUFDOUUsdUNBQXVDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2xFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVFLGFBQWEsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQzVDLFFBQVEsRUFDUixJQUFJLENBQUMscUJBQXFCLEVBQzFCLElBQUksQ0FDTCxDQUFDO1FBQ0YsYUFBYSxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FDNUMsUUFBUSxFQUNSLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQztRQUNGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhO2FBQ2hFLGVBQWUsQ0FBQztRQUNuQixlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3ZFLGVBQWUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDOUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZ0NBQWdDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhO2FBQzVELGFBQWEsQ0FBQyw2QkFBNkIsQ0FBdUIsQ0FBQztRQUV0RSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFFbEMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdEQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ2hELDRCQUE0QixDQUM3QixDQUFDO1FBRUYsNkVBQTZFO1FBQzdFLDRFQUE0RTtRQUM1RSxJQUFJLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGlCQUFpQjtRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUMvRCx5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWE7YUFDNUQsYUFBYSxDQUFDLDZCQUE2QixDQUF1QixDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLFdBQVcsRUFBRSxhQUFhLENBQzVDLHVCQUF1QixDQUNGLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBRXBFLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzFELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLDRFQUE0RTtRQUM1RSwwRUFBMEU7UUFDMUUscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RTtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhO2FBQ2hFLGVBQWUsQ0FBQztRQUVuQixXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUMvQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbEMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxTQUFTLElBQUksQ0FBQztRQUMvQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDL0IsZ0NBQWdDLEVBQ2hDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUN2QixDQUFDO1FBQ0YsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQy9CLHVDQUF1QyxFQUN2QyxHQUFHLFNBQVMsSUFBSSxDQUNqQixDQUFDO1FBQ0YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUFvQjtRQUMzQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsVUFBa0I7UUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILDhEQUE4RDtJQUM5RCxRQUFRLENBQUMsT0FBWSxFQUFFLE9BQVk7UUFDakMsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDOUQ7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxJQUFvQjtRQUMvQixNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUs7Z0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLENBQUM7WUFDMUQsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0F2WFUsZUFBZTttR0FBZixlQUFlLHlpQkFoQmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSw0QkFBNEIsRUFBRTthQUM5RDtZQUNEO2dCQUNFLE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFVBQVUsRUFBRSxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUNyQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO2dCQUN2QyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUM7YUFDaEI7U0FDRix5REFNYSxlQUFlLGdEQzNFL0IsK3FJQXdIQSw0cGJEeEVJLFlBQVkscWdCQUNaLGVBQWUsME1BQ2YsbUJBQW1CLG9sQkFDbkIsa0JBQWtCLGdIQUNsQixrQkFBa0IsMFNBQ2xCLGNBQWMsOEJBQ2QsYUFBYSw4QkFDYixlQUFlLGdiQUNmLHdCQUF3Qjs7NEZBa0JmLGVBQWU7a0JBOUIzQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekIsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSw0QkFBNEIsRUFBRTt5QkFDOUQ7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsVUFBVSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQ3JDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7NEJBQ3ZDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQzt5QkFDaEI7cUJBQ0YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5S0FJckMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGVBQWU7Z0JBb0N6QixZQUFZO3NCQURmLEtBQUs7Z0JBY0YsZUFBZTtzQkFEbEIsS0FBSztnQkFpQkYsZUFBZTtzQkFEbEIsS0FBSztnQkFlRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQge1xyXG4gIE1BVF9TRUxFQ1RfQ09ORklHLFxyXG4gIE1BVF9TRUxFQ1RfU0NST0xMX1NUUkFURUdZLFxyXG4gIE1hdFNlbGVjdE1vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlYXJjaC5tb2RlbCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBkcm9wZG93bkluZm8gZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS1vdmVybGF5LWJvdW5kcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0T3BlbmVkU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wZW5lZC1zdGF0ZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIHNlbGVjdCB0eXBlIG9mIGZvcm0gZmlsZWQgYW5kIHNlbGVjdCB0eXBlIGlzIGNvbmZpZ3VyYWJsZSB0byBzdXBwb3J0IHNpbmdsZSBzZWxlY3Rpb24gb3IgbXVsdGktc2VsZWN0aW9uIHdpdGggbXVsdGlsZXZlbCBvciBzaW5nbGUgbGV2ZWwuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIFNlbGVjdENvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7QWZ0ZXJWaWV3SW5pdH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXNlbGVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTZWFyY2hDb21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9TRUxFQ1RfQ09ORklHLFxyXG4gICAgICB1c2VWYWx1ZTogeyBvdmVybGF5UGFuZWxDbGFzczogJ2llZWVzYS1zZWxlY3Qtb3ZlcmxheS1wYW5lJyB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1ksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvdmVybGF5OiBPdmVybGF5KSA9PiAoKSA9PlxyXG4gICAgICAgIG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXHJcbiAgICAgIGRlcHM6IFtPdmVybGF5XSxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGRyZW4oU2VhcmNoQ29tcG9uZW50KVxyXG4gIGZvcm1GaWVsZHMhOiBRdWVyeUxpc3Q8U2VhcmNoQ29tcG9uZW50PjtcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBhcnJvd0RpcmVjdGlvbiA9IGZhbHNlO1xyXG4gIHNlYXJjaFR5cGUgPSBTZWFyY2hUeXBlLkFVVE87XHJcbiAgc29ydGVkT3B0aW9ucyE6IFNlbGVjdE9wdGlvbltdO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZHJvcGRvd25JbmZvOiBhbnkgPSBkcm9wZG93bkluZm87XHJcbiAgcHJpdmF0ZSBfZHJvcGRvd25PcHRpb25zITogU2VsZWN0T3B0aW9uW107XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRPcHRpb25zITogU2VsZWN0T3B0aW9uIHwgU2VsZWN0T3B0aW9uW107XHJcbiAgcHJpdmF0ZSBfaXNTb3J0TmVlZGVkID0gdHJ1ZTtcclxuICBwcml2YXRlIHVuc29ydGVkRHJvcGRvd25PcHRpb25zITogU2VsZWN0T3B0aW9uW107XHJcbiAgcHJpdmF0ZSBmb3JtT3ZlcmxheVNjcm9sbENvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgaXNUb3BTZWxlY3RQYW5lbFBpbm5lZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgcGlubmVkUGFuZWxNYXhIZWlnaHQgPSAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheVdoZWVsTGlzdGVuZXIgPSAoZXZlbnQ6IFdoZWVsRXZlbnQpOiB2b2lkID0+IHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50IHwgbnVsbDtcclxuICAgIGlmICh0YXJnZXQ/LmNsb3Nlc3QoJy5jZGstb3ZlcmxheS1wYW5lJykpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBmb3JtQm9keSA9IHRoaXMuZm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXI7XHJcbiAgICBpZiAoIWZvcm1Cb2R5IHx8IGZvcm1Cb2R5LnNjcm9sbEhlaWdodCA8PSBmb3JtQm9keS5jbGllbnRIZWlnaHQpIHJldHVybjtcclxuXHJcbiAgICBmb3JtQm9keS5zY3JvbGxUb3AgKz0gZXZlbnQuZGVsdGFZO1xyXG4gICAgZm9ybUJvZHkuc2Nyb2xsTGVmdCArPSBldmVudC5kZWx0YVg7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH07XHJcbiAgLy8gS2VlcHMgYSBwaW5uZWQgdG9wIHBhbmVsIGdsdWVkIHRvIGl0cyBmaWVsZCB3aGlsZSB0aGUgcGFnZS9mb3JtIHNjcm9sbHMuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByZXBvc2l0aW9uUGlubmVkUGFuZWwgPSAoKTogdm9pZCA9PiB7XHJcbiAgICBpZiAodGhpcy5pc1RvcFNlbGVjdFBhbmVsUGlubmVkKSB0aGlzLnBpblRvcFNlbGVjdFBhbmVsKCk7XHJcbiAgfTtcclxuICAvKipcclxuICAgKiBUYWtlcyBpc1NvcnROZWVkZWQgYXMgaW5wdXQgdG8gY2hlY2sgaWYgdGhlIHBhc3NlZCBvcHRpb25zIGFyZSBzb3J0ZWQgb3Igbm90LlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpc1NvcnROZWVkZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2lzU29ydE5lZWRlZCA9IHZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSAmJiB0aGlzLnVuc29ydGVkRHJvcGRvd25PcHRpb25zKVxyXG4gICAgICB0aGlzLl9kcm9wZG93bk9wdGlvbnMgPSB0aGlzLnVuc29ydGVkRHJvcGRvd25PcHRpb25zO1xyXG4gIH1cclxuICBnZXQgaXNTb3J0TmVlZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzU29ydE5lZWRlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZHJvcGRvd24gb3B0aW9ucyBmb3Igc2VsZWN0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBkcm9wZG93bk9wdGlvbnModmFsdWU6IFNlbGVjdE9wdGlvbltdKSB7XHJcbiAgICBpZiAodmFsdWUpIHRoaXMudW5zb3J0ZWREcm9wZG93bk9wdGlvbnMgPSBbLi4udmFsdWVdO1xyXG4gICAgaWYgKHRoaXMuaXNTb3J0TmVlZGVkICYmIEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuX2Ryb3Bkb3duT3B0aW9ucyA9IHRoaXMuYXJyYXlTb3J0aW5nKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2Ryb3Bkb3duT3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgZHJvcGRvd25PcHRpb25zKCk6IFNlbGVjdE9wdGlvbltdIHtcclxuICAgIHJldHVybiB0aGlzLl9kcm9wZG93bk9wdGlvbnM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHNlbGVjdGVkIG9wdGlvblxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3RlZE9wdGlvbnModmFsdWU6IFNlbGVjdE9wdGlvbiB8IFNlbGVjdE9wdGlvbltdKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5hcnJheVNvcnRpbmcodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSAmJiB0aGlzLmdyb3VwKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUodGhpcy5fc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpOiBTZWxlY3RPcHRpb24gfCBTZWxlY3RPcHRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRPcHRpb25zO1xyXG4gIH1cclxuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWUgPSAnc2VsZWN0JztcclxuICBASW5wdXQoKSBpc011bHRpTGV2ZWwgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xhYmVsQWxpZ25lZExlZnQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWxlY3RMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNTZWFyY2ggPSBmYWxzZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlclRleHQgPSB0aGlzLmRyb3Bkb3duSW5mby5kcm9wZG93bi5wbGFjZWhvbGRlclRleHQ7XHJcbiAgQE91dHB1dCgpIG9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIG9wdGlvblNlYXJjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGRyb3Bkb3duT3BlbmVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RPcGVuZWRTdGF0ZT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZm9ybVV0aWxpdHlTZXJ2aWNlOiBGb3JtVXRpbGl0eVNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZm9ybU92ZXJsYXlCb3VuZHM6IEZvcm1PdmVybGF5Qm91bmRzU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIGNvbXBvbmVudHMgaW5zdGFuY2UgcHJvcGVydGllcyBmcm9tIGNvbmZpZyBpZiBpdHMgZGVmaW5lZCBvdGhlcndpc2UgY3JlYXRlcyBmb3JtIGdyb3VwIGFuZCBjb25maWcuXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVBcnJvd0RpcmVjdGlvbihmYWxzZSk7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/PyB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xyXG4gICAgdGhpcy5jb25maWcgPVxyXG4gICAgICB0aGlzLmNvbmZpZyA/P1xyXG4gICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtRmllbGRDb25maWcoXHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLlNFTEVDVFxyXG4gICAgICApO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuaXNNdWx0aVNlbGVjdCA9IHRoaXMuY29uZmlnLmlzTXVsdGlTZWxlY3QgPz8gZmFsc2U7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25PcHRpb25zID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8uZHJvcGRvd25PcHRpb25zID8/IHRoaXMuZHJvcGRvd25PcHRpb25zO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zID8/IHRoaXMuY29uZmlnPy52YWx1ZTtcclxuICAgICAgdGhpcy5zZWxlY3RMYWJlbCA9IHRoaXMuY29uZmlnPy5sYWJlbCA/PyB0aGlzLnNlbGVjdExhYmVsO1xyXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyVGV4dCA9IHRoaXMuY29uZmlnPy5wbGFjZWhvbGRlciA/PyB0aGlzLnBsYWNlaG9sZGVyVGV4dDtcclxuICAgICAgdGhpcy5pc011bHRpU2VsZWN0ID0gdGhpcy5jb25maWc/LmlzTXVsdGlTZWxlY3QgPz8gdGhpcy5pc011bHRpU2VsZWN0O1xyXG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0aGlzLmNvbmZpZz8uZGlzYWJsZWQgPz8gdGhpcy5pc0Rpc2FibGVkO1xyXG4gICAgICB0aGlzLnNlYXJjaFR5cGUgPSB0aGlzLmNvbmZpZz8uc2VhcmNoVHlwZSA/PyB0aGlzLnNlYXJjaFR5cGU7XHJcbiAgICAgIHRoaXMuaXNTb3J0TmVlZGVkID0gdGhpcy5jb25maWc/LmlzU29ydE5lZWRlZCA/PyB0aGlzLmlzU29ydE5lZWRlZDtcclxuICAgICAgdGhpcy5pc1NlYXJjaCA9IHRoaXMuY29uZmlnPy5pc1NlYXJjaCA/PyB0aGlzLmlzU2VhcmNoO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBzZWxlY3RlZCBvcHRpb24gb24gY2hhbmdlcyB0aGUgc2VsZWN0ZWQgb3B0aW9uLlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9ufSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBvbkNoYW5nZShldmVudDogU2VsZWN0T3B0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgc2VsZWN0IGRyb3Bkb3duIGFycm93IGRpcmVjdGlvblxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3BlbmVkXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHVwZGF0ZUFycm93RGlyZWN0aW9uKG9wZW5lZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5hcnJvd0RpcmVjdGlvbiA9IG9wZW5lZDtcclxuICAgIGlmIChvcGVuZWQpIHtcclxuICAgICAgdGhpcy5wcmVwYXJlU2VsZWN0T3ZlcmxheVBvc2l0aW9uKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZHJvcGRvd25PcGVuZWRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUsXHJcbiAgICAgIG9wZW5lZDogb3BlbmVkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlU2VsZWN0T3ZlcmxheVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRPdmVybGF5Q2xpcEJvdW5kcygpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG92ZXJsYXlQYW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudFxyXG4gICAgICAgIC5xdWVyeVNlbGVjdG9yKCcuaWVlZXNhLXNlbGVjdC1vdmVybGF5LXBhbmUnKTtcclxuICAgICAgaWYgKCFvdmVybGF5UGFuZSkge1xyXG4gICAgICAgIHRoaXMuY2xlYXJPdmVybGF5Q2xpcEJvdW5kcygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5rZWVwVG9wU2VsZWN0UGFuZWxJbnNpZGVGb3JtQm9keSgpO1xyXG4gICAgfSwgMTUwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyBmb3JtIG92ZXJsYXkgYm91bmRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgd2hpbGUgb3Blbi5cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0T3ZlcmxheUNsaXBCb3VuZHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtQm9keSA9IHRoaXMuZ2V0Rm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIoKTtcclxuICAgIGlmICghZm9ybUJvZHkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyID0gZm9ybUJvZHk7XHJcbiAgICBjb25zdCBvd25lckRvY3VtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudDtcclxuICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCB0aGlzLm92ZXJsYXlXaGVlbExpc3RlbmVyLCB7XHJcbiAgICAgIGNhcHR1cmU6IHRydWUsXHJcbiAgICAgIHBhc3NpdmU6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgICBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Py5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAnc2Nyb2xsJyxcclxuICAgICAgdGhpcy5yZXBvc2l0aW9uUGlubmVkUGFuZWwsXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgICBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Py5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAncmVzaXplJyxcclxuICAgICAgdGhpcy5yZXBvc2l0aW9uUGlubmVkUGFuZWxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XHJcbiAgICAvLyBDb250YWlubWVudCBpcyBvd25lZCBieSBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2UsIHdoaWNoIGFsc28ga2VlcHMgdGhlIGNsaXBcclxuICAgIC8vIGJhbmQgY3VycmVudCB3aGlsZSB0aGUgcGFnZSBzY3JvbGxzLlxyXG4gICAgcmV0dXJuIHRoaXMuZm9ybU92ZXJsYXlCb3VuZHMuY29udGFpbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvd25lckRvY3VtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudDtcclxuICAgIG93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCB0aGlzLm92ZXJsYXlXaGVlbExpc3RlbmVyLCB0cnVlKTtcclxuICAgIG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICdzY3JvbGwnLFxyXG4gICAgICB0aGlzLnJlcG9zaXRpb25QaW5uZWRQYW5lbCxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICdyZXNpemUnLFxyXG4gICAgICB0aGlzLnJlcG9zaXRpb25QaW5uZWRQYW5lbFxyXG4gICAgKTtcclxuICAgIHRoaXMuaXNUb3BTZWxlY3RQYW5lbFBpbm5lZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5waW5uZWRQYW5lbE1heEhlaWdodCA9IDA7XHJcbiAgICB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5mb3JtT3ZlcmxheUJvdW5kcy5yZWxlYXNlKCk7XHJcbiAgICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50XHJcbiAgICAgIC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0taWVlZXNhLWZvcm0tc2VsZWN0LXBhbmVsLXRvcCcpO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWllZWVzYS1mb3JtLXNlbGVjdC1wYW5lbC1tYXgtaGVpZ2h0Jyk7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnaWVlZXNhLWZvcm0tdG9wLXNlbGVjdC1vcGVuJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYXRlcmlhbCBmbGlwcyB0aGUgcGFuZWwgYWJvdmUgaXRzIGZpZWxkIHdoZW4gaXQgd2lsbCBub3QgZml0IGJlbG93LiBJbnNpZGUgYVxyXG4gICAqIGZvcm0gdGhhdCBwdXNoZXMgdGhlIHBhbmVsIG92ZXIgdGhlIGZvcm0ncyBoZWFkaW5nIGFuZCBwaW5uZWQgdGFiIHN0cmlwLCBzb1xyXG4gICAqIHdoZW4gdGhlIGZpZWxkIGlzIG5lYXIgdGhlIHRvcCBvZiB0aGUgdXNhYmxlIGJhbmQgdGhlIHBhbmVsIGlzIGZvcmNlZCBiYWNrXHJcbiAgICogYmVsb3cgdGhlIGZpZWxkIGFuZCBjYXBwZWQgdG8gdGhlIHNwYWNlIGxlZnQgaW5zaWRlIHRoZSBiYW5kLlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGtlZXBUb3BTZWxlY3RQYW5lbEluc2lkZUZvcm1Cb2R5KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYmFuZCA9IHRoaXMuZm9ybU92ZXJsYXlCb3VuZHMuZ2V0QmFuZCgpO1xyXG4gICAgY29uc3Qgb3ZlcmxheVBhbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50XHJcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuaWVlZXNhLXNlbGVjdC1vdmVybGF5LXBhbmUnKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcblxyXG4gICAgaWYgKCFiYW5kIHx8ICFvdmVybGF5UGFuZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHBhbmVsUmVjdCA9IG92ZXJsYXlQYW5lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgb3BlbnNVcHdhcmQgPSBvdmVybGF5UGFuZS5jbGFzc0xpc3QuY29udGFpbnMoXHJcbiAgICAgICdtYXQtbWRjLXNlbGVjdC1wYW5lbC1hYm92ZSdcclxuICAgICk7XHJcblxyXG4gICAgLy8gT25seSB0aGUgdXB3YXJkIHBhbmVsIHRoYXQgY3Jvc3NlcyB0aGUgdG9wIG9mIHRoZSBiYW5kIHZpc2libHkgZXNjYXBlcyB0aGVcclxuICAgIC8vIGZvcm0sIHNvIHBpbiB0aGF0IG9uZSBiZWxvdyBpdHMgZmllbGQgYW5kIGtlZXAgaXQgcGlubmVkIHdoaWxlIHNjcm9sbGluZy5cclxuICAgIGlmICghb3BlbnNVcHdhcmQgfHwgcGFuZWxSZWN0LnRvcCA+PSBiYW5kLnRvcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1RvcFNlbGVjdFBhbmVsUGlubmVkID0gdHJ1ZTtcclxuICAgIHRoaXMucGluVG9wU2VsZWN0UGFuZWwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc2l0aW9ucyB0aGUgcGlubmVkIHBhbmVsIGp1c3QgYmVsb3cgaXRzIGZpZWxkLCByZWNvbXB1dGVkIGZyb20gdGhlIGN1cnJlbnRcclxuICAgKiB0cmlnZ2VyIGFuZCBiYW5kIHNvIGl0IHRyYWNrcyB0aGUgZmllbGQgYXMgdGhlIHBhZ2UvZm9ybSBzY3JvbGxzIGluc3RlYWQgb2ZcclxuICAgKiBzdGF5aW5nIGF0IGEgc3RhbGUgZml4ZWQgb2Zmc2V0LlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBwcml2YXRlIHBpblRvcFNlbGVjdFBhbmVsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYmFuZCA9IHRoaXMuZm9ybU92ZXJsYXlCb3VuZHMuZ2V0QmFuZCgpO1xyXG4gICAgY29uc3Qgc2VsZWN0VHJpZ2dlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICcubWF0LW1kYy1zZWxlY3QtdHJpZ2dlcidcclxuICAgICk7XHJcbiAgICBjb25zdCBvdmVybGF5UGFuZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnRcclxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5pZWVlc2Etc2VsZWN0LW92ZXJsYXktcGFuZScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICAgIGNvbnN0IHNlbGVjdFBhbmVsID0gb3ZlcmxheVBhbmU/LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICcubWF0LW1kYy1zZWxlY3QtcGFuZWwnXHJcbiAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcclxuXHJcbiAgICBpZiAoIWJhbmQgfHwgIXNlbGVjdFRyaWdnZXIgfHwgIW92ZXJsYXlQYW5lIHx8ICFzZWxlY3RQYW5lbCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRyaWdnZXJSZWN0ID0gc2VsZWN0VHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHRvcCA9IHRyaWdnZXJSZWN0LmJvdHRvbSArIDQ7XHJcbiAgICAvLyBTaXplIHRoZSBwYW5lbCBvbmNlIHNvIGl0IGtlZXBzIGEgc3RhYmxlIGhlaWdodCB3aGlsZSBzY3JvbGxpbmc7IG9ubHkgdGhlXHJcbiAgICAvLyB0b3AgcG9zaXRpb24gdHJhY2tzIHRoZSB0cmlnZ2VyLCBvdGhlcndpc2UgdGhlIHBhbmVsIGdyb3dzIGFzIHRoZSBmaWVsZFxyXG4gICAgLy8gbW92ZXMgdXAgdGhlIGJhbmQuXHJcbiAgICBpZiAoIXRoaXMucGlubmVkUGFuZWxNYXhIZWlnaHQpIHtcclxuICAgICAgdGhpcy5waW5uZWRQYW5lbE1heEhlaWdodCA9IE1hdGgubWF4KDE2MCwgTWF0aC5mbG9vcihiYW5kLmJvdHRvbSAtIHRvcCAtIDgpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMucGlubmVkUGFuZWxNYXhIZWlnaHQ7XHJcbiAgICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50XHJcbiAgICAgIC5kb2N1bWVudEVsZW1lbnQ7XHJcblxyXG4gICAgb3ZlcmxheVBhbmUuc3R5bGUudG9wID0gYCR7TWF0aC5yb3VuZCh0b3ApfXB4YDtcclxuICAgIG92ZXJsYXlQYW5lLnN0eWxlLmJvdHRvbSA9ICdhdXRvJztcclxuICAgIHNlbGVjdFBhbmVsLnN0eWxlLm1heEhlaWdodCA9IGAke21heEhlaWdodH1weGA7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICctLWllZWVzYS1mb3JtLXNlbGVjdC1wYW5lbC10b3AnLFxyXG4gICAgICBgJHtNYXRoLnJvdW5kKHRvcCl9cHhgXHJcbiAgICApO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAnLS1pZWVlc2EtZm9ybS1zZWxlY3QtcGFuZWwtbWF4LWhlaWdodCcsXHJcbiAgICAgIGAke21heEhlaWdodH1weGBcclxuICAgICk7XHJcbiAgICBkb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaWVlZXNhLWZvcm0tdG9wLXNlbGVjdC1vcGVuJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUYWtlcyB0aGUgaW5kZXggYW5kIHRoZSBjdXJyZW50IG9wdGlvbiBhcyBhcmd1bWVudHMgYW5kIG5lZWRzIHRvIHJldHVybiB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgb3B0aW9uLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9ufSBvcHRpb25cclxuICAgKiBAcmV0dXJuIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIG9wdGlvbjogU2VsZWN0T3B0aW9uKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBvcHRpb24uaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBzZWFyY2hlZCBvcHRpb25zIG9uIGZpbHRlcmluZyBvcHRpb25zIGluIHNlbGVjdCBkcm9wZG93blxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hUZXh0XHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uT3B0aW9uU2VhcmNoKHNlYXJjaFRleHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vcHRpb25TZWFyY2hlZC5lbWl0KHNlYXJjaFRleHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcGFyZXMgdGhlIHR3byBwYXNzZWQgb3B0aW9uc1xyXG4gICAqIEBwYXJhbSB7YW55fSBvcHRpb24xXHJcbiAgICogQHBhcmFtIHthbnl9IG9wdGlvbjJcclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbXBhcmVyKG9wdGlvbjE6IGFueSwgb3B0aW9uMjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gb3B0aW9uMSAmJiBvcHRpb24yID8gb3B0aW9uMS5pZCA9PT0gb3B0aW9uMi5pZCA6IG9wdGlvbjEgPT09IG9wdGlvbjI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb3J0cyB0aGUgb3B0aW9uc1xyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc1NvcnROZWVkZWQgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRyb3Bkb3duT3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbnMgPSB0aGlzLmFycmF5U29ydGluZyh0aGlzLmRyb3Bkb3duT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb3J0cyB0aGUgb3B0aW9ucyBieSB1c2luZyBhcnJheVNvcnRpbmcgbWV0aG9kXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHNvcnRPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNTb3J0TmVlZGVkICYmIEFycmF5LmlzQXJyYXkodGhpcy5kcm9wZG93bk9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc29ydGVkT3B0aW9ucyA9IHRoaXMuYXJyYXlTb3J0aW5nKHRoaXMuZHJvcGRvd25PcHRpb25zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc29ydGVkT3B0aW9ucyA9IHRoaXMuZHJvcGRvd25PcHRpb25zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXRpbGl0eSBtZXRob2QgdG8gc29ydCBkcm9wZG93biBvcHRpb25zIGluIGFzY2VuZGluZyBvcmRlci5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbltdfSBsaXN0XHJcbiAgICogQHJldHVybiB7U2VsZWN0T3B0aW9uW119XHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGFycmF5U29ydGluZyhsaXN0OiBTZWxlY3RPcHRpb25bXSk6IFNlbGVjdE9wdGlvbltdIHtcclxuICAgIGNvbnN0IGNsb25lZFZhbHVlID0gWy4uLmxpc3RdO1xyXG4gICAgY29uc3Qgc29ydCA9IGNsb25lZFZhbHVlLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpID09PSBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIDA7XHJcbiAgICAgIGlmIChhLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2FsbCcpIHJldHVybiAtMTtcclxuICAgICAgaWYgKGIubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYWxsJykgcmV0dXJuIDE7XHJcbiAgICAgIGlmIChhLm5hbWUudG9Mb3dlckNhc2UoKSA8IGIubmFtZS50b0xvd2VyQ2FzZSgpKSByZXR1cm4gLTE7XHJcbiAgICAgIGlmIChhLm5hbWUudG9Mb3dlckNhc2UoKSA+IGIubmFtZS50b0xvd2VyQ2FzZSgpKSByZXR1cm4gMTtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBzb3J0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgY2xhc3M9XCJpZWVlc2Etc2VsZWN0LWZpZWxkXCJcclxuICAqbmdJZj1cImdyb3VwXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gICAgICA/ICdpZWVlc2Etc2VsZWN0LWZpZWxkX19sYWJlbC1sZWZ0J1xyXG4gICAgICA6ICdpZWVlc2Etc2VsZWN0LWZpZWxkX19sYWJlbC10b3AnXHJcbiAgXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2Etc2VsZWN0LWZpZWxkX19sYWJlbFwiPnt7XHJcbiAgICBzZWxlY3RMYWJlbFxyXG4gIH19PC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICBbbmdDbGFzc109XCJcclxuICAgICAgYXJyb3dEaXJlY3Rpb25cclxuICAgICAgICA/ICdpZWVlc2Etc2VsZWN0LWZpZWxkX19hcnJvdy11cCdcclxuICAgICAgICA6ICdpZWVlc2Etc2VsZWN0LWZpZWxkX19hcnJvdy1kb3duJ1xyXG4gICAgXCJcclxuICA+XHJcbiAgICA8bWF0LXNlbGVjdFxyXG4gICAgICBkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXHJcbiAgICAgICpuZ0lmPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgIChjbGljayk9XCJwcmVwYXJlU2VsZWN0T3ZlcmxheVBvc2l0aW9uKClcIlxyXG4gICAgICAob3BlbmVkQ2hhbmdlKT1cInVwZGF0ZUFycm93RGlyZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICBbYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsID8/ICcnXCJcclxuICAgICAgW2FyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeUlkID8/ICcnXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyVGV4dFwiXHJcbiAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlclwiXHJcbiAgICA+XHJcbiAgICAgIDxpZWVlc2Etc2VhcmNoXHJcbiAgICAgICAgKm5nSWY9XCJpc1NlYXJjaCAmJiBhcnJvd0RpcmVjdGlvblwiXHJcbiAgICAgICAgW3NlYXJjaFR5cGVdPVwic2VhcmNoVHlwZVwiXHJcbiAgICAgICAgKHNlYXJjaFZhbHVlKT1cIm9uT3B0aW9uU2VhcmNoKCRldmVudClcIlxyXG4gICAgICA+PC9pZWVlc2Etc2VhcmNoPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCIhaXNNdWx0aUxldmVsXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGF0YTogZHJvcGRvd25PcHRpb25zIH1cIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNdWx0aUxldmVsXCI+XHJcbiAgICAgICAgPG1hdC1vcHRncm91cFxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkcm9wZG93bk9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLm5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkYXRhOiBvcHRpb24ub3B0aW9uX2dyb3VwcyB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZiBsZXQtb3B0aW9ucz1cImRhdGFcIj5cclxuICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcblxyXG4gICAgPG1hdC1zZWxlY3RcclxuICAgICAgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ1xyXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZXJcIlxyXG4gICAgICAqbmdJZj1cIiFpc011bHRpU2VsZWN0XCJcclxuICAgICAgKGNsaWNrKT1cInByZXBhcmVTZWxlY3RPdmVybGF5UG9zaXRpb24oKVwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgKG9wZW5lZENoYW5nZSk9XCJ1cGRhdGVBcnJvd0RpcmVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQudmFsdWUpXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICAgIFthcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWwgPz8gJydcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJUZXh0XCJcclxuICAgID5cclxuICAgICAgPGllZWVzYS1zZWFyY2hcclxuICAgICAgICAqbmdJZj1cImlzU2VhcmNoICYmIGFycm93RGlyZWN0aW9uXCJcclxuICAgICAgICBbc2VhcmNoVHlwZV09XCJzZWFyY2hUeXBlXCJcclxuICAgICAgICAoc2VhcmNoVmFsdWUpPVwib25PcHRpb25TZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgID48L2llZWVzYS1zZWFyY2g+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cIiFpc011bHRpTGV2ZWxcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkYXRhOiBkcm9wZG93bk9wdGlvbnMgfVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc011bHRpTGV2ZWxcIj5cclxuICAgICAgICA8bWF0LW9wdGdyb3VwXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRyb3Bkb3duT3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRhdGE6IG9wdGlvbi5vcHRpb25fZ3JvdXBzIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtb3B0Z3JvdXA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmIGxldC1vcHRpb25zPVwiZGF0YVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj4gPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICA8aWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0XHJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICA+PC9pZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQ+XHJcbjwvZGl2PlxyXG4iXX0=
|