@ecodev/natural 61.0.1 → 61.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-detail.mjs +36 -33
- package/esm2022/lib/classes/abstract-editable-list.mjs +8 -6
- package/esm2022/lib/classes/abstract-list.mjs +74 -55
- package/esm2022/lib/classes/abstract-navigable-list.mjs +9 -9
- package/esm2022/lib/classes/cumulative-changes.mjs +3 -5
- package/esm2022/lib/classes/data-source.mjs +3 -2
- package/esm2022/lib/classes/query-variable-manager.mjs +3 -3
- package/esm2022/lib/directives/http-prefix.directive.mjs +4 -6
- package/esm2022/lib/modules/alert/alert.service.mjs +5 -7
- package/esm2022/lib/modules/alert/confirm.component.mjs +4 -6
- package/esm2022/lib/modules/avatar/component/avatar.component.mjs +21 -19
- package/esm2022/lib/modules/avatar/service/avatar.service.mjs +22 -24
- package/esm2022/lib/modules/avatar/sources/source.mjs +2 -1
- package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +17 -18
- package/esm2022/lib/modules/common/directives/background-density.directive.mjs +4 -6
- package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +12 -12
- package/esm2022/lib/modules/common/directives/src-density.directive.mjs +4 -6
- package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +4 -6
- package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +4 -3
- package/esm2022/lib/modules/common/services/memory-storage.mjs +4 -6
- package/esm2022/lib/modules/common/services/seo.service.mjs +12 -11
- package/esm2022/lib/modules/detail-header/detail-header.component.mjs +38 -33
- package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +8 -6
- package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +13 -12
- package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +20 -19
- package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +18 -17
- package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +19 -18
- package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +11 -9
- package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +21 -19
- package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +7 -7
- package/esm2022/lib/modules/file/abstract-file.mjs +51 -47
- package/esm2022/lib/modules/file/component/file.component.mjs +44 -31
- package/esm2022/lib/modules/file/file-drop.directive.mjs +10 -13
- package/esm2022/lib/modules/file/file-select.directive.mjs +9 -12
- package/esm2022/lib/modules/file/file.service.mjs +13 -15
- package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +7 -8
- package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +9 -7
- package/esm2022/lib/modules/hierarchic-selector/classes/flat-node.mjs +8 -2
- package/esm2022/lib/modules/hierarchic-selector/classes/model-node.mjs +4 -2
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +63 -46
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +16 -18
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +12 -4
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -6
- package/esm2022/lib/modules/icon/icon.directive.mjs +9 -9
- package/esm2022/lib/modules/logger/error-handler.mjs +7 -7
- package/esm2022/lib/modules/matomo/matomo.service.mjs +10 -9
- package/esm2022/lib/modules/panels/abstract-panel.mjs +23 -19
- package/esm2022/lib/modules/panels/panels.component.mjs +4 -4
- package/esm2022/lib/modules/panels/panels.service.mjs +49 -41
- package/esm2022/lib/modules/relations/relations.component.mjs +64 -35
- package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +15 -13
- package/esm2022/lib/modules/search/dropdown-container/dropdown-ref.mjs +4 -2
- package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +5 -7
- package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +9 -11
- package/esm2022/lib/modules/search/group/group.component.mjs +12 -11
- package/esm2022/lib/modules/search/input/input.component.mjs +77 -63
- package/esm2022/lib/modules/search/search/search.component.mjs +29 -31
- package/esm2022/lib/modules/select/abstract-select.component.mjs +66 -39
- package/esm2022/lib/modules/select/select/select.component.mjs +51 -48
- package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +21 -8
- package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +27 -19
- package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +3 -3
- package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +30 -24
- package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +3 -3
- package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +13 -15
- package/esm2022/lib/modules/sidenav/sidenav.service.mjs +42 -44
- package/esm2022/lib/modules/stamp/stamp.component.mjs +4 -3
- package/esm2022/lib/modules/table-button/table-button.component.mjs +16 -13
- package/esm2022/lib/services/abstract-model.service.mjs +17 -7
- package/esm2022/lib/services/debounce.service.mjs +7 -9
- package/esm2022/lib/services/enum.service.mjs +4 -6
- package/esm2022/lib/services/link-mutation.service.mjs +8 -6
- package/esm2022/lib/services/persistence.service.mjs +6 -8
- package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +3 -3
- package/fesm2022/ecodev-natural.mjs +1234 -1051
- package/fesm2022/ecodev-natural.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -19,21 +19,11 @@ import * as i5 from "@angular/material/checkbox";
|
|
|
19
19
|
import * as i6 from "@angular/material/tooltip";
|
|
20
20
|
import * as i7 from "@angular/forms";
|
|
21
21
|
export class NaturalColumnsPickerComponent {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Emit a list of valid and selected column keys whenever the selection changes
|
|
29
|
-
*/
|
|
30
|
-
this.selectionChange = new EventEmitter();
|
|
31
|
-
/**
|
|
32
|
-
* Displayed options in the dropdown menu
|
|
33
|
-
*/
|
|
34
|
-
this.displayedColumns = [];
|
|
35
|
-
this.isMobile = this.breakpointObserver.observe(Breakpoints.XSmall).pipe(map(result => result.matches));
|
|
36
|
-
}
|
|
22
|
+
destroyRef = inject(DestroyRef);
|
|
23
|
+
breakpointObserver = inject(BreakpointObserver);
|
|
24
|
+
_selections;
|
|
25
|
+
_availableColumns = [];
|
|
26
|
+
buttons = [];
|
|
37
27
|
/**
|
|
38
28
|
* Set all the columns that are available.
|
|
39
29
|
*/
|
|
@@ -64,6 +54,15 @@ export class NaturalColumnsPickerComponent {
|
|
|
64
54
|
col.checked = columns.includes(col.id);
|
|
65
55
|
});
|
|
66
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Emit a list of valid and selected column keys whenever the selection changes
|
|
59
|
+
*/
|
|
60
|
+
selectionChange = new EventEmitter();
|
|
61
|
+
/**
|
|
62
|
+
* Displayed options in the dropdown menu
|
|
63
|
+
*/
|
|
64
|
+
displayedColumns = [];
|
|
65
|
+
isMobile = this.breakpointObserver.observe(Breakpoints.XSmall).pipe(map(result => result.matches));
|
|
67
66
|
initColumns() {
|
|
68
67
|
this._availableColumns?.forEach(col => {
|
|
69
68
|
col.checked = this._selections?.length ? this._selections.includes(col.id) : col.checked;
|
|
@@ -105,8 +104,8 @@ export class NaturalColumnsPickerComponent {
|
|
|
105
104
|
const visibleButtons = this.buttons?.reduce((sum, button) => (this.defaultTrue(button.show) ? 1 : 0), 0) ?? 0;
|
|
106
105
|
return visibleButtons > 0;
|
|
107
106
|
}
|
|
108
|
-
static
|
|
109
|
-
static
|
|
107
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalColumnsPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: NaturalColumnsPickerComponent, isStandalone: true, selector: "natural-columns-picker", inputs: { buttons: "buttons", availableColumns: "availableColumns", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, usesOnChanges: true, ngImport: i0, template: "<div>\n @if ((isMobile | async) && someVisibleButtons()) {\n <button mat-icon-button [matMenuTriggerFor]=\"mobileMenu\">\n <mat-icon naturalIcon=\"more_vert\" />\n </button>\n <mat-menu #mobileMenu=\"matMenu\">\n <ng-template matMenuContent>\n @for (button of buttons; track button) {\n @if (button.href) {\n <a\n mat-menu-item\n [href]=\"defaultTrue(button.show) && button.href\"\n (click)=\"button.click?.(button, $event)\"\n [disabled]=\"button.disabled\"\n [ngClass]=\"needMargin(button)\"\n >\n @if (useCheckbox(button)) {\n <mat-checkbox [checked]=\"button.checked\" />\n }\n {{ button.label }}\n </a>\n }\n @if (defaultTrue(button.show) && !button.href && !button.buttons) {\n <button\n mat-menu-item\n (click)=\"button.click?.(button, $event)\"\n [disabled]=\"button.disabled\"\n [ngClass]=\"needMargin(button)\"\n >\n @if (useCheckbox(button)) {\n <mat-checkbox [checked]=\"button.checked\" />\n }\n {{ button.label }}\n </button>\n }\n @if (defaultTrue(button.show) && button.buttons) {\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"subMenu\"\n (click)=\"button.click?.(button, $event)\"\n [ngClass]=\"needMargin(button)\"\n >\n @if (useCheckbox(button)) {\n <mat-checkbox [checked]=\"button.checked\" />\n }\n {{ button.label }}\n </button>\n <mat-menu #subMenu=\"matMenu\">\n <ng-template matMenuContent>\n @for (subButton of button.buttons; track subButton) {\n <a\n mat-menu-item\n [disabled]=\"subButton.disabled\"\n (click)=\"subButton.click(subButton, $event)\"\n >\n {{ subButton.label }}\n </a>\n }\n </ng-template>\n </mat-menu>\n }\n }\n @if (displayedColumns.length) {\n <button [matMenuTriggerFor]=\"columnMenu\" mat-menu-item [ngClass]=\"needMargin(null)\">\n <span i18n>Colonnes</span>\n </button>\n }\n </ng-template>\n </mat-menu>\n } @else {\n @for (button of buttons; track button) {\n @if (button.href) {\n <a\n mat-icon-button\n [href]=\"defaultTrue(button.show) && button.href\"\n (click)=\"button.click?.(button, $event)\"\n [disabled]=\"button.disabled\"\n [color]=\"color(button)\"\n [matTooltip]=\"button.label\"\n >\n <mat-icon [naturalIcon]=\"button.icon\" />\n </a>\n }\n @if (defaultTrue(button.show) && !button.href && !button.buttons) {\n <button\n mat-icon-button\n (click)=\"button.click?.(button, $event)\"\n [disabled]=\"button.disabled\"\n [color]=\"color(button)\"\n [matTooltip]=\"button.label\"\n >\n <mat-icon [naturalIcon]=\"button.icon\" />\n </button>\n }\n @if (defaultTrue(button.show) && button.buttons) {\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"menu\"\n (click)=\"button.click?.(button, $event)\"\n [disabled]=\"button.disabled\"\n [color]=\"color(button)\"\n [matTooltip]=\"button.label\"\n >\n <mat-icon [naturalIcon]=\"button.icon\" />\n </button>\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @for (subButton of button.buttons; track subButton) {\n <a\n mat-menu-item\n [disabled]=\"subButton.disabled\"\n (click)=\"subButton.click(subButton, $event)\"\n >\n {{ subButton.label }}\n </a>\n }\n </ng-template>\n </mat-menu>\n }\n }\n @if (displayedColumns.length) {\n <button\n [matMenuTriggerFor]=\"columnMenu\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"S\u00E9lectionner les colonnes\"\n >\n <mat-icon naturalIcon=\"view_column\" />\n </button>\n }\n }\n</div>\n\n<mat-menu #columnMenu=\"matMenu\">\n <ng-template matMenuContent>\n @for (column of displayedColumns; track column) {\n <div (click)=\"$event.stopPropagation(); column.checked = !column.checked; updateColumns()\" mat-menu-item>\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"updateColumns()\"\n [(ngModel)]=\"column.checked\"\n >{{ column.label }}</mat-checkbox\n >\n </div>\n }\n </ng-template>\n</mat-menu>\n", styles: [".align-with-checkbox{padding-left:61px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
110
109
|
}
|
|
111
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalColumnsPickerComponent, decorators: [{
|
|
112
111
|
type: Component,
|
|
@@ -129,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
129
128
|
}], selectionChange: [{
|
|
130
129
|
type: Output
|
|
131
130
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpCLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFrQjdDLE1BQU0sT0FB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aEIsV0FBVzs7MkZBR04sNkJBQTZCO2tCQWhCekMsU0FBUzsrQkFDSSx3QkFBd0IsY0FHdEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsV0FBVztxQkFDZDs4QkFVTSxPQUFPO3NCQURiLEtBQUs7Z0JBT0ssZ0JBQWdCO3NCQUQxQixLQUFLO2dCQXFCSyxVQUFVO3NCQURwQixLQUFLO2dCQWdCb0IsZUFBZTtzQkFBeEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXZhaWxhYmxlQ29sdW1uLCBCdXR0b259IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtjYW5jZWxsYWJsZVRpbWVvdXR9IGZyb20gJy4uLy4uL2NsYXNzZXMvcnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7TWF0Q2hlY2tib3hNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7TmF0dXJhbEljb25EaXJlY3RpdmV9IGZyb20gJy4uL2ljb24vaWNvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtY29sdW1ucy1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW5zLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NvbHVtbnMtcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE5hdHVyYWxJY29uRGlyZWN0aXZlLFxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbENvbHVtbnNQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlciA9IGluamVjdChCcmVha3BvaW50T2JzZXJ2ZXIpO1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgX2F2YWlsYWJsZUNvbHVtbnM6IFJlcXVpcmVkPEF2YWlsYWJsZUNvbHVtbj5bXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYnV0dG9uczogcmVhZG9ubHkgUmVhZG9ubHk8QnV0dG9uPltdIHwgbnVsbCA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGFsbCB0aGUgY29sdW1ucyB0aGF0IGFyZSBhdmFpbGFibGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGF2YWlsYWJsZUNvbHVtbnMoY29sdW1uczogcmVhZG9ubHkgUmVhZG9ubHk8QXZhaWxhYmxlQ29sdW1uPltdIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2F2YWlsYWJsZUNvbHVtbnMgPVxuICAgICAgICAgICAgY29sdW1ucz8ubWFwKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSA/PyBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGNvbHVtbnMgdGhhdCB3ZSB3b3VsZCBsaWtlIHRvIHNlbGVjdCBidXQgbWlnaHQgYmUgdW5hdmFpbGFibGUuXG4gICAgICpcbiAgICAgKiBJZiBhIGNvbHVtbiBpcyB1bmF2YWlsYWJsZSBpdCB3aWxsIGJlIGlnbm9yZWQgc2lsZW50bHkuIFRvIGtub3cgd2hhdCBjb2x1bW5zIHdlcmUgYWN0dWFsbHkgYXBwbGllZFxuICAgICAqIHlvdSBzaG91bGQgdXNlIGBzZWxlY3Rpb25DaGFuZ2VgLlxuICAgICAqXG4gICAgICogSXQgaXMgb2Z0ZW4gc2V0IG9uY2Ugb24gY29tcG9uZW50IGluaXRpYWxpemF0aW9uLCBidXQgaXQgY2FuIGFsc28gYmUgc2V0IGFnYWluIGxhdGVyIGluIHRoZSBsaWZlc3BhbiBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBzZWxlY3Rpb25zKGNvbHVtbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbnMgPSBjb2x1bW5zO1xuXG4gICAgICAgIGlmICghY29sdW1ucyB8fCAhdGhpcy5fYXZhaWxhYmxlQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2F2YWlsYWJsZUNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xuICAgICAgICAgICAgY29sLmNoZWNrZWQgPSBjb2x1bW5zLmluY2x1ZGVzKGNvbC5pZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXQgYSBsaXN0IG9mIHZhbGlkIGFuZCBzZWxlY3RlZCBjb2x1bW4ga2V5cyB3aGVuZXZlciB0aGUgc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBEaXNwbGF5ZWQgb3B0aW9ucyBpbiB0aGUgZHJvcGRvd24gbWVudVxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5ZWRDb2x1bW5zOiBSZXF1aXJlZDxBdmFpbGFibGVDb2x1bW4+W10gPSBbXTtcblxuICAgIHB1YmxpYyByZWFkb25seSBpc01vYmlsZSA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoQnJlYWtwb2ludHMuWFNtYWxsKS5waXBlKG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hdGNoZXMpKTtcblxuICAgIHByaXZhdGUgaW5pdENvbHVtbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2F2YWlsYWJsZUNvbHVtbnM/LmZvckVhY2goY29sID0+IHtcbiAgICAgICAgICAgIGNvbC5jaGVja2VkID0gdGhpcy5fc2VsZWN0aW9ucz8ubGVuZ3RoID8gdGhpcy5fc2VsZWN0aW9ucy5pbmNsdWRlcyhjb2wuaWQpIDogY29sLmNoZWNrZWQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNob3cgb3B0aW9ucyBvbmx5IGZvciBjb2x1bW5zIHRoYXQgYXJlIG5vdCBoaWRkZW5cbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5fYXZhaWxhYmxlQ29sdW1ucy5maWx0ZXIoY29sID0+ICFjb2wuaGlkZGVuKSA/PyBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb2x1bW5zID0gdGhpcy5fYXZhaWxhYmxlQ29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5jaGVja2VkKS5tYXAoY29sID0+IGNvbC5pZCk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoc2VsZWN0ZWRDb2x1bW5zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5IG5lZWQgYSB0aW1lb3V0IHRvIGF2b2lkIGFuIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3Igb24gL3N0YXRlLzQ5ODkvcHJvY2Vzc1xuICAgICAgICBjYW5jZWxsYWJsZVRpbWVvdXQodGhpcy5kZXN0cm95UmVmKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXMuYXZhaWxhYmxlQ29sdW1ucykge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdENvbHVtbnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbHVtbnMoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlcy5zZWxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWZhdWx0VHJ1ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgPz8gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29sb3IoYnV0dG9uOiBCdXR0b24pOiBUaGVtZVBhbGV0dGUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIGJ1dHRvbi5jaGVja2VkID8gJ3ByaW1hcnknIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXNlQ2hlY2tib3goYnV0dG9uOiBCdXR0b24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICdjaGVja2VkJyBpbiBidXR0b247XG4gICAgfVxuXG4gICAgcHVibGljIG5lZWRNYXJnaW4oYnV0dG9uOiBCdXR0b24gfCBudWxsID0gbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvbnM/LnNvbWUodGhpcy51c2VDaGVja2JveCkgJiYgKCFidXR0b24gfHwgIXRoaXMudXNlQ2hlY2tib3goYnV0dG9uKSlcbiAgICAgICAgICAgID8gJ2FsaWduLXdpdGgtY2hlY2tib3gnXG4gICAgICAgICAgICA6ICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBzb21lVmlzaWJsZUJ1dHRvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpc2libGVCdXR0b25zID0gdGhpcy5idXR0b25zPy5yZWR1Y2UoKHN1bSwgYnV0dG9uKSA9PiAodGhpcy5kZWZhdWx0VHJ1ZShidXR0b24uc2hvdykgPyAxIDogMCksIDApID8/IDA7XG5cbiAgICAgICAgcmV0dXJuIHZpc2libGVCdXR0b25zID4gMDtcbiAgICB9XG59XG4iLCI8ZGl2PlxuICAgIEBpZiAoKGlzTW9iaWxlIHwgYXN5bmMpICYmIHNvbWVWaXNpYmxlQnV0dG9ucygpKSB7XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtb2JpbGVNZW51XCI+XG4gICAgICAgICAgICA8bWF0LWljb24gbmF0dXJhbEljb249XCJtb3JlX3ZlcnRcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1tZW51ICNtb2JpbGVNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxuICAgICAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25zOyB0cmFjayBidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b24uaHJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZGVmYXVsdFRydWUoYnV0dG9uLnNob3cpICYmIGJ1dHRvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uLmNsaWNrPy4oYnV0dG9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJuZWVkTWFyZ2luKGJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAodXNlQ2hlY2tib3goYnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cImJ1dHRvbi5jaGVja2VkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChkZWZhdWx0VHJ1ZShidXR0b24uc2hvdykgJiYgIWJ1dHRvbi5ocmVmICYmICFidXR0b24uYnV0dG9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uLmNsaWNrPy4oYnV0dG9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJuZWVkTWFyZ2luKGJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAodXNlQ2hlY2tib3goYnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cImJ1dHRvbi5jaGVja2VkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGRlZmF1bHRUcnVlKGJ1dHRvbi5zaG93KSAmJiBidXR0b24uYnV0dG9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3ViTWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbi5jbGljaz8uKGJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwibmVlZE1hcmdpbihidXR0b24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHVzZUNoZWNrYm94KGJ1dHRvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJidXR0b24uY2hlY2tlZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJ1dHRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI3N1Yk1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWJCdXR0b24gb2YgYnV0dG9uLmJ1dHRvbnM7IHRyYWNrIHN1YkJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1YkJ1dHRvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1YkJ1dHRvbi5jbGljayhzdWJCdXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YkJ1dHRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChkaXNwbGF5ZWRDb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb2x1bW5NZW51XCIgbWF0LW1lbnUtaXRlbSBbbmdDbGFzc109XCJuZWVkTWFyZ2luKG51bGwpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpMThuPkNvbG9ubmVzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgYnV0dG9uKSB7XG4gICAgICAgICAgICBAaWYgKGJ1dHRvbi5ocmVmKSB7XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImRlZmF1bHRUcnVlKGJ1dHRvbi5zaG93KSAmJiBidXR0b24uaHJlZlwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b24uY2xpY2s/LihidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yKGJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJidXR0b24uaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChkZWZhdWx0VHJ1ZShidXR0b24uc2hvdykgJiYgIWJ1dHRvbi5ocmVmICYmICFidXR0b24uYnV0dG9ucykge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b24uY2xpY2s/LihidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yKGJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJidXR0b24uaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGRlZmF1bHRUcnVlKGJ1dHRvbi5zaG93KSAmJiBidXR0b24uYnV0dG9ucykge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbi5jbGljaz8uKGJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidXR0b24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3IoYnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImJ1dHRvbi5pY29uXCIgLz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1YkJ1dHRvbiBvZiBidXR0b24uYnV0dG9uczsgdHJhY2sgc3ViQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic3ViQnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1YkJ1dHRvbi5jbGljayhzdWJCdXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViQnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkaXNwbGF5ZWRDb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb2x1bW5NZW51XCJcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiU8OpbGVjdGlvbm5lciBsZXMgY29sb25uZXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cInZpZXdfY29sdW1uXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxtYXQtbWVudSAjY29sdW1uTWVudT1cIm1hdE1lbnVcIj5cbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XG4gICAgICAgIEBmb3IgKGNvbHVtbiBvZiBkaXNwbGF5ZWRDb2x1bW5zOyB0cmFjayBjb2x1bW4pIHtcbiAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY29sdW1uLmNoZWNrZWQgPSAhY29sdW1uLmNoZWNrZWQ7IHVwZGF0ZUNvbHVtbnMoKVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVDb2x1bW5zKClcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbHVtbi5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fTwvbWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtbWVudT5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpCLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFrQjdDLE1BQU0sT0FB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QixXQUFXOzsyRkFHTiw2QkFBNkI7a0JBaEJ6QyxTQUFTOytCQUNJLHdCQUF3QixjQUd0QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNkOzhCQVVNLE9BQU87c0JBRGIsS0FBSztnQkFPSyxnQkFBZ0I7c0JBRDFCLEtBQUs7Z0JBcUJLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBZ0JvQixlQUFlO3NCQUF4QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBdmFpbGFibGVDb2x1bW4sIEJ1dHRvbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge2NhbmNlbGxhYmxlVGltZW91dH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50c30gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtOYXR1cmFsSWNvbkRpcmVjdGl2ZX0gZnJvbSAnLi4vaWNvbi9pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRNZW51TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1jb2x1bW5zLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbnMtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29sdW1ucy1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTmF0dXJhbEljb25EaXJlY3RpdmUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQ29sdW1uc1BpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyID0gaW5qZWN0KEJyZWFrcG9pbnRPYnNlcnZlcik7XG5cbiAgICBwcml2YXRlIF9zZWxlY3Rpb25zPzogc3RyaW5nW107XG4gICAgcHJpdmF0ZSBfYXZhaWxhYmxlQ29sdW1uczogUmVxdWlyZWQ8QXZhaWxhYmxlQ29sdW1uPltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b25zOiByZWFkb25seSBSZWFkb25seTxCdXR0b24+W10gfCBudWxsID0gW107XG5cbiAgICAvKipcbiAgICAgKiBTZXQgYWxsIHRoZSBjb2x1bW5zIHRoYXQgYXJlIGF2YWlsYWJsZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgYXZhaWxhYmxlQ29sdW1ucyhjb2x1bW5zOiByZWFkb25seSBSZWFkb25seTxBdmFpbGFibGVDb2x1bW4+W10gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fYXZhaWxhYmxlQ29sdW1ucyA9XG4gICAgICAgICAgICBjb2x1bW5zPy5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pID8/IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY29sdW1ucyB0aGF0IHdlIHdvdWxkIGxpa2UgdG8gc2VsZWN0IGJ1dCBtaWdodCBiZSB1bmF2YWlsYWJsZS5cbiAgICAgKlxuICAgICAqIElmIGEgY29sdW1uIGlzIHVuYXZhaWxhYmxlIGl0IHdpbGwgYmUgaWdub3JlZCBzaWxlbnRseS4gVG8ga25vdyB3aGF0IGNvbHVtbnMgd2VyZSBhY3R1YWxseSBhcHBsaWVkXG4gICAgICogeW91IHNob3VsZCB1c2UgYHNlbGVjdGlvbkNoYW5nZWAuXG4gICAgICpcbiAgICAgKiBJdCBpcyBvZnRlbiBzZXQgb25jZSBvbiBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24sIGJ1dCBpdCBjYW4gYWxzbyBiZSBzZXQgYWdhaW4gbGF0ZXIgaW4gdGhlIGxpZmVzcGFuIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGlvbnMoY29sdW1uczogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IGNvbHVtbnM7XG5cbiAgICAgICAgaWYgKCFjb2x1bW5zIHx8ICF0aGlzLl9hdmFpbGFibGVDb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYXZhaWxhYmxlQ29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgICBjb2wuY2hlY2tlZCA9IGNvbHVtbnMuaW5jbHVkZXMoY29sLmlkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdCBhIGxpc3Qgb2YgdmFsaWQgYW5kIHNlbGVjdGVkIGNvbHVtbiBrZXlzIHdoZW5ldmVyIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAgIC8qKlxuICAgICAqIERpc3BsYXllZCBvcHRpb25zIGluIHRoZSBkcm9wZG93biBtZW51XG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbnM6IFJlcXVpcmVkPEF2YWlsYWJsZUNvbHVtbj5bXSA9IFtdO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShCcmVha3BvaW50cy5YU21hbGwpLnBpcGUobWFwKHJlc3VsdCA9PiByZXN1bHQubWF0Y2hlcykpO1xuXG4gICAgcHJpdmF0ZSBpbml0Q29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXZhaWxhYmxlQ29sdW1ucz8uZm9yRWFjaChjb2wgPT4ge1xuICAgICAgICAgICAgY29sLmNoZWNrZWQgPSB0aGlzLl9zZWxlY3Rpb25zPy5sZW5ndGggPyB0aGlzLl9zZWxlY3Rpb25zLmluY2x1ZGVzKGNvbC5pZCkgOiBjb2wuY2hlY2tlZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2hvdyBvcHRpb25zIG9ubHkgZm9yIGNvbHVtbnMgdGhhdCBhcmUgbm90IGhpZGRlblxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLl9hdmFpbGFibGVDb2x1bW5zLmZpbHRlcihjb2wgPT4gIWNvbC5oaWRkZW4pID8/IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVDb2x1bW5zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENvbHVtbnMgPSB0aGlzLl9hdmFpbGFibGVDb2x1bW5zLmZpbHRlcihjb2wgPT4gY29sLmNoZWNrZWQpLm1hcChjb2wgPT4gY29sLmlkKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChzZWxlY3RlZENvbHVtbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIFVuZm9ydHVuYXRlbHkgbmVlZCBhIHRpbWVvdXQgdG8gYXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBvbiAvc3RhdGUvNDk4OS9wcm9jZXNzXG4gICAgICAgIGNhbmNlbGxhYmxlVGltZW91dCh0aGlzLmRlc3Ryb3lSZWYpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcy5hdmFpbGFibGVDb2x1bW5zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0Q29sdW1ucygpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ29sdW1ucygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzLnNlbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbHVtbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlZmF1bHRUcnVlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA/PyB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb2xvcihidXR0b246IEJ1dHRvbik6IFRoZW1lUGFsZXR0ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gYnV0dG9uLmNoZWNrZWQgPyAncHJpbWFyeScgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyB1c2VDaGVja2JveChidXR0b246IEJ1dHRvbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gJ2NoZWNrZWQnIGluIGJ1dHRvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmVlZE1hcmdpbihidXR0b246IEJ1dHRvbiB8IG51bGwgPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9ucz8uc29tZSh0aGlzLnVzZUNoZWNrYm94KSAmJiAoIWJ1dHRvbiB8fCAhdGhpcy51c2VDaGVja2JveChidXR0b24pKVxuICAgICAgICAgICAgPyAnYWxpZ24td2l0aC1jaGVja2JveCdcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgcHVibGljIHNvbWVWaXNpYmxlQnV0dG9ucygpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUJ1dHRvbnMgPSB0aGlzLmJ1dHRvbnM/LnJlZHVjZSgoc3VtLCBidXR0b24pID0+ICh0aGlzLmRlZmF1bHRUcnVlKGJ1dHRvbi5zaG93KSA/IDEgOiAwKSwgMCkgPz8gMDtcblxuICAgICAgICByZXR1cm4gdmlzaWJsZUJ1dHRvbnMgPiAwO1xuICAgIH1cbn1cbiIsIjxkaXY+XG4gICAgQGlmICgoaXNNb2JpbGUgfCBhc3luYykgJiYgc29tZVZpc2libGVCdXR0b25zKCkpIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1vYmlsZU1lbnVcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cIm1vcmVfdmVydFwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LW1lbnUgI21vYmlsZU1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGJ1dHRvbnM7IHRyYWNrIGJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKGJ1dHRvbi5ocmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJkZWZhdWx0VHJ1ZShidXR0b24uc2hvdykgJiYgYnV0dG9uLmhyZWZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b24uY2xpY2s/LihidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidXR0b24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm5lZWRNYXJnaW4oYnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh1c2VDaGVja2JveChidXR0b24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiYnV0dG9uLmNoZWNrZWRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBidXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGRlZmF1bHRUcnVlKGJ1dHRvbi5zaG93KSAmJiAhYnV0dG9uLmhyZWYgJiYgIWJ1dHRvbi5idXR0b25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b24uY2xpY2s/LihidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidXR0b24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm5lZWRNYXJnaW4oYnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh1c2VDaGVja2JveChidXR0b24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiYnV0dG9uLmNoZWNrZWRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBidXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZGVmYXVsdFRydWUoYnV0dG9uLnNob3cpICYmIGJ1dHRvbi5idXR0b25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uLmNsaWNrPy4oYnV0dG9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJuZWVkTWFyZ2luKGJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAodXNlQ2hlY2tib3goYnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cImJ1dHRvbi5jaGVja2VkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjc3ViTWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1YkJ1dHRvbiBvZiBidXR0b24uYnV0dG9uczsgdHJhY2sgc3ViQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic3ViQnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3ViQnV0dG9uLmNsaWNrKHN1YkJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViQnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGRpc3BsYXllZENvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbHVtbk1lbnVcIiBtYXQtbWVudS1pdGVtIFtuZ0NsYXNzXT1cIm5lZWRNYXJnaW4obnVsbClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGkxOG4+Q29sb25uZXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25zOyB0cmFjayBidXR0b24pIHtcbiAgICAgICAgICAgIEBpZiAoYnV0dG9uLmhyZWYpIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZGVmYXVsdFRydWUoYnV0dG9uLnNob3cpICYmIGJ1dHRvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbi5jbGljaz8uKGJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidXR0b24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3IoYnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImJ1dHRvbi5pY29uXCIgLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGRlZmF1bHRUcnVlKGJ1dHRvbi5zaG93KSAmJiAhYnV0dG9uLmhyZWYgJiYgIWJ1dHRvbi5idXR0b25zKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbi5jbGljaz8uKGJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidXR0b24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3IoYnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImJ1dHRvbi5pY29uXCIgLz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZGVmYXVsdFRydWUoYnV0dG9uLnNob3cpICYmIGJ1dHRvbi5idXR0b25zKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uLmNsaWNrPy4oYnV0dG9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvcihidXR0b24pXCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiYnV0dG9uLmljb25cIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoc3ViQnV0dG9uIG9mIGJ1dHRvbi5idXR0b25zOyB0cmFjayBzdWJCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWJCdXR0b24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3ViQnV0dG9uLmNsaWNrKHN1YkJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJCdXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGRpc3BsYXllZENvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbHVtbk1lbnVcIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIGkxOG4tbWF0VG9vbHRpcFxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJTw6lsZWN0aW9ubmVyIGxlcyBjb2xvbm5lc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG5hdHVyYWxJY29uPVwidmlld19jb2x1bW5cIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICB9XG48L2Rpdj5cblxuPG1hdC1tZW51ICNjb2x1bW5NZW51PVwibWF0TWVudVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICAgICAgQGZvciAoY29sdW1uIG9mIGRpc3BsYXllZENvbHVtbnM7IHRyYWNrIGNvbHVtbikge1xuICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjb2x1bW4uY2hlY2tlZCA9ICFjb2x1bW4uY2hlY2tlZDsgdXBkYXRlQ29sdW1ucygpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUNvbHVtbnMoKVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29sdW1uLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICA+e3sgY29sdW1uLmxhYmVsIH19PC9tYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG48L21hdC1tZW51PlxuIl19
|
|
@@ -2,9 +2,7 @@ import { Directive, ElementRef, Input, inject } from '@angular/core';
|
|
|
2
2
|
import { densities } from './src-density.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class NaturalBackgroundDensityDirective {
|
|
5
|
-
|
|
6
|
-
this.elementRef = inject(ElementRef);
|
|
7
|
-
}
|
|
5
|
+
elementRef = inject(ElementRef);
|
|
8
6
|
/**
|
|
9
7
|
* Automatically apply background image selection based on screen density.
|
|
10
8
|
*
|
|
@@ -49,8 +47,8 @@ export class NaturalBackgroundDensityDirective {
|
|
|
49
47
|
this.elementRef.nativeElement.style.backgroundImage = responsive;
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
|
-
static
|
|
53
|
-
static
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalBackgroundDensityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalBackgroundDensityDirective, isStandalone: true, selector: "[naturalBackgroundDensity]", inputs: { naturalBackgroundDensity: "naturalBackgroundDensity" }, ngImport: i0 });
|
|
54
52
|
}
|
|
55
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalBackgroundDensityDirective, decorators: [{
|
|
56
54
|
type: Directive,
|
|
@@ -62,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
62
60
|
type: Input,
|
|
63
61
|
args: [{ required: true }]
|
|
64
62
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1kZW5zaXR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9kaXJlY3RpdmVzL2JhY2tncm91bmQtZGVuc2l0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBTWxELE1BQU0sT0FBTyxpQ0FBaUM7SUFDekIsVUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7SUFFMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNkJHO0lBQ0gsSUFDVyx3QkFBd0IsQ0FBQyxHQUFXO1FBQzNDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO1lBQzFELE9BQU87UUFDWCxDQUFDO1FBRUQsa0hBQWtIO1FBQ2xILDREQUE0RDtRQUM1RCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUUvRCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQztRQUNyRSxDQUFDO0lBQ0wsQ0FBQzt1R0FqRFEsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7OzJGQUFqQyxpQ0FBaUM7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQW1DYyx3QkFBd0I7c0JBRGxDLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZW5zaXRpZXN9IGZyb20gJy4vc3JjLWRlbnNpdHkuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmF0dXJhbEJhY2tncm91bmREZW5zaXR5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEJhY2tncm91bmREZW5zaXR5RGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSBhcHBseSBiYWNrZ3JvdW5kIGltYWdlIHNlbGVjdGlvbiBiYXNlZCBvbiBzY3JlZW4gZGVuc2l0eS5cbiAgICAgKlxuICAgICAqIFRoZSBnaXZlbiBVUkwgKipNVVNUKiogYmUgdGhlIG5vcm1hbCBkZW5zaXR5IFVSTC4gQW5kIGl0ICoqTVVTVCoqIGluY2x1ZGVcbiAgICAgKiB0aGUgc2l6ZSBhcyBsYXN0IHBhdGggc2VnbWVudC4gVGhhdCBzaXplIHdpbGwgYXV0b21hdGljYWxseSBiZSBjaGFuZ2VkXG4gICAgICogZm9yIG90aGVyIHNjcmVlbiBkZW5zaXRpZXMuIFRoYXQgbWVhbnMgdGhhdCB0aGUgc2VydmVyICoqTVVTVCoqIGJlIGFibGUgdG9cbiAgICAgKiBzZXJ2ZSBhbiBpbWFnZSBvZiB0aGUgZ2l2ZW4gc2l6ZS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBnaXZlbiBVUkwgc3RhcnRzIHdpdGggYHVybChgLCBvciBpcyBub3QgZW5kaW5nIHdpdGggYSBudW1iZXIsIHRoZW5cbiAgICAgKiBpdCB3aWxsIGJlIHNldCBhcy1pcywgd2l0aG91dCBhbnkgcHJvY2Vzc2luZy4gVGhpcyBhbGxvd3MgdXNpbmcgdXJsIGRhdGEsXG4gICAgICogc3VjaCBhcyBgdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxhYWJiY2MpYC5cbiAgICAgKlxuICAgICAqIFVzYWdlOlxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxkaXYgbmF0dXJhbEJhY2tncm91bmREZW5zaXR5PVwiL2FwaS9pbWFnZS8xMjMvMjAwXCI+PC9kaXY+XG4gICAgICogPGRpdiBuYXR1cmFsQmFja2dyb3VuZERlbnNpdHk9XCIvbm9uLXJlc3BvbnNpdmUuanBnXCI+PC9kaXY+XG4gICAgICogPGRpdiBuYXR1cmFsQmFja2dyb3VuZERlbnNpdHk9XCJ1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGFhYmJjYylcIj48L2Rpdj5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIFdpbGwgZ2VuZXJhdGUgc29tZXRoaW5nIGxpa2U6XG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGRpdiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoXCIvYXBpL2ltYWdlLzEyMy8yMDBcIikgMXgsIHVybChcIi9hcGkvaW1hZ2UvMTIzLzMwMFwiKSAxLjV4LCB1cmwoXCIvYXBpL2ltYWdlLzEyMy80MDBcIikgMngsIHVybChcIi9hcGkvaW1hZ2UvMTIzLzYwMFwiKSAzeCwgdXJsKFwiL2FwaS9pbWFnZS8xMjMvODAwXCIpIDR4KTtcIj48L2Rpdj5cbiAgICAgKiA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL25vbi1yZXNwb25zaXZlLmpwZ1wiKTtcIj48L2Rpdj5cbiAgICAgKiA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxhYWJiY2MpXCI+PC9kaXY+XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2ltYWdlL2ltYWdlLXNldFxuICAgICAqL1xuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICAgIHB1YmxpYyBzZXQgbmF0dXJhbEJhY2tncm91bmREZW5zaXR5KHNyYzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChzcmMuc3RhcnRzV2l0aCgndXJsKCcpKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBzcmM7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbHdheXMgaW5jbHVkZSBhIGZhbGxiYWNrIHdpdGggc3RhbmRhcmQgc3ludGF4IGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYXQgYWxsLCBvciBkb24ndCBzdXBwb3J0IHdpdGhvdXRcbiAgICAgICAgLy8gcHJlZml4ZXMgKGVnOiBDaHJvbWUgdjg4IHRoYXQgd2Ugc3RpbGwgc2VlIGluIHByb2R1Y3Rpb24pXG4gICAgICAgIGNvbnN0IGZhbGxiYWNrID0gc3JjID8gYHVybCgke3NyY30pYCA6ICcnO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBmYWxsYmFjaztcblxuICAgICAgICBjb25zdCByZXNwb25zaXZlID0gZGVuc2l0aWVzKHNyYywgdHJ1ZSk7XG4gICAgICAgIGlmIChyZXNwb25zaXZlKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSByZXNwb25zaXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -22,16 +22,16 @@ function getTabId(tab) {
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
export class NaturalLinkableTabDirective {
|
|
25
|
+
destroyRef = inject(DestroyRef);
|
|
26
|
+
component = inject(MatTabGroup);
|
|
27
|
+
route = inject(ActivatedRoute);
|
|
28
|
+
router = inject(Router);
|
|
29
|
+
/**
|
|
30
|
+
* If false, disables the persistent navigation
|
|
31
|
+
*/
|
|
32
|
+
naturalLinkableTab = true;
|
|
33
|
+
isLoadingRouteConfig = false;
|
|
25
34
|
constructor() {
|
|
26
|
-
this.destroyRef = inject(DestroyRef);
|
|
27
|
-
this.component = inject(MatTabGroup);
|
|
28
|
-
this.route = inject(ActivatedRoute);
|
|
29
|
-
this.router = inject(Router);
|
|
30
|
-
/**
|
|
31
|
-
* If false, disables the persistent navigation
|
|
32
|
-
*/
|
|
33
|
-
this.naturalLinkableTab = true;
|
|
34
|
-
this.isLoadingRouteConfig = false;
|
|
35
35
|
this.router.events.pipe(takeUntilDestroyed()).subscribe(event => {
|
|
36
36
|
if (event instanceof RouteConfigLoadStart) {
|
|
37
37
|
this.isLoadingRouteConfig = true;
|
|
@@ -78,8 +78,8 @@ export class NaturalLinkableTabDirective {
|
|
|
78
78
|
getTabIndex(fragment) {
|
|
79
79
|
return this.component._tabs.toArray().findIndex(tab => fragment === getTabId(tab));
|
|
80
80
|
}
|
|
81
|
-
static
|
|
82
|
-
static
|
|
81
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalLinkableTabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
82
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalLinkableTabDirective, isStandalone: true, selector: "mat-tab-group[naturalLinkableTab]", inputs: { naturalLinkableTab: "naturalLinkableTab" }, ngImport: i0 });
|
|
83
83
|
}
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalLinkableTabDirective, decorators: [{
|
|
85
85
|
type: Directive,
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
90
90
|
}], ctorParameters: () => [], propDecorators: { naturalLinkableTab: [{
|
|
91
91
|
type: Input
|
|
92
92
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2FibGUtdGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9kaXJlY3RpdmVzL2xpbmthYmxlLXRhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFTLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakcsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFDSCxTQUFTLFFBQVEsQ0FBQyxHQUFXO0lBQ3pCLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEUsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ25CLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFekM7O09BRUc7SUFDYSxrQkFBa0IsR0FBaUIsSUFBSSxDQUFDO0lBQ2hELG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUVyQztRQUNJLElBQUksQ0FB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QWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0VGFiLCBNYXRUYWJHcm91cH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZUNvbmZpZ0xvYWRFbmQsIFJvdXRlQ29uZmlnTG9hZFN0YXJ0LCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2Nsb25lfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBSZXR1cm5zIGFuIGlkZW50aWZpZXIgZm9yIHRoZSB0YWJcbiAqL1xuZnVuY3Rpb24gZ2V0VGFiSWQodGFiOiBNYXRUYWIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0YWIuY29udGVudD8udmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaWQgPz8gJyc7XG59XG5cbi8qKlxuICogVXNhZ2UgOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxtYXQtdGFiLWdyb3VwIFtuYXR1cmFsTGlua2FibGVUYWJdPVwiIWlzUGFuZWxcIj5cbiAqICAgICA8bWF0LXRhYiBsYWJlbD1cIlRhYiAxXCI+VGFiIDE8L21hdC10YWI+IC8vIEZpcnN0IHRhYiBkb2Vzbid0IG5lZWQgaWQuIFRoaXMga2VlcHMgdXJsIGNsZWFuIG9uIGRlZmF1bHQgb25lXG4gKiAgICAgPG1hdC10YWIgbGFiZWw9XCJUYWIgMlwiIGlkPVwic2Vjb25kLXRhYlwiPlRhYiAyPC9tYXQtdGFiPlxuICogICAgIC4uLlxuICogPC9tYXQtdGFiLWdyb3VwPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWF0LXRhYi1ncm91cFtuYXR1cmFsTGlua2FibGVUYWJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsTGlua2FibGVUYWJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnQgPSBpbmplY3QoTWF0VGFiR3JvdXApO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgICAvKipcbiAgICAgKiBJZiBmYWxzZSwgZGlzYWJsZXMgdGhlIHBlcnNpc3RlbnQgbmF2aWdhdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBuYXR1cmFsTGlua2FibGVUYWI6IGJvb2xlYW4gfCAnJyA9IHRydWU7XG4gICAgcHJpdmF0ZSBpc0xvYWRpbmdSb3V0ZUNvbmZpZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIFJvdXRlQ29uZmlnTG9hZFN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdSb3V0ZUNvbmZpZyA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgUm91dGVDb25maWdMb2FkRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdSb3V0ZUNvbmZpZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXR1cmFsTGlua2FibGVUYWIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGVuIHVybCBwYXJhbXMgY2hhbmdlLCB1cGRhdGUgdGhlIG1hdC10YWItZ3JvdXAgc2VsZWN0ZWQgdGFiXG4gICAgICAgIHRoaXMucm91dGUuZnJhZ21lbnQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGZyYWdtZW50ID0+IHtcbiAgICAgICAgICAgIC8vIEdldCBpbmRleCBvZiB0YWIgdGhhdCBtYXRjaGVzIHdhbnRlZCBuYW1lXG4gICAgICAgICAgICBjb25zdCB0YWJJbmRleCA9IHRoaXMuZ2V0VGFiSW5kZXgoZnJhZ21lbnQpO1xuXG4gICAgICAgICAgICAvLyBJZiB0YWIgaW5kZXggaXMgdmFsaWQgKD49IDApIGdvIHRvIGdpdmVuIGZyYWdtZW50XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBmcmFnbWVudCBhdCBhbGwsIGdvIHRvIGZpcnN0IHRhYiAoaW5kZXggaXMgLTEgaW4gdGhpcyBjYXNlKVxuICAgICAgICAgICAgaWYgKHRhYkluZGV4ID49IDAgfHwgIWZyYWdtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuc2VsZWN0ZWRJbmRleCA9IHRhYkluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBXaGVuIG1hdC10YWItZ3JvdXBzIHNlbGVjdGVkIHRhYiBjaGFuZ2UsIHVwZGF0ZSB1cmxcbiAgICAgICAgdGhpcy5jb21wb25lbnQuc2VsZWN0ZWRUYWJDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTG9hZGluZ1JvdXRlQ29uZmlnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBhY3RpdmF0ZWRUYWJOYW1lID0gZ2V0VGFiSWQoZXZlbnQudGFiKTtcbiAgICAgICAgICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC51cmw7XG4gICAgICAgICAgICBpZiAoIXNlZ21lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiBpbiBub3JtYWwgdXNhZ2UsIGJlY2F1c2UgaXQgd291bGQgbWVhbnMgdGhlcmUgaXMgbm8gcm91dGUgYXQgYWxsIGluIHRoZSBhcHBcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1cGRhdGUgVVJMIGZvciB0YWJzIHdpdGhvdXQgYW55IHNlZ21lbnRzIGluIFVSTCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBHZXQgdXJsIG1hdHJpeCBwYXJhbXMgKC9zZWdtZW50O21hdHJpeD1wYXJhbSkgb25seSB3aXRob3V0IHJvdXRlIHBhcmFtcyAoc2VnbWVudC86aWQpXG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBjbG9uZShzZWdtZW50c1tzZWdtZW50cy5sZW5ndGggLSAxXS5wYXJhbWV0ZXJzKTtcblxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuJywgcGFyYW1zXSwge1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ3ByZXNlcnZlJyxcbiAgICAgICAgICAgICAgICBmcmFnbWVudDogYWN0aXZhdGVkVGFiTmFtZT8ubGVuZ3RoID8gYWN0aXZhdGVkVGFiTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRhYkluZGV4KGZyYWdtZW50OiBzdHJpbmcgfCBudWxsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Ll90YWJzLnRvQXJyYXkoKS5maW5kSW5kZXgodGFiID0+IGZyYWdtZW50ID09PSBnZXRUYWJJZCh0YWIpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -23,9 +23,7 @@ export function densities(src, forImageSet) {
|
|
|
23
23
|
return result;
|
|
24
24
|
}
|
|
25
25
|
export class NaturalSrcDensityDirective {
|
|
26
|
-
|
|
27
|
-
this.elementRef = inject(ElementRef);
|
|
28
|
-
}
|
|
26
|
+
elementRef = inject(ElementRef);
|
|
29
27
|
/**
|
|
30
28
|
* Automatically apply image selection based on screen density.
|
|
31
29
|
*
|
|
@@ -58,8 +56,8 @@ export class NaturalSrcDensityDirective {
|
|
|
58
56
|
this.elementRef.nativeElement.src = src;
|
|
59
57
|
this.elementRef.nativeElement.srcset = densities(src, false);
|
|
60
58
|
}
|
|
61
|
-
static
|
|
62
|
-
static
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSrcDensityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalSrcDensityDirective, isStandalone: true, selector: "img[naturalSrcDensity]", inputs: { naturalSrcDensity: "naturalSrcDensity" }, ngImport: i0 });
|
|
63
61
|
}
|
|
64
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSrcDensityDirective, decorators: [{
|
|
65
63
|
type: Directive,
|
|
@@ -71,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
71
69
|
type: Input,
|
|
72
70
|
args: [{ required: true }]
|
|
73
71
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWRlbnNpdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29tbW9uL2RpcmVjdGl2ZXMvc3JjLWRlbnNpdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRW5FLE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVyxFQUFFLFdBQW9CO0lBQ3ZELE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWhDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxxRkFBcUY7SUFDckYsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNYLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDakQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLEdBQUcsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLEdBQUcsR0FBRyxJQUFJLE9BQU8sR0FBRyxDQUFDO0lBQ2hDLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2QsTUFBTSxHQUFHLGFBQWEsTUFBTSxHQUFHLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFNRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ2xCLFVBQVUsR0FBRyxNQUFNLENBQStCLFVBQVUsQ0FBQyxDQUFDO0lBRS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Qkc7SUFDSCxJQUNXLGlCQUFpQixDQUFDLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7dUdBcENRLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkE4QmMsaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRlbnNpdGllcyhzcmM6IHN0cmluZywgZm9ySW1hZ2VTZXQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGNvbnN0IG1hdGNoID0gL14oLipcXC8pKFxcZCspJC8uZXhlYyhzcmMpO1xuICAgIGNvbnN0IGJhc2UgPSBtYXRjaD8uWzFdO1xuICAgIGNvbnN0IHNpemUgPSArKG1hdGNoPy5bMl0gPz8gMCk7XG5cbiAgICBpZiAoIWJhc2UgfHwgIXNpemUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIFRoaXMgc2hvdWxkIGNvdmVyIG1vc3QgY29tbW9uIGRlbnNpdGllcyBhY2NvcmRpbmcgdG8gaHR0cHM6Ly93d3cubXlkZXZpY2UuaW8vI3RhYjFcbiAgICBsZXQgcmVzdWx0ID0gWzEsIDEuNSwgMiwgMywgNF1cbiAgICAgICAgLm1hcChkZW5zaXR5ID0+IHtcbiAgICAgICAgICAgIGxldCB1cmwgPSBgJHtiYXNlfSR7TWF0aC5yb3VuZChzaXplICogZGVuc2l0eSl9YDtcbiAgICAgICAgICAgIGlmIChmb3JJbWFnZVNldCkge1xuICAgICAgICAgICAgICAgIHVybCA9IGB1cmwoXCIke3VybH1cIilgO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYCR7dXJsfSAke2RlbnNpdHl9eGA7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgaWYgKGZvckltYWdlU2V0KSB7XG4gICAgICAgIHJlc3VsdCA9IGBpbWFnZS1zZXQoJHtyZXN1bHR9KWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbWdbbmF0dXJhbFNyY0RlbnNpdHldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsU3JjRGVuc2l0eURpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSBhcHBseSBpbWFnZSBzZWxlY3Rpb24gYmFzZWQgb24gc2NyZWVuIGRlbnNpdHkuXG4gICAgICpcbiAgICAgKiBUaGUgZ2l2ZW4gVVJMICoqTVVTVCoqIGJlIHRoZSBub3JtYWwgZGVuc2l0eSBVUkwuIEFuZCBpdCAqKk1VU1QqKiBpbmNsdWRlXG4gICAgICogdGhlIHNpemUgYXMgbGFzdCBwYXRoIHNlZ21lbnQuIFRoYXQgc2l6ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY2hhbmdlZFxuICAgICAqIGZvciBvdGhlciBzY3JlZW4gZGVuc2l0aWVzLiBUaGF0IG1lYW5zIHRoYXQgdGhlIHNlcnZlciAqKk1VU1QqKiBiZSBhYmxlIHRvXG4gICAgICogc2VydmUgYW4gaW1hZ2Ugb2YgdGhlIGdpdmVuIHNpemUuXG4gICAgICpcbiAgICAgKiBVc2FnZTpcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW1nIG5hdHVyYWxTcmNEZW5zaXR5PVwiL2FwaS9pbWFnZS8xMjMvMjAwXCIgLz5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIFdpbGwgZ2VuZXJhdGUgc29tZXRoaW5nIGxpa2U6XG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGltZ1xuICAgICAqICAgICBzcmM9XCIvYXBpL2ltYWdlLzEyMy8yMDBcIlxuICAgICAqICAgICBzcmNzZXQ9XCIvYXBpL2ltYWdlLzEyMy8yMDAsIC9hcGkvaW1hZ2UvMTIzLzMwMCAxLjV4LCAvYXBpL2ltYWdlLzEyMy80MDAgMngsIC9hcGkvaW1hZ2UvMTIzLzYwMCAzeCwgL2FwaS9pbWFnZS8xMjMvODAwIDR4XCJcbiAgICAgKiAvPlxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogU2VlIGh0dHBzOi8vd2ViLmRldi9jb2RlbGFiLWRlbnNpdHktZGVzY3JpcHRvcnMvXG4gICAgICovXG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gICAgcHVibGljIHNldCBuYXR1cmFsU3JjRGVuc2l0eShzcmM6IHN0cmluZykge1xuICAgICAgICBpZiAoIXNyYykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3JjID0gc3JjO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zcmNzZXQgPSBkZW5zaXRpZXMoc3JjLCBmYWxzZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -11,8 +11,8 @@ export class NaturalCapitalizePipe {
|
|
|
11
11
|
}
|
|
12
12
|
return value;
|
|
13
13
|
}
|
|
14
|
-
static
|
|
15
|
-
static
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalCapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: NaturalCapitalizePipe, isStandalone: true, name: "capitalize" });
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalCapitalizePipe, decorators: [{
|
|
18
18
|
type: Pipe,
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
21
21
|
standalone: true,
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29tbW9uL3BpcGVzL2NhcGl0YWxpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLFNBQVMsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzt1R0FQUSxxQkFBcUI7cUdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dXBwZXJDYXNlRmlyc3RMZXR0ZXJ9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvdXRpbGl0eSc7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc3RyaW5nIHdpdGggdGhlIGZpcnN0IGxldHRlciBhcyBjYXBpdGFsXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnY2FwaXRhbGl6ZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbENhcGl0YWxpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB1cHBlckNhc2VGaXJzdExldHRlcih2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -4,8 +4,8 @@ export class NaturalEllipsisPipe {
|
|
|
4
4
|
transform(value, limit) {
|
|
5
5
|
return value.substr(0, limit - 1) + (value.length > limit ? '…' : '');
|
|
6
6
|
}
|
|
7
|
-
static
|
|
8
|
-
static
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEllipsisPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
8
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: NaturalEllipsisPipe, isStandalone: true, name: "ellipsis" });
|
|
9
9
|
}
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEllipsisPipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
@@ -14,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
14
14
|
standalone: true,
|
|
15
15
|
}]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9waXBlcy9lbGxpcHNpcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQU1sRCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUN6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7dUdBSFEsbUJBQW1CO3FHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZWxsaXBzaXMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxFbGxpcHNpc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGxpbWl0OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUuc3Vic3RyKDAsIGxpbWl0IC0gMSkgKyAodmFsdWUubGVuZ3RoID4gbGltaXQgPyAn4oCmJyA6ICcnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,14 +7,12 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
* Usage would be: {{ element.priority | enum: 'Priority' | async }}
|
|
8
8
|
*/
|
|
9
9
|
export class NaturalEnumPipe {
|
|
10
|
-
|
|
11
|
-
this.enumService = inject(NaturalEnumService);
|
|
12
|
-
}
|
|
10
|
+
enumService = inject(NaturalEnumService);
|
|
13
11
|
transform(value, enumName) {
|
|
14
12
|
return this.enumService.getValueName(value, enumName);
|
|
15
13
|
}
|
|
16
|
-
static
|
|
17
|
-
static
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEnumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: NaturalEnumPipe, isStandalone: true, name: "enum" });
|
|
18
16
|
}
|
|
19
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEnumPipe, decorators: [{
|
|
20
18
|
type: Pipe,
|
|
@@ -23,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
23
21
|
standalone: true,
|
|
24
22
|
}]
|
|
25
23
|
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29tbW9uL3BpcGVzL2VudW0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFpQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7O0FBR2xFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sZUFBZTtJQUNQLFdBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVuRCxTQUFTLENBQUMsS0FBVSxFQUFFLFFBQWdCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7dUdBTFEsZUFBZTtxR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxNQUFNO29CQUNaLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0dXJhbEVudW1TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lbnVtLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBBIHBpcGUgdG8gb3V0cHV0IGFuIGVudW0gdXNlci1mcmllbmRseSBuYW1lLCBpbnN0ZWFkIG9mIGl0cyB2YWx1ZS5cbiAqXG4gKiBVc2FnZSB3b3VsZCBiZToge3sgZWxlbWVudC5wcmlvcml0eSB8IGVudW06ICdQcmlvcml0eScgfCBhc3luYyB9fVxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2VudW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxFbnVtUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW51bVNlcnZpY2UgPSBpbmplY3QoTmF0dXJhbEVudW1TZXJ2aWNlKTtcblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZW51bU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudW1TZXJ2aWNlLmdldFZhbHVlTmFtZSh2YWx1ZSwgZW51bU5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -13,6 +13,7 @@ function isDate(value) {
|
|
|
13
13
|
* - "dans 3 ans"
|
|
14
14
|
*/
|
|
15
15
|
export class NaturalTimeAgoPipe {
|
|
16
|
+
fakedNow;
|
|
16
17
|
constructor(fakedNow = null) {
|
|
17
18
|
this.fakedNow = fakedNow;
|
|
18
19
|
}
|
|
@@ -121,8 +122,8 @@ export class NaturalTimeAgoPipe {
|
|
|
121
122
|
throw new Error('Time travelling just happened');
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
|
-
static
|
|
125
|
-
static
|
|
125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalTimeAgoPipe, deps: [{ token: 'SHOULD_NEVER_BE_INJECTED', optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
126
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: NaturalTimeAgoPipe, isStandalone: true, name: "timeAgo" });
|
|
126
127
|
}
|
|
127
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalTimeAgoPipe, decorators: [{
|
|
128
129
|
type: Pipe,
|
|
@@ -136,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
136
137
|
type: Inject,
|
|
137
138
|
args: ['SHOULD_NEVER_BE_INJECTED']
|
|
138
139
|
}] }] });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9waXBlcy90aW1lLWFnby5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRXBFLFNBQVMsTUFBTSxDQUFDLEtBQVU7SUFDdEIsT0FBTyxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFDcUUsV0FBMEIsSUFBSTtRQUE5QixhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUNoRyxDQUFDO0lBRUksTUFBTTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFzQztRQUNuRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFMUIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDOUIsTUFBTSxLQUFLLEdB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QUMsQ0FBQztZQUNoQyxPQUFPLFNBQVMsQ0FBQSxRQUFRLEtBQUssU0FBUyxDQUFDO1FBQzNDLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQixPQUFPLFNBQVMsQ0FBQSxnQkFBZ0IsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxPQUFPLFNBQVMsQ0FBQSxRQUFRLEtBQUssVUFBVSxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLFNBQVMsQ0FBQSx1QkFBdUIsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQzs4R0F6RlEsa0JBQWtCLGtCQUVILDBCQUEwQjs0R0FGekMsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxTQUFTO29CQUNmLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR1EsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5mdW5jdGlvbiBpc0RhdGUodmFsdWU6IGFueSk6IHZhbHVlIGlzIERhdGUge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLnZhbHVlT2YoKSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHN0cmluZyB0byBhcHByb3hpbWF0ZWx5IGRlc2NyaWJlIHRoZSBkYXRlLlxuICpcbiAqIEVnOlxuICpcbiAqIC0gXCJpbCB5IGEgcXVlbHF1ZXMgbWludXRlc1wiXG4gKiAtIFwiZGFucyAzIGpvdXJzXCJcbiAqIC0gXCJkYW5zIDMgYW5zXCJcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICd0aW1lQWdvJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsVGltZUFnb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ1NIT1VMRF9ORVZFUl9CRV9JTkpFQ1RFRCcpIHByaXZhdGUgcmVhZG9ubHkgZmFrZWROb3c6IG51bWJlciB8IG51bGwgPSBudWxsLFxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0Tm93KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmZha2VkTm93ID8/IERhdGUubm93KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhbXAgPSBpc0RhdGUoZGF0ZSkgPyBkYXRlLmdldFRpbWUoKSA6IERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICAgIGNvbnN0IG5vdyA9IHRoaXMuZ2V0Tm93KCk7XG5cbiAgICAgICAgY29uc3QgJHNlY29uZHMgPSAoc3RhbXAgLSBub3cpIC8gMTAwMDtcbiAgICAgICAgY29uc3QgbWludXRlcyA9ICRzZWNvbmRzIC8gNjA7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gbWludXRlcyAvIDYwO1xuICAgICAgICBjb25zdCBkYXlzID0gaG91cnMgLyAyNDtcbiAgICAgICAgY29uc3Qgd2Vla3MgPSBkYXlzIC8gNztcbiAgICAgICAgY29uc3QgbW9udGhzID0gZGF5cyAvIDMxO1xuICAgICAgICBjb25zdCB5ZWFycyA9IGRheXMgLyAzNjU7XG5cbiAgICAgICAgLy8gRmluZCBvdXQgdGhlIGJlc3QgdW5pdCB0byB1c2UgZm9yIGRpc3BsYXlcbiAgICAgICAgaWYgKHllYXJzIDw9IC0yKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQoTWF0aC5hYnMoeWVhcnMpKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhICR7dmFsdWV9IGFuc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoeWVhcnMgPD0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhIHVuIGFuYDtcbiAgICAgICAgfSBlbHNlIGlmIChtb250aHMgPD0gLTIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyhtb250aHMpKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhICR7dmFsdWV9IG1vaXNgO1xuICAgICAgICB9IGVsc2UgaWYgKG1vbnRocyA8PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBpbCB5IGEgdW4gbW9pc2A7XG4gICAgICAgIH0gZWxzZSBpZiAod2Vla3MgPD0gLTIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyh3ZWVrcykpO1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBpbCB5IGEgJHt2YWx1ZX0gc2VtYWluZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKHdlZWtzIDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSB1bmUgc2VtYWluZWA7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA8PSAtMikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRheXMpKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhICR7dmFsdWV9IGpvdXJzYDtcbiAgICAgICAgfSBlbHNlIGlmIChkYXlzIDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSB1biBqb3VyYDtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA8PSAtMikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGhvdXJzKSk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSAke3ZhbHVlfSBoZXVyZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzIDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSB1bmUgaGV1cmVgO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPD0gLTUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyhtaW51dGVzKSk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSAke3ZhbHVlfSBtaW51dGVzYDtcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhIHF1ZWxxdWVzIG1pbnV0ZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKHllYXJzID4gMikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKHllYXJzKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyAke3ZhbHVlfSBhbnNgO1xuICAgICAgICB9IGVsc2UgaWYgKHllYXJzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBkYW5zIHVuIGFuYDtcbiAgICAgICAgfSBlbHNlIGlmIChtb250aHMgPiAyKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQobW9udGhzKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyAke3ZhbHVlfSBtb2lzYDtcbiAgICAgICAgfSBlbHNlIGlmIChtb250aHMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGRhbnMgdW4gbW9pc2A7XG4gICAgICAgIH0gZWxzZSBpZiAod2Vla3MgPiAyKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQod2Vla3MpO1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBkYW5zICR7dmFsdWV9IHNlbWFpbmVzYDtcbiAgICAgICAgfSBlbHNlIGlmICh3ZWVrcyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyB1bmUgc2VtYWluZWA7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA+IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChkYXlzKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyAke3ZhbHVlfSBqb3Vyc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyB1biBqb3VyYDtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChob3Vycyk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGRhbnMgJHt2YWx1ZX0gaGV1cmVzYDtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyB1bmUgaGV1cmVgO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPiA1KSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQobWludXRlcyk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGRhbnMgJHt2YWx1ZX0gbWludXRlc2A7XG4gICAgICAgIH0gZWxzZSBpZiAobWludXRlcyA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyBxdWVscXVlcyBtaW51dGVzYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGltZSB0cmF2ZWxsaW5nIGp1c3QgaGFwcGVuZWQnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9waXBlcy90aW1lLWFnby5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRXBFLFNBQVMsTUFBTSxDQUFDLEtBQVU7SUFDdEIsT0FBTyxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFFMEM7SUFEckUsWUFDcUUsV0FBMEIsSUFBSTtRQUE5QixhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUNoRyxDQUFDO0lBRUksTUFBTTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFzQztRQUNuRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFMUIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDOUIsTUFBTSxL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QUFLLENBQUMsQ0FBQztZQUNoQyxPQUFPLFNBQVMsQ0FBQSxRQUFRLEtBQUssU0FBUyxDQUFDO1FBQzNDLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQixPQUFPLFNBQVMsQ0FBQSxnQkFBZ0IsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxPQUFPLFNBQVMsQ0FBQSxRQUFRLEtBQUssVUFBVSxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLFNBQVMsQ0FBQSx1QkFBdUIsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQzt1R0F6RlEsa0JBQWtCLGtCQUVILDBCQUEwQjtxR0FGekMsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxTQUFTO29CQUNmLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR1EsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5mdW5jdGlvbiBpc0RhdGUodmFsdWU6IGFueSk6IHZhbHVlIGlzIERhdGUge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLnZhbHVlT2YoKSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHN0cmluZyB0byBhcHByb3hpbWF0ZWx5IGRlc2NyaWJlIHRoZSBkYXRlLlxuICpcbiAqIEVnOlxuICpcbiAqIC0gXCJpbCB5IGEgcXVlbHF1ZXMgbWludXRlc1wiXG4gKiAtIFwiZGFucyAzIGpvdXJzXCJcbiAqIC0gXCJkYW5zIDMgYW5zXCJcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICd0aW1lQWdvJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsVGltZUFnb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ1NIT1VMRF9ORVZFUl9CRV9JTkpFQ1RFRCcpIHByaXZhdGUgcmVhZG9ubHkgZmFrZWROb3c6IG51bWJlciB8IG51bGwgPSBudWxsLFxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0Tm93KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmZha2VkTm93ID8/IERhdGUubm93KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhbXAgPSBpc0RhdGUoZGF0ZSkgPyBkYXRlLmdldFRpbWUoKSA6IERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICAgIGNvbnN0IG5vdyA9IHRoaXMuZ2V0Tm93KCk7XG5cbiAgICAgICAgY29uc3QgJHNlY29uZHMgPSAoc3RhbXAgLSBub3cpIC8gMTAwMDtcbiAgICAgICAgY29uc3QgbWludXRlcyA9ICRzZWNvbmRzIC8gNjA7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gbWludXRlcyAvIDYwO1xuICAgICAgICBjb25zdCBkYXlzID0gaG91cnMgLyAyNDtcbiAgICAgICAgY29uc3Qgd2Vla3MgPSBkYXlzIC8gNztcbiAgICAgICAgY29uc3QgbW9udGhzID0gZGF5cyAvIDMxO1xuICAgICAgICBjb25zdCB5ZWFycyA9IGRheXMgLyAzNjU7XG5cbiAgICAgICAgLy8gRmluZCBvdXQgdGhlIGJlc3QgdW5pdCB0byB1c2UgZm9yIGRpc3BsYXlcbiAgICAgICAgaWYgKHllYXJzIDw9IC0yKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQoTWF0aC5hYnMoeWVhcnMpKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhICR7dmFsdWV9IGFuc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoeWVhcnMgPD0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhIHVuIGFuYDtcbiAgICAgICAgfSBlbHNlIGlmIChtb250aHMgPD0gLTIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyhtb250aHMpKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhICR7dmFsdWV9IG1vaXNgO1xuICAgICAgICB9IGVsc2UgaWYgKG1vbnRocyA8PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBpbCB5IGEgdW4gbW9pc2A7XG4gICAgICAgIH0gZWxzZSBpZiAod2Vla3MgPD0gLTIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyh3ZWVrcykpO1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBpbCB5IGEgJHt2YWx1ZX0gc2VtYWluZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKHdlZWtzIDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSB1bmUgc2VtYWluZWA7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA8PSAtMikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRheXMpKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhICR7dmFsdWV9IGpvdXJzYDtcbiAgICAgICAgfSBlbHNlIGlmIChkYXlzIDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSB1biBqb3VyYDtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA8PSAtMikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGhvdXJzKSk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSAke3ZhbHVlfSBoZXVyZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzIDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSB1bmUgaGV1cmVgO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPD0gLTUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyhtaW51dGVzKSk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGlsIHkgYSAke3ZhbHVlfSBtaW51dGVzYDtcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgaWwgeSBhIHF1ZWxxdWVzIG1pbnV0ZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKHllYXJzID4gMikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKHllYXJzKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyAke3ZhbHVlfSBhbnNgO1xuICAgICAgICB9IGVsc2UgaWYgKHllYXJzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBkYW5zIHVuIGFuYDtcbiAgICAgICAgfSBlbHNlIGlmIChtb250aHMgPiAyKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQobW9udGhzKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyAke3ZhbHVlfSBtb2lzYDtcbiAgICAgICAgfSBlbHNlIGlmIChtb250aHMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGRhbnMgdW4gbW9pc2A7XG4gICAgICAgIH0gZWxzZSBpZiAod2Vla3MgPiAyKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQod2Vla3MpO1xuICAgICAgICAgICAgcmV0dXJuICRsb2NhbGl6ZWBkYW5zICR7dmFsdWV9IHNlbWFpbmVzYDtcbiAgICAgICAgfSBlbHNlIGlmICh3ZWVrcyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyB1bmUgc2VtYWluZWA7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA+IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChkYXlzKTtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyAke3ZhbHVlfSBqb3Vyc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyB1biBqb3VyYDtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChob3Vycyk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGRhbnMgJHt2YWx1ZX0gaGV1cmVzYDtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyB1bmUgaGV1cmVgO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPiA1KSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQobWludXRlcyk7XG4gICAgICAgICAgICByZXR1cm4gJGxvY2FsaXplYGRhbnMgJHt2YWx1ZX0gbWludXRlc2A7XG4gICAgICAgIH0gZWxzZSBpZiAobWludXRlcyA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAkbG9jYWxpemVgZGFucyBxdWVscXVlcyBtaW51dGVzYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGltZSB0cmF2ZWxsaW5nIGp1c3QgaGFwcGVuZWQnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|