@ecodev/natural 55.9.0 → 56.0.2
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/classes/abstract-controller.mjs +3 -3
- package/esm2022/lib/classes/abstract-detail.mjs +5 -5
- package/esm2022/lib/classes/abstract-editable-list.mjs +4 -4
- package/esm2022/lib/classes/abstract-list.mjs +5 -5
- package/esm2022/lib/classes/abstract-navigable-list.mjs +12 -12
- package/esm2022/lib/classes/apollo-utils.mjs +3 -2
- package/esm2022/lib/classes/data-source.mjs +1 -1
- package/esm2022/lib/classes/query-variable-manager-utils.mjs +1 -1
- package/esm2022/lib/classes/query-variable-manager.mjs +3 -3
- package/esm2022/lib/classes/signing.mjs +1 -1
- package/esm2022/lib/classes/utility.mjs +1 -1
- package/esm2022/lib/classes/validators.mjs +2 -2
- package/esm2022/lib/directives/http-prefix.directive.mjs +5 -5
- package/esm2022/lib/modules/alert/alert.service.mjs +5 -5
- package/esm2022/lib/modules/alert/confirm.component.mjs +6 -6
- package/esm2022/lib/modules/avatar/component/avatar.component.mjs +39 -43
- package/esm2022/lib/modules/avatar/service/avatar.service.mjs +4 -4
- package/esm2022/lib/modules/avatar/service/md5.mjs +1 -1
- package/esm2022/lib/modules/avatar/sources/gravatar.mjs +1 -1
- package/esm2022/lib/modules/avatar/sources/initials.mjs +1 -1
- package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +10 -10
- package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +6 -6
- package/esm2022/lib/modules/common/directives/src-density.directive.mjs +5 -5
- package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +4 -4
- package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +4 -4
- package/esm2022/lib/modules/common/pipes/swiss-date.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +6 -6
- package/esm2022/lib/modules/common/services/memory-storage.mjs +4 -4
- package/esm2022/lib/modules/common/services/seo.service.mjs +7 -7
- package/esm2022/lib/modules/detail-header/detail-header.component.mjs +7 -9
- package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +5 -5
- package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +6 -6
- package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +8 -9
- package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +10 -13
- package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +7 -9
- package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +6 -8
- package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +5 -8
- package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +8 -18
- package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +8 -10
- package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +11 -21
- package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +8 -10
- package/esm2022/lib/modules/dropdown-components/types.mjs +1 -1
- package/esm2022/lib/modules/dropdown-components/utils.mjs +1 -1
- package/esm2022/lib/modules/file/abstract-file.mjs +6 -6
- package/esm2022/lib/modules/file/component/file.component.mjs +10 -10
- package/esm2022/lib/modules/file/file-drop.directive.mjs +4 -4
- package/esm2022/lib/modules/file/file-select.directive.mjs +3 -3
- package/esm2022/lib/modules/file/file.service.mjs +6 -6
- package/esm2022/lib/modules/file/utils.mjs +1 -1
- package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +5 -5
- package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +7 -9
- package/esm2022/lib/modules/hierarchic-selector/classes/flat-node.mjs +1 -1
- package/esm2022/lib/modules/hierarchic-selector/classes/hierarchic-configuration.mjs +1 -1
- package/esm2022/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs +1 -1
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +17 -17
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +5 -5
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +7 -7
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -4
- package/esm2022/lib/modules/icon/icon.directive.mjs +6 -6
- package/esm2022/lib/modules/logger/error-handler.mjs +6 -6
- package/esm2022/lib/modules/logger/error.module.mjs +1 -1
- package/esm2022/lib/modules/matomo/matomo.service.mjs +6 -6
- package/esm2022/lib/modules/panels/abstract-panel.mjs +5 -5
- package/esm2022/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs +1 -1
- package/esm2022/lib/modules/panels/panels.component.mjs +5 -5
- package/esm2022/lib/modules/panels/panels.service.mjs +7 -7
- package/esm2022/lib/modules/panels/panels.urlmatcher.mjs +2 -2
- package/esm2022/lib/modules/panels/types.mjs +1 -1
- package/esm2022/lib/modules/relations/relations.component.mjs +16 -16
- package/esm2022/lib/modules/search/classes/graphql-doctrine.mjs +2 -2
- package/esm2022/lib/modules/search/classes/graphql-doctrine.types.mjs +1 -1
- package/esm2022/lib/modules/search/classes/transformers.mjs +1 -1
- package/esm2022/lib/modules/search/classes/url.mjs +9 -9
- package/esm2022/lib/modules/search/classes/utils.mjs +1 -1
- package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +8 -10
- package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +5 -5
- package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +8 -10
- package/esm2022/lib/modules/search/group/group.component.mjs +5 -7
- package/esm2022/lib/modules/search/input/input.component.mjs +34 -37
- package/esm2022/lib/modules/search/search/search.component.mjs +7 -7
- package/esm2022/lib/modules/search/types/dropdown-component.mjs +1 -1
- package/esm2022/lib/modules/search/types/facet.mjs +1 -1
- package/esm2022/lib/modules/search/types/values.mjs +1 -1
- package/esm2022/lib/modules/select/abstract-select.component.mjs +6 -6
- package/esm2022/lib/modules/select/select/select.component.mjs +12 -10
- package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +7 -7
- package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +11 -14
- package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +5 -5
- package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +6 -6
- package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +5 -5
- package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +4 -4
- package/esm2022/lib/modules/sidenav/sidenav.service.mjs +6 -6
- package/esm2022/lib/modules/stamp/stamp.component.mjs +5 -7
- package/esm2022/lib/modules/table-button/table-button.component.mjs +7 -9
- package/esm2022/lib/services/abstract-model.service.mjs +4 -4
- package/esm2022/lib/services/debounce.service.mjs +29 -10
- package/esm2022/lib/services/enum.service.mjs +6 -6
- package/esm2022/lib/services/link-mutation.service.mjs +6 -6
- package/esm2022/lib/services/persistence.service.mjs +10 -6
- package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +4 -4
- package/esm2022/lib/types/types.mjs +1 -1
- package/esm2022/public-api.mjs +2 -3
- package/fesm2022/ecodev-natural.mjs +499 -495
- package/fesm2022/ecodev-natural.mjs.map +1 -1
- package/lib/classes/abstract-editable-list.d.ts +1 -1
- package/lib/classes/abstract-list.d.ts +2 -2
- package/lib/classes/data-source.d.ts +2 -2
- package/lib/classes/query-variable-manager.d.ts +7 -7
- package/lib/classes/utility.d.ts +1 -1
- package/lib/modules/alert/confirm.component.d.ts +2 -2
- package/lib/modules/columns-picker/columns-picker.component.d.ts +1 -1
- package/lib/modules/common/services/seo.service.d.ts +4 -4
- package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +2 -2
- package/lib/modules/dropdown-components/type-boolean/type-boolean.component.d.ts +2 -2
- package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +2 -2
- package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +2 -2
- package/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.d.ts +6 -6
- package/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.d.ts +2 -2
- package/lib/modules/dropdown-components/type-number/type-number.component.d.ts +2 -2
- package/lib/modules/dropdown-components/type-options/type-options.component.d.ts +4 -4
- package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +2 -2
- package/lib/modules/dropdown-components/types.d.ts +4 -4
- package/lib/modules/file/abstract-file.d.ts +4 -4
- package/lib/modules/file/component/file.component.d.ts +1 -1
- package/lib/modules/hierarchic-selector/classes/hierarchic-configuration.d.ts +4 -4
- package/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.d.ts +3 -3
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +4 -4
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.d.ts +1 -3
- package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +4 -4
- package/lib/modules/icon/icon.directive.d.ts +3 -5
- package/lib/modules/logger/error-handler.d.ts +4 -4
- package/lib/modules/panels/types.d.ts +14 -16
- package/lib/modules/relations/relations.component.d.ts +1 -1
- package/lib/modules/search/classes/graphql-doctrine.types.d.ts +37 -41
- package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +2 -2
- package/lib/modules/search/dropdown-container/dropdown.service.d.ts +2 -2
- package/lib/modules/search/facet-selector/facet-selector.component.d.ts +2 -2
- package/lib/modules/search/input/input.component.d.ts +1 -1
- package/lib/modules/search/types/dropdown-component.d.ts +2 -2
- package/lib/modules/search/types/facet.d.ts +7 -7
- package/lib/modules/search/types/values.d.ts +6 -6
- package/lib/modules/select/select/select.component.d.ts +1 -1
- package/lib/services/abstract-model.service.d.ts +7 -13
- package/lib/services/debounce.service.d.ts +10 -2
- package/lib/services/enum.service.d.ts +2 -2
- package/lib/services/link-mutation.service.d.ts +2 -2
- package/lib/types/types.d.ts +1 -3
- package/package.json +10 -10
- package/public-api.d.ts +0 -1
- package/src/lib/_natural.theme.scss +5 -2
|
@@ -9,7 +9,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
9
9
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
10
10
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
11
11
|
import { MatInputModule } from '@angular/material/input';
|
|
12
|
-
import { CommonModule } from '@angular/common';
|
|
13
12
|
import { MatSelectModule } from '@angular/material/select';
|
|
14
13
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
15
14
|
import * as i0 from "@angular/core";
|
|
@@ -17,10 +16,9 @@ import * as i1 from "@angular/material/core";
|
|
|
17
16
|
import * as i2 from "@angular/forms";
|
|
18
17
|
import * as i3 from "@angular/material/form-field";
|
|
19
18
|
import * as i4 from "@angular/material/select";
|
|
20
|
-
import * as i5 from "@angular/
|
|
21
|
-
import * as i6 from "@angular/material/
|
|
22
|
-
import * as i7 from "@angular/material/
|
|
23
|
-
import * as i8 from "@angular/material/checkbox";
|
|
19
|
+
import * as i5 from "@angular/material/input";
|
|
20
|
+
import * as i6 from "@angular/material/datepicker";
|
|
21
|
+
import * as i7 from "@angular/material/checkbox";
|
|
24
22
|
export class TypeDateComponent {
|
|
25
23
|
constructor(data, dateAdapter, dateFormats) {
|
|
26
24
|
this.dateAdapter = dateAdapter;
|
|
@@ -154,27 +152,26 @@ export class TypeDateComponent {
|
|
|
154
152
|
return '';
|
|
155
153
|
}
|
|
156
154
|
}
|
|
157
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
158
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeDateComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.DateAdapter }, { token: MAT_DATE_FORMATS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: TypeDateComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field>\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n @for (item of operators; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label i18n>Date</mat-label>\n <input\n [formControl]=\"valueCtrl\"\n [matDatepicker]=\"value\"\n [max]=\"configuration.max\"\n [min]=\"configuration.min\"\n [required]=\"true\"\n matInput\n />\n <mat-datepicker-toggle [for]=\"value\" matIconSuffix />\n <mat-datepicker #value />\n @if (valueCtrl.hasError('min')) {\n <mat-error>< {{ configuration.min }}</mat-error>\n }\n @if (valueCtrl.hasError('max')) {\n <mat-error>> {{ configuration.max }}</mat-error>\n }\n @if (valueCtrl.hasError('required')) {\n <mat-error>*</mat-error>\n }\n </mat-form-field>\n\n <mat-checkbox [formControl]=\"todayCtrl\" i18n>Aujourd'hui</mat-checkbox>\n</form>\n", styles: ["form{display:grid;grid:auto auto/4em auto;grid-gap:0 1em}form>mat-checkbox{grid-column-start:2;margin-bottom:.3em}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] }); }
|
|
159
157
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeDateComponent, decorators: [{
|
|
161
159
|
type: Component,
|
|
162
160
|
args: [{ standalone: true, imports: [
|
|
163
161
|
FormsModule,
|
|
164
162
|
ReactiveFormsModule,
|
|
165
163
|
MatFormFieldModule,
|
|
166
164
|
MatSelectModule,
|
|
167
|
-
CommonModule,
|
|
168
165
|
MatOptionModule,
|
|
169
166
|
MatInputModule,
|
|
170
167
|
MatDatepickerModule,
|
|
171
168
|
MatCheckboxModule,
|
|
172
|
-
], template: "<form [formGroup]=\"form\">\n <mat-form-field>\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n
|
|
173
|
-
}], ctorParameters:
|
|
169
|
+
], template: "<form [formGroup]=\"form\">\n <mat-form-field>\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n @for (item of operators; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label i18n>Date</mat-label>\n <input\n [formControl]=\"valueCtrl\"\n [matDatepicker]=\"value\"\n [max]=\"configuration.max\"\n [min]=\"configuration.min\"\n [required]=\"true\"\n matInput\n />\n <mat-datepicker-toggle [for]=\"value\" matIconSuffix />\n <mat-datepicker #value />\n @if (valueCtrl.hasError('min')) {\n <mat-error>< {{ configuration.min }}</mat-error>\n }\n @if (valueCtrl.hasError('max')) {\n <mat-error>> {{ configuration.max }}</mat-error>\n }\n @if (valueCtrl.hasError('required')) {\n <mat-error>*</mat-error>\n }\n </mat-form-field>\n\n <mat-checkbox [formControl]=\"todayCtrl\" i18n>Aujourd'hui</mat-checkbox>\n</form>\n", styles: ["form{display:grid;grid:auto auto/4em auto;grid-gap:0 1em}form>mat-checkbox{grid-column-start:2;margin-bottom:.3em}\n"] }]
|
|
170
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
174
171
|
type: Inject,
|
|
175
172
|
args: [NATURAL_DROPDOWN_DATA]
|
|
176
173
|
}] }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
177
174
|
type: Inject,
|
|
178
175
|
args: [MAT_DATE_FORMATS]
|
|
179
|
-
}] }]
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlL3R5cGUtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS90eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQWUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pILE9BQU8sRUFBYyxnQkFBZ0IsRUFBa0IsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFDLHFCQUFxQixFQUFzQixNQUFNLGtEQUFrRCxDQUFDO0FBRTVHLE9BQU8sRUFBQywyQkFBMkIsRUFBZ0MsTUFBTSxVQUFVLENBQUM7QUFDcEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVB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QXFCLHdDQUVyQixnQkFBZ0I7a0dBdEJuQixpQkFBaUIsd0VDdEM5QixxdENBNkJBLDZLREZRLFdBQVcsdzNCQUNYLG1CQUFtQixrV0FDbkIsa0JBQWtCLHdnQkFDbEIsZUFBZSx1VEFDZixZQUFZLCtQQUNaLGVBQWUsOEJBQ2YsY0FBYywwV0FDZCxtQkFBbUIsaWdCQUNuQixpQkFBaUI7OzJGQUdaLGlCQUFpQjtrQkFoQjdCLFNBQVM7aUNBR00sSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixpQkFBaUI7cUJBQ3BCOzswQkFzQkksTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycywgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1hdERhdGVGb3JtYXRzLCBNYXRPcHRpb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCwgU2NhbGFyfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBLCBOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge3Bvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9ycywgUG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXN9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7ZGF0ZU1heCwgZGF0ZU1pbiwgc2VyaWFsaXplfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtNYXREYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURhdGVDb25maWd1cmF0aW9uPEQgPSBEYXRlPiB7XG4gICAgbWluPzogRCB8IG51bGw7XG4gICAgbWF4PzogRCB8IG51bGw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3R5cGUtZGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZURhdGVDb21wb25lbnQ8RCA9IGFueT4gaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWd1cmF0aW9uOiBSZXF1aXJlZDxUeXBlRGF0ZUNvbmZpZ3VyYXRpb248RD4+O1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvckN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8UG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXM+KCdlcXVhbCcsIHtub25OdWxsYWJsZTogdHJ1ZX0pO1xuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8RCB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSB0b2RheUN0cmwgPSBuZXcgRm9ybUNvbnRyb2woZmFsc2UpO1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvcnMgPSBwb3NzaWJsZUNvbXBhcmFibGVPcGVyYXRvcnM7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBvcGVyYXRvcjogdGhpcy5vcGVyYXRvckN0cmwsXG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlQ3RybCxcbiAgICAgICAgdG9kYXk6IHRoaXMudG9kYXlDdHJsLFxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0czogUmVxdWlyZWQ8VHlwZURhdGVDb25maWd1cmF0aW9uPEQ+PiA9IHtcbiAgICAgICAgbWluOiBudWxsLFxuICAgICAgICBtYXg6IG51bGwsXG4gICAgfTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8VHlwZURhdGVDb25maWd1cmF0aW9uPEQ+PixcbiAgICAgICAgcHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJpdmF0ZSBkYXRlRm9ybWF0czogTWF0RGF0ZUZvcm1hdHMsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLmRlZmF1bHRzLCAuLi5kYXRhLmNvbmZpZ3VyYXRpb259O1xuXG4gICAgICAgIHRoaXMudG9kYXlDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoaXNUb2RheSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNUb2RheSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbHVlKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUN0cmwuZGlzYWJsZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5lbmFibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5vcGVyYXRvckN0cmwudmFsdWVDaGFuZ2VzLCB0aGlzLnZhbHVlQ3RybC52YWx1ZUNoYW5nZXMsIHRoaXMudG9kYXlDdHJsLnZhbHVlQ2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbmRlcmVkVmFsdWUubmV4dCh0aGlzLmdldFJlbmRlcmVkVmFsdWUoKSkpO1xuXG4gICAgICAgIHRoaXMuaW5pdFZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5yZWxvYWRDb25kaXRpb24oZGF0YS5jb25kaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZUN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCA9IHt9O1xuICAgICAgICBsZXQgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZTtcbiAgICAgICAgbGV0IGRhdGU6IHN0cmluZztcbiAgICAgICAgbGV0IGRheUFmdGVyOiBzdHJpbmc7XG5cbiAgICAgICAgaWYgKHRoaXMudG9kYXlDdHJsLnZhbHVlKSB7XG4gICAgICAgICAgICBkYXRlID0gJ3RvZGF5JztcbiAgICAgICAgICAgIGRheUFmdGVyID0gJ3RvbW9ycm93JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGUgPSBzZXJpYWxpemUodGhpcy5kYXRlQWRhcHRlciwgdGhpcy52YWx1ZUN0cmwudmFsdWUpO1xuICAgICAgICAgICAgZGF5QWZ0ZXIgPSBzZXJpYWxpemUodGhpcy5kYXRlQWRhcHRlciwgdGhpcy5nZXREYXlBZnRlcih0aGlzLnZhbHVlQ3RybC52YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSAnZXF1YWwnKSB7XG4gICAgICAgICAgICBjb25kaXRpb24uZ3JlYXRlck9yRXF1YWwgPSB7dmFsdWU6IGRhdGV9O1xuICAgICAgICAgICAgY29uZGl0aW9uLmxlc3MgPSB7dmFsdWU6IGRheUFmdGVyfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRyYW5zcGFyZW50bHkgYWRhcHQgZXhjbHVzaXZlL2luY2x1c2l2ZSByYW5nZXNcbiAgICAgICAgICAgIGlmIChkYXRlICE9PSAndG9kYXknKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSAnZ3JlYXRlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3IgPSAnZ3JlYXRlck9yRXF1YWwnO1xuICAgICAgICAgICAgICAgICAgICBkYXRlID0gZGF5QWZ0ZXI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gJ2xlc3NPckVxdWFsJykge1xuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvciA9ICdsZXNzJztcbiAgICAgICAgICAgICAgICAgICAgZGF0ZSA9IGRheUFmdGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uZGl0aW9uW29wZXJhdG9yXSA9IHt2YWx1ZTogZGF0ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVsb2FkQ29uZGl0aW9uKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwZWNpYWwgY2FzZSBmb3IgJz0nXG4gICAgICAgIGlmIChjb25kaXRpb24uZ3JlYXRlck9yRXF1YWwgJiYgY29uZGl0aW9uLmxlc3MpIHtcbiAgICAgICAgICAgIHRoaXMub3BlcmF0b3JDdHJsLnNldFZhbHVlKCdlcXVhbCcpO1xuICAgICAgICAgICAgdGhpcy5zZXRUb2RheU9yRGF0ZShjb25kaXRpb24uZ3JlYXRlck9yRXF1YWwudmFsdWUpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IG9wZXJhdG9yIG9mIHRoaXMub3BlcmF0b3JzKSB7XG4gICAgICAgICAgICBjb25zdCByZWxvYWRlZE9wZXJhdG9yID0gY29uZGl0aW9uW29wZXJhdG9yLmtleV07XG4gICAgICAgICAgICBpZiAocmVsb2FkZWRPcGVyYXRvcikge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlcmF0b3JDdHJsLnNldFZhbHVlKG9wZXJhdG9yLmtleSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRUb2RheU9yRGF0ZShyZWxvYWRlZE9wZXJhdG9yLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VG9kYXlPckRhdGUodmFsdWU6IFNjYWxhcik6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09ICd0b2RheScpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbHVlKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSk7XG4gICAgICAgICAgICB0aGlzLnRvZGF5Q3RybC5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbHVlKHRoaXMuZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgICAgICAgICAgIHRoaXMudG9kYXlDdHJsLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24ubWluKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goZGF0ZU1pbih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLmNvbmZpZ3VyYXRpb24ubWluKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLm1heCkge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGRhdGVNYXgodGhpcy5kYXRlQWRhcHRlciwgdGhpcy5jb25maWd1cmF0aW9uLm1heCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZUN0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERheUFmdGVyKGRhdGU6IEQpOiBEIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJEYXlzKHRoaXMuZGF0ZUFkYXB0ZXIuY2xvbmUoZGF0ZSksIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVuZGVyZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMub3BlcmF0b3JzLmZpbmQodiA9PiB2LmtleSA9PT0gdGhpcy5vcGVyYXRvckN0cmwudmFsdWUpO1xuXG4gICAgICAgIGxldCB2YWx1ZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy50b2RheUN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gJGxvY2FsaXplYEF1am91cmQnaHVpYDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlQ3RybC52YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmRhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLnZhbHVlQ3RybC52YWx1ZSwgdGhpcy5kYXRlRm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3BlcmF0b3IgJiYgdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvci5sYWJlbCArICcgJyArIHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXRoZW1hdGljYWwgb3BlcmF0b3IgPCA+ID1cIj5PcMOpcmF0ZXVyPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJvcGVyYXRvckN0cmxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIHBhbmVsV2lkdGg9XCJcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wZXJhdG9yc1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj5EYXRlPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhbHVlQ3RybFwiXG4gICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbbWF4XT1cImNvbmZpZ3VyYXRpb24ubWF4XCJcbiAgICAgICAgICAgIFttaW5dPVwiY29uZmlndXJhdGlvbi5taW5cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBbZm9yXT1cInZhbHVlXCIgbWF0SWNvblN1ZmZpeD48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyICN2YWx1ZT48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwidmFsdWVDdHJsLmhhc0Vycm9yKCdtaW4nKVwiPjwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L21hdC1lcnJvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInZhbHVlQ3RybC5oYXNFcnJvcignbWF4JylcIj4+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ2YWx1ZUN0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj4qPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtY2hlY2tib3ggW2Zvcm1Db250cm9sXT1cInRvZGF5Q3RybFwiIGkxOG4+QXVqb3VyZCdodWk8L21hdC1jaGVja2JveD5cbjwvZm9ybT5cbiJdfQ==
|
|
176
|
+
}] }] });
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlL3R5cGUtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS90eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQWUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pILE9BQU8sRUFBYyxnQkFBZ0IsRUFBa0IsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFDLHFCQUFxQixFQUFzQixNQUFNLGtEQUFrRCxDQUFDO0FBRTVHLE9BQU8sRUFBQywyQkFBMkIsRUFBZ0MsTUFBTSxVQUFVLENBQUM7QUFDcEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVB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Q0FBQztRQUVELElBQUksUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE9BQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQzs4R0ExSlEsaUJBQWlCLGtCQW9CZCxxQkFBcUIsd0NBRXJCLGdCQUFnQjtrR0F0Qm5CLGlCQUFpQix3RUNwQzlCLGd5Q0FxQ0EsNktEWFEsV0FBVyx3M0JBQ1gsbUJBQW1CLGtXQUNuQixrQkFBa0Isd2dCQUNsQixlQUFlLG1yQkFDZixlQUFlLDhCQUNmLGNBQWMsMFdBQ2QsbUJBQW1CLGlnQkFDbkIsaUJBQWlCOzsyRkFHWixpQkFBaUI7a0JBZjdCLFNBQVM7aUNBR00sSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3FCQUNwQjs7MEJBc0JJLE1BQU07MkJBQUMscUJBQXFCOzswQkFFNUIsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0cywgTWF0T3B0aW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQsIFNjYWxhcn0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL3NlYXJjaC90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuaW1wb3J0IHtwb3NzaWJsZUNvbXBhcmFibGVPcGVyYXRvcnMsIFBvc3NpYmxlQ29tcGFyYWJsZU9wZXJ0b3JLZXlzfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge2RhdGVNYXgsIGRhdGVNaW4sIHNlcmlhbGl6ZX0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWF0Q2hlY2tib3hNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuZXhwb3J0IHR5cGUgVHlwZURhdGVDb25maWd1cmF0aW9uPEQgPSBEYXRlPiA9IHtcbiAgICBtaW4/OiBEIHwgbnVsbDtcbiAgICBtYXg/OiBEIHwgbnVsbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3R5cGUtZGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVEYXRlQ29tcG9uZW50PEQgPSBhbnk+IGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSByZW5kZXJlZFZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogUmVxdWlyZWQ8VHlwZURhdGVDb25maWd1cmF0aW9uPEQ+PjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JDdHJsID0gbmV3IEZvcm1Db250cm9sPFBvc3NpYmxlQ29tcGFyYWJsZU9wZXJ0b3JLZXlzPignZXF1YWwnLCB7bm9uTnVsbGFibGU6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDdHJsID0gbmV3IEZvcm1Db250cm9sPEQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9kYXlDdHJsID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JzID0gcG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3JzO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgb3BlcmF0b3I6IHRoaXMub3BlcmF0b3JDdHJsLFxuICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZUN0cmwsXG4gICAgICAgIHRvZGF5OiB0aGlzLnRvZGF5Q3RybCxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdHM6IFJlcXVpcmVkPFR5cGVEYXRlQ29uZmlndXJhdGlvbjxEPj4gPSB7XG4gICAgICAgIG1pbjogbnVsbCxcbiAgICAgICAgbWF4OiBudWxsLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9EQVRBKSBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPFR5cGVEYXRlQ29uZmlndXJhdGlvbjxEPj4sXG4gICAgICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5kZWZhdWx0cywgLi4uZGF0YS5jb25maWd1cmF0aW9ufTtcblxuICAgICAgICB0aGlzLnRvZGF5Q3RybC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKGlzVG9kYXkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzVG9kYXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh0aGlzLmRhdGVBZGFwdGVyLnRvZGF5KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUN0cmwuZW5hYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy52YWx1ZUN0cmwudmFsdWVDaGFuZ2VzLCB0aGlzLnRvZGF5Q3RybC52YWx1ZUNoYW5nZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW5kZXJlZFZhbHVlLm5leHQodGhpcy5nZXRSZW5kZXJlZFZhbHVlKCkpKTtcblxuICAgICAgICB0aGlzLmluaXRWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMucmVsb2FkQ29uZGl0aW9uKGRhdGEuY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWVDdHJsLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgPSB7fTtcbiAgICAgICAgbGV0IG9wZXJhdG9yID0gdGhpcy5vcGVyYXRvckN0cmwudmFsdWU7XG4gICAgICAgIGxldCBkYXRlOiBzdHJpbmc7XG4gICAgICAgIGxldCBkYXlBZnRlcjogc3RyaW5nO1xuXG4gICAgICAgIGlmICh0aGlzLnRvZGF5Q3RybC52YWx1ZSkge1xuICAgICAgICAgICAgZGF0ZSA9ICd0b2RheSc7XG4gICAgICAgICAgICBkYXlBZnRlciA9ICd0b21vcnJvdyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkYXRlID0gc2VyaWFsaXplKHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMudmFsdWVDdHJsLnZhbHVlKTtcbiAgICAgICAgICAgIGRheUFmdGVyID0gc2VyaWFsaXplKHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuZ2V0RGF5QWZ0ZXIodGhpcy52YWx1ZUN0cmwudmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2VxdWFsJykge1xuICAgICAgICAgICAgY29uZGl0aW9uLmdyZWF0ZXJPckVxdWFsID0ge3ZhbHVlOiBkYXRlfTtcbiAgICAgICAgICAgIGNvbmRpdGlvbi5sZXNzID0ge3ZhbHVlOiBkYXlBZnRlcn07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUcmFuc3BhcmVudGx5IGFkYXB0IGV4Y2x1c2l2ZS9pbmNsdXNpdmUgcmFuZ2VzXG4gICAgICAgICAgICBpZiAoZGF0ZSAhPT0gJ3RvZGF5Jykge1xuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2dyZWF0ZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yID0gJ2dyZWF0ZXJPckVxdWFsJztcbiAgICAgICAgICAgICAgICAgICAgZGF0ZSA9IGRheUFmdGVyO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0b3IgPT09ICdsZXNzT3JFcXVhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3IgPSAnbGVzcyc7XG4gICAgICAgICAgICAgICAgICAgIGRhdGUgPSBkYXlBZnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbmRpdGlvbltvcGVyYXRvcl0gPSB7dmFsdWU6IGRhdGV9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZENvbmRpdGlvbihjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yICc9J1xuICAgICAgICBpZiAoY29uZGl0aW9uLmdyZWF0ZXJPckVxdWFsICYmIGNvbmRpdGlvbi5sZXNzKSB7XG4gICAgICAgICAgICB0aGlzLm9wZXJhdG9yQ3RybC5zZXRWYWx1ZSgnZXF1YWwnKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VG9kYXlPckRhdGUoY29uZGl0aW9uLmdyZWF0ZXJPckVxdWFsLnZhbHVlKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBvcGVyYXRvciBvZiB0aGlzLm9wZXJhdG9ycykge1xuICAgICAgICAgICAgY29uc3QgcmVsb2FkZWRPcGVyYXRvciA9IGNvbmRpdGlvbltvcGVyYXRvci5rZXldO1xuICAgICAgICAgICAgaWYgKHJlbG9hZGVkT3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZXJhdG9yQ3RybC5zZXRWYWx1ZShvcGVyYXRvci5rZXkpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VG9kYXlPckRhdGUocmVsb2FkZWRPcGVyYXRvci52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRvZGF5T3JEYXRlKHZhbHVlOiBTY2FsYXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAndG9kYXknKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh0aGlzLmRhdGVBZGFwdGVyLnRvZGF5KCkpO1xuICAgICAgICAgICAgdGhpcy50b2RheUN0cmwuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh0aGlzLmRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gICAgICAgICAgICB0aGlzLnRvZGF5Q3RybC5zZXRWYWx1ZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWRdO1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLm1pbikge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGRhdGVNaW4odGhpcy5kYXRlQWRhcHRlciwgdGhpcy5jb25maWd1cmF0aW9uLm1pbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5tYXgpIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkYXRlTWF4KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuY29uZmlndXJhdGlvbi5tYXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXlBZnRlcihkYXRlOiBEKTogRCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyh0aGlzLmRhdGVBZGFwdGVyLmNsb25lKGRhdGUpLCAxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9ycy5maW5kKHYgPT4gdi5rZXkgPT09IHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcblxuICAgICAgICBsZXQgdmFsdWUgPSAnJztcbiAgICAgICAgaWYgKHRoaXMudG9kYXlDdHJsLnZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICRsb2NhbGl6ZWBBdWpvdXJkJ2h1aWA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZUN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5kYXRlQWRhcHRlci5mb3JtYXQodGhpcy52YWx1ZUN0cmwudmFsdWUsIHRoaXMuZGF0ZUZvcm1hdHMuZGlzcGxheS5kYXRlSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wZXJhdG9yICYmIHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3IubGFiZWwgKyAnICcgKyB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiTWF0aGVtYXRpY2FsIG9wZXJhdG9yIDwgPiA9XCI+T3DDqXJhdGV1cjwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwib3BlcmF0b3JDdHJsXCIgW3JlcXVpcmVkXT1cInRydWVcIiBwYW5lbFdpZHRoPVwiXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wZXJhdG9yczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPkRhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidmFsdWVDdHJsXCJcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInZhbHVlXCJcbiAgICAgICAgICAgIFttYXhdPVwiY29uZmlndXJhdGlvbi5tYXhcIlxuICAgICAgICAgICAgW21pbl09XCJjb25maWd1cmF0aW9uLm1pblwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtmb3JdPVwidmFsdWVcIiBtYXRJY29uU3VmZml4IC8+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdmFsdWUgLz5cbiAgICAgICAgQGlmICh2YWx1ZUN0cmwuaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPjwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHZhbHVlQ3RybC5oYXNFcnJvcignbWF4JykpIHtcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+PiB7eyBjb25maWd1cmF0aW9uLm1heCB9fTwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodmFsdWVDdHJsLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPio8L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWNoZWNrYm94IFtmb3JtQ29udHJvbF09XCJ0b2RheUN0cmxcIiBpMThuPkF1am91cmQnaHVpPC9tYXQtY2hlY2tib3g+XG48L2Zvcm0+XG4iXX0=
|
package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { MAT_DATE_FORMATS } from '@angular/material/core';
|
|
|
4
4
|
import { BehaviorSubject, merge } from 'rxjs';
|
|
5
5
|
import { NATURAL_DROPDOWN_DATA } from '../../search/dropdown-container/dropdown.service';
|
|
6
6
|
import { dateMax, dateMin, serialize } from '../utils';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
7
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
9
8
|
import { MatInputModule } from '@angular/material/input';
|
|
10
9
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -14,7 +13,6 @@ import * as i2 from "@angular/forms";
|
|
|
14
13
|
import * as i3 from "@angular/material/form-field";
|
|
15
14
|
import * as i4 from "@angular/material/input";
|
|
16
15
|
import * as i5 from "@angular/material/datepicker";
|
|
17
|
-
import * as i6 from "@angular/common";
|
|
18
16
|
class InvalidWithValueStateMatcher {
|
|
19
17
|
isErrorState(control, form) {
|
|
20
18
|
return (form && form.invalid && (form.value.to || form.value.from)) || (control && control.invalid);
|
|
@@ -125,17 +123,17 @@ export class TypeDateRangeComponent {
|
|
|
125
123
|
return '';
|
|
126
124
|
}
|
|
127
125
|
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeDateRangeComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.DateAdapter }, { token: MAT_DATE_FORMATS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: TypeDateRangeComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field>\n <input\n matInput\n [matDatepicker]=\"from\"\n placeholder=\"De\"\n i18n-placeholder\n [formControl]=\"fromCtrl\"\n [errorStateMatcher]=\"matcher\"\n [min]=\"configuration.min\"\n [max]=\"configuration.max\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"from\" />\n <mat-datepicker #from />\n @if (form.hasError('toGreaterThanFrom')) {\n <mat-error>{{ render(fromCtrl.value) }} > {{ render(toCtrl.value) }}</mat-error>\n }\n @if (fromCtrl.hasError('min') && !form.hasError('toGreaterThanFrom')) {\n <mat-error>< {{ configuration.min }}</mat-error>\n }\n @if (fromCtrl.hasError('max') && !form.hasError('toGreaterThanFrom')) {\n <mat-error>> {{ configuration.max }}</mat-error>\n }\n @if (fromCtrl.hasError('required')) {\n <mat-error>*</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field>\n <input\n matInput\n [matDatepicker]=\"to\"\n placeholder=\"\u00E0\"\n i18n-placeholder\n [formControl]=\"toCtrl\"\n [errorStateMatcher]=\"matcher\"\n [min]=\"configuration.min\"\n [max]=\"configuration.max\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"to\" />\n <mat-datepicker #to />\n @if (toCtrl.hasError('min') && !form.hasError('toGreaterThanFrom')) {\n <mat-error> < {{ configuration.min }}</mat-error>\n }\n @if (toCtrl.hasError('max') && !form.hasError('toGreaterThanFrom')) {\n <mat-error> > {{ configuration.max }}</mat-error>\n }\n @if (toCtrl.hasError('required')) {\n <mat-error>*</mat-error>\n }\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
|
|
130
128
|
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeDateRangeComponent, decorators: [{
|
|
132
130
|
type: Component,
|
|
133
|
-
args: [{ standalone: true, imports: [FormsModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatDatepickerModule
|
|
134
|
-
}], ctorParameters:
|
|
131
|
+
args: [{ standalone: true, imports: [FormsModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatDatepickerModule], template: "<form [formGroup]=\"form\">\n <mat-form-field>\n <input\n matInput\n [matDatepicker]=\"from\"\n placeholder=\"De\"\n i18n-placeholder\n [formControl]=\"fromCtrl\"\n [errorStateMatcher]=\"matcher\"\n [min]=\"configuration.min\"\n [max]=\"configuration.max\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"from\" />\n <mat-datepicker #from />\n @if (form.hasError('toGreaterThanFrom')) {\n <mat-error>{{ render(fromCtrl.value) }} > {{ render(toCtrl.value) }}</mat-error>\n }\n @if (fromCtrl.hasError('min') && !form.hasError('toGreaterThanFrom')) {\n <mat-error>< {{ configuration.min }}</mat-error>\n }\n @if (fromCtrl.hasError('max') && !form.hasError('toGreaterThanFrom')) {\n <mat-error>> {{ configuration.max }}</mat-error>\n }\n @if (fromCtrl.hasError('required')) {\n <mat-error>*</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field>\n <input\n matInput\n [matDatepicker]=\"to\"\n placeholder=\"\u00E0\"\n i18n-placeholder\n [formControl]=\"toCtrl\"\n [errorStateMatcher]=\"matcher\"\n [min]=\"configuration.min\"\n [max]=\"configuration.max\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"to\" />\n <mat-datepicker #to />\n @if (toCtrl.hasError('min') && !form.hasError('toGreaterThanFrom')) {\n <mat-error> < {{ configuration.min }}</mat-error>\n }\n @if (toCtrl.hasError('max') && !form.hasError('toGreaterThanFrom')) {\n <mat-error> > {{ configuration.max }}</mat-error>\n }\n @if (toCtrl.hasError('required')) {\n <mat-error>*</mat-error>\n }\n </mat-form-field>\n</form>\n" }]
|
|
132
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
135
133
|
type: Inject,
|
|
136
134
|
args: [NATURAL_DROPDOWN_DATA]
|
|
137
135
|
}] }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
138
136
|
type: Inject,
|
|
139
137
|
args: [MAT_DATE_FORMATS]
|
|
140
|
-
}] }]
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlLXJhbmdlL3R5cGUtZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS1yYW5nZS90eXBlLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUVILFdBQVcsRUFDWCxTQUFTLEVBS1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxtQkFBbUIsR0FDdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQWlDLGdCQUFnQixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDckQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7QUFPaEUsTUFBTSw0QkFBNEI7SUFDdkIsWUFBWSxD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dWNBQUUsY0FBYywwV0FBRSxtQkFBbUIsaWdCQUFFLFlBQVk7OzJGQUV4RyxzQkFBc0I7a0JBTGxDLFNBQVM7aUNBRU0sSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLENBQUM7OzBCQW1CN0csTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUNvbnRyb2wsXG4gICAgRm9ybUdyb3VwLFxuICAgIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBOZ0Zvcm0sXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbiAgICBWYWxpZGF0b3JGbixcbiAgICBWYWxpZGF0b3JzLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIEVycm9yU3RhdGVNYXRjaGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0c30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge2RhdGVNYXgsIGRhdGVNaW4sIHNlcmlhbGl6ZX0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdERhdGVwaWNrZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEYXRlUmFuZ2VDb25maWd1cmF0aW9uPEQgPSBhbnk+IHtcbiAgICBtaW4/OiBEIHwgbnVsbDtcbiAgICBtYXg/OiBEIHwgbnVsbDtcbn1cblxuY2xhc3MgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sPHVua25vd24+IHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGZvcm0gJiYgZm9ybS5pbnZhbGlkICYmIChmb3JtLnZhbHVlLnRvIHx8IGZvcm0udmFsdWUuZnJvbSkpIHx8IChjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUZyb21Db250cm9sPEQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwga2V5OiBzdHJpbmcpOiBEIHwgbnVsbCB7XG4gICAgY29uc3QgYyA9IGNvbnRyb2wuZ2V0KGtleSk7XG4gICAgaWYgKCFjKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjLnZhbHVlO1xufVxuXG4vKipcbiAqIEZyb20gPj0gVG9cbiAqL1xuZnVuY3Rpb24gdG9HcmVhdGVyVGhhbkZyb208RD4oZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+KTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBmcm9tID0gcGFyc2VGcm9tQ29udHJvbDxEPihjb250cm9sLCAnZnJvbScpO1xuICAgICAgICBjb25zdCB0byA9IHBhcnNlRnJvbUNvbnRyb2w8RD4oY29udHJvbCwgJ3RvJyk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8gJiYgZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZnJvbSwgdG8pID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHt0b0dyZWF0ZXJUaGFuRnJvbTogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG4vKipcbiAqIERhdGUgcmFuZ2Ugd2l0aCBtYW5kYXRvcnkgYm91bmRpbmcgZGF0ZXMuXG4gKlxuICogSWYgeW91IG5lZWQgb3B0aW9uYWwgYm91bmRpbmcgZGF0ZSwgdGhlbiB1c2UgYFR5cGVEYXRlQ29tcG9uZW50YCBpbnN0ZWFkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHlwZS1kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0RGF0ZXBpY2tlck1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZURhdGVSYW5nZUNvbXBvbmVudDxEID0gYW55PiBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVuZGVyZWRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IFJlcXVpcmVkPFR5cGVEYXRlUmFuZ2VDb25maWd1cmF0aW9uPEQ+PjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF0Y2hlciA9IG5ldyBJbnZhbGlkV2l0aFZhbHVlU3RhdGVNYXRjaGVyKCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGZyb21DdHJsID0gbmV3IEZvcm1Db250cm9sPEQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9DdHJsID0gbmV3IEZvcm1Db250cm9sPEQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBmcm9tOiB0aGlzLmZyb21DdHJsLFxuICAgICAgICB0bzogdGhpcy50b0N0cmwsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRzOiBSZXF1aXJlZDxUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPj4gPSB7XG4gICAgICAgIG1pbjogbnVsbCxcbiAgICAgICAgbWF4OiBudWxsLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9EQVRBKSBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPFR5cGVEYXRlUmFuZ2VDb25maWd1cmF0aW9uPEQ+PixcbiAgICAgICAgcHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJpdmF0ZSBkYXRlRm9ybWF0czogTWF0RGF0ZUZvcm1hdHMsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLmRlZmF1bHRzLCAuLi5kYXRhLmNvbmZpZ3VyYXRpb259O1xuXG4gICAgICAgIG1lcmdlKHRoaXMuZnJvbUN0cmwudmFsdWVDaGFuZ2VzLCB0aGlzLnRvQ3RybC52YWx1ZUNoYW5nZXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVkVmFsdWUubmV4dCh0aGlzLmdldFJlbmRlcmVkVmFsdWUoKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5pdFZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5yZWxvYWRDb25kaXRpb24oZGF0YS5jb25kaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIGNvbnN0IGZyb20gPSBzZXJpYWxpemU8RD4odGhpcy5kYXRlQWRhcHRlciwgdGhpcy5mcm9tQ3RybC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHRvID0gc2VyaWFsaXplPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMudG9DdHJsLnZhbHVlKTtcblxuICAgICAgICBpZiAoZnJvbSAmJiB0bykge1xuICAgICAgICAgICAgcmV0dXJuIHtiZXR3ZWVuOiB7ZnJvbSwgdG99fTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVsb2FkQ29uZGl0aW9uKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0ge1xuICAgICAgICAgICAgZnJvbTogbnVsbCBhcyBEIHwgbnVsbCxcbiAgICAgICAgICAgIHRvOiBudWxsIGFzIEQgfCBudWxsLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChjb25kaXRpb24uYmV0d2Vlbikge1xuICAgICAgICAgICAgdmFsdWUuZnJvbSA9IHRoaXMuZGF0ZUFkYXB0ZXIucGFyc2UoY29uZGl0aW9uLmJldHdlZW4uZnJvbSwgbnVsbCk7XG4gICAgICAgICAgICB2YWx1ZS50byA9IHRoaXMuZGF0ZUFkYXB0ZXIucGFyc2UoY29uZGl0aW9uLmJldHdlZW4udG8sIG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWRdO1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLm1pbikge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGRhdGVNaW48RD4odGhpcy5kYXRlQWRhcHRlciwgdGhpcy5jb25maWd1cmF0aW9uLm1pbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5tYXgpIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkYXRlTWF4PEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuY29uZmlndXJhdGlvbi5tYXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZnJvbUN0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICAgICAgdGhpcy50b0N0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcblxuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsaWRhdG9ycyhbXG4gICAgICAgICAgICB0b0dyZWF0ZXJUaGFuRnJvbTxEPih0aGlzLmRhdGVBZGFwdGVyKSwgLy8gRnJvbSA8IFRvXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW5kZXIodmFsdWU6IEQgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID8gdGhpcy5kYXRlQWRhcHRlci5mb3JtYXQodmFsdWUsIHRoaXMuZGF0ZUZvcm1hdHMuZGlzcGxheS5kYXRlSW5wdXQpIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZW5kZXJlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLnJlbmRlcih0aGlzLmZyb21DdHJsLnZhbHVlKTtcbiAgICAgICAgY29uc3QgdG8gPSB0aGlzLnJlbmRlcih0aGlzLnRvQ3RybC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8pIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tICsgJyAtICcgKyB0bztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZnJvbVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmcm9tQ3RybFwiXG4gICAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgICAgICBbbWluXT1cImNvbmZpZ3VyYXRpb24ubWluXCJcbiAgICAgICAgICAgIFttYXhdPVwiY29uZmlndXJhdGlvbi5tYXhcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJmcm9tXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZnJvbT48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5oYXNFcnJvcigndG9HcmVhdGVyVGhhbkZyb20nKVwiXG4gICAgICAgICAgICA+e3sgcmVuZGVyKGZyb21DdHJsLnZhbHVlKSB9fSA+IHt7IHJlbmRlcih0b0N0cmwudmFsdWUpIH19PC9tYXQtZXJyb3JcbiAgICAgICAgPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZnJvbUN0cmwuaGFzRXJyb3IoJ21pbicpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpXCJcbiAgICAgICAgICAgID48IHt7IGNvbmZpZ3VyYXRpb24ubWluIH19PC9tYXQtZXJyb3JcbiAgICAgICAgPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZnJvbUN0cmwuaGFzRXJyb3IoJ21heCcpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpXCJcbiAgICAgICAgICAgID4+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9tYXQtZXJyb3JcbiAgICAgICAgPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZnJvbUN0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj4qPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwidG9cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLDoFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidG9DdHJsXCJcbiAgICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgICAgIFttaW5dPVwiY29uZmlndXJhdGlvbi5taW5cIlxuICAgICAgICAgICAgW21heF09XCJjb25maWd1cmF0aW9uLm1heFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInRvXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG8+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInRvQ3RybC5oYXNFcnJvcignbWluJykgJiYgIWZvcm0uaGFzRXJyb3IoJ3RvR3JlYXRlclRoYW5Gcm9tJylcIj5cbiAgICAgICAgICAgIDwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L21hdC1lcnJvclxuICAgICAgICA+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ0b0N0cmwuaGFzRXJyb3IoJ21heCcpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpXCI+XG4gICAgICAgICAgICA+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9tYXQtZXJyb3JcbiAgICAgICAgPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwidG9DdHJsLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+KjwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
|
|
138
|
+
}] }] });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlLXJhbmdlL3R5cGUtZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS1yYW5nZS90eXBlLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUVILFdBQVcsRUFDWCxTQUFTLEVBS1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxtQkFBbUIsR0FDdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQWlDLGdCQUFnQixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBT2hFLE1BQU0sNEJBQTRCO0lBQ3ZCLFlBQVksQ0FBQyxPQUFvQyxFQUFFLElBQXdDO1FBQzlGLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEcsQ0FBQztDQUNKO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxPQUF3QixFQUFFLEdBQVc7SUFDOUQsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDTCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ25CLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUksV0FBMkI7SUFDckQsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDekQsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUksT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFJLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU5QyxJQUFJLElBQUksSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLElBQUksRUFBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFnQi9CLFlBQ21DLElBQXdELEVBQy9FLFdBQTJCLEVBQ0QsV0FBMkI7UUFEckQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ0QsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBbEJqRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWhELFlBQU8sR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksV0FBVyxDQUFXLElBQUksQ0FBQyxDQUFDO1FBQzNDLFdBQU0sR0FBRyxJQUFJLFdBQVcsQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUN6QyxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNsQixDQUFDLENBQUM7UUFFYyxhQUFRLEdBQTRDO1lBQ2pFLEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7U0FDWixDQUFDO1FBT0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQztRQUUvRCxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFlBQVk7UUFDZixNQUFNLElBQUksR0FBRyxTQUFTLENBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0QsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDYixPQUFPLEVBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBQyxFQUFDLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVNLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBMkM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRztZQUNWLElBQUksRUFBRSxJQUFnQjtZQUN0QixFQUFFLEVBQUUsSUFBZ0I7U0FDdkIsQ0FBQztRQUVGLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEUsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsTUFBTSxVQUFVLEdBQWtCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNwQixpQkFBaUIsQ0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWTtTQUN2RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWU7UUFDekIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNGLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDOzhHQW5HUSxzQkFBc0Isa0JBaUJuQixxQkFBcUIsd0NBRXJCLGdCQUFnQjtrR0FuQm5CLHNCQUFzQix3RUNyRW5DLCszREFvREEsMkNEZWMsV0FBVywycEJBQUUsbUJBQW1CLGtXQUFFLGtCQUFrQix1Y0FBRSxjQUFjLDBXQUFFLG1CQUFtQjs7MkZBRTFGLHNCQUFzQjtrQkFMbEMsU0FBUztpQ0FFTSxJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDOzswQkFtQi9GLE1BQU07MkJBQUMscUJBQXFCOzswQkFFNUIsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Hcm91cCxcbiAgICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgTmdGb3JtLFxuICAgIFZhbGlkYXRpb25FcnJvcnMsXG4gICAgVmFsaWRhdG9yRm4sXG4gICAgVmFsaWRhdG9ycyxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBFcnJvclN0YXRlTWF0Y2hlciwgTUFUX0RBVEVfRk9STUFUUywgTWF0RGF0ZUZvcm1hdHN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL3NlYXJjaC90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuaW1wb3J0IHtOQVRVUkFMX0RST1BET1dOX0RBVEEsIE5hdHVyYWxEcm9wZG93bkRhdGF9IGZyb20gJy4uLy4uL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uLy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtkYXRlTWF4LCBkYXRlTWluLCBzZXJpYWxpemV9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmV4cG9ydCB0eXBlIFR5cGVEYXRlUmFuZ2VDb25maWd1cmF0aW9uPEQgPSBhbnk+ID0ge1xuICAgIG1pbj86IEQgfCBudWxsO1xuICAgIG1heD86IEQgfCBudWxsO1xufTtcblxuY2xhc3MgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sPHVua25vd24+IHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGZvcm0gJiYgZm9ybS5pbnZhbGlkICYmIChmb3JtLnZhbHVlLnRvIHx8IGZvcm0udmFsdWUuZnJvbSkpIHx8IChjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUZyb21Db250cm9sPEQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwga2V5OiBzdHJpbmcpOiBEIHwgbnVsbCB7XG4gICAgY29uc3QgYyA9IGNvbnRyb2wuZ2V0KGtleSk7XG4gICAgaWYgKCFjKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjLnZhbHVlO1xufVxuXG4vKipcbiAqIEZyb20gPj0gVG9cbiAqL1xuZnVuY3Rpb24gdG9HcmVhdGVyVGhhbkZyb208RD4oZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+KTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBmcm9tID0gcGFyc2VGcm9tQ29udHJvbDxEPihjb250cm9sLCAnZnJvbScpO1xuICAgICAgICBjb25zdCB0byA9IHBhcnNlRnJvbUNvbnRyb2w8RD4oY29udHJvbCwgJ3RvJyk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8gJiYgZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZnJvbSwgdG8pID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHt0b0dyZWF0ZXJUaGFuRnJvbTogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG4vKipcbiAqIERhdGUgcmFuZ2Ugd2l0aCBtYW5kYXRvcnkgYm91bmRpbmcgZGF0ZXMuXG4gKlxuICogSWYgeW91IG5lZWQgb3B0aW9uYWwgYm91bmRpbmcgZGF0ZSwgdGhlbiB1c2UgYFR5cGVEYXRlQ29tcG9uZW50YCBpbnN0ZWFkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHlwZS1kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0RGF0ZXBpY2tlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVEYXRlUmFuZ2VDb21wb25lbnQ8RCA9IGFueT4gaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWd1cmF0aW9uOiBSZXF1aXJlZDxUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPj47XG4gICAgcHVibGljIHJlYWRvbmx5IG1hdGNoZXIgPSBuZXcgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlcigpO1xuICAgIHB1YmxpYyByZWFkb25seSBmcm9tQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxEIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHRvQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxEIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZnJvbTogdGhpcy5mcm9tQ3RybCxcbiAgICAgICAgdG86IHRoaXMudG9DdHJsLFxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0czogUmVxdWlyZWQ8VHlwZURhdGVSYW5nZUNvbmZpZ3VyYXRpb248RD4+ID0ge1xuICAgICAgICBtaW46IG51bGwsXG4gICAgICAgIG1heDogbnVsbCxcbiAgICB9O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5BVFVSQUxfRFJPUERPV05fREFUQSkgZGF0YTogTmF0dXJhbERyb3Bkb3duRGF0YTxUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPj4sXG4gICAgICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5kZWZhdWx0cywgLi4uZGF0YS5jb25maWd1cmF0aW9ufTtcblxuICAgICAgICBtZXJnZSh0aGlzLmZyb21DdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy50b0N0cmwudmFsdWVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlZFZhbHVlLm5leHQodGhpcy5nZXRSZW5kZXJlZFZhbHVlKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluaXRWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMucmVsb2FkQ29uZGl0aW9uKGRhdGEuY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBjb25zdCBmcm9tID0gc2VyaWFsaXplPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuZnJvbUN0cmwudmFsdWUpO1xuICAgICAgICBjb25zdCB0byA9IHNlcmlhbGl6ZTxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLnRvQ3RybC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8pIHtcbiAgICAgICAgICAgIHJldHVybiB7YmV0d2Vlbjoge2Zyb20sIHRvfX07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZENvbmRpdGlvbihjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHtcbiAgICAgICAgICAgIGZyb206IG51bGwgYXMgRCB8IG51bGwsXG4gICAgICAgICAgICB0bzogbnVsbCBhcyBEIHwgbnVsbCxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoY29uZGl0aW9uLmJldHdlZW4pIHtcbiAgICAgICAgICAgIHZhbHVlLmZyb20gPSB0aGlzLmRhdGVBZGFwdGVyLnBhcnNlKGNvbmRpdGlvbi5iZXR3ZWVuLmZyb20sIG51bGwpO1xuICAgICAgICAgICAgdmFsdWUudG8gPSB0aGlzLmRhdGVBZGFwdGVyLnBhcnNlKGNvbmRpdGlvbi5iZXR3ZWVuLnRvLCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5taW4pIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkYXRlTWluPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuY29uZmlndXJhdGlvbi5taW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goZGF0ZU1heDxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZyb21DdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgICAgIHRoaXMudG9DdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG5cbiAgICAgICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnMoW1xuICAgICAgICAgICAgdG9HcmVhdGVyVGhhbkZyb208RD4odGhpcy5kYXRlQWRhcHRlciksIC8vIEZyb20gPCBUb1xuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVuZGVyKHZhbHVlOiBEIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHRoaXMuZGF0ZUFkYXB0ZXIuZm9ybWF0KHZhbHVlLCB0aGlzLmRhdGVGb3JtYXRzLmRpc3BsYXkuZGF0ZUlucHV0KSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVuZGVyZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmcm9tID0gdGhpcy5yZW5kZXIodGhpcy5mcm9tQ3RybC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHRvID0gdGhpcy5yZW5kZXIodGhpcy50b0N0cmwudmFsdWUpO1xuXG4gICAgICAgIGlmIChmcm9tICYmIHRvKSB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSArICcgLSAnICsgdG87XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImZyb21cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZVwiXG4gICAgICAgICAgICBpMThuLXBsYWNlaG9sZGVyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZnJvbUN0cmxcIlxuICAgICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICAgICAgW21pbl09XCJjb25maWd1cmF0aW9uLm1pblwiXG4gICAgICAgICAgICBbbWF4XT1cImNvbmZpZ3VyYXRpb24ubWF4XCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwiZnJvbVwiIC8+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZnJvbSAvPlxuICAgICAgICBAaWYgKGZvcm0uaGFzRXJyb3IoJ3RvR3JlYXRlclRoYW5Gcm9tJykpIHtcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+e3sgcmVuZGVyKGZyb21DdHJsLnZhbHVlKSB9fSA+IHt7IHJlbmRlcih0b0N0cmwudmFsdWUpIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChmcm9tQ3RybC5oYXNFcnJvcignbWluJykgJiYgIWZvcm0uaGFzRXJyb3IoJ3RvR3JlYXRlclRoYW5Gcm9tJykpIHtcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+PCB7eyBjb25maWd1cmF0aW9uLm1pbiB9fTwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZnJvbUN0cmwuaGFzRXJyb3IoJ21heCcpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPj4ge3sgY29uZmlndXJhdGlvbi5tYXggfX08L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGZyb21DdHJsLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPio8L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInRvXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiw6BcIlxuICAgICAgICAgICAgaTE4bi1wbGFjZWhvbGRlclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRvQ3RybFwiXG4gICAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgICAgICBbbWluXT1cImNvbmZpZ3VyYXRpb24ubWluXCJcbiAgICAgICAgICAgIFttYXhdPVwiY29uZmlndXJhdGlvbi5tYXhcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJ0b1wiIC8+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG8gLz5cbiAgICAgICAgQGlmICh0b0N0cmwuaGFzRXJyb3IoJ21pbicpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPiA8IHt7IGNvbmZpZ3VyYXRpb24ubWluIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICh0b0N0cmwuaGFzRXJyb3IoJ21heCcpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPiA+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICh0b0N0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+KjwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -5,7 +5,6 @@ import { EMPTY } from 'rxjs';
|
|
|
5
5
|
import { map } from 'rxjs/operators';
|
|
6
6
|
import { NaturalHierarchicSelectorComponent } from '../../hierarchic-selector/hierarchic-selector/hierarchic-selector.component';
|
|
7
7
|
import { MatOptionModule } from '@angular/material/core';
|
|
8
|
-
import { CommonModule } from '@angular/common';
|
|
9
8
|
import { MatSelectModule } from '@angular/material/select';
|
|
10
9
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
11
10
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -14,7 +13,6 @@ import * as i1 from "@angular/forms";
|
|
|
14
13
|
import * as i2 from "@angular/material/form-field";
|
|
15
14
|
import * as i3 from "@angular/material/select";
|
|
16
15
|
import * as i4 from "@angular/material/core";
|
|
17
|
-
import * as i5 from "@angular/common";
|
|
18
16
|
export class TypeHierarchicSelectorComponent extends AbstractAssociationSelectComponent {
|
|
19
17
|
getCondition() {
|
|
20
18
|
if (!this.isValid()) {
|
|
@@ -25,6 +23,7 @@ export class TypeHierarchicSelectorComponent extends AbstractAssociationSelectCo
|
|
|
25
23
|
}) ?? [];
|
|
26
24
|
return this.operatorKeyToCondition(this.operatorCtrl.value, ids);
|
|
27
25
|
}
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
28
27
|
reloadValue(condition) {
|
|
29
28
|
if (!condition.have) {
|
|
30
29
|
return EMPTY;
|
|
@@ -64,19 +63,18 @@ export class TypeHierarchicSelectorComponent extends AbstractAssociationSelectCo
|
|
|
64
63
|
noEmptySelection(selection) {
|
|
65
64
|
return selection[this.configuration.key].length ? selection : null;
|
|
66
65
|
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeHierarchicSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: TypeHierarchicSelectorComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n @for (item of operators; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n @if (requireValueCtrl) {\n <natural-hierarchic-selector\n (selectionChange)=\"selectionChange($event)\"\n [config]=\"configuration.config\"\n [filters]=\"configuration.filters\"\n [multiple]=\"true\"\n [selected]=\"valueCtrl.value || {}\"\n style=\"margin-right: 20px\"\n />\n }\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: NaturalHierarchicSelectorComponent, selector: "natural-hierarchic-selector", inputs: ["displayWith", "config", "multiple", "selected", "allowUnselect", "filters", "searchFacets", "searchSelections"], outputs: ["searchSelectionChange", "selectionChange"] }] }); }
|
|
69
68
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeHierarchicSelectorComponent, decorators: [{
|
|
71
70
|
type: Component,
|
|
72
71
|
args: [{ standalone: true, imports: [
|
|
73
72
|
FormsModule,
|
|
74
73
|
ReactiveFormsModule,
|
|
75
74
|
MatFormFieldModule,
|
|
76
75
|
MatSelectModule,
|
|
77
|
-
CommonModule,
|
|
78
76
|
MatOptionModule,
|
|
79
77
|
NaturalHierarchicSelectorComponent,
|
|
80
|
-
], template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n
|
|
78
|
+
], template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n @for (item of operators; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n @if (requireValueCtrl) {\n <natural-hierarchic-selector\n (selectionChange)=\"selectionChange($event)\"\n [config]=\"configuration.config\"\n [filters]=\"configuration.filters\"\n [multiple]=\"true\"\n [selected]=\"valueCtrl.value || {}\"\n style=\"margin-right: 20px\"\n />\n }\n</form>\n" }]
|
|
81
79
|
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1oaWVyYXJjaGljLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1oaWVyYXJjaGljLXNlbGVjdG9yL3R5cGUtaGllcmFyY2hpYy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtaGllcmFyY2hpYy1zZWxlY3Rvci90eXBlLWhpZXJhcmNoaWMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUtyRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUMvSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUE2QmhFLE1BQU0sT0FB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TSxJQUFJLFdBQ1A7d0JBQ0wsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0NBQWtDO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9xdWVyeS12YXJpYWJsZS1tYW5hZ2VyJztcbmltcG9ydCB7VW50eXBlZE1vZGVsU2VydmljZSwgTGl0ZXJhbH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvY2xhc3Nlcy9oaWVyYXJjaGljLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbn0gZnJvbSAnLi4vLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uLy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtBYnN0cmFjdEFzc29jaWF0aW9uU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC1hc3NvY2lhdGlvbi1zZWxlY3QtY29tcG9uZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JDb21wb25lbnR9IGZyb20gJy4uLy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdE9wdGlvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhpZXJhcmNoaWNGaWx0ZXJDb25maWd1cmF0aW9uPFQgPSBMaXRlcmFsPiB7XG4gICAgc2VydmljZTogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uWydzZXJ2aWNlJ107XG4gICAgZmlsdGVyOiBUO1xufVxuXG5leHBvcnQgdHlwZSBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb248VCA9IExpdGVyYWw+ID0gQXJyYXk8SGllcmFyY2hpY0ZpbHRlckNvbmZpZ3VyYXRpb248VD4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVIaWVyYXJjaGljU2VsZWN0b3JDb25maWd1cmF0aW9uIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBzZXJ2aWNlOiBVbnR5cGVkTW9kZWxTZXJ2aWNlO1xuICAgIGNvbmZpZzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG4gICAgZmlsdGVycz86IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtaGllcmFyY2hpYy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JDb21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZUhpZXJhcmNoaWNTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QXNzb2NpYXRpb25TZWxlY3RDb21wb25lbnQ8VHlwZUhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZ3VyYXRpb24+IHtcbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZHM6IHN0cmluZ1tdID1cbiAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLnZhbHVlPy5bdGhpcy5jb25maWd1cmF0aW9uLmtleV0ubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICAgICAgICAgIH0pID8/IFtdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9wZXJhdG9yS2V5VG9Db25kaXRpb24odGhpcy5vcGVyYXRvckN0cmwudmFsdWUsIGlkcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbG9hZFZhbHVlKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCk6IE9ic2VydmFibGU8YW55IHwgbnVsbD4ge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbi5oYXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZHMgPSBjb25kaXRpb24uaGF2ZS52YWx1ZXM7XG4gICAgICAgIGNvbnN0IHF2bSA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyKCk7XG4gICAgICAgIHF2bS5zZXQoJ2EnLCB7XG4gICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICBncm91cHM6IFt7Y29uZGl0aW9uczogW3tpZDoge2luOiB7dmFsdWVzOiBpZHN9fX1dfV0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLnNlcnZpY2UuZ2V0QWxsKHF2bSkucGlwZShcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb246IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uID0ge307XG5cbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25bdGhpcy5jb25maWd1cmF0aW9uLmtleV0gPSB2Lml0ZW1zO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9FbXB0eVNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbmRlclZhbHVlV2l0aG91dE9wZXJhdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy52YWx1ZUN0cmwudmFsdWU/Llt0aGlzLmNvbmZpZ3VyYXRpb24ua2V5XTtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zXG4gICAgICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5mdWxsTmFtZSB8fCBpdGVtLm5hbWU7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb246IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbHVlKHRoaXMubm9FbXB0eVNlbGVjdGlvbihzZWxlY3Rpb24pKTtcbiAgICAgICAgdGhpcy52YWx1ZUN0cmwubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXZSBuZWVkIHRvIGtlZXAgYG51bGxgIGluIG91ciB2YWx1ZUN0cmwgc28gdGhlIHJlcXVpcmVkIHZhbGlkYXRvciB3b3JrcyBwcm9wZXJseSwgc29cbiAgICAgKiBmaWx0ZXIgaGVyZVxuICAgICAqL1xuICAgIHByaXZhdGUgbm9FbXB0eVNlbGVjdGlvbihzZWxlY3Rpb246IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uKTogT3JnYW5pemVkTW9kZWxTZWxlY3Rpb24gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGlvblt0aGlzLmNvbmZpZ3VyYXRpb24ua2V5XS5sZW5ndGggPyBzZWxlY3Rpb24gOiBudWxsO1xuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIm1heC13aWR0aDogN2VtOyBtYXJnaW4tcmlnaHQ6IDFlbVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXRoZW1hdGljYWwgb3BlcmF0b3IgPCA+ID1cIj5PcMOpcmF0ZXVyPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJvcGVyYXRvckN0cmxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIHBhbmVsV2lkdGg9XCJcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wZXJhdG9yc1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bmF0dXJhbC1oaWVyYXJjaGljLXNlbGVjdG9yXG4gICAgICAgICpuZ0lmPVwicmVxdWlyZVZhbHVlQ3RybFwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ3VyYXRpb24uY29uZmlnXCJcbiAgICAgICAgW2ZpbHRlcnNdPVwiY29uZmlndXJhdGlvbi5maWx0ZXJzXCJcbiAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwidmFsdWVDdHJsLnZhbHVlIHx8IHt9XCJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDIwcHhcIlxuICAgID48L25hdHVyYWwtaGllcmFyY2hpYy1zZWxlY3Rvcj5cbjwvZm9ybT5cbiJdfQ==
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1oaWVyYXJjaGljLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1oaWVyYXJjaGljLXNlbGVjdG9yL3R5cGUtaGllcmFyY2hpYy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtaGllcmFyY2hpYy1zZWxlY3Rvci90eXBlLWhpZXJhcmNoaWMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUtyRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUMvSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBNEJoRSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsa0NBQXVFO0lBQ2pILFlBQVk7UUFDZixJQUFJLENB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O3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQ0FBa0M7cUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHtVbnR5cGVkTW9kZWxTZXJ2aWNlLCBMaXRlcmFsfSBmcm9tICcuLi8uLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge09yZ2FuaXplZE1vZGVsU2VsZWN0aW9ufSBmcm9tICcuLi8uLi9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge0Fic3RyYWN0QXNzb2NpYXRpb25TZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LWFzc29jaWF0aW9uLXNlbGVjdC1jb21wb25lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7TWF0T3B0aW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgdHlwZSBIaWVyYXJjaGljRmlsdGVyQ29uZmlndXJhdGlvbjxUID0gTGl0ZXJhbD4gPSB7XG4gICAgc2VydmljZTogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uWydzZXJ2aWNlJ107XG4gICAgZmlsdGVyOiBUO1xufTtcblxuZXhwb3J0IHR5cGUgSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uPFQgPSBMaXRlcmFsPiA9IEhpZXJhcmNoaWNGaWx0ZXJDb25maWd1cmF0aW9uPFQ+W107XG5cbmV4cG9ydCB0eXBlIFR5cGVIaWVyYXJjaGljU2VsZWN0b3JDb25maWd1cmF0aW9uID0ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHNlcnZpY2U6IFVudHlwZWRNb2RlbFNlcnZpY2U7XG4gICAgY29uZmlnOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXTtcbiAgICBmaWx0ZXJzPzogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtaGllcmFyY2hpYy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgICAgICBOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVIaWVyYXJjaGljU2VsZWN0b3JDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEFzc29jaWF0aW9uU2VsZWN0Q29tcG9uZW50PFR5cGVIaWVyYXJjaGljU2VsZWN0b3JDb25maWd1cmF0aW9uPiB7XG4gICAgcHVibGljIGdldENvbmRpdGlvbigpOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRzOiBzdHJpbmdbXSA9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC52YWx1ZT8uW3RoaXMuY29uZmlndXJhdGlvbi5rZXldLm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgICAgICAgICB9KSA/PyBbXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVyYXRvcktleVRvQ29uZGl0aW9uKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlLCBpZHMpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG4gICAgcHJvdGVjdGVkIHJlbG9hZFZhbHVlKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCk6IE9ic2VydmFibGU8dW5rbm93biB8IG51bGw+IHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24uaGF2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRzID0gY29uZGl0aW9uLmhhdmUudmFsdWVzO1xuICAgICAgICBjb25zdCBxdm0gPSBuZXcgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcigpO1xuICAgICAgICBxdm0uc2V0KCdhJywge1xuICAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICAgICAgZ3JvdXBzOiBbe2NvbmRpdGlvbnM6IFt7aWQ6IHtpbjoge3ZhbHVlczogaWRzfX19XX1dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5zZXJ2aWNlLmdldEFsbChxdm0pLnBpcGUoXG4gICAgICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uOiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbiA9IHt9O1xuXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uW3RoaXMuY29uZmlndXJhdGlvbi5rZXldID0gdi5pdGVtcztcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm5vRW1wdHlTZWxlY3Rpb24oc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW5kZXJWYWx1ZVdpdGhvdXRPcGVyYXRvcigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMudmFsdWVDdHJsLnZhbHVlPy5bdGhpcy5jb25maWd1cmF0aW9uLmtleV07XG4gICAgICAgIGlmICghaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtc1xuICAgICAgICAgICAgLm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZnVsbE5hbWUgfHwgaXRlbS5uYW1lO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uOiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh0aGlzLm5vRW1wdHlTZWxlY3Rpb24oc2VsZWN0aW9uKSk7XG4gICAgICAgIHRoaXMudmFsdWVDdHJsLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2UgbmVlZCB0byBrZWVwIGBudWxsYCBpbiBvdXIgdmFsdWVDdHJsIHNvIHRoZSByZXF1aXJlZCB2YWxpZGF0b3Igd29ya3MgcHJvcGVybHksIHNvXG4gICAgICogZmlsdGVyIGhlcmVcbiAgICAgKi9cbiAgICBwcml2YXRlIG5vRW1wdHlTZWxlY3Rpb24oc2VsZWN0aW9uOiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbik6IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb25bdGhpcy5jb25maWd1cmF0aW9uLmtleV0ubGVuZ3RoID8gc2VsZWN0aW9uIDogbnVsbDtcbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJtYXgtd2lkdGg6IDdlbTsgbWFyZ2luLXJpZ2h0OiAxZW1cIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiTWF0aGVtYXRpY2FsIG9wZXJhdG9yIDwgPiA9XCI+T3DDqXJhdGV1cjwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwib3BlcmF0b3JDdHJsXCIgW3JlcXVpcmVkXT1cInRydWVcIiBwYW5lbFdpZHRoPVwiXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wZXJhdG9yczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIEBpZiAocmVxdWlyZVZhbHVlQ3RybCkge1xuICAgICAgICA8bmF0dXJhbC1oaWVyYXJjaGljLXNlbGVjdG9yXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlndXJhdGlvbi5jb25maWdcIlxuICAgICAgICAgICAgW2ZpbHRlcnNdPVwiY29uZmlndXJhdGlvbi5maWx0ZXJzXCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2YWx1ZUN0cmwudmFsdWUgfHwge31cIlxuICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDIwcHhcIlxuICAgICAgICAvPlxuICAgIH1cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -3,7 +3,6 @@ import { AbstractAssociationSelectComponent } from '../abstract-association-sele
|
|
|
3
3
|
import { EMPTY } from 'rxjs';
|
|
4
4
|
import { NaturalSelectComponent } from '../../select/select/select.component';
|
|
5
5
|
import { MatOptionModule } from '@angular/material/core';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
6
|
import { MatSelectModule } from '@angular/material/select';
|
|
8
7
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
8
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -12,7 +11,6 @@ import * as i1 from "@angular/forms";
|
|
|
12
11
|
import * as i2 from "@angular/material/form-field";
|
|
13
12
|
import * as i3 from "@angular/material/select";
|
|
14
13
|
import * as i4 from "@angular/material/core";
|
|
15
|
-
import * as i5 from "@angular/common";
|
|
16
14
|
export class TypeNaturalSelectComponent extends AbstractAssociationSelectComponent {
|
|
17
15
|
getCondition() {
|
|
18
16
|
if (!this.isValid()) {
|
|
@@ -33,19 +31,18 @@ export class TypeNaturalSelectComponent extends AbstractAssociationSelectCompone
|
|
|
33
31
|
const selectedName = selected?.fullName || selected?.name || '';
|
|
34
32
|
return selectedName;
|
|
35
33
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeNaturalSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: TypeNaturalSelectComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n @for (item of operators; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n @if (configuration && requireValueCtrl) {\n <natural-select\n style=\"display: inline\"\n [formControl]=\"valueCtrl\"\n [placeholder]=\"configuration.placeholder\"\n [service]=\"configuration.service\"\n [filter]=\"configuration.filter\"\n />\n }\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: NaturalSelectComponent, selector: "natural-select", inputs: ["service", "optionRequired", "searchField", "searchOperator", "filter", "disabled"] }] }); }
|
|
38
36
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: TypeNaturalSelectComponent, decorators: [{
|
|
40
38
|
type: Component,
|
|
41
39
|
args: [{ standalone: true, imports: [
|
|
42
40
|
FormsModule,
|
|
43
41
|
ReactiveFormsModule,
|
|
44
42
|
MatFormFieldModule,
|
|
45
43
|
MatSelectModule,
|
|
46
|
-
CommonModule,
|
|
47
44
|
MatOptionModule,
|
|
48
45
|
NaturalSelectComponent,
|
|
49
|
-
], template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n
|
|
46
|
+
], template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\" panelWidth=\"\">\n @for (item of operators; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n @if (configuration && requireValueCtrl) {\n <natural-select\n style=\"display: inline\"\n [formControl]=\"valueCtrl\"\n [placeholder]=\"configuration.placeholder\"\n [service]=\"configuration.service\"\n [filter]=\"configuration.filter\"\n />\n }\n</form>\n" }]
|
|
50
47
|
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1uYXR1cmFsLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtbmF0dXJhbC1zZWxlY3QvdHlwZS1uYXR1cmFsLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtbmF0dXJhbC1zZWxlY3QvdHlwZS1uYXR1cmFsLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQW9CaEUsTUFBTSxPQUFPLDBCQUVYLFNBQVEsa0NBQTRFO0lBQzNFLFlBQVk7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFUyxXQUFXLENBQUMsU0FBb0M7UUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRVMsMEJBQTBCO1FBQ2hDLE1BQU0sUUFBUSxHQUEwRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUM3RixNQUFNLFlBQVksR0FBRyxRQUFRLEVBQUUsUUFBUSxJQUFJLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBRWhFLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7OEdBM0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtGQzdCdkMsczBCQXNCQSwyQ0REUSxXQUFXLHdtQkFDWCxtQkFBbUIsa1dBQ25CLGtCQUFrQiwwU0FDbEIsZUFBZSxtckJBQ2YsZUFBZSwrQkFDZixzQkFBc0I7OzJGQUdqQiwwQkFBMEI7a0JBWnRDLFNBQVM7aUNBRU0sSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixzQkFBc0I7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7RXh0cmFjdFRvbmUsIEV4dHJhY3RWYWxsLCBVbnR5cGVkTW9kZWxTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge0Fic3RyYWN0QXNzb2NpYXRpb25TZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LWFzc29jaWF0aW9uLXNlbGVjdC1jb21wb25lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXR1cmFsU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRPcHRpb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCB0eXBlIFR5cGVTZWxlY3ROYXR1cmFsQ29uZmlndXJhdGlvbjxUU2VydmljZSBleHRlbmRzIFVudHlwZWRNb2RlbFNlcnZpY2U+ID0ge1xuICAgIHNlcnZpY2U6IFRTZXJ2aWNlO1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgZmlsdGVyPzogRXh0cmFjdFZhbGw8VFNlcnZpY2U+WydmaWx0ZXInXTtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLW5hdHVyYWwtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgICAgIE5hdHVyYWxTZWxlY3RDb21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZU5hdHVyYWxTZWxlY3RDb21wb25lbnQ8XG4gICAgVFNlcnZpY2UgZXh0ZW5kcyBVbnR5cGVkTW9kZWxTZXJ2aWNlLFxuPiBleHRlbmRzIEFic3RyYWN0QXNzb2NpYXRpb25TZWxlY3RDb21wb25lbnQ8VHlwZVNlbGVjdE5hdHVyYWxDb25maWd1cmF0aW9uPFRTZXJ2aWNlPj4ge1xuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy52YWx1ZUN0cmwudmFsdWU/LmlkO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBpZCA/IFtpZF0gOiBbXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVyYXRvcktleVRvQ29uZGl0aW9uKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlLCB2YWx1ZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWxvYWRWYWx1ZShjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQpOiBPYnNlcnZhYmxlPEV4dHJhY3RUb25lPFRTZXJ2aWNlPj4ge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbi5oYXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLnNlcnZpY2UuZ2V0T25lKGNvbmRpdGlvbi5oYXZlLnZhbHVlc1swXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbmRlclZhbHVlV2l0aG91dE9wZXJhdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkOiB7aWQ6IHN0cmluZzsgbmFtZT86IHN0cmluZzsgZnVsbE5hbWU/OiBzdHJpbmd9IHwgbnVsbCA9IHRoaXMudmFsdWVDdHJsLnZhbHVlO1xuICAgICAgICBjb25zdCBzZWxlY3RlZE5hbWUgPSBzZWxlY3RlZD8uZnVsbE5hbWUgfHwgc2VsZWN0ZWQ/Lm5hbWUgfHwgJyc7XG5cbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkTmFtZTtcbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJtYXgtd2lkdGg6IDdlbTsgbWFyZ2luLXJpZ2h0OiAxZW1cIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiTWF0aGVtYXRpY2FsIG9wZXJhdG9yIDwgPiA9XCI+T3DDqXJhdGV1cjwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwib3BlcmF0b3JDdHJsXCIgW3JlcXVpcmVkXT1cInRydWVcIiBwYW5lbFdpZHRoPVwiXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wZXJhdG9yczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIEBpZiAoY29uZmlndXJhdGlvbiAmJiByZXF1aXJlVmFsdWVDdHJsKSB7XG4gICAgICAgIDxuYXR1cmFsLXNlbGVjdFxuICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhbHVlQ3RybFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlndXJhdGlvbi5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBbc2VydmljZV09XCJjb25maWd1cmF0aW9uLnNlcnZpY2VcIlxuICAgICAgICAgICAgW2ZpbHRlcl09XCJjb25maWd1cmF0aW9uLmZpbHRlclwiXG4gICAgICAgIC8+XG4gICAgfVxuPC9mb3JtPlxuIl19
|